$npx -y skills add educlopez/ui-craft --skill clarifyUX 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 as
| 1 | <!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. --> |
| 2 | |
| 3 | **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. |
| 4 | |
| 5 | Clarify the copy in the target the user described. Load the `ui-craft` skill. |
| 6 | |
| 7 | **Default mode: critique, not edit.** Return the copy diff in a Review Format table. Only apply changes if the user says "apply". |
| 8 | |
| 9 | **Checklist — walk the UI and flag every instance:** |
| 10 | |
| 11 | 1. **Button labels** — verb + object. "Send invite" > "Submit". "Delete project" > "Delete". Never "OK", "Submit", "Click here". |
| 12 | 2. **Errors** — inline, specific, actionable. "Email already in use — sign in or use another address." Never "Something went wrong." |
| 13 | 3. **Empty states** — one line explaining why empty + one CTA. "No projects yet. Create your first." not "It's empty here!" |
| 14 | 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. |
| 15 | 5. **Confirmation language** — past tense, subject-first. "Project deleted." > "Successfully deleted project." |
| 16 | 6. **Destructive actions** — the noun lives in the button. "Delete {projectName}" > "Delete". The dialog confirms; the button commits. |
| 17 | 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). |
| 18 | 8. **Voice** — clear > clever. Active voice. Short sentences. Real words ("cancel" not "discontinue", "start" not "initiate"). |
| 19 | |
| 20 | **Knob-agnostic** — clarity is not tunable. Run the full checklist regardless of CRAFT_LEVEL. |
| 21 | |
| 22 | **References to read**: `references/copy.md` (microcopy voice + patterns), `references/accessibility.md` (error message expectations for screen readers). |
| 23 | |
| 24 | **Output format** — the Review Format table: |
| 25 | |
| 26 | | Before | After | Why | |
| 27 | | --- | --- | --- | |
| 28 | |
| 29 | 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. |