UI design system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/ui-design-system, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit alirezarezvani/claude-skills/product-team/skills/ui-design-system#main ~/.claude/skills/ui-design-system

For one project only, change the path to .claude/skills/ui-design-system. This skill also uses design-tokens.json, design_token_generator.py, token-generation.md, component-architecture.md, responsive-calculations.md, developer-handoff.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of UI design system

Show the full text380 lines
namedescription
ui-design-systemUI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use when creating design systems, generating design tokens, maintaining visual consistency, or facilitating design-dev collaboration and developer handoff.

UI Design System

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:

  1. Identify brand color and style

    • Brand primary color (hex format)
    • Style preference: modern | classic | playful
  2. Generate tokens using script

    python scripts/design_token_generator.py "#0066CC" modern json
    
  3. 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
  4. 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
    
  5. 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:

  1. Define component hierarchy

    • Atoms: Button, Input, Icon, Label, Badge
    • Molecules: FormField, SearchBar, Card, ListItem
    • Organisms: Header, Footer, DataTable, Modal
    • Templates: DashboardLayout, AuthLayout
  2. 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
  3. 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 18px
    

    Color variants:

    primary: background primary-500, text white
    secondary: background neutral-100, text neutral-900
    ghost: background transparent, text neutral-700
    
  4. Document component API

    • Props interface with types
    • Variant options
    • State handling (hover, active, focus, disabled)
    • Accessibility requirements
  5. Reference: See references/component-architecture.md


Workflow 3: Responsive Design

Situation: You need breakpoints, fluid typography, or responsive spacing.

Steps:

  1. 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
  2. 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);
    
  3. 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
  4. Reference: See references/responsive-calculations.md


Workflow 4: Developer Handoff

Situation: You need to hand off design tokens to development team.

