Design System Patterns
Master design system architecture to create consistent, maintainable, and scalable UI foundations across web and mobile applications.
When to Use This Skill
- Creating design tokens for colors, typography, spacing, and shadows
- Implementing light/dark theme switching with CSS custom properties
- Building multi-brand theming systems
- Architecting component libraries with consistent APIs
- Establishing design-to-code workflows with Figma tokens
- Creating semantic token hierarchies (primitive, semantic, component)
- Setting up design system documentation and guidelines
Core Capabilities
1. Design Tokens
- Primitive tokens (raw values: colors, sizes, fonts)
- Semantic tokens (contextual meaning: text-primary, surface-elevated)
- Component tokens (specific usage: button-bg, card-border)
- Token naming conventions and organization
- Multi-platform token generation (CSS, iOS, Android)
2. Theming Infrastructure
- CSS custom properties architecture
- Theme context providers in React
- Dynamic theme switching
- System preference detection (prefers-color-scheme)
- Persistent theme storage
- Reduced motion and high contrast modes
3. Component Architecture
- Compound component patterns
- Polymorphic components (as prop)
- Variant and size systems
- Slot-based composition
- Headless UI patterns
- Style props and responsive variants
4. Token Pipeline
- Figma to code synchronization
- Style Dictionary configuration
- Token transformation and formatting
- CI/CD integration for token updates
Quick Start
// Design tokens with CSS custom properties
const tokens = {
colors: {
// Primitive tokens
gray: {
50: "#fafafa",
100: "#f5f5f5",
900: "#171717",
},
blue: {
500: "#3b82f6",
600: "#2563eb",
},
},
// Semantic tokens (reference primitives)
semantic: {
light: {
"text-primary": "var(--color-gray-900)",
"text-secondary": "var(--color-gray-600)",
"surface-default": "var(--color-white)",
"surface-elevated": "var(--color-gray-50)",
"border-default": "var(--color-gray-200)",
"interactive-primary": "var(--color-blue-500)",
},
dark: {
"text-primary": "var(--color-gray-50)",
"text-secondary": "var(--color-gray-400)",
"surface-default": "var(--color-gray-900)",
"surface-elevated": "var(--color-gray-800)",
"border-default": "var(--color-gray-700)",
"interactive-primary": "var(--color-blue-400)",
},
},
};
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
- Name Tokens by Purpose: Use semantic names (text-primary) not visual descriptions (dark-gray)
- Maintain Token Hierarchy: Primitives > Semantic > Component tokens
- Document Token Usage: Include usage guidelines with token definitions
- Version Tokens: Treat token changes as API changes with semver
- Test Theme Combinations: Verify all themes work with all components
- Automate Token Pipeline: CI/CD for Figma-to-code synchronization
- Provide Migration Paths: Deprecate tokens gradually with clear alternatives
Common Issues
- Token Sprawl: Too many tokens without clear hierarchy
- Inconsistent Naming: Mixed conventions (camelCase vs kebab-case)
- Missing Dark Mode: Tokens that don't adapt to theme changes
- Hardcoded Values: Using raw values instead of tokens
- Circular References: Tokens referencing each other in loops
- Platform Gaps: Tokens missing for some platforms (web but not mobile)
1---2name: sample-agents-design-system-patterns3description: Build scalable design systems with design tokens, theming infrastructure, and component architecture patterns. Use when creating design tokens, implementing theme switching, building component libraries, or establishing design system foundations.4---56# Design System Patterns78Master design system architecture to create consistent, maintainable, and scalable UI foundations across web and mobile applications.910## When to Use This Skill1112- Creating design tokens for colors, typography, spacing, and shadows13- Implementing light/dark theme switching with CSS custom properties14- Building multi-brand theming systems15- Architecting component libraries with consistent APIs16- Establishing design-to-code workflows with Figma tokens17- Creating semantic token hierarchies (primitive, semantic, component)18- Setting up design system documentation and guidelines1920## Core Capabilities2122### 1. Design Tokens2324- Primitive tokens (raw values: colors, sizes, fonts)25- Semantic tokens (contextual meaning: text-primary, surface-elevated)26- Component tokens (specific usage: button-bg, card-border)27- Token naming conventions and organization28- Multi-platform token generation (CSS, iOS, Android)2930### 2. Theming Infrastructure3132- CSS custom properties architecture33- Theme context providers in React34- Dynamic theme switching35- System preference detection (prefers-color-scheme)36- Persistent theme storage37- Reduced motion and high contrast modes3839### 3. Component Architecture4041- Compound component patterns42- Polymorphic components (as prop)43- Variant and size systems44- Slot-based composition45- Headless UI patterns46- Style props and responsive variants4748### 4. Token Pipeline4950- Figma to code synchronization51- Style Dictionary configuration52- Token transformation and formatting53- CI/CD integration for token updates5455## Quick Start5657```typescript58// Design tokens with CSS custom properties59const tokens = {60 colors: {61 // Primitive tokens62 gray: {63 50: "#fafafa",64 100: "#f5f5f5",65 900: "#171717",66 },67 blue: {68 500: "#3b82f6",69 600: "#2563eb",70 },71 },72 // Semantic tokens (reference primitives)73 semantic: {74 light: {75 "text-primary": "var(--color-gray-900)",76 "text-secondary": "var(--color-gray-600)",77 "surface-default": "var(--color-white)",78 "surface-elevated": "var(--color-gray-50)",79 "border-default": "var(--color-gray-200)",80 "interactive-primary": "var(--color-blue-500)",81 },82 dark: {83 "text-primary": "var(--color-gray-50)",84 "text-secondary": "var(--color-gray-400)",85 "surface-default": "var(--color-gray-900)",86 "surface-elevated": "var(--color-gray-800)",87 "border-default": "var(--color-gray-700)",88 "interactive-primary": "var(--color-blue-400)",89 },90 },91};92```9394## Detailed patterns and worked examples9596Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.9798## Best Practices991001. **Name Tokens by Purpose**: Use semantic names (text-primary) not visual descriptions (dark-gray)1012. **Maintain Token Hierarchy**: Primitives > Semantic > Component tokens1023. **Document Token Usage**: Include usage guidelines with token definitions1034. **Version Tokens**: Treat token changes as API changes with semver1045. **Test Theme Combinations**: Verify all themes work with all components1056. **Automate Token Pipeline**: CI/CD for Figma-to-code synchronization1067. **Provide Migration Paths**: Deprecate tokens gradually with clear alternatives107108## Common Issues109110- **Token Sprawl**: Too many tokens without clear hierarchy111- **Inconsistent Naming**: Mixed conventions (camelCase vs kebab-case)112- **Missing Dark Mode**: Tokens that don't adapt to theme changes113- **Hardcoded Values**: Using raw values instead of tokens114- **Circular References**: Tokens referencing each other in loops115- **Platform Gaps**: Tokens missing for some platforms (web but not mobile)