PlugWiki

better-writing Skill: Write and Review Interface Copy in Your Product's Voice

Writes and reviews interface copy such as labels, errors, empty states and confirmations, in your product's own voice.

Installs
31.5K
on skills.sh
Stars
10K
on GitHub
Files
2
besides SKILL.md
Updated
Oct 2026
last repo commit

better-writing makes your agent write and review the words inside an interface. It first finds the strings, nouns and verbs your project already uses, then checks copy against rules such as verb-first buttons, errors that say how to fix the problem, empty states that point forward and undo instead of "Are you sure?". A review comes back as a table of findings rated HIGH, MEDIUM or LOW and ends with Block or Approve. It leaves how text renders, accessibility, layout and color to four sibling skills in the same repo.

Good for

  • Product designers and UX writers who want consistent microcopy
  • Front-end developers writing error messages and button labels
  • Teams with translations who need strings built for plurals and locales
  • Claude Code and Codex users who already run skills

Install better-writing

Claude Code

  1. 1

    Copy this prompt.

    Install the better-writing skill in Claude Code. Run this command:
    
    npx skills add https://github.com/jakubkrehel/skills --skill better-writing
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js.

From its listing on skills.sh. Source.

What's in the skill

When it loads

Writes and reviews interface copy, from labels and errors to empty states and confirmations, so it matches the product's voice and tells people what to do next.

Sections in SKILL.md

  1. Inventory the existing strings first
  2. One voice, one vocabulary
  3. Address the reader directly
  4. Plain words over clever ones
  5. Build strings whole
  6. Verb-first buttons
  7. Links describe their destination
  8. One capitalization policy
  9. Settings describe the ON state
  10. Errors say how to fix, next to where it broke
  11. Undo beats confirmation
  12. Empty states point forward
  13. Placeholders show an example
  14. Before you finish
  15. Reporting

Key facts

License
MIT
Installs on skills.sh
31,502 (Nov 2, 2026)
Last commit
Oct 25, 2026

What it includes

  • Finds your translation calls, locale files and the terms you use

    Before writing it searches for t(, i18n., FormattedMessage and $t( plus locale files such as locales/**/*.json, and lists the noun for each object and the verb for each action.

    Files · Inventory existing strings

  • Keeps new copy in the voice your product already has

    A local edit does not invent a new voice. Tone flexes with the stakes, from warm for onboarding to serious for data loss.

    One voice, one vocabulary

  • Writes "you", not "the user", and prefers plain words

    No idioms, no humor that will not translate, and no "we" in errors.

    Address the reader directly

  • One message with placeholders, never glued fragments

    Uses ICU-style plurals and Intl formatting for numbers, dates and lists. Recipes are in patterns.md.

    Build strings whole

  • Buttons start with a verb; links name their destination

    "Save draft", not "OK!"; "Read the billing docs", not "Click here".

    Verb-first buttons and clear links

  • One case policy per element type; toggles describe the ON state

    Sentence case is the default if the project has no policy. "Send read receipts", not "Don't send read receipts".

    Capitalization and toggles

  • Puts the fix next to the field that failed

    No blame, no "Oops", no exclamation marks. Example: "Choose a password with at least 8 characters".

    Errors say how to fix

  • Prefers undo for reversible actions; confirms irreversible ones

    A confirmation names the action and the object, says what is lost, and uses verb-plus-object buttons. Account or repo deletion asks you to type the name.

    Undo beats confirmation

  • Empty states point forward; placeholders show an example

    An empty state says what the place is and offers one next action. A placeholder shows a realistic value such as name@example.com.

    Empty states and placeholders

  • Greps for known bad patterns before it finishes

    Flags things like "Click here", "Oops", "Are you sure", "successfully" and a string built with " + n + ".

    Read · Detection table

  • Findings by principle with severity, ending Block or Approve

    A table of Severity, Location (path/to/file:line), Before, After and Why. Strings from a CMS or server it could not see are reported as Not verified.

    Review report

From the official docs

Permissions

Low risk

It writes interface copy in your project, so a careless run can change text you meant to keep. Review the diff before you commit.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It edits the text in your interface

    The skill writes interface copy, so expect changes to labels and messages in your code. Read the diff before you keep it. github.com

  • Server and CMS copy is not checked

    SKILL.md says strings it could not see are reported as Not verified. Check those yourself. github.com

Technical details
Turning on read-onlyNo read-only switch. Ask for a review only and no edits if you want findings without changes.
Scopes
  • Your project's source and locale files

Questions

What does better-writing do?

It makes your agent write and review interface copy: labels, errors, empty states, confirmations and the terms that run through them. It matches your product's existing voice and flags copy that misleads people or leaves them without a way forward.

How do I install better-writing in Claude Code?

Use the install box above. The README's command installs every skill in the repo; to take only this one, add --skill better-writing to the skills command, a flag the skills CLI documents.

Does better-writing work in the Claude app or Codex?

The install box has a tab for each. The README documents the skills CLI and a Claude Code plugin and does not mention the Claude app or Codex, so treat both as untested by the author.

Does better-writing need an API key?

No. It bundles no scripts and SKILL.md names no key or service. It reads your project files to find existing copy.

Is better-writing safe?

It bundles no scripts, so the risk is edits to your UI text. It writes copy in your project and reviews existing strings, so read the diff before you keep the changes. Strings that come from a CMS or API are reported as Not verified because the skill cannot see them.

Do I need the other better-* skills?

SKILL.md hands rendering, accessibility, layout and color questions to better-typography, better-accessibility, better-layout and better-colors. It leaves those topics to them, so install them too if you want those checks.

Information

updated Nov 2, 2026

Folder
skills/better-writing

jakubkrehel/skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 4
  1. better-writing SKILL.md · github.com
  2. jakubkrehel/skills README · github.com
  3. better-writing patterns.md · github.com
  4. skills CLI commands · github.com

Updated Nov 2, 2026.