friction-log
File contributor or agent papercuts as GitHub issues labeled friction, or investigate those issues as the daily friction-log…
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
Claude Code
$ npx -y skills add educlopez/ui-craft --skill clarify --agent claude-code
Codex
$ npx skills add educlopez/ui-craft --skill clarify -a codex -y
Cursor
$ npx skills add educlopez/ui-craft --skill clarify -a cursor -y
Gemini CLI
$ npx skills add educlopez/ui-craft --skill clarify -a gemini-cli -y
GitHub Copilot
$ npx skills add educlopez/ui-craft --skill clarify -a github-copilot -y
OpenCode
$ npx skills add educlopez/ui-craft --skill clarify -a opencode -y
Windsurf
$ npx skills add educlopez/ui-craft --skill clarify -a windsurf -y
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.
File contributor or agent papercuts as GitHub issues labeled friction, or investigate those issues as the daily friction-log…
Dense dashboard / admin / Bloomberg / Retool / data-heavy internal tools. Locked knobs: CRAFT=7, MOTION=3, DENSITY=9. IBM Plex +…
Editorial / magazine / long-form / Medium / Substack / content-heavy UIs. Locked knobs: CRAFT=9, MOTION=4, DENSITY=3. Serif…
Minimal / clean / Linear / Notion / Vercel / whitespace-heavy UIs. Locked knobs: CRAFT=8, MOTION=3, DENSITY=2. Monochrome + one…
Use for UI design and implementation work to avoid generic AI-looking interfaces. Provides anti-slop rules, a required discovery…
Responsive layout pass covering breakpoints, touch targets, safe areas, and fluid type. Use when the UI has layout or touch…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.