home / skills / aj-geddes / useful-ai-prompts / design-system-creation

design-system-creation skill

/skills/design-system-creation

This skill helps you create cohesive design systems with reusable components, guidelines, and governance to speed development and ensure consistency.

npx playbooks add skill aj-geddes/useful-ai-prompts --skill design-system-creation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
6.8 KB
---
name: design-system-creation
description: Build comprehensive design systems with components, patterns, and guidelines. Enable consistent design, faster development, and better collaboration across teams.
---

# Design System Creation

## Overview

A design system is a structured set of components, guidelines, and principles that ensure consistency, accelerate development, and improve product quality.

## When to Use

- Multiple product interfaces or teams
- Scaling design consistency
- Reducing redundant component development
- Improving design-to-dev handoff
- Creating shared language across teams
- Building reusable components
- Documenting design standards

## Instructions

### 1. **Design System Components**

```yaml
Design System Structure:

Foundation Layer:
  Typography:
    - Typefaces (Roboto, Inter)
    - Font sizes (scale: 12, 14, 16, 20, 28, 36, 48)
    - Font weights (Regular, Medium, Bold)
    - Line heights and letter spacing

Colors:
    - Primary brand color (#2196F3)
    - Secondary colors
    - Neutral palette (grays)
    - Semantic colors (success, error, warning)
    - Dark mode variants

Spacing:
    - Base unit: 4px
    - Scale: 4, 8, 12, 16, 24, 32, 48, 64px
    - Apply consistently across UI

Shadows & Elevation:
    - Elevation 0 (flat)
    - Elevation 1, 2, 4, 8, 16 (increasing depth)
    - Used for modals, cards, overlays

---

Component Layer:

Basic Components:
  - Button (primary, secondary, outline, disabled states)
  - Input fields (text, password, number, email)
  - Dropdown / Select
  - Checkbox & Radio buttons
  - Toggle switch
  - Textarea

Form Components:
  - Form group (label + input + error)
  - Error messages
  - Help text
  - Required indicators
  - Validation states

Navigation:
  - Breadcrumbs
  - Tabs
  - Navigation drawer
  - Pagination
  - Stepper

Feedback:
  - Toast notifications
  - Modal dialogs
  - Alerts
  - Loading indicators
  - Progress bars

Data Display:
  - Tables
  - Lists
  - Cards
  - Badges
  - Chips

---

Pattern Layer:

Layout Patterns:
  - Main layout (header + nav + content + footer)
  - Two-column (main + sidebar)
  - Form layouts
  - Grid layouts

Content Patterns:
  - Empty states
  - Loading states
  - Error states
  - Confirmation dialogs
  - Onboarding flows

Interaction Patterns:
  - Hover states
  - Focus states
  - Disabled states
  - Transitions/animations
  - Keyboard navigation
```

### 2. **Component Documentation**

```python
# Document each component thoroughly

class ComponentDocumentation:
    def create_component_doc(self, component):
        """Document complete component"""
        return {
            'name': component.name,
            'description': component.description,
            'usage': component.when_to_use,
            'anatomy': {
                'elements': component.sub_elements,
                'diagram': 'Show with labels'
            },
            'properties': {
                'size': ['Small', 'Medium', 'Large'],
                'variant': component.variants,
                'state': ['Default', 'Hover', 'Focus', 'Disabled'],
                'disabled': True/False,
                'required': True/False
            },
            'code_examples': [
                'React example',
                'CSS example',
                'HTML example'
            ],
            'accessibility': {
                'aria_roles': component.aria_roles,
                'keyboard_support': component.keyboard_behavior,
                'screen_reader': component.sr_text
            },
            'do_dont': {
                'do': ['Guideline 1', 'Guideline 2'],
                'dont': ['Guideline 1', 'Guideline 2']
            }
        }

    def create_live_component_library(self):
        """Build interactive component showcase"""
        return {
            'tool': 'Storybook / Zeroheight',
            'features': [
                'Live component preview',
                'Interactive controls',
                'Code examples',
                'Documentation',
                'Version history'
            ],
            'coverage': 'All components with all variants'
        }
```

### 3. **Design System Governance**

