UX copy review across buttons, errors, empty states, and form hints — critiques by default, applies only on request. Use when copy feels vague, generic, or AI-sounding, or when the user says \"fix the labels\", \"improve error messages\", or \"review the copy\". Invoke when the user asks for clarify on their UI, or mentions 'clarify' alongside design / UI / frontend work.
Installs into .claude/skills of the current project.
Are you the author of Clarify?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nuroctane-clarify)
---
name: clarify
description: "UX copy review across buttons, errors, empty states, and form hints — critiques by default, applies only on request. Use when copy feels vague, generic, or AI-sounding, or when the user says \"fix the labels\", \"improve error messages\", or \"review the copy\". Invoke when the user asks for clarify on their UI, or mentions 'clarify' alongside design / UI / frontend work."
---
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->
**Context:** this sub-skill is one lens of the broader `ui-craft` skill. If the `ui-craft` skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.
Clarify the copy in `$ARGUMENTS`. Load the `ui-craft` skill.
**Default mode: critique, not edit.** Return the copy diff in a Review Format table. Only apply changes if the user says "apply".
**Checklist — walk the UI and flag every instance:**
1. **Button labels** — verb + object. "Send invite" > "Submit". "Delete project" > "Delete". Never "OK", "Submit", "Click here".
2. **Errors** — inline, specific, actionable. "Email already in use — sign in or use another address." Never "Something went wrong."
3. **Empty states** — one line explaining why empty + one CTA. "No projects yet. Create your first." not "It's empty here!"
4. **Form hints** — below the field, persistent, not just validation-triggered. "Must include a number and a symbol" as helper text, not as an error after submit.
5. **Confirmation language** — past tense, subject-first. "Project deleted." > "Successfully deleted project."
6. **Destructive actions** — the noun lives in the button. "Delete {projectName}" > "Delete". The dialog confirms; the button commits.
7. **Case** — sentence case by default. Title Case only for branded product names. Never ALL CAPS (exception: 11-13px category labels, already in SKILL.md).
8. **Voice** — clear > clever. Active voice. Short sentences. Real words ("cancel" not "discontinue", "start" not "initiate").
**Knob-agnostic** — clarity is not tunable. Run the full checklist regardless of CRAFT_LEVEL.
**References to read**: `references/copy.md` (microcopy voice + patterns), `references/accessibility.md` (error message expectations for screen readers).
**Output format** — the Review Format table:
| Before | After | Why |
| --- | --- | --- |
Prioritize by impact (errors and destructive actions first, then CTAs, then helper copy). End with a one-paragraph summary of the overall voice shift. If the user says "apply", edit the code and re-print the table with file paths.
**Next step:** `/critique` — copy changes shift hierarchy; re-read the surface after (rung 1).