friction-log
File contributor or agent papercuts as GitHub issues labeled friction, or investigate those issues as the daily friction-log Cloud Agent. Use when you hit repo…
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
$ npx -y skills add educlopez/ui-craft --skill clarify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/clarifyContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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).
Ship designer-grade UI by default. A design engineering system for AI coding agents — install it as a skill or as the ui-craft CLI, and your agent starts designing like it has taste. Ask for a dashboard, get one you'd put in production.
Repo: educlopez/ui-craft
File contributor or agent papercuts as GitHub issues labeled friction, or investigate those issues as the daily friction-log Cloud Agent. Use when you hit repo…
Dense dashboard / admin / Bloomberg / Retool / data-heavy internal tools. Locked knobs: CRAFT=7, MOTION=3, DENSITY=9. IBM Plex + mono numbers, semantic…
Editorial / magazine / long-form / Medium / Substack / content-heavy UIs. Locked knobs: CRAFT=9, MOTION=4, DENSITY=3. Serif display + humanist body, wide…
Minimal / clean / Linear / Notion / Vercel / whitespace-heavy UIs. Locked knobs: CRAFT=8, MOTION=3, DENSITY=2. Monochrome + one accent, Inter/Geist, hairline…
Use for UI design and implementation work to avoid generic AI-looking interfaces. Provides anti-slop rules, a required discovery phase before coding, and…
Responsive layout pass covering breakpoints, touch targets, safe areas, and fluid type. Use when the UI has layout or touch issues on mobile/tablet, when…