/crisp-copy
Write and check the words in your UI.
(What it does)
A specialist for UX microcopy: the short text inside an interface. /crisp-copy treats every string as a design decision, from labels, empty states, and errors to tooltips, buttons, success messages, and onboarding hints. It checks or writes them against the Contextual and Intelligent dimensions.
It has two modes. Audit mode takes your existing text and returns a table of problems, each with a severity rating and replacement copy ready to paste. Generate mode takes a component and its context and writes the text from scratch, with variants.
(When to use it)
Use it when the words are doing less work than the design:
- Empty states say "No data" and errors say "Something went wrong"
- A final check of every string on a new screen before it ships
- A new component needs its text written: empty state, error, confirmation, or tooltip
- The product's tone changes from screen to screen and needs a documented copy system
(What you get)
- Copy audit with P0–P3 severity
- Replacement text ready to paste
- Notes on voice and tone consistency
- Empty state copy (3-part structure)
(Example output)
Illustrative example only. This is not a real audit.
(The rules it enforces)
- Empty states say what is missing, explain why, and offer one way forward
- Errors say exactly what went wrong and what the user can do next
- Buttons describe the outcome: "Save draft", not "Submit"
- Success messages say what happened: "Invite sent to anna@company.com", not "Done"
- Destructive actions name what will be destroyed and say that it cannot be undone
- Loading states, and menu items that open a further step, end with a proper ellipsis (…)
(Common questions)
What is the difference between the two modes?
Audit mode checks text you already have (a screenshot, a screen description, or a pasted list) and returns a table of problems with severity ratings and revised copy. Generate mode writes new text for a component type and context, using tested templates for empty states, errors, confirmations, and hints.
How does it decide the voice?
From the register set in .crisp.md. Brand register leads with personality. Product register leads with clarity and recovery, with no clever language at high-stakes moments. If there is no context file, it asks one question: is this a marketing page or product UI?
What is the copy system output?
When .crisp.md exists, audits and generated copy end with a copy system: voice, person, tense, capitalisation, product terms, and terms to avoid. The team can commit it as a shared reference.
Can severity really apply to copy?
Yes, and that is what makes the audit useful. A P0 stops users understanding at all. A P1 misleads users or leaves them stuck with no way forward. A P2 is generic text users have to decode. A P3 is word-choice polish.
(Install)
Installs all fourteen CRISP skills and detects which AI coding tool you use. Run /crisp-teach once per project, before the other skills.
(Related skills)