Design ux audit
Skill hparamore/essential-claude-skills-hparamore/fable-toolkit/skills/design-ux-audit
Essential Claude Skills I Use
npx -y skills add hparamore/essential-claude-skills-hparamore --skill design-ux-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run a full design and UX audit of an EXISTING app or feature against its own design system, taste layer, and accessibility standards, producing a prioritized, evidence-backed findings report. Use whenever the user asks to "audit the design", "review the UX", "check design consistency", "find design debt", "does this feel off", or wants a design/state pass (empty, error, loading, dark mode, large text) before release. Not for creating new UI from scratch, writing UX copy, or reviewing code logic/quality (use best-practices) — this evaluates existing design against intent and reports; it does not restyle without approval.
SKILL.md
5.8 KB, as published. Nobody here has run it
Design & UX Audit Playbook
Authored by Claude Fable 5. The user is a Design Director — do not explain design concepts to them, and do not soften findings. Your job is to see what they can't see from inside the work: drift, inconsistency, missed states, and places where implementation quietly diverged from intent.
Why this exists
Design audits by capable-but-unguided models fail two ways: they critique against generic taste ("consider more whitespace") instead of the project's own stated intent, and they only look at the happy path — the polished default state everyone already stared at — while the empty, error, loading, and extreme-text states rot. This playbook forces intent-relative judgment and exhaustive state coverage.
Phase 0 — Load the intent
You cannot audit against a standard you haven't read. Find and read, in this order:
ART-DIRECTION.md, taste-layer docs, or design-identity sections inCLAUDE.md— the project's stated feeling and visual spec.- The token/theme files (e.g.
index.css :root, theme constants, design tokens). Note the palette, type scale, spacing scale, motion durations. - Any component library / shared components directory.
Write yourself a 5-line "intent card": the three words the design is supposed to feel like, the accent/surfaces, the type pairing, the motion character. Every finding you report must be justified against this card or against accessibility — never against your personal defaults.
Gate: if no design intent exists anywhere, stop and tell the user — offer to run an art-direction/taste exercise first, because auditing against nothing produces generic-AI-taste feedback, which is worse than useless.
Phase 1 — Static sweep (cheap, do first)
Before touching a browser, grep the codebase for mechanical drift:
- Hardcoded hex colors outside the token file (
#[0-9a-fA-F]{3,6}in component styles) — each one is a token-discipline violation. - Hardcoded px font sizes where a scale variable should be.
- Spacing values not on the spacing scale.
- Duplicated one-off components that shadow an existing shared component.
- Missing accessibility attributes on interactive elements (buttons without labels, images without alt, inputs without associated labels).
Record each hit as file:line. These are your highest-confidence findings —
they need no judgment call.
Phase 2 — Live walkthrough (every screen, every state)
Run the app (preview tools if available; follow any repo-specific instructions
in CLAUDE.md for how to run it signed-out/local). For each screen, check
this state matrix — the discipline of the matrix is the whole point:
| State | What to check |
|---|---|
| Default / populated | hierarchy, alignment, token usage, rhythm |
| Empty | Is there a designed empty state or a blank void? Does it invite action? |
| Loading | Skeleton/spinner consistent with motion character? Layout shift? |
| Error | Human copy? Recovery path? Or a raw error string? |
| Long content | Names/titles 3× expected length — truncation, wrapping, overflow |
| Smallest & largest text size | If the app has a text-size setting or dynamic type, check both extremes |
| Dark mode / alt palettes | Every theme variant the app supports, not just default |
| Narrow viewport | The smallest supported width |
Interact, don't just look: tab through with keyboard focus, check tap-target sizes (≥44px), trigger transitions and note whether motion durations/easing match the stated motion character.
Take screenshots of anything you'll cite. A finding without evidence is an opinion.
Phase 3 — Judgment pass
Now the part that needs taste. With the intent card in front of you, ask of each screen:
- Does the hierarchy make the most important thing the most visible thing?
- Is there one clear primary action per screen, or several fighting?
- Does anything read as default-AI-generic — the layout, the card style, the button treatment — where the art direction called for a signature move?
- Is copy doing work (specific, in-voice) or filler ("Welcome to...")?
- Do sibling screens feel like the same product (consistent patterns for the same job)?
Phase 4 — Report
Deliver exactly this structure. Order findings by severity, not by discovery order:
# Design & UX Audit — <project> — <date>
## Intent card
<the 5-line summary you audited against>
## Findings
### Blockers (breaks usability or accessibility)
- **<finding>** — <evidence: file:line or screenshot ref> — why it matters
### High (visible drift from design intent)
### Polish (worth fixing, low urgency)
## Patterns (root causes behind multiple findings)
<e.g. "no empty-state pattern exists, causing 4 of the findings above">
## What's working
<2–4 things genuinely strong — so fixes don't accidentally destroy them>
Stop after the report. Do not fix anything. Offer to fix, and let the user pick which findings to act on — they may disagree with some, and on design calls their disagreement wins. If a fix would require creating a new shared component or changing an existing pattern, flag that explicitly per the user's standing rules.