```yaml
Design System Governance:

Ownership:
  Owner: Design System Lead
  Committee: 1 Designer, 1 Developer, 1 Product Manager
  Review Frequency: Biweekly
  Approval Process: Committee sign-off required

Component Lifecycle:

Proposed:
  - Submitted by team
  - Reviewed for duplication
  - Assessed for scope

In Review:
  - Design review
  - Accessibility audit
  - Developer implementation review
  - 1-2 week review period

Approved:
  - Documented in system
  - Available in component library
  - Semver version bump
  - Teams notified

Deprecated:
  - Clear timeline for migration
  - Updated component provided
  - Support period: 2 major versions

Retired:
  - Removed from library
  - Historical documentation archived

---

Contribution Guidelines:

To Add Component:
  1. Check existing components
  2. Submit RFC (Request for Comments)
  3. Attend design review
  4. Implement per standards
  5. Get committee approval
  6. Document in library
  7. Release in new version

Standards:
  - Accessibility (WCAG 2.1 AA minimum)
  - Mobile-first responsive design
  - Dark mode support
  - Internationalization (i18n)
  - Performance (<100kb added to bundle)
```

### 4. **Design System Documentation**

```yaml
Documentation Structure:

Getting Started:
  - What is the design system?
  - How to use in your project
  - Installation instructions
  - Quick start guide

Foundations:
  - Color system
  - Typography scale
  - Spacing/grid system
  - Icons
  - Accessibility standards

Components:
  - [Detailed component docs]

Patterns:
  - Common layouts
  - Content patterns
  - Interaction patterns
  - Form patterns

Guidelines:
  - Voice & tone
  - Imagery & photography
  - Brand identity
  - Copy guidelines

Use Cases:
  - Real-world examples
  - Case studies
  - Do's and don'ts

Updates:
  - Release notes
  - Migration guides
  - Roadmap
  - Contribution process
```

## Best Practices

### ✅ DO
- Start with essential components
- Document every component thoroughly
- Include code examples
- Test components across browsers
- Include accessibility guidance
- Version the design system
- Have clear governance
- Communicate updates proactively
- Gather feedback from users
- Maintain incrementally

### ❌ DON'T
- Create too many components initially
- Skip documentation
- Ignore accessibility
- Make breaking changes without migration path
- Allow inconsistent implementations
- Ignore user feedback
- Let design system stagnate
- Create components without proven need
- Make components too prescriptive
- Ignore performance impact

## Design System Tips

- Start with colors, typography, spacing
- Build most-used components first
- Use Storybook or similar for documentation
- Version using semantic versioning
- Establish clear contribution process

Overview

This skill builds comprehensive design systems with components, patterns, and governance to ensure consistent UI, faster development, and improved cross-team collaboration. It produces a foundation of tokens (colors, typography, spacing), a complete component library, and pattern documentation for real product use. The outcome is repeatable, accessible UI primitives and clear contribution and release processes.

How this skill works

The skill structures the design system into Foundation, Component, and Pattern layers, then documents each element with anatomy, properties, code examples, and accessibility details. It generates governance rules: ownership, review stages, lifecycle (proposed → approved → deprecated → retired), and contribution workflows. Finally, it creates a user-facing documentation site and an interactive component library (e.g., Storybook) for live previews and code snippets.

When to use it

  • Multiple product interfaces or teams needing consistency
  • Scaling design and engineering across features or platforms
  • Improving design-to-development handoff and reducing rework
  • Documenting standards for accessibility, responsive design, and themes
  • Creating a shared UI language and reusable components across teams

Best practices

  • Start with foundation tokens: colors, typography, spacing, and elevation
  • Document every component: usage, anatomy, states, code examples, and accessibility
  • Build a live component library (Storybook) with interactive controls and version history
  • Establish governance: owner, committee, review cadence, and approval criteria
  • Version the system semantically and provide clear migration/deprecation plans
  • Prioritize accessibility (WCAG 2.1 AA), mobile-first layouts, and performance budgets

Example use cases

  • Kickstarting a new product suite with consistent UI tokens and core components
  • Consolidating duplicate components across teams into a single maintained library
  • Speeding up feature delivery by reusing documented components and patterns
  • Onboarding new designers and engineers via a documented component catalog and examples
  • Rolling out dark mode, internationalization, and accessibility improvements across products

FAQ

What should I build first in a design system?

Begin with foundation tokens: color palette, typography scale, spacing grid, and basic elevation/shadow tokens, then create the most-used components (buttons, inputs, cards).

How do we govern changes and avoid breaking consumers?

Use a committee for approvals, semver for releases, a review period for proposals, and deprecation timelines with migration guidance to minimize breaking changes.