Agent skill

Review Copy

by termio-sh in termio-sh/termio

Review and fix user-facing copy against termio's voice guide (VOICE.md), scoring each pass and iterating until it holds.

MITAuto-check passedDevelopment

Install Review Copy

skills CLI
$ npx skills add termio-sh/termio --skill review-copy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install termio-sh/termio review-copy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/termio-sh/termio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/review-copy .claude/skills/review-copy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
review-copy
GitHub stars
539
Token cost
~1.8k tokens
SKILL.md length
890 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Review and fix user-facing copy against termio's voice guide (VOICE.md), scoring each pass and iterating until it holds.

  • Works in 5 steps: The mechanical pass → Score → Report and choose → …
  • The user says review this copy
  • SKILL.md covers Before anything, The loop, Step 0 — The mechanical pass and Step 1 — Score, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Review Copy is an agent skill from termio-sh/termio. Review and fix user-facing copy against termio's voice guide (VOICE.md), scoring each pass and iterating until it holds. Covers UI strings, landing site, docs, release notes, and PR or issue text. Use when the user says 'review this copy', 'does this sound like us', 'check the wording', 'audit the settings text', 'fix this copy', '这段文案看一下', '读起来像不像我们写的', '改改措辞'.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. The repository describes itself as: A terminal-first agentic development environment for agentic coding. Build for CLI/TUI agent. Runtime for Coding Agent, Tmux alternative. The licence is MIT.

When your agent uses it

  • The user says review this copy
  • Does this sound like us
  • Check the wording
  • Audit the settings text

Example prompts

  • “review this copy”
  • “does this sound like us”
  • “check the wording”
  • “/review-copy”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. The mechanical pass
  2. Score
  3. Report and choose
  4. Fix
  5. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 788a947. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Review Copy loads about 1.8k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 890 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from termio-sh/termio at commit 788a947, republished under its MIT licence (© termio-sh). 890 words, ~1,814 tokens.

