Skip to content
Skillpedia
Interfaces (UI/UX)41k · #4969

design-system-patterns

Helps your agent build consistent and scalable design systems. It organizes visual components and styles, making maintenance and application across projects easier.

What it does

This tool helps build a design system for websites and apps. It organizes colors, fonts, and spacing, ensuring everything looks consistent and is easy to update.

When to use it

  • ✓When starting a new website or app and wanting a consistent look.
  • ✓When needing to change the appearance (colors, light/dark themes) of an existing project.
  • ✓When building a library of reusable components.

Example of what to ask your AI

“How can I set up the color tokens for a dark theme?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/wshobson/agents/blob/main/plugins/ui-design/skills/design-system-patterns/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/wshobson/agents/blob/main/plugins/ui-design/skills/design-system-patterns/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses 'tokens' which are like variables for colors, sizes, and fonts. It organizes these tokens into levels (primitive, semantic, component) and helps create systems that can switch themes (like light and dark) and work across different platforms.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add wshobson/agents --skill design-system-patterns

Or download just the file:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/ui-design/skills/design-system-patterns/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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

  1. Name Tokens by Purpose: Use semantic names (text-primary) not visual descriptions (dark-gray)
  2. Maintain Token Hierarchy: Primitives > Semantic > Component tokens
  3. Document Token Usage: Include usage guidelines with token definitions
  4. Version Tokens: Treat token changes as API changes with semver
  5. Test Theme Combinations: Verify all themes work with all components
  6. Automate Token Pipeline: CI/CD for Figma-to-code synchronization
  7. 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)
FAQ

What are 'design tokens'?

They are basic values (like a color code or font size) that are given meaningful names (like 'primary-text-color' or 'small-font-size') to be used throughout a project, ensuring consistency.

How does theme switching (light/dark) work?

The tool uses CSS custom properties and React configurations to define different sets of tokens for each theme. When the theme changes, the correct tokens are applied automatically.

What are 'components' in this context?

Components are the visual building blocks of a website or app (like buttons, cards, inputs). The tool helps define how these components should look and behave consistently, using the design tokens.

Details

Original description by the author

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.

repo: wshobson/agents

Popularity

GitHub stars
41k
Ranking position
#4969
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills