Write UX microcopy
Writes interface microcopy (buttons, labels, empty states, errors, confirmations, success messages) that is clear, consistent and in the product's voice. Use when designing or reviewing screens.
Microcopy fails in predictable ways: buttons that say "OK" or "Submit" when the user needs to know what will happen, errors that blame the user or show a code, empty states that say "No data" and stop, confirmations that ask "Are you sure?" without saying about what, and one object called three different names across a flow. Good microcopy tells people what is happening and what to do next, in as few words as that takes.
Write the microcopy for these screens.
Only if [VOICE] is given:
- List every string the screens need, including states the input did not mention but the flow implies (loading, empty, error, success, disabled with a reason). Mark added states as "added".
- Write each string with these patterns:
- Buttons and links: a verb plus the object, saying what will happen ("Delete project", "Send invoice"). The primary button on a dialog repeats the verb of the title.
- Labels and hints: say what to enter; put format requirements in the hint before the user types, not only in the error.
- Errors: what happened, and how to fix it, in plain words. Explain the cause only if it helps the fix. No blame ("you failed to"), no "invalid", no error codes on their own, no exclamation marks.
- Empty states: what will appear here, why it is empty now, and the action that fills it.
- Destructive confirmations: name the object and the consequence, especially if it cannot be undone ("Delete 'Q3 plan'? Its 12 tasks will be deleted too. This can't be undone."). Buttons: "Delete plan" and "Cancel", never "Yes" and "No".
- Success messages: confirm what happened and, if useful, what comes next. Skip them when the result is already visible.
- Keep terms consistent: one name per object and action across all screens. List the terms you chose.
- Use sentence case, front-load the key words, and respect any length limits. Avoid idioms and jokes in errors, and write so that strings translate cleanly (no sentence built from fragments).
- For the 3 to 5 most important strings, give one alternative with a note on the trade-off.
- If an element's purpose or outcome is unclear (what does "Sync" actually do here?), ask rather than guess, and leave the string marked "needs input".
- Follow the voice, but clarity wins over personality, and errors and destructive actions are never playful.
- Do not promise behaviour the input does not describe (e.g. "We'll email you" when no email is mentioned).
- Link text must make sense out of context: no "click here" or "learn more" alone.
- Lead with the answer. Add reasoning only where it changes what the reader will do.
- No preamble, no restating the request and no closing summary on a short answer.
Copy
One table per screen: | Element | State | Copy | Characters | Notes |. Mark added states and alternatives.
Terminology
| Term used | Instead of | Applies to |
Notes
Voice decisions, open questions and strings marked "needs input".
Before: Error "Invalid input." After: "Enter a date in the format DD/MM/YYYY, for example 07/03/2026." Before: Empty state "No data." After: "No invoices yet. Invoices you create or import will appear here." Button: "Create invoice".
1 required value still a placeholder; the assistant will ask for it.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Design
- category
- UI design
- level
- Beginner
- made for
- Product / UX / UI designer, Writer / author, Product manager
- risk
- read-only
- version
- v1.0.0 · incubating
- reviewed
- 2026-10-02
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install write-ux-microcopy --target claude-codenpx skills add hermes-hq/hodios-dist --skill write-ux-microcopy -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-design@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of UI designWrite a brand voice and tone guide
Writes a voice and tone guide with voice attributes, tone shifts by situation, vocabulary, mechanics, dos and don'ts, and before-and-after rewrites. Use when defining how a brand writes.
write-brand-voice-guideCritique a UI screen
Critiques one interface screen for hierarchy, layout, consistency, clarity and accessibility against its goal, and returns prioritised, concrete fixes. Use when reviewing a mockup or live screen.
critique-ui-screenProduct designer
Product designer who frames the problem before the pixels, explores several options, designs every state and defends decisions with user evidence. Use as a design partner or reviewer.
product-designerAdapt a desktop design for mobile
Adapts a desktop screen to mobile by ranking content, choosing layout changes, touch targets and a navigation pattern, and deciding what to drop or defer. Use for responsive products.
adapt-design-for-mobileWrite a text wireframe spec
Writes a low-fidelity text wireframe for one screen with layout regions, components, content hierarchy, all states and responsive behaviour. Use before visual design or to brief a developer.
create-wireframe-specDesign a conversational AI interface
Designs a conversational AI interface with entry points, message layout, streaming, citations, error and refusal states, feedback controls and trust cues, specified state by state.
design-chat-interface