skills/ux-writing/SKILL.md
Produces UX writing deliverables: voice and tone guides, microcopy for specific features, and content audits of existing product copy. Use when the user needs to define a product's voice, write interface copy for a feature, audit existing microcopy quality, or establish UX writing guidelines. Also triggers when the user says "write the button labels," "what should the error message say," "create a voice and tone guide," "audit the product copy," "write microcopy for this flow," or "the copy doesn't sound right." Do NOT use for marketing copy, blog posts, landing page content, or email campaigns — those are marketing writing, not UX writing.
npx skillsauth add xoai/sage ux-writingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create the words that help users accomplish their goals inside the product. UX writing is about clarity, not cleverness — every word earns its place by reducing friction, building confidence, or guiding the next action.
Deliverable type: document (voice and tone guide, microcopy set) or mixed (microcopy embedded in implementation tasks alongside code)
FIX (update): Revise specific microcopy — rewrite an error message, fix inconsistent terminology, adjust tone for a specific screen. Don't redesign the voice. Minutes.
BUILD (standard): Produce microcopy for a specific feature or flow. Write all interface text (titles, buttons, labels, errors, empty states, confirmations) following the voice and tone guide. If no guide exists, establish key voice principles before writing. 15-30 minutes.
ARCHITECT (full): Complete voice and tone guide for the product, plus microcopy for the target feature. Includes brand personality analysis, voice chart with spectrum attributes, tone mapping across emotional contexts, word list, do/don't examples for all 11 microcopy patterns, and content heuristic evaluation of existing copy. 45-60 minutes.
The skill works with whatever context is available:
.sage/docs/ or
elsewhere), load it. All microcopy should follow it. If none exists,
creating one is the first step.Confirm with the user in ONE message:
Read first: references/ux-writing.md (Voice and Tone section)
ARCHITECT mode — full voice and tone guide:
Brand personality analysis. What 3-5 personality attributes describe how this product should feel? Define each on a spectrum: "Confident, not arrogant." "Friendly, not unprofessional."
Voice principles. 3-5 rules the product always follows. These are the non-negotiable guidelines that every piece of copy must satisfy. Example: "We explain, we don't lecture." "We celebrate with the user, we never gloat."
Tone spectrum. Map emotional moments to tone adjustments: onboarding, errors, success, waiting, destructive actions, empty states. For each, show a do/don't example.
Word list. Canonical terms for every key concept in the product. One entity = one term, everywhere. Include both the preferred term and the terms to avoid (with reasons).
Do/don't examples. For each of the 11 microcopy patterns (titles, buttons, descriptions, empty states, labels, controls, text inputs, transitional text, confirmations, notifications, errors), show one good and one bad example in the product's voice.
Save the voice and tone guide to .sage/docs/ux-writing-voice-and-tone.md.
This becomes a cross-cutting reference for all future work.
BUILD mode — confirm or establish minimal voice:
If a voice and tone guide exists, load it and confirm it applies. If not, establish three things in 5 minutes:
This minimal voice direction is enough to write consistent microcopy for one feature. It can be expanded to a full guide later.
For the target feature or flow, list every place where text appears:
Map each touchpoint to the user's emotional state at that moment. A form field is neutral. An error after submitting the form is frustrated. A success message is relieved/satisfied. This mapping determines the tone for each piece of copy.
Read first: references/ux-writing.md (Microcopy Patterns section)
For each touchpoint identified in Step 2:
Write content-first. Imagine the conversation between the product and the user. Write the product's "line" in plain language first, then refine it into UI text.
Apply the voice. Check against voice attributes: does this sound like the product? Adjust until it does.
Apply the tone. Check the emotional context: is this the right warmth/seriousness for this moment?
Edit in four passes (Podmajersky's process):
Check accessibility. Will a screen reader make sense of this? Are button labels descriptive enough without visual context? Is the reading level appropriate for the audience?
Before presenting, validate:
Voice and tone guide (ARCHITECT):
Save to .sage/docs/ux-writing-voice-and-tone.md
This is a project-level reference used by all future work — developers
writing microcopy during implementation, designers creating mockups, PMs
writing PRD copy. Append to .sage/decisions.md.
Microcopy set (BUILD or ARCHITECT):
Save to .sage/work/<YYYYMMDD>-<slug>/microcopy.md
Organized by screen/flow, with all touchpoints covered.
Content audit (ARCHITECT):
Save to .sage/docs/content-audit.md
Evaluates existing copy against the content heuristics, identifies
inconsistencies and improvement priorities.
Present to user: "Here's the [deliverable]. The voice is [summary of voice attributes]. Key decisions: [notable copy choices and reasoning]. Anything that needs adjustment?"
MUST:
references/ux-writing.md before writing any copySHOULD:
MAY:
No voice direction exists and user wants to skip it: Don't skip. Spend 5 minutes on minimal voice (3 attributes, 1 principle). Without voice direction, copy for buttons will sound different from copy for error messages, and the product will feel schizophrenic.
User wants marketing language in the UI: Push back gently. "Inside the product, users need help, not persuasion. Marketing copy belongs on the landing page. Once someone is logged in, we stop selling and start guiding."
Copy is written without seeing the design: UX writing works best with the design — copy length, placement, and hierarchy depend on the layout. If no design exists, write content-first (the conversation) and note that refinement may be needed when the design takes shape.
User wants "fun" copy everywhere: The tone spectrum exists for this. Show where playfulness works (empty states, onboarding, success) and where it doesn't (errors, payments, destructive actions). "We're friendly overall, but we're serious when the user's data or money is at stake."
Too many stakeholders want input on copy: This is the business problem Ben-David identifies. Copy-by-committee produces bland, safe, generic text. The voice and tone guide is the decision-making framework — it answers "which version is right?" by checking against the voice attributes, not by voting.
tools
Captures agent mistakes, corrections, and discovered gotchas so they are not repeated. Use when: (1) a command or operation fails unexpectedly, (2) the user corrects the agent, (3) the agent discovers non-obvious behavior through debugging, (4) an API or tool behaves differently than expected, (5) a better approach is found for a recurring task. Also searches past learnings before starting tasks to avoid known pitfalls. Activate alongside the sage-memory skill — they share the same MCP backend but serve different purposes (sage-memory = codebase knowledge, sage-self-learning = agent mistakes and gotchas).
development
Typed knowledge graph stored in sage-memory. Use when creating or querying structured entities (Person, Project, Task, Event, Document), linking related objects, checking dependencies, planning multi-step actions as graph transformations, or when skills need to share structured state. Trigger on "remember that X is Y", "what do I know about", "link X to Y", "show dependencies", "what blocks X", entity CRUD, cross-skill data access, or any request involving structured relationships between things.
tools
Integrates sage-memory into Sage workflows. Teaches the agent when to remember (store findings during work), when to recall (search memory at session start and task start), and how to learn (structured knowledge capture via sage learn). Use when the user mentions memory, remember, recall, learn, capture knowledge, onboard to codebase, or when starting any session where sage-memory MCP tools are available.
tools
Captures agent mistakes, corrections, and discovered gotchas so they are not repeated. Use when: (1) a command or operation fails unexpectedly, (2) the user corrects the agent, (3) the agent discovers non-obvious behavior through debugging, (4) an API or tool behaves differently than expected, (5) a better approach is found for a recurring task. Also searches past learnings before starting tasks to avoid known pitfalls. Activate alongside the sage-memory skill — they share the same MCP backend but serve different purposes (sage-memory = codebase knowledge, sage-self-learning = agent mistakes and gotchas).