- Add CSS components: .page-meta badges, .domain-header, .install-banner - Fix invisible tab navigation (explicit color for light/dark modes) - Rewrite generate-docs.py with design system templates - Domain indexes: centered headers with icons, install banners, grid cards - Skill pages: pill badges (domain, skill ID, source), install commands - Agent/command pages: type badges with domain icons - Regenerate all 210 pages (180 skills + 15 agents + 15 commands) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 KiB
title, description
| title | description |
|---|---|
| UI Design System | UI Design System - Claude Code skill from the Product domain. |
UI Design System
claude /plugin install product-skills
Generate design tokens, create color palettes, calculate typography scales, build component systems, and prepare developer handoff documentation.
Table of Contents
Trigger Terms
Use this skill when you need to:
- "generate design tokens"
- "create color palette"
- "build typography scale"
- "calculate spacing system"
- "create design system"
- "generate CSS variables"
- "export SCSS tokens"
- "set up component architecture"
- "document component library"
- "calculate responsive breakpoints"
- "prepare developer handoff"
- "convert brand color to palette"
- "check WCAG contrast"
- "build 8pt grid system"
Workflows
Workflow 1: Generate Design Tokens
Situation: You have a brand color and need a complete design token system.
Steps:
-
Identify brand color and style
- Brand primary color (hex format)
- Style preference:
modern|classic|playful
-
Generate tokens using script
python scripts/design_token_generator.py "#0066CC" modern json -
Review generated categories
- Colors: primary, secondary, neutral, semantic, surface
- Typography: fontFamily, fontSize, fontWeight, lineHeight
- Spacing: 8pt grid-based scale (0-64)
- Borders: radius, width
- Shadows: none through 2xl
- Animation: duration, easing
- Breakpoints: xs through 2xl
-
Export in target format
# CSS custom properties python scripts/design_token_generator.py "#0066CC" modern css > design-tokens.css # SCSS variables python scripts/design_token_generator.py "#0066CC" modern scss > _design-tokens.scss # JSON for Figma/tooling python scripts/design_token_generator.py "#0066CC" modern json > design-tokens.json -
Validate accessibility
- Check color contrast meets WCAG AA (4.5:1 normal, 3:1 large text)
- Verify semantic colors have contrast colors defined
Workflow 2: Create Component System
Situation: You need to structure a component library using design tokens.
Steps:
-
Define component hierarchy
- Atoms: Button, Input, Icon, Label, Badge
- Molecules: FormField, SearchBar, Card, ListItem
- Organisms: Header, Footer, DataTable, Modal
- Templates: DashboardLayout, AuthLayout
-
Map tokens to components
Component Tokens Used Button colors, sizing, borders, shadows, typography Input colors, sizing, borders, spacing Card colors, borders, shadows, spacing Modal colors, shadows, spacing, z-index, animation -
Define variant patterns
Size variants:
sm: height 32px, paddingX 12px, fontSize 14px md: height 40px, paddingX 16px, fontSize 16px lg: height 48px, paddingX 20px, fontSize 18pxColor variants:
primary: background primary-500, text white secondary: background neutral-100, text neutral-900 ghost: background transparent, text neutral-700 -
Document component API
- Props interface with types
- Variant options
- State handling (hover, active, focus, disabled)
- Accessibility requirements
-
Reference: See
references/component-architecture.md
Workflow 3: Responsive Design
Situation: You need breakpoints, fluid typography, or responsive spacing.
Steps:
-
Define breakpoints
Name Width Target xs 0 Small phones sm 480px Large phones md 640px Tablets lg 768px Small laptops xl 1024px Desktops 2xl 1280px Large screens -
Calculate fluid typography
Formula:
clamp(min, preferred, max)/* 16px to 24px between 320px and 1200px viewport */ font-size: clamp(1rem, 0.5rem + 2vw, 1.5rem);Pre-calculated scales:
--fluid-h1: clamp(2rem, 1rem + 3.6vw, 4rem); --fluid-h2: clamp(1.75rem, 1rem + 2.3vw, 3rem); --fluid-h3: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); --fluid-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem); -
Set up responsive spacing
Token Mobile Tablet Desktop --space-md 12px 16px 16px --space-lg 16px 24px 32px --space-xl 24px 32px 48px --space-section 48px 80px 120px -
Reference: See
references/responsive-calculations.md
Workflow 4: Developer Handoff
Situation: You need to hand off design tokens to development team.
Steps:
-
Export tokens in required formats
# For CSS projects python scripts/design_token_generator.py "#0066CC" modern css # For SCSS projects python scripts/design_token_generator.py "#0066CC" modern scss # For JavaScript/TypeScript python scripts/design_token_generator.py "#0066CC" modern json -
Prepare framework integration
React + CSS Variables:
import './design-tokens.css'; <button className="btn btn-primary">Click</button>Tailwind Config:
const tokens = require('./design-tokens.json'); module.exports = { theme: { colors: tokens.colors, fontFamily: tokens.typography.fontFamily } };styled-components:
import tokens from './design-tokens.json'; const Button = styled.button` background: ${tokens.colors.primary['500']}; padding: ${tokens.spacing['2']} ${tokens.spacing['4']}; `; -
Sync with Figma
- Install Tokens Studio plugin
- Import design-tokens.json
- Tokens sync automatically with Figma styles
-
Handoff checklist
- Token files added to project
- Build pipeline configured
- Theme/CSS variables imported
- Component library aligned
- Documentation generated
-
Reference: See
references/developer-handoff.md
Tool Reference
design_token_generator.py
Generates complete design token system from brand color.
| Argument | Values | Default | Description |
|---|---|---|---|
| brand_color | Hex color | #0066CC | Primary brand color |
| style | modern, classic, playful | modern | Design style preset |
| format | json, css, scss, summary | json | Output format |
Examples:
# Generate JSON tokens (default)
python scripts/design_token_generator.py "#0066CC"
# Classic style with CSS output
python scripts/design_token_generator.py "#8B4513" classic css
# Playful style summary view
python scripts/design_token_generator.py "#FF6B6B" playful summary
Output Categories:
| Category | Description | Key Values |
|---|---|---|
| colors | Color palettes | primary, secondary, neutral, semantic, surface |
| typography | Font system | fontFamily, fontSize, fontWeight, lineHeight |
| spacing | 8pt grid | 0-64 scale, semantic (xs-3xl) |
| sizing | Component sizes | container, button, input, icon |
| borders | Border values | radius (per style), width |
| shadows | Shadow styles | none through 2xl, inner |
| animation | Motion tokens | duration, easing, keyframes |
| breakpoints | Responsive | xs, sm, md, lg, xl, 2xl |
| z-index | Layer system | base through notification |
Quick Reference Tables
Color Scale Generation
| Step | Brightness | Saturation | Use Case |
|---|---|---|---|
| 50 | 95% fixed | 30% | Subtle backgrounds |
| 100 | 95% fixed | 38% | Light backgrounds |
| 200 | 95% fixed | 46% | Hover states |
| 300 | 95% fixed | 54% | Borders |
| 400 | 95% fixed | 62% | Disabled states |
| 500 | Original | 70% | Base/default color |
| 600 | Original × 0.8 | 78% | Hover (dark) |
| 700 | Original × 0.6 | 86% | Active states |
| 800 | Original × 0.4 | 94% | Text |
| 900 | Original × 0.2 | 100% | Headings |
Typography Scale (1.25x Ratio)
| Size | Value | Calculation |
|---|---|---|
| xs | 10px | 16 ÷ 1.25² |
| sm | 13px | 16 ÷ 1.25¹ |
| base | 16px | Base |
| lg | 20px | 16 × 1.25¹ |
| xl | 25px | 16 × 1.25² |
| 2xl | 31px | 16 × 1.25³ |
| 3xl | 39px | 16 × 1.25⁴ |
| 4xl | 49px | 16 × 1.25⁵ |
| 5xl | 61px | 16 × 1.25⁶ |
WCAG Contrast Requirements
| Level | Normal Text | Large Text |
|---|---|---|
| AA | 4.5:1 | 3:1 |
| AAA | 7:1 | 4.5:1 |
Large text: ≥18pt regular or ≥14pt bold
Style Presets
| Aspect | Modern | Classic | Playful |
|---|---|---|---|
| Font Sans | Inter | Helvetica | Poppins |
| Font Mono | Fira Code | Courier | Source Code Pro |
| Radius Default | 8px | 4px | 16px |
| Shadows | Layered, subtle | Single layer | Soft, pronounced |
Knowledge Base
Detailed reference guides in references/:
| File | Content |
|---|---|
token-generation.md |
Color algorithms, HSV space, WCAG contrast, type scales |
component-architecture.md |
Atomic design, naming conventions, props patterns |
responsive-calculations.md |
Breakpoints, fluid typography, grid systems |
developer-handoff.md |
Export formats, framework setup, Figma sync |
Validation Checklist
Token Generation
- Brand color provided in hex format
- Style matches project requirements
- All token categories generated
- Semantic colors include contrast values
Component System
- All sizes implemented (sm, md, lg)
- All variants implemented (primary, secondary, ghost)
- All states working (hover, active, focus, disabled)
- Uses only design tokens (no hardcoded values)
Accessibility
- Color contrast meets WCAG AA
- Focus indicators visible
- Touch targets ≥ 44×44px
- Semantic HTML elements used
Developer Handoff
- Tokens exported in required format
- Framework integration documented
- Design tool synced
- Component documentation complete