Designs and documents UI component libraries, design token systems, color palettes, typography scales, spacing systems, and responsive layout frameworks. Produces design specifications, style guides, and developer-ready handoff documentation. Use when a user needs to create a design system, build a component library, define a color palette or typography scale, design UI mockups or wireframes, establish a visual style guide, set up CSS tokens or theming (including dark mode), specify accessible interface components (WCAG AA), or produce layout compositions for web or mobile interfaces.
93
92%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Creates visual design systems, component libraries, and interface specifications. Covers design tokens, color palettes, typography scales, spacing systems, responsive layouts, accessibility compliance, and developer handoff documentation.
Ask for or identify:
Output a complete CSS custom property token set covering:
[data-theme="dark"]Establish tokens before designing any individual components — every component decision depends on this foundation.
Validation checkpoint: Verify all foreground/background color pairs meet required contrast ratios before proceeding.
For each component, document:
Validation checkpoint: Confirm each interactive element has a visible :focus-visible style and meets touch target minimums (≥ 44px).
Define breakpoints and container behavior:
| Breakpoint | Min-width | Container max-width |
|---|---|---|
| Mobile (base) | — | 100% |
| sm | 640px | 640px |
| md | 768px | 768px |
| lg | 1024px | 1024px |
| xl | 1280px | 1280px |
Use mobile-first min-width media queries. Specify grid column behavior at each breakpoint.
Produce a handoff document covering:
See design-tokens-reference.md for the canonical token file template. A representative excerpt:
:root {
/* Color */
--color-primary-100: #f0f9ff;
--color-primary-500: #3b82f6;
--color-primary-900: #1e3a8a;
--color-success: #10b981;
--color-warning: #f59e0b;
--color-error: #ef4444;
--color-info: #3b82f6;
/* Typography */
--font-family-primary: 'Inter', system-ui, sans-serif;
--font-family-mono: 'JetBrains Mono', monospace;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-base: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-2xl: 1.5rem;
--font-size-3xl: 1.875rem;
--font-size-4xl: 2.25rem;
/* Spacing */
--space-1: 0.25rem;
--space-2: 0.5rem;
--space-3: 0.75rem;
--space-4: 1rem;
--space-6: 1.5rem;
--space-8: 2rem;
--space-12: 3rem;
--space-16: 4rem;
/* Shadow */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
/* Transition */
--transition-fast: 150ms ease;
--transition-normal: 300ms ease;
--transition-slow: 500ms ease;
}
[data-theme="dark"] {
--color-primary-100: #1e3a8a;
--color-primary-500: #60a5fa;
--color-primary-900: #dbeafe;
}See component-spec-template.md for the full template. Each component section follows this structure:
### [Component Name]
**Usage**: When to use this component.
**HTML Structure**:
<!-- Semantic markup with ARIA attributes -->
**CSS**:
/* Token-based styles for all states */
**Variants**: [list]
**Accessibility**: [keyboard interactions, ARIA roles, focus behavior]
**Do / Don't**: [one concrete example of correct and incorrect usage]User: "I need a button component for my design system."
Output should include:
.btn base + .btn--primary, .btn--secondary, .btn--ghost variants.btn--sm, .btn--md, .btn--lg:hover, :active, :focus-visible, :disabledtype attribute and ARIA usageBefore completing any design system output, verify:
:focus-visible stylesprefers-reduced-motion handling where animations are used010799b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.