UX Copy
When to use
Use this when a screen needs its words — button labels, error messages, empty states, tooltips, confirmations, CTAs — or when existing copy is confusing, robotic, or blames the user. Works for drafting from scratch or reviewing what exists.
Not for: long-form marketing or docs, naming a product/brand, or visual layout decisions (use dsn-design-critique) — this is interface strings, not prose.
Method
- Locate the moment. Name where the user is, what they just did, what they need next, and how they likely feel. Copy serves that moment, not the system's internals.
- Lead with the user's goal. Say what to do or what happened in plain language. Cut hedges, jargon, filler; front-load the important word.
- Errors: cause + fix, never blame. Explain what went wrong and how to resolve it. Ban "invalid input" and "an error occurred". Decision: if the user can fix it, tell them how; if only the system can, apologize and say what happens next.
- Empty states earn their space. Explain what belongs here and give one clear next action — never a blank void.
- CTAs describe the outcome. Prefer "Send invite" over "Submit"; the verb matches what happens.
- Voice and consistency. Match the product's tone; one term per concept everywhere; uniform tense, capitalization, punctuation.
- Check length against real layouts and edge cases.
Example
Payment fails. Reject: "An error occurred (code 402)." Rewrite: "Your card was declined. Check the number and expiry, or try another card." CTA "Submit" → "Pay $49". Empty invoices list → "No invoices yet. They'll appear here once you bill a client." + button "Create invoice".
Pitfalls
- Blaming the user ("You entered invalid data") instead of naming the fix.
- Vague CTAs like "Submit" / "OK" that hide the outcome.
- Two words for one concept (folder/directory, delete/remove) — inconsistency erodes trust.
- Writing to the tooltip's width in isolation, then overflowing on the real, narrower mobile layout.
Output format
# UX Copy: <surface>
**Context:** where / what just happened / what's next
**Copy:** element — recommended text (+ character count if constrained)
**Errors:** condition — message (cause + fix)
**Rationale:** why this wording, voice notes
**Rejected alternatives:** option — why not
Every string is testable against clarity, brevity, and voice; flag anything that needs product truth to confirm.
1---2name: dsn-ux-copy3description: Write and review interface microcopy - errors, empty states, buttons, labels, and CTAs - that is clear, concise, human, and consistent with the product's voice.4---56# UX Copy78## When to use9Use this when a screen needs its words — button labels, error messages, empty states, tooltips, confirmations, CTAs — or when existing copy is confusing, robotic, or blames the user. Works for drafting from scratch or reviewing what exists.1011**Not for:** long-form marketing or docs, naming a product/brand, or visual layout decisions (use dsn-design-critique) — this is interface strings, not prose.1213## Method141. **Locate the moment.** Name where the user is, what they just did, what they need next, and how they likely feel. Copy serves that moment, not the system's internals.152. **Lead with the user's goal.** Say what to do or what happened in plain language. Cut hedges, jargon, filler; front-load the important word.163. **Errors: cause + fix, never blame.** Explain what went wrong and how to resolve it. Ban "invalid input" and "an error occurred". *Decision:* if the user can fix it, tell them how; if only the system can, apologize and say what happens next.174. **Empty states earn their space.** Explain what belongs here and give one clear next action — never a blank void.185. **CTAs describe the outcome.** Prefer "Send invite" over "Submit"; the verb matches what happens.196. **Voice and consistency.** Match the product's tone; one term per concept everywhere; uniform tense, capitalization, punctuation.207. **Check length** against real layouts and edge cases.2122## Example23Payment fails. Reject: "An error occurred (code 402)." Rewrite: "Your card was declined. Check the number and expiry, or try another card." CTA "Submit" → "Pay $49". Empty invoices list → "No invoices yet. They'll appear here once you bill a client." + button "Create invoice".2425## Pitfalls26- Blaming the user ("You entered invalid data") instead of naming the fix.27- Vague CTAs like "Submit" / "OK" that hide the outcome.28- Two words for one concept (folder/directory, delete/remove) — inconsistency erodes trust.29- Writing to the tooltip's width in isolation, then overflowing on the real, narrower mobile layout.3031## Output format32```33# UX Copy: <surface>34**Context:** where / what just happened / what's next35**Copy:** element — recommended text (+ character count if constrained)36**Errors:** condition — message (cause + fix)37**Rationale:** why this wording, voice notes38**Rejected alternatives:** option — why not39```40Every string is testable against clarity, brevity, and voice; flag anything that needs product truth to confirm.