# Design Systems

> Comprehensive methodology for creating and maintaining scalable, consistent design through reusable components, patterns, and documentation

- Skill: `lev-os/design-systems` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lev-os/design-systems`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lev-os/design-systems/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: lev-os (https://skillmd.com/u/lev-os)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/lev-os/design-systems

---


# Design Systems

## Overview

A design system is a complete set of standards, components, patterns, and documentation intended to manage design at scale across products and teams. Unlike a component library (just the UI building blocks) or style guide (just the visual rules), a design system is the full ecosystem: design tokens (atomic design variables like colors, spacing, typography), component libraries (reusable UI elements), pattern libraries (common interaction solutions), brand guidelines (visual identity), documentation (usage guidelines and best practices), and governance (processes for contribution and evolution). Pioneered by companies like IBM (Carbon), Google (Material), Salesforce (Lightning), and Shopify (Polaris), design systems enable consistency across hundreds of designers and thousands of screens while maintaining design quality and accelerating development velocity. The most influential methodology is Brad Frost's Atomic Design, which organizes components hierarchically as atoms, molecules, organisms, templates, and pages.

## When to Use

- Building products with multiple platforms, teams, or codebases that need visual/interaction consistency
- Scaling design and engineering teams beyond 5-10 people where ad-hoc coordination breaks down
- Reducing duplicated effort across teams (every team building their own button component)
- Onboarding new designers/developers who need to understand existing patterns quickly
- Ensuring accessibility, performance, and quality standards are baked into all UI
- Maintaining brand consistency as product portfolio grows (web app, mobile apps, marketing site)
- Transitioning from startup/scrappy mode to enterprise/mature product development

## The Process

### Step 1: Audit Existing Patterns and Establish Baseline

Before building anything, inventory your current UI: screenshot every unique screen, identify all unique components (buttons, inputs, cards, modals), count variations (17 different button styles), and document inconsistencies. This audit exposes duplication and reveals which patterns are most common. **Example:** E-commerce company audits checkout flow, product pages, and account settings. Discovers 23 unique button styles, 8 different heading scales, and 14 shades of blue. Audit reveals "primary button" has 6 variations—ideal candidates for standardization.

### Step 2: Define Design Tokens (Atomic Variables)

Establish the atomic foundation: color palette (primary, secondary, grays, semantic colors like success/error/warning, each with 5-10 shades), typography scale (font families, sizes, weights, line heights), spacing scale (4px/8px base, then 4/8/12/16/24/32/48/64/96/128px), border radius values, shadow levels, and animation timing/easing. These tokens are platform-agnostic values that feed all design tools and code. **Example:** Tokens defined in JSON: `{ "color-primary-500": "#3B82F6", "spacing-md": "16px", "font-size-lg": "18px", "shadow-elevation-2": "0 4px 6px rgba(0,0,0,0.1)" }`. These tokens are consumed by Figma libraries, CSS variables, iOS/Android SDKs.

### Step 3: Build Component Library Using Atomic Design

Apply Brad Frost's Atomic Design methodology to organize components: **Atoms** (button, input, label, icon), **Molecules** (input with label, search bar with icon), **Organisms** (navigation bar, form section, card), **Templates** (page layouts with placeholder content), **Pages** (specific instances with real content). Start with atoms, compose into molecules, then organisms. **Example:** Atoms: Button, TextField, Icon. Molecules: SearchBar (TextField + Icon + Button). Organisms: NavigationBar (Logo + SearchBar + UserMenu). Template: DashboardLayout (NavigationBar + Sidebar + ContentArea). Page: Analytics Dashboard (specific charts, data).

### Step 4: Document Usage Guidelines and Do's/Don'ts

For each component, document: when to use (and when NOT to use), variants (primary/secondary/tertiary buttons), anatomy (labeled diagram showing parts), behavior (hover, focus, disabled, loading states), accessibility (ARIA roles, keyboard navigation), code examples (React/Vue/Angular), and design specs (spacing, sizing, responsive behavior). Include visual do's and don'ts. **Example:** Button documentation: "Use primary button for single most important action per screen. DON'T use multiple primary buttons—creates unclear hierarchy. DO use secondary buttons for less critical actions. Minimum touch target 44x44px (WCAG AA). React: `<Button variant='primary' size='lg'>Submit</Button>`."

### Step 5: Establish Contribution and Governance Model

Define how the design system evolves: who can propose new components (everyone vs. core team), review process (design + eng + accessibility review), version control (semantic versioning for breaking changes), release cadence (weekly patches, monthly minors, quarterly majors), and deprecation policy (grace period before removal). Without governance, design systems become dumping grounds. **Example:** Proposal process: Designer opens RFC (request for comment) with use case, mockups, and research. Core team reviews for duplication/generalizability. If approved, designer builds Figma component, engineer builds code component, accessibility specialist audits, all reviewed before merge to main.

### Step 6: Implement in Code Across Platforms

Build the component library in your tech stack(s): React/Vue/Angular for web, SwiftUI/UIKit for iOS, Jetpack Compose/Views for Android. Use design tokens to generate platform-specific code (JSON tokens → CSS variables, Sass variables, Swift constants, Kotlin constants). Publish as versioned packages (npm, CocoaPods, Maven) that product teams consume. **Example:** Web: React component library published to npm as `@company/design-system`. iOS: Swift package with UIKit components. Design tokens in JSON, converted to CSS variables via Style Dictionary tool. Teams install via `npm install @company/design-system` and import `<Button>` components.

### Step 7: Build Tooling and Documentation Site

Create a central documentation hub (Storybook, Zeroheight, custom site) where designers and engineers can browse components, see live examples, copy code snippets, and read usage guidelines. Include search, versioning, and changelog. This is the "single source of truth." **Example:** Storybook site hosted at design-system.company.com with all components, interactive prop controls, accessibility audit results, code snippets in React/Vue/Angular, and Figma embeds. Designers and engineers reference this daily.

### Step 8: Measure Adoption and Iterate

Track metrics: component adoption rate (% of product UI using design system components vs. custom), consistency score (how many unique button styles remain), design/eng velocity (time to ship new screens), accessibility compliance (% WCAG AA pass rate), and contribution activity (how many teams contributing vs. just core team). Use metrics to guide iteration. **Example:** Dashboard shows 72% of web app uses design system buttons (up from 40% six months ago), 8 unique button styles remain (down from 23), average feature development time decreased 30%, and 6 teams contributed components this quarter (healthy ecosystem).

## Key Principles

**Systems, Not Specifications**: A design system is not a static spec—it's a living product serving designers and engineers. Treat it like a product: user research, roadmaps, metrics, iteration.

**Consistency Enables Scale**: Without a design system, each team reinvents buttons, forms, modals—wasting time and creating Frankenstein UIs. Design systems centralize this effort once, freeing teams to focus on unique product problems.

**Start Small, Grow Organically**: Don't build 200 components upfront. Start with 10-20 most common (Button, TextField, Card, Modal) and grow as teams encounter new needs. Over-engineering early creates waste.

**Documentation is Half the Work**: A component without documentation won't be adopted. Invest equally in code and docs—explain when/why/how to use, show examples, highlight edge cases.

**Contribution > Gatekeeping**: Design systems owned by one team become bottlenecks. Enable contributions from product teams, provide templates/guidelines, but empower distributed ownership.

## Common Pitfalls

**Building Components Nobody Asked For**: Creating 100 components based on hypothetical needs rather than actual product requirements. Result: Unused components, wasted effort, bloated library that's hard to maintain. Start with product needs, not speculation.

**No Governance or Contribution Model**: Design system owned by one team becomes bottleneck; product teams fork and create "shadow" components. Result: Fragmentation, inconsistency returns, design system becomes irrelevant. Establish clear contribution paths.

**Documentation as Afterthought**: Building components but not documenting when to use them, variants, or accessibility requirements. Result: Designers/engineers misuse components, create custom variants, or avoid design system entirely. Document from day one.

**Solving for Every Edge Case**: Trying to make every component infinitely flexible to handle all possible use cases. Result: Over-engineered APIs, complexity, difficult to learn and use. Design for 80% use case, allow escape hatches for edge cases.

**Treating Design System as "Done"**: Building v1.0, declaring victory, then neglecting maintenance and evolution. Result: Design system falls behind product needs, becomes outdated, teams abandon it. Design systems require ongoing investment (10-20% of design/eng capacity).

## Real-World Examples

**Material Design (Google)**: Comprehensive design system with design tokens, component libraries for web/Android/iOS/Flutter, extensive documentation, Figma kits, and public accessibility. Used across Google products (Gmail, Drive, Maps) and thousands of third-party apps. Includes Material Theme Builder for customization.

**Carbon (IBM)**: Enterprise-focused design system with React/Angular/Vue/Svelte components, design tokens, accessibility-first approach (WCAG AA by default), and production-ready patterns for data visualization, forms, and complex workflows. Used across IBM's 50+ product lines.

**Polaris (Shopify)**: Opinionated design system for merchant-facing products with strong voice/tone guidelines, merchant-centric patterns (admin tables, resource pickers), React components, Figma library, and extensive UX research documentation. Powers Shopify admin and 1M+ third-party apps.

**Lightning (Salesforce)**: Design system for enterprise SaaS with 100+ components, design tokens, accessibility built-in (Salesforce is WCAG AA compliant), platform-specific implementations (LWC, Aura, React), and industry-specific patterns (CRM, sales workflows).

**Ant Design (Alibaba)**: Open-source design system for enterprise web applications with React/Vue/Angular components, TypeScript support, internationalization (50+ languages), extensive component library (100+ components), and "designer-developer collaboration" tooling.

## Success Metrics

- **Component Adoption**: % of product UI using design system components (target: 80%+) vs. custom/one-off implementations
- **Consistency Score**: Reduction in unique variations (e.g., 23 button styles → 3 canonical variants)
- **Development Velocity**: 30-50% reduction in time to ship new features/screens after design system adoption
- **Designer/Engineer Satisfaction**: NPS or survey scores measuring ease of use, quality of docs, and system completeness
- **Accessibility Compliance**: % of product passing WCAG AA audits (design systems bake accessibility in, raising baseline)
- **Contribution Activity**: Number of teams actively contributing components/patterns (healthy: 20%+ of product teams)
- **Time to Onboard**: New designers/engineers productive in 1-2 weeks vs. 1-2 months without design system

## Additional Resources

- **Brad Frost - Atomic Design**: atomicdesign.bradfrost.com - Foundational methodology book (free online)
- **Design Systems Handbook (InVision)**: Comprehensive guide covering strategy, design, development, and management
- **Design Systems Repo**: designsystemsrepo.com - Curated collection of 100+ design systems from companies worldwide
- **Figma Config / Adobe MAX**: Annual conferences with design system talks, case studies, and tooling demos
- **Tools**: Storybook (component documentation), Figma (design library), Style Dictionary (token transformation), Chromatic (visual regression testing)
- **Books**: "Design Systems" by Alla Kholmatova, "Expressive Design Systems" by Yesenia Perez-Cruz