Steps:

  1. 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
    
  2. 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']};
    `;
    
  3. Sync with Figma

    • Install Tokens Studio plugin
    • Import design-tokens.json
    • Tokens sync automatically with Figma styles
  4. Handoff checklist

    • Token files added to project
    • Build pipeline configured
    • Theme/CSS variables imported
    • Component library aligned
    • Documentation generated
  5. 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
1---
2name: "ui-design-system"
3description: UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use when creating design systems, generating design tokens, maintaining visual consistency, or facilitating design-dev collaboration and developer handoff.
4---
5 
6# UI Design System
7 
8Generate design tokens, create color palettes, calculate typography scales, build component systems, and prepare developer handoff documentation.
9 
10---
11 
12## Table of Contents
13 
14- [Trigger Terms](#trigger-terms)
15- [Workflows](#workflows)
16 - [Workflow 1: Generate Design Tokens](#workflow-1-generate-design-tokens)
17 - [Workflow 2: Create Component System](#workflow-2-create-component-system)
18 - [Workflow 3: Responsive Design](#workflow-3-responsive-design)
19 - [Workflow 4: Developer Handoff](#workflow-4-developer-handoff)
20- [Tool Reference](#tool-reference)
21- [Quick Reference Tables](#quick-reference-tables)
22- [Knowledge Base](#knowledge-base)
23 
24---
25 
26## Trigger Terms
27 
28Use this skill when you need to:
29 
30- "generate design tokens"
31- "create color palette"
32- "build typography scale"
33- "calculate spacing system"
34- "create design system"
35- "generate CSS variables"
36- "export SCSS tokens"
37- "set up component architecture"
38- "document component library"
39- "calculate responsive breakpoints"
40- "prepare developer handoff"
41- "convert brand color to palette"
42- "check WCAG contrast"
43- "build 8pt grid system"
44 
45---
46 
47## Workflows
48 
49### Workflow 1: Generate Design Tokens
50 
51**Situation:** You have a brand color and need a complete design token system.
52 
53**Steps:**
54 
551. **Identify brand color and style**
56 - Brand primary color (hex format)
57 - Style preference: `modern` | `classic` | `playful`
58 
592. **Generate tokens using script**
60 ```bash
61 python scripts/design_token_generator.py "#0066CC" modern json
62 ```
63 
643. **Review generated categories**
65 - Colors: primary, secondary, neutral, semantic, surface
66 - Typography: fontFamily, fontSize, fontWeight, lineHeight
67 - Spacing: 8pt grid-based scale (0-64)
68 - Borders: radius, width
69 - Shadows: none through 2xl
70 - Animation: duration, easing
71 - Breakpoints: xs through 2xl
72 
734. **Export in target format**
74 ```bash
75 # CSS custom properties
76 python scripts/design_token_generator.py "#0066CC" modern css > design-tokens.css
77 
78 # SCSS variables
79 python scripts/design_token_generator.py "#0066CC" modern scss > _design-tokens.scss
80 
81 # JSON for Figma/tooling
82 python scripts/design_token_generator.py "#0066CC" modern json > design-tokens.json
83 ```
84 
855. **Validate accessibility**
86 - Check color contrast meets WCAG AA (4.5:1 normal, 3:1 large text)
87 - Verify semantic colors have contrast colors defined
88 
89---
90 
91### Workflow 2: Create Component System
92 
93**Situation:** You need to structure a component library using design tokens.
94 
95**Steps:**
96 
971. **Define component hierarchy**
98 - Atoms: Button, Input, Icon, Label, Badge
99 - Molecules: FormField, SearchBar, Card, ListItem
100 - Organisms: Header, Footer, DataTable, Modal
101 - Templates: DashboardLayout, AuthLayout
102 
1032. **Map tokens to components**
104 
105 | Component | Tokens Used |
106 |-----------|-------------|
107 | Button | colors, sizing, borders, shadows, typography |
108 | Input | colors, sizing, borders, spacing |
109 | Card | colors, borders, shadows, spacing |
110 | Modal | colors, shadows, spacing, z-index, animation |
111 
1123. **Define variant patterns**
113 
114 Size variants:
115 ```
116 sm: height 32px, paddingX 12px, fontSize 14px
117 md: height 40px, paddingX 16px, fontSize 16px
118 lg: height 48px, paddingX 20px, fontSize 18px
119 ```
120 
121 Color variants:
122 ```
123 primary: background primary-500, text white
124 secondary: background neutral-100, text neutral-900
125 ghost: background transparent, text neutral-700
126 ```
127 
1284. **Document component API**
129 - Props interface with types
130 - Variant options
131 - State handling (hover, active, focus, disabled)
132 - Accessibility requirements
133 
1345. **Reference:** See `references/component-architecture.md`
135 
136---
137 
138### Workflow 3: Responsive Design
139 
140**Situation:** You need breakpoints, fluid typography, or responsive spacing.
141 
142**Steps:**
143 
1441. **Define breakpoints**
145 
146 | Name | Width | Target |
147 |------|-------|--------|
148 | xs | 0 | Small phones |
149 | sm | 480px | Large phones |
150 | md | 640px | Tablets |
151 | lg | 768px | Small laptops |
152 | xl | 1024px | Desktops |
153 | 2xl | 1280px | Large screens |
154 
1552. **Calculate fluid typography**
156 
157 Formula: `clamp(min, preferred, max)`
158 
159 ```css
160 /* 16px to 24px between 320px and 1200px viewport */
161 font-size: clamp(1rem, 0.5rem + 2vw, 1.5rem);
162 ```
163 
164 Pre-calculated scales:
165 ```css
166 --fluid-h1: clamp(2rem, 1rem + 3.6vw, 4rem);
167 --fluid-h2: clamp(1.75rem, 1rem + 2.3vw, 3rem);
168 --fluid-h3: clamp(1.5rem, 1rem + 1.4vw, 2.25rem);
169 --fluid-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
170 ```
171 
1723. **Set up responsive spacing**
173 
174 | Token | Mobile | Tablet | Desktop |
175 |-------|--------|--------|---------|
176 | --space-md | 12px | 16px | 16px |
177 | --space-lg | 16px | 24px | 32px |
178 | --space-xl | 24px | 32px | 48px |
179 | --space-section | 48px | 80px | 120px |
180 
1814. **Reference:** See `references/responsive-calculations.md`
182 
183---
184 
185### Workflow 4: Developer Handoff
186 
187**Situation:** You need to hand off design tokens to development team.
188 
189**Steps:**
190 
1911. **Export tokens in required formats**
192 ```bash
193 # For CSS projects
194 python scripts/design_token_generator.py "#0066CC" modern css
195 
196 # For SCSS projects
197 python scripts/design_token_generator.py "#0066CC" modern scss
198 
199 # For JavaScript/TypeScript
200 python scripts/design_token_generator.py "#0066CC" modern json
201 ```
202 
2032. **Prepare framework integration**
204 
205 **React + CSS Variables:**
206 ```tsx
207 import './design-tokens.css';
208 
209 <button className="btn btn-primary">Click</button>
210 ```
211 
212 **Tailwind Config:**
213 ```javascript
214 const tokens = require('./design-tokens.json');
215 
216 module.exports = {
217 theme: {
218 colors: tokens.colors,
219 fontFamily: tokens.typography.fontFamily
220 }
221 };
222 ```
223 
224 **styled-components:**
225 ```typescript
226 import tokens from './design-tokens.json';
227 
228 const Button = styled.button`
229 background: ${tokens.colors.primary['500']};
230 padding: ${tokens.spacing['2']} ${tokens.spacing['4']};
231 `;
232 ```
233 
2343. **Sync with Figma**
235 - Install Tokens Studio plugin
236 - Import design-tokens.json
237 - Tokens sync automatically with Figma styles
238 
2394. **Handoff checklist**
240 - [ ] Token files added to project
241 - [ ] Build pipeline configured
242 - [ ] Theme/CSS variables imported
243 - [ ] Component library aligned
244 - [ ] Documentation generated
245 
2465. **Reference:** See `references/developer-handoff.md`
247 
248---
249 
250## Tool Reference
251 
252### design_token_generator.py
253 
254Generates complete design token system from brand color.
255 
256| Argument | Values | Default | Description |
257|----------|--------|---------|-------------|
258| brand_color | Hex color | #0066CC | Primary brand color |
259| style | modern, classic, playful | modern | Design style preset |
260| format | json, css, scss, summary | json | Output format |
261 
262**Examples:**
263 
264```bash
265# Generate JSON tokens (default)
266python scripts/design_token_generator.py "#0066CC"
267 
268# Classic style with CSS output
269python scripts/design_token_generator.py "#8B4513" classic css
270 
271# Playful style summary view
272python scripts/design_token_generator.py "#FF6B6B" playful summary
273```
274 
275**Output Categories:**
276 
277| Category | Description | Key Values |
278|----------|-------------|------------|
279| colors | Color palettes | primary, secondary, neutral, semantic, surface |
280| typography | Font system | fontFamily, fontSize, fontWeight, lineHeight |
281| spacing | 8pt grid | 0-64 scale, semantic (xs-3xl) |
282| sizing | Component sizes | container, button, input, icon |
283| borders | Border values | radius (per style), width |
284| shadows | Shadow styles | none through 2xl, inner |
285| animation | Motion tokens | duration, easing, keyframes |
286| breakpoints | Responsive | xs, sm, md, lg, xl, 2xl |
287| z-index | Layer system | base through notification |
288 
289---
290 
291## Quick Reference Tables
292 
293### Color Scale Generation
294 
295| Step | Brightness | Saturation | Use Case |
296|------|------------|------------|----------|
297| 50 | 95% fixed | 30% | Subtle backgrounds |
298| 100 | 95% fixed | 38% | Light backgrounds |
299| 200 | 95% fixed | 46% | Hover states |
300| 300 | 95% fixed | 54% | Borders |
301| 400 | 95% fixed | 62% | Disabled states |
302| 500 | Original | 70% | Base/default color |
303| 600 | Original × 0.8 | 78% | Hover (dark) |
304| 700 | Original × 0.6 | 86% | Active states |
305| 800 | Original × 0.4 | 94% | Text |
306| 900 | Original × 0.2 | 100% | Headings |
307 
308### Typography Scale (1.25x Ratio)
309 
310| Size | Value | Calculation |
311|------|-------|-------------|
312| xs | 10px | 16 ÷ 1.25² |
313| sm | 13px | 16 ÷ 1.25¹ |
314| base | 16px | Base |
315| lg | 20px | 16 × 1.25¹ |
316| xl | 25px | 16 × 1.25² |
317| 2xl | 31px | 16 × 1.25³ |
318| 3xl | 39px | 16 × 1.25⁴ |
319| 4xl | 49px | 16 × 1.25⁵ |
320| 5xl | 61px | 16 × 1.25⁶ |
321 
322### WCAG Contrast Requirements
323 
324| Level | Normal Text | Large Text |
325|-------|-------------|------------|
326| AA | 4.5:1 | 3:1 |
327| AAA | 7:1 | 4.5:1 |
328 
329Large text: ≥18pt regular or ≥14pt bold
330 
331### Style Presets
332 
333| Aspect | Modern | Classic | Playful |
334|--------|--------|---------|---------|
335| Font Sans | Inter | Helvetica | Poppins |
336| Font Mono | Fira Code | Courier | Source Code Pro |
337| Radius Default | 8px | 4px | 16px |
338| Shadows | Layered, subtle | Single layer | Soft, pronounced |
339 
340---
341 
342## Knowledge Base
343 
344Detailed reference guides in `references/`:
345 
346| File | Content |
347|------|---------|
348| `token-generation.md` | Color algorithms, HSV space, WCAG contrast, type scales |
349| `component-architecture.md` | Atomic design, naming conventions, props patterns |
350| `responsive-calculations.md` | Breakpoints, fluid typography, grid systems |
351| `developer-handoff.md` | Export formats, framework setup, Figma sync |
352 
353---
354 
355## Validation Checklist
356 
357### Token Generation
358- [ ] Brand color provided in hex format
359- [ ] Style matches project requirements
360- [ ] All token categories generated
361- [ ] Semantic colors include contrast values
362 
363### Component System
364- [ ] All sizes implemented (sm, md, lg)
365- [ ] All variants implemented (primary, secondary, ghost)
366- [ ] All states working (hover, active, focus, disabled)
367- [ ] Uses only design tokens (no hardcoded values)
368 
369### Accessibility
370- [ ] Color contrast meets WCAG AA
371- [ ] Focus indicators visible
372- [ ] Touch targets ≥ 44×44px
373- [ ] Semantic HTML elements used
374 
375### Developer Handoff
376- [ ] Tokens exported in required format
377- [ ] Framework integration documented
378- [ ] Design tool synced
379- [ ] Component documentation complete
380 

Discussion

Alternatives

Also in Interface designSee all 106 in Design →
Frontend designGuidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.Design & UI · Apache-2.0ImpeccableUse when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.Design & UI · Apache-2.0Apple designApple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.Design & UI · MITBuilding AnimationsBuild an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Writes the implementation. Use when asked to animate something, add motion, make a component feel alive, or build a transition. For critiquing existing motion use review-animations; for auditing a whole codebase use improve-animations.Design & UI · MIT