Generates comprehensive design token systems (colors, typography, spacing) from brand inputs and creates structured component documentation. It also calculates responsive breakpoints and fluid typography scales to facilitate seamless developer handoff.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when establishing a new design system or updating an existing one with consistent design tokens. It is ideal for converting brand colors into accessible palettes, defining typography and spacing scales, or preparing technical documentation for developers. It is also suitable when calculating responsive breakpoints or fluid typography values for multi-device layouts.
Generate design tokens, create color palettes, calculate typography scales, build component systems, and prepare developer handoff documentation.
Use this skill when you need to:
Situation: You have a brand color and need a complete design token system.
Steps:
Style preference: modern | classic | playful
Generate tokens using script
bash
python scripts/design_token_generator.py "#0066CC" modern json
Review generated categories
Breakpoints: xs through 2xl
Export in target format ```bash # 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 ```
Situation: You need to structure a component library using design tokens.
Steps:
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 |
Size variants:
sm: height 32px, paddingX 12px, fontSize 14px
md: height 40px, paddingX 16px, fontSize 16px
lg: height 48px, paddingX 20px, fontSize 18px
Color variants:
primary: background primary-500, text white
secondary: background neutral-100, text neutral-900
ghost: background transparent, text neutral-700
Accessibility requirements
Reference: See references/component-architecture.md
Situation: You need breakpoints, fluid typography, or responsive spacing.
Steps:
| 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 |
Formula: clamp(min, preferred, max)
css
/* 16px to 24px between 320px and 1200px viewport */
font-size: clamp(1rem, 0.5rem + 2vw, 1.5rem);
Pre-calculated scales:
css
--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);
| Token | Mobile | Tablet | Desktop |
|---|---|---|---|
| --space-md | 12px | 16px | 16px |
| --space-lg | 16px | 24px | 32px |
| --space-xl | 24px | 32px | 48px |
| --space-section | 48px | 80px | 120px |
references/responsive-calculations.mdSituation: You need to hand off design tokens to development team.
Steps:
# For SCSS projects python scripts/design_token_generator.py "#0066CC" modern scss
# For JavaScript/TypeScript python scripts/design_token_generator.py "#0066CC" modern json ```
React + CSS Variables: ```tsx import './design-tokens.css';
```
Tailwind Config: ```javascript const tokens = require('./design-tokens.json');
module.exports = { theme: { colors: tokens.colors, fontFamily: tokens.typography.fontFamily } }; ```
styled-components: ```typescript import tokens from './design-tokens.json';
const Button = styled.buttonbackground: ${tokens.colors.primary['500']};
padding: ${tokens.spacing['2']} ${tokens.spacing['4']};;
```
Tokens sync automatically with Figma styles
Handoff checklist
[ ] Documentation generated
Reference: See references/developer-handoff.md
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 |
| 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 |
| 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⁶ |
| Level | Normal Text | Large Text |
|---|---|---|
| AA | 4.5:1 | 3:1 |
| AAA | 7:1 | 4.5:1 |
Large text: ≥18pt regular or ≥14pt bold
| 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 |
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 |
LICENSESKILL.mdassets/design_system_doc_template.mdreferences/component-architecture.mdreferences/developer-handoff.mdreferences/responsive-calculations.mdreferences/token-generation.mdscripts/design_token_generator.pyVendored from alirezarezvani/claude-skills, commit 27cfcd0fb0a4, path product-team/skills/ui-design-system, licence MIT. The upstream licence file ships inside the skill.