Download SKILL.mdSave it as .claude/skills/review-copy/SKILL.md (or your agent's skills folder).
name
review-copy
description
Review and fix user-facing copy against termio's voice guide (VOICE.md), scoring each pass and iterating until it holds. Covers UI strings, landing site, docs, release notes, and PR or issue text. Use when the user says 'review this copy', 'does this sound like us', 'check the wording', 'audit the settings text', 'fix this copy', '这段文案看一下', '读起来像不像我们写的', '改改措辞'.

Review copy

Score a piece of user-facing copy against VOICE.md, fix what fails, then verify the fixes actually landed. The loop exists because a single pass reliably misses things and reliably claims fixes it didn't make.

Target: $ARGUMENTS — a file, a directory of Swift views, a docs page, a PR body, or pasted text.

Before anything

Read VOICE.md at the repo root. It is the standard; this skill is only the loop that applies it. If the two ever disagree, VOICE.md wins.

Never calibrate against neighbouring strings in this repo. Most of them were written with AI assistance, so "it matches the file around it" is evidence of nothing. For UI copy, the reference is the macOS System Settings pane that does the same job — read Apple's wording, then write termio's.

The loop

score → fix the failures → re-score to verify → repeat until it holds

State lives in a tracker file under the scratchpad so a second pass doesn't re-discover the same issues or trust an unverified claim:

Path: <scratchpad>/copy-review-<name>.md

markdown
# Copy review: [target]

| ID  | String / line        | Issue            | Status         | Round |
| --- | -------------------- | ---------------- | -------------- | ----- |
| 1   | Settings.swift:214   | subject is "you" | pending        | 1     |
| 2   | page.tsx:80          | "seamlessly"     | verified-fixed | 1     |
| 3   | FileNode.swift:31    | mechanism copy   | wont-fix       | 2     |

## Rounds
### Round 1 — Voice 6/10, Accuracy 8/10 (14/20)

Status values: pending · fixed (claimed, unverified) · verified-fixed · not-fixed · wont-fix (intentional, out of scope, or a false positive).

Step 0 — The mechanical pass

Cheap, exact, and it clears the noise before anyone reads for tone. Run these over the target first and fix every hit; none of them need judgment.

sh
# straight apostrophes in user-facing strings — should be curly (’)
grep -rnE "\"[^\"]*[a-zA-Z]'(t|s|re|ll|ve|m|d)\b[^\"]*\"" <target> | grep -v 'Log\.\|logger\|// '

# "could not" where a contraction belongs (skip log strings and matched tool output)
grep -rn '"[^"]*[Cc]ould not' <target>

# Title Case on what is a sentence, not a feature name
grep -rnE '"(Can|Couldn|Cannot|Unable)[^"]*[a-z] [A-Z][a-z]+' <target>

# emoji in copy
grep -rnP '"[^"]{3,}"' <target> | grep -P "[\x{1F300}-\x{1FAFF}\x{2600}-\x{27BF}]"

# trailing gerunds — every hit is a candidate, neutral ones included
grep -rnE '"[^"]*, [a-z]+ing\b[^"]*"' <target>

Rewriting apostrophes across a tree is safe only inside string literals. Check first that no match sits in a shell command being built for execution, then operate on quoted substrings rather than whole lines, so comments and identifiers are left alone.

Step 1 — Score

Two dimensions, 0–10 each. Score them separately; they fail for different reasons and get fixed by different means.

VOICE — does it read like a person wrote it?

Check in this order; the first two catch the most and are the easiest to miss because the result reads fine.

  1. Trailing gerunds — grep the target for , [a-z]+ing\b. Every hit is a candidate: "allowing you to", "making it easy to", "ensuring". Neutral ones count.
  2. Regression to the mean — has a specific fact been smoothed into a generic? "helps you review your agents' work" where the truth was "shows changes, a file tree, and the transcript".
  3. One idea per sentence, whatever its length
  4. Honest: says what the control won't do or what it costs
  5. Empty states and errors name the next action
  6. Rhythm: do the sentences vary in length, or all run the same?
  7. Fixed vocabulary (Group with / Ungroup / Close Session, lowercase termio)
  8. Sentence case for sentences, Title Case for feature names; curly apostrophes; Couldn't over Could not
  9. Remaining AI tells (hollow importance, rule of three, promotional adjectives, negation parallelism, emoji), no AI attribution
  10. Nothing implying termio is paid

ACCURACY — is it true?

This is the dimension that matters most for termio and the one a style pass skips. A subtext that describes behavior is a claim about the code.

  • Read the code behind the string. Does the control do what the string says?
  • Does a named path, flag, or command still exist and still spell that way?
  • Is a capability described as shipped actually shipped, and on the release channel rather than only on dev?
  • Do landing-site claims match Sources/? (Recurring failure — see the termio-capabilities history: copy outran the code twice.)

For a wide sweep (a whole settings tab, the landing site), score VOICE and ACCURACY in separate passes rather than one — a single pass reading for both consistently under-reports accuracy.

Write every failure into the tracker with its file and line. A finding without a location can't be verified later.

Show full SKILL.md (301 more words)Show less

Step 2 — Report and choose

Show the user the scores and the issue table, then ask which they want:

  • improve — fix the pending issues, then re-score
  • complete — fix everything and exit without another round
  • done — stop here

Do not silently continue looping. Copy changes are the user's call; a score is an opinion, not a mandate.

Step 3 — Fix

Fix only the issues in the tracker. Do not rewrite adjacent strings that weren't flagged, do not expand a subtext into two, do not add new copy.

For an accuracy fix, read the source that backs the claim first and write what the code actually does — never patch the wording to sound plausible.

Mark each fixed issue fixed, not verified-fixed. Only a re-score promotes it.

Step 4 — Verify

Re-score. This pass has three jobs, in order:

  1. Verify every fixed issue actually changed, and changed correctly. A fix that didn't land becomes not-fixed — this is the whole reason the loop exists.
  2. Score both dimensions again.
  3. Flag only new issues. Never re-raise a wont-fix.

When it's done

The copy holds when both dimensions score 9+ and every issue is verified-fixed or wont-fix. Report the final table and what changed; don't claim a score you didn't re-run.

If the change touches shipped UI strings, it needs a real run — rebuild with macos-rebuild-dev and read the window with app-screenshot-debug. A subtext that reads well in source can still wrap to three lines in the pane.

Notes

  • Swift UI strings live mostly in Sources/termio/Settings/, Sources/termio/Welcome/, and each feature's views. Menu labels are in the feature that owns them plus App/MenuBarController.swift.
  • Landing copy is in web/landing/src/; the download URL and product strings are centralized in src/lib/site.ts.
  • Release notes come from PR bodies' Release Notes: sections, so reviewing a PR body is reviewing next release's copy.

© termio-sh, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/review-copy of termio-sh/termio.

Open the folder on GitHubat commit 788a947

Compare with similar skills

Review Copy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Review Copy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review Copy this skilltermio-sh/termio539—~1.8kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed

More from termio-sh/termio

All 19 skills in this repo
  • Termio Bug Report

    termio-sh/termio

    Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the…

    539 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • App Screenshot Debug

    termio-sh/termio

    Drive the running termio app via AppleScript / System Events to reach a UI state (focus the window, click a sidebar project, a terminal pane, a control), capture a pixel-accurate screenshot of just…

    539 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Dia Source Analysis

    termio-sh/termio

    Analyze / reverse-engineer the locally installed Dia Browser mac app (The Browser Company; bundle id company.thebrowser.dia; shares ArcCore with Arc).

    539 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Asc

    termio-sh/termio

    Drive App Store Connect from the terminal with the asc CLI — TestFlight builds, groups, testers and What to Test notes; App Store versions, metadata, keywords, screenshots and release notes…

    539 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Issue Creator

    termio-sh/termio

    Turn vague customer or user feedback from pasted text, chat excerpts, or screenshots into a clear, evidence-backed GitHub issue without inventing requirements.

    539 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Og Generation

    termio-sh/termio

    Regenerate the landing site's OG/social card (web/landing/public/og.webp) by rendering a temporary in-app route with the real hero WebGL aurora and screenshotting it with headless Chrome.

    539 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Review Copy

What does Review Copy do?

Review and fix user-facing copy against termio's voice guide (VOICE.md), scoring each pass and iterating until it holds. Review Copy is an agent skill from termio-sh/termio.md), scoring each pass and iterating until it holds.

When should I use Review Copy?

Review Copy fits situations like: the user says review this copy; does this sound like us; check the wording; audit the settings text.

How do I install Review Copy in Claude Code?

Run `npx skills add termio-sh/termio --skill review-copy -a claude-code`. Or copy the skill folder (skills/review-copy in termio-sh/termio) into .claude/skills/review-copy in your project. Claude Code loads it when a task matches its description.

How do I install Review Copy in Codex?

Run `npx skills add termio-sh/termio --skill review-copy -a codex`. Or copy the skill folder (skills/review-copy in termio-sh/termio) into .agents/skills/review-copy in your project. Codex loads it when a task matches its description.

Can I use Review Copy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add termio-sh/termio --skill review-copy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-copy, .gemini/skills/review-copy, .github/skills/review-copy and .opencode/skills/review-copy in your project.

What does Review Copy need to run?

SKILL.md names no scripts, command-line tools or credentials: Review Copy is instructions for the agent only.

Does Review Copy access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Review Copy safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Review Copy use?

Review Copy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Review Copy use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Review Copy?

Skills that share tags, products or a category with Review Copy: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and Mole CLI Release Flow (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review Copy?

termio-sh (a GitHub organization) maintains it in termio-sh/termio, which has 539 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.

Source: termio-sh/termio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.