a11y-audit
Audit a UI or design against WCAG 2.2 AA/AAA and ARIA patterns, returning criterion-referenced findings with severity and specific fixes. Use when the user…
The house rules for ANY design or UI work - the verification protocol (run the gate, never claim a number), the absolute no-emoji rule, token by intent, one shared theme, the eight states, one thing leads, and output completeness. Load this FIRST whenever building, reviewing, or
$ npx -y skills add plugin87/ux-ui-agent-skills --skill design-doctrine --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/design-doctrineContext preview
The summary Claude sees to decide when to auto-load this skill.
The house rules for ANY design or UI work - the verification protocol (run the gate, never claim a number), the absolute no-emoji rule, token by intent, one shared theme, the eight states, one thing leads, and output completeness. Load this FIRST whenever building, reviewing, or
name: design-doctrine description: The house rules for ANY design or UI work - the verification protocol (run the gate, never claim a number), the absolute no-emoji rule, token by intent, one shared theme, the eight states, one thing leads, and output completeness. Load this FIRST whenever building, reviewing, or theming a screen, component, or token set. Installed as a plugin, this skill carries what CLAUDE.md carries in the repo. invocation: model
A plugin's root `CLAUDE.md` is not loaded as project context, so the always-on brief travels here instead. Read this before the first line of any design work, then load the rule file for the territory you are actually in.
1. **Never state a number you did not measure.** Any contrast ratio, "WCAG pass", or "100%" must come from running a gate and reporting its real output. If you have not run it, say "not verified yet." 2. **Verify every state, not just resting.** `node scripts/verify_states.mjs <file> [--dark]` measures default, hover and focus - a button that passes at rest can fail on hover. 3. **One command before reporting done:** `node scripts/accuracy_report.mjs`. Report the real `N/N` line. It is all-or-nothing. 4. **Build with the gates, not after them.** Fix and re-run until green; never announce success between failures. 5. **Render and LOOK.** Gates pass while a UI is still visibly broken. Screenshot the harness in both themes, click every control, and confirm the state changed. 6. **Responsive is gated too:** `node scripts/verify_responsive.mjs <file|dir>` - no horizontal overflow at 280/320/414px. 7. **Honest scope.** The gates prove objective correctness. They never prove taste. For that, run `/critique` and look at the work yourself. 8. **SKIPPED is not a pass.** With no browser installed a render gate prints `SKIPPED` and exits 0, reporting nothing. Run single render gates behind `DS_REQUIRE_BROWSER=1` so that becomes `REQUIRED, FAILING`, and fix it with `npx playwright install chrome` rather than by removing the flag.
> ABSOLUTE: zero emoji in any output - UI, code, JSON, copy, comments, commit > messages. Not as an icon, a bullet, a status dot, or "polish". Emoji are the > number-one tell of machine-generated work. Use a lucide icon (inline SVG, > `currentColor`) or plain words. Enforced by `scripts/check_no_emoji.py`.
1. **Token by intent.** Pick the token whose meaning matches the action. Destructive actions (Delete, Remove, Revoke) wear `action.destructive` in every place they appear - the trigger and the confirm dialog both. A blue Delete is a bug. Measured by `scripts/lint_intent.mjs`. 2. **One theme, one source of truth.** Every page renders from the same `tokens/*.json` through one CSS-variable layer imported once at the app root. No per-page palette, no hardcoded hex, px, or timing. 3. **Every interactive element ships eight states:** default, hover, focus, active, disabled, loading (if async), error (if input), and selected (if selectable). The eighth is not optional when the thing can be selected. 4. **One thing leads.** Every screen has a first place for the eye, and display type is at least 2.5x the body size. Four equal cards means the eye lands nowhere and the screen reads as generated. 5. **Output completeness.** A partial output is a broken output. Deliver full files, never placeholders. Asked for N components, deliver all N.
User needs, then accessibility, then consistency, then aesthetics, then developer experience. Never sacrifice a higher tier for a lower one. Beautiful but inaccessible is broken; consistent but confusing is the wrong pattern.
| Read it when | File | |---|---| | Tokens, palettes, theming, dark mode, any colour decision | `.claude/rules/tokens-and-color.md` | | Type scale, line length, the 4px spacing rhythm | `.claude/rules/typography-and-spacing.md` | | Building any screen or component, composition, empty states | `.claude/rules/components.md` | | Auditing, or finishing any interactive element | `.claude/rules/accessibility.md` | | Generating code for React, Next.js, SwiftUI, or any adapter | `.claude/rules/frameworks.md` | | Design review, prototyping, research, handoff | `.claude/rules/review-and-research.md` | | Aesthetic direction, motion, voice and tone, governance, QA | `.claude/rules/brand-and-operations.md` |
Then pick the runnable skill for the job: `design-tokens`, `design-component`, `design-code`, `design-review`, `a11y-audit`, `apply-aesthetic`, `brandkit`, `image-to-code`, `redesign`, and the rest. Interrogate the brief first with `/grill-me`; prove the result with `/gate`; judge it with `/critique`.
Turn Claude into a senior design architect - DTCG design tokens, 50 components, WCAG 2.2 AA to AAA, 138 design systems, any-framework code, and 38 objective gates that fail the build instead of claiming success. Install as a Claude Code plugin or with npx.
Repo: plugin87/ux-ui-agent-skills
Audit a UI or design against WCAG 2.2 AA/AAA and ARIA patterns, returning criterion-referenced findings with severity and specific fixes. Use when the user…
Apply a visual direction — an archetype (high-end agency, editorial minimal, brutalist, soft-SaaS, dark-tech) or one of 138 named design systems (apple,…
Generate a complete, accessible brand design system from a brief — primitive → semantic → component DTCG tokens (color, type, spacing, radius, shadow, motion),…
Build a dense, data-heavy screen - an analytics console or a trading terminal - with real charts drawn from tokens: candlestick, volume, depth, stacked area,…
Generate production-ready, accessible, token-driven component code for ANY framework — React+Tailwind, Next.js, SwiftUI, Vue, Svelte, Angular, Solid, Web…
Design a UI component spec to the house quality bar — anatomy, variants, sizes, the 8 states, token mapping, and accessibility. Use when the user wants to…