orx-copy
Skill8k starsChanged 9 days agoMITView on GitHub
Write and review the words a user reads in the OpenResearch app: labels, buttons, menu items, dialog titles and descriptions, onboarding and setup steps, empty states, errors, refusals, warnings, toasts, tooltips, placeholders, status lines and counts. Also adding them to them to the Paraglide catalogs. Read this before typing any user-visible string in `ui/`, including a one-word label, and before rewriting existing copy. Pairs with orx-flows, which decides what a screen asks for. In this repo, use it in place of any general UI skill, including when reviewing someone else's change.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about alphaXiv/OpenResearch
- @alphaxiv.org“With OpenResearch, your work can remain yours, protected from the business interests of frontier labs. Try …”Bluesky · Oct 29, 2026 · 4 likes
- forjedio/yerd“[Fix] Trust system CAs for HTTPS downloads”GitHub · Oct 1, 2026 · 2 reactions
- @dailygithubtrends.bsky.social“今日のGitHubトレンド alphaXiv/OpenResearch OpenResearchは、AIエージェントによる自動研究のためのローカル優先ワークスペースです。 Claude…”Bluesky · Sep 15, 2026 · 2 likes
- @yug1224.com“複数のAIエージェントを並列で動かして自動で科学研究を進められるツールっぽい 自律的な実験ループを回すのに使えそう yug1224 starred alphaXiv/OpenResearch …”Bluesky · Sep 12, 2026 · 2 likes
- chenrui333/homebrew-tap“openresearch 0.2.27”GitHub · Nov 13, 2026 · 1 reactions
The biggest 5 of 39 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 39
Talked about on GitHub, Bluesky and Hacker News (39 times).
On GitHub · 27
- Oct 1, 2026[Fix] Trust system CAs for HTTPS downloads — forjedio/yerd2 reactions · 5 comments
- Nov 13, 2026openresearch 0.2.27 — chenrui333/homebrew-tap1 reaction · 1 comment
- Nov 11, 2026openresearch 0.2.26 — chenrui333/homebrew-tap1 reaction · 1 comment
- Nov 8, 2026openresearch 0.2.25 — chenrui333/homebrew-tap1 reaction · 1 comment
- Nov 1, 2026openresearch 0.2.23 — chenrui333/homebrew-tap1 reaction · 1 comment
22 more on GitHub
- Nov 13, 2026agent-skills.github.alphaxiv.openresearch: init at 0.2.27 — sudosubin/agents.nix0 reactions
- Nov 9, 2026Link rot report (scheduled lychee) — qte77/ai-agents-research0 reactions
- Nov 5, 2026docs(README): add agent logos to the Support section — amirkiarafiei/subagent-cli-skills0 reactions
- Nov 3, 2026Assess alphaXiv and OpenResearch relevance to Delphi claim, evidence and provenance terms — fractastical/project-delphi-ontology0 reactions
- Oct 24, 2026[Resource]: OpenResearch — hesreallyhim/awesome-claude-code0 reactions · 1 comment
- Oct 17, 2026openresearch: drop SSH readiness patch when upstream release ships fix — numtide/llm-agents.nix0 reactions
- Oct 17, 2026[Candidate] alphaxiv/openresearch/agent-skills/orx-feedback - orx-feedback — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 16, 2026openresearch: drop fetchpatch when upstream release ships fixes — numtide/llm-agents.nix0 reactions · 1 comment
- Oct 15, 2026Record Codex MCP invocation evidence and explicit attribution gaps — native-agent-stack/native-agent-stack0 reactions
- Oct 3, 2026Currency wave W1: eight foundation pins to their latest clean upstream releases (mcporter held) — native-agent-stack/native-agent-stack0 reactions · 11 comments
- Sep 29, 2026Add OpenResearch — AppImage/appimage.github.io0 reactions · 1 comment
- Sep 28, 2026feat(repo): add OpenResearch review — euisuk-chung/euisuk-chung.github.io0 reactions
- Sep 18, 2026[项目笔记] OpenResearch — helloyikai86-droid/last30days-reports0 reactions
- Sep 18, 2026Github trending [alphaXiv/OpenResearch] 本地优先研究智能体工作空间 — web1992/github-trending0 reactions
- Sep 17, 2026Compare with OpenResearch — calkit/calkit0 reactions · 1 comment
- Sep 17, 2026📈 AI 开源趋势日报 2026-09-17 — 96loveslife/big_model_radar0 reactions
- Sep 16, 2026🔥 GitHub Trending AI 早报 · 2026-09-16 · Top 5 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 16, 2026🔥 GitHub Trending AI 早报 · 2026-09-16 · Top 5 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 16, 2026Github trending [alphaXiv/OpenResearch] 本地优先研究智能体 — web1992/github-trending0 reactions
- Sep 15, 2026🔥 GitHub Trending AI 早报 · 2026-09-16 · Top 5 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 15, 2026🔥 GitHub Trending AI 早报 · 2026-09-16 · Top 5 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 1, 2026sep 2026 — kimtth/azure-openai-llm-notes0 reactions
On Bluesky · 11
- Oct 29, 2026With OpenResearch, your work can remain yours, protected from the business interests of frontier labs. Try it today!… — @alphaxiv.org4 likes and reposts
- Sep 15, 2026今日のGitHubトレンド alphaXiv/OpenResearch OpenResearchは、AIエージェントによる自動研究のためのローカル優先ワークスペースです。 Claude… — @dailygithubtrends.bsky.social2 likes and reposts
- Sep 12, 2026複数のAIエージェントを並列で動かして自動で科学研究を進められるツールっぽい 自律的な実験ループを回すのに使えそう yug1224 starred alphaXiv/OpenResearch https://github.com/alphaXiv/OpenResearch — @yug1224.com2 likes and reposts
- Oct 15, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 alphaXiv / OpenResearch ⭐ 7,244 (+114) 🗒 Rust Turn your coding agents into research agents — @github-trending-rs.bsky.social1 likes and repost
- Oct 14, 2026alphaXiv / OpenResearch: Turn your coding agents into research agents ★7138 https://github.com/alphaXiv/OpenResearch — @rusttrending.bsky.social1 likes and repost
6 more on Bluesky
- Sep 15, 2026🎉 Celebrating! 🎉 (500+ new stars) 📦 alphaXiv / OpenResearch ⭐ 2,981 (+593) 🗒 Rust Turn your coding agents into research agents — @github-trending.bsky.social1 likes and repost · 1 reply
- Sep 30, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 alphaXiv / OpenResearch ⭐ 6,200 (+280) 🗒 Rust Turn your coding agents into research agents — @github-trending-rs.bsky.social0 likes and reposts · 1 reply
- Sep 18, 2026🎉 Celebrating! 🎉 (500+ new stars) 📦 alphaXiv / OpenResearch ⭐ 5,254 (+638) 🗒 Rust Turn your coding agents into research agents — @github-trending-rs.bsky.social0 likes and reposts · 1 reply
- Sep 14, 2026🎉 Celebrating! 🎉 (500+ new stars) 📦 alphaXiv / OpenResearch ⭐ 2,383 (+566) 🗒 Rust Turn your coding agents into research agents — @github-trending-rs.bsky.social0 likes and reposts · 1 reply
- Sep 13, 2026公式GitHubを読むと、これは研究の方向ごとに隔離したGit作業領域を作り、複数エージェントで仮説・コード変更・実験・証拠確認を回せるローカル優先の作業基盤。 https://github.com/alphaXiv/OpenResearch… — @sara-echosphere.bsky.social0 likes and reposts · 1 reply
- Sep 11, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 alphaXiv / OpenResearch ⭐ 1,053 (+210) 🗒 Rust Run parallel research agents with any model — @github-trending.bsky.social0 likes and reposts · 1 reply
On Hacker News · 1
- Sep 30, 2026OpenResearch: A local-first workspace for research agents1 point
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- arc/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- orx-accessibilitySkill
- orx-flowsSkill
- orx-lookSkill
- orx-testingSkill
- openresearch-cliSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Leave room for translations, which often run longer than English.
- Distinctive: line 44
No blame, no apology, no jokes: never "you forgot", "invalid", "oops" or "sorry".
- Distinctive: line 52
Don't narrate what the screen already shows: No toast for a change that is visible where the user is looking.
- Distinctive: line 79
Rewording a string rewrites it in every catalog: If the meaning changes, rename the key so a stale translation can't survive.
- Distinctive: line 92
Leave alone: bare labels ("Copy", "Running", "Failed"), gerunds with an ellipsis for waits, and a detail line carrying a real gotcha the …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Copy in OpenResearch
Writing a string
Name the slot and take its budget:
Slot Budget button, menu item 1–3 words, verb first: "Add machine", "Try again" dialog or step title 3–6 words, no final period description, empty state, error 1–2 short sentences tooltip a few words naming the action; never the only place something vital is said toast one line status, badge 1–2 words: "Connected", "Needs sign-in" Leave room for translations, which often run longer than English.
- Write the shortest true version in the user's terms.
- Run the checks.
- Can the reader act on it? Cut what they can't use.
- Would someone with no context know what it means? Name the thing and its effect, never a word that only makes sense to whoever built the feature. Write "Couldn't reach your cluster", not "SSH master exited with status 255".
- Would a stranger know why they should care? (below)
- Is every fact on screen true? A timestamp labelled "started" is when it started.
Making the case
orx-flows lists what a request must answer. The words:
- Lead with what they get, in OpenResearch, today, in terms of their own work. Never a feature list of the other service.
- Answer the newcomer who has none yet: that they can get one, how, and how long it takes.
- Name the cost plainly: time, money, and what is read or sent.
- Never oversell. No "unlock", "supercharge", "seamless" or exclamation marks.
Errors, warnings and refusals
- What happened, then what to do: "A project with that name already exists. Choose another name."
- Give the cause when it changes what they do next, in their terms. Never invent one: if the cause is unknown, say what didn't work and offer a retry.
- Name exactly what's wrong, how to see it, and the safe fix. A refusal names each offending thing (every path, not "a path"), gives a command the user can paste to inspect it, and says what to change and what to leave alone. Each cause gets its own message, never one generic line for several.
- Every refusal has an exit: a button, a link to the setting, or the next step. A "Choose another machine" button beats a bare "Machine unavailable".
- No blame, no apology, no jokes: never "you forgot", "invalid", "oops" or "sorry".
- Raw errors go in details. A disclosure ("Error details") holds the stderr or status code; the line above it is human.
Empty states, loading and status
- Empty: say what's missing and how it will appear, then offer the action that fills it, its label answering the title ("No machines yet." → "Add a machine"). When something else fills it, like an agent, say that instead of offering a button.
- Loading: one present participle and an ellipsis, "Checking the connection…". Narrate stages only when the wait is long and the stages differ.
- Counts handle zero and one. Plurals are
_one/_otherkeys chosen withIntl.PluralRules(getLocale()). Zero usually needs its own sentence or no line at all: never "0 files". Languages with more plural forms than English (ru, pl, ar) still get only the two keys, so translate both into a form that is right for every count, such as a label and the number ("Файлы: {count}"). - Don't narrate what the screen already shows. No toast for a change that is visible where the user is looking.
Labels, tooltips and placeholders
- Name things the way users do: a model by the name its provider gives it, a machine by the host alias the user typed.
- Compact labels drop what the context already says, like "your" on a pill or a badge.
- One term per concept, the same on every screen. Check the new word against the nouns already in
ui/messages/en.json. - A placeholder is an example, never the label or a rule. The label stays visible.
- An icon-only control has a tooltip and an accessible name naming the action, both from one message:
<Tooltip interactive content={m.x()}><IconButton aria-label={m.x()} …/></Tooltip>.ButtonandIconButtonrejecttitle. - A shortcut in text is filled in with
formatForDisplay(appHotkeys[id].hotkey ?? []), so it reads ⌘ on macOS and Ctrl elsewhere. Never type ⌘ or Ctrl into a catalog.
Conventions
- Sentence case everywhere: "Choose a coding agent", not "Choose a Coding Agent".
- The ellipsis is one character (…), never three periods. A label ends in one when the action needs more input before it happens ("Rename…").
- No em dashes. One is the sign of a clause written wrong, so rewrite the whole phrase; swapping the dash for a comma or a period leaves the same clause.
- Product names keep their own spelling: OpenResearch, alphaXiv, Claude Code, Codex, OpenCode, GitHub, Slurm. The app is "OpenResearch";
orxappears only where the user would type the command. - Straight apostrophes and quotes (
',"), never curly ones. - No exclamation marks, no emoji.
Paraglide
- Every user-visible string is a message:
m.key()fromui/src/paraglide/messages.js, never a literal in JSX, includingaria-labeland tooltip text. - Keys name the place and the gist, in the existing style:
onboarding_install_git,settings_page_…,chat_…. Reusecommon_cancel,common_confirmand the othercommon_keys rather than making copies. - Wrap every interpolated value so it can't reorder the sentence around it:
ltr(value)for paths, IPs, commands and IDs,autoDir(value)for things users name, like a project, chat or host (ui/src/i18n.ts). No lint checks this. - Format through the locale:
fmtNumber,fmtClockandfmtBytesfromui/src/i18n.ts, andnew Intl.ListFormat(getLocale())to join a list, never", "and "and". - Add each key to every catalog in
ui/messages/, translated, never English pasted into the others. Keep{placeholders}identical in each.pnpm lint:i18nfails on a missing key, a mismatched placeholder or an HTML entity. - Rewording a string rewrites it in every catalog. If the meaning changes, rename the key so a stale translation can't survive.
- A new catalog, or a large batch of keys, gets a review pass in that language before it ships.
Reviewing copy
Watch for:
- a fact followed by its justification (", so", an appositive) in the voice of a design document;
- non-events ("Nothing was deleted.");
- reassurance about a loss the user can already see;
- a second sentence that restates the first;
- a subsystem blamed by name ("The engine has not reported…").
Leave alone: bare labels ("Copy", "Running", "Failed"), gerunds with an ellipsis for waits, and a detail line carrying a real gotcha the user can't see.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

