Design System Skill
Mode Detection
Determine the mode from context or ask:
"Do you have an existing design system, or are we building one from scratch?"
- No DS exists → Stage 1: Build Mode
- DS exists → Stage 2: Evolve Mode
Stage 1 — Build Mode
Use when there is no design system yet. The goal is to establish a foundation that is complete enough to use immediately, without over-engineering before you have real usage patterns.
What to collect before starting
Ask for any of these not already provided:
- Brand guide or visual style guide (if one exists — fetch from GitHub if linked)
- Existing product files in Figma (to extract what's already in use)
- Product type: web app / marketing site / mobile / multi-platform
- Team size and contribution model: solo, small team, or open contribution
- Any component framework already in use (React, Vue, etc.)
If a visual style guide skill is available, run it first to lock in brand colours, typography, and spacing before building tokens.
Step 1.1 — Token Architecture
Define the token layers before creating components. Tokens are the foundation everything else inherits from.
Three layers:
Primitive tokens → Raw values. Never used directly in components.
color/blue/500: #3B82F6
spacing/4: 16px
Semantic tokens → Intent-mapped aliases of primitives.
color/action/primary: → color/blue/500
spacing/component/gap: → spacing/4
Component tokens → Component-specific overrides (use sparingly).
button/padding/horizontal: → spacing/component/gap
Required token categories for a complete foundation:
| Category |
Required |
What to define |
| Color |
Yes |
Brand, semantic (action, success, warning, error, neutral), surface, text, border |
| Typography |
Yes |
Font families, size scale, line height, weight, letter spacing |
| Spacing |
Yes |
Base unit (8px default), scale steps (2, 4, 8, 12, 16, 24, 32, 48, 64) |
| Border radius |
Yes |
None, sm, md, lg, full |
| Elevation / shadow |
Yes |
0–4 levels |
| Motion |
Yes |
Duration (instant, fast, normal, slow), easing curves |
| Z-index |
Yes |
Named layers: base, overlay, modal, toast |
| Breakpoints |
If web |
sm, md, lg, xl, 2xl |
Output format: Document each token as a table with path, value, and usage note.
Step 1.2 — Component Prioritisation
Do not build every component. Build what the product needs now.
Tier 1 — Always build first (universal primitives):
- Button (primary, secondary, ghost, destructive + sizes + states)
- Input (text, with label, error state, disabled)
- Typography (heading scale H1–H4, body, caption, label)
- Icon system (sizing, naming convention, accessible usage)
- Color swatches (semantic palette documentation)
Tier 2 — Build once the product shape is clear:
- Form elements: checkbox, radio, select, textarea, toggle
- Feedback: toast/snackbar, alert/banner, badge, tooltip
- Navigation: tabs, breadcrumb, pagination, sidebar
- Overlay: modal, drawer, popover
- Data: table, card, list item
Tier 3 — Build on demand:
- Complex patterns: data tables with sorting, multi-step forms, date pickers
- Charts and data visualisation
- Onboarding flows
For each Tier 1 component, define:
- All interactive states: default, hover, active, focus, disabled, loading
- All size variants
- All semantic variants (e.g. button: primary / secondary / ghost / destructive)
- Accessibility requirements (ARIA role, keyboard behaviour, focus style)
Step 1.3 — Figma File Structure
Create a Figma file using mcp__claude_ai_Figma__create_new_file named Design System.
Recommended page structure:
_Cover — Title, version, last updated date
_Changelog — Running log of changes
Foundations — Tokens: color, typography, spacing, etc.
Components — All components with all variants
Patterns — Composed patterns (forms, empty states, etc.)
Icons — Icon library
[Do not use] — Deprecated components, kept for reference
Within each component frame, use Figma's component properties (variants, boolean props, text props) so consumers can configure without detaching.
Step 1.4 — Documentation Requirements
Each component must be documented with:
- Usage — What it's for. When to use it vs. alternatives.
- Variants — Every variant shown visually with labels.
- States — Default, hover, active, focus, disabled, loading, error.
- Anatomy — Labelled diagram of the component parts.
- Specs — Token references for all visual properties.
- Accessibility — Keyboard interaction, ARIA, focus behaviour.
- Do / Don't — At least one clear misuse example.
Tokens must be documented with:
- Token path
- Value (or alias target)
- Usage note
- Do not use directly / use semantic alias note where applicable
Step 1.5 — Contribution Governance
Define how designers (and engineers) can propose additions before the system is shipped.
Minimum governance for a small team:
PROPOSE → File a component proposal (use component-proposal skill if available)
REVIEW → Head of Design reviews: does it belong in the DS or stay local?
BUILD → Approved proposals built to DS standards
PUBLISH → Published to library with changelog entry
DEPRECATE → Old versions kept in [Do not use] page for one release cycle
Criteria for something going into the DS:
- Used in 3 or more product contexts, OR
- Likely to be needed in 3 or more contexts, AND
- Can be made generic without losing its usefulness
If it only works in one context — keep it local.
Step 1.6 — Build Mode Output
After completing Steps 1.1–1.5, produce:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DESIGN SYSTEM FOUNDATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status: Foundation draft complete
Figma file: [URL]
Created: [Date]
TOKEN SUMMARY
━━━━━━━━━━━━━
[Table: Category | Token count | Notes]
COMPONENT ROADMAP
━━━━━━━━━━━━━━━━━
Tier 1 (build now): [list]
Tier 2 (next): [list]
Tier 3 (backlog): [list]
WHAT'S MISSING
━━━━━━━━━━━━━━
[Honest list of what was skipped and why, with recommendation to revisit]
NEXT STEPS
━━━━━━━━━━
1. [First action — usually: publish Figma library and connect to product files]
2. ...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Stage 2 — Evolve Mode
Use when a design system already exists. Evolve Mode audits what's there, surfaces gaps and drift, and produces a prioritised action plan.
Read references/audit-format.md before producing any audit output.
Step 2.1 — Access Check
Before auditing, confirm access:
- Use
mcp__claude_ai_Figma__get_metadata to verify the DS Figma file is accessible
- Use
mcp__claude_ai_Figma__get_libraries to list connected libraries
- Use
mcp__claude_ai_Figma__get_variable_defs to extract defined tokens
- Ask: "Do you have product file URLs to include in the drift check?"
If product files are not provided, proceed with DS-only scope and flag the limitation per the audit format.
Step 2.2 — Run the Audit
Using mcp__claude_ai_Figma__get_design_context on the DS file and any product files provided, produce a full audit per references/audit-format.md:
- Section 1: Coverage Summary
- Section 2: Drift Report
- Section 3: Orphan Report
- Section 4: Gap Report
- Prioritised action list
Step 2.3 — Expansion Planning
After the audit, if the Head of Design asks "what should we add next" or "what's missing":
- Pull the gap report from the audit
- Cross-reference against Tier 2 and Tier 3 component lists from Build Mode
- Score each gap: frequency of manual workarounds × effort to build properly
- Recommend the top 3 additions with rationale
Step 2.4 — Version and Changelog
When changes are made to the DS:
- Every published change gets a changelog entry: what changed, why, migration note if breaking
- Breaking changes are flagged at the top of the changelog page in Figma
- Deprecated components stay in
[Do not use] for one release cycle before removal
Edge Cases
- No Figma access: Proceed with documentation and token architecture in text form. Note that Figma file creation will need to be done manually.
- No brand guide: Ask for primary colour, preferred font, and product type. Build a minimal token set from answers. Flag that a brand guide should be created (use visual-style-guide skill).
- Existing Figma library with no tokens: Audit the library for hardcoded values and produce a token extraction plan before building the DS.
- Engineer asks about code tokens: Note that design tokens should be exported as JSON and consumed via Style Dictionary or equivalent. This skill covers the design side — recommend coordinating with engineering on the export pipeline.
1---2name: design-system3description: Design system skill for Head of Design. Two modes — Build (no DS exists yet) and Evolve (DS exists, needs audit or expansion). Covers token architecture, component library structure, documentation, Figma setup, and contribution governance. Run Build Mode to create a design system from scratch; run Evolve Mode to audit coverage, catch drift, and plan what's next.4---56# Design System Skill78## Mode Detection910Determine the mode from context or ask:1112> "Do you have an existing design system, or are we building one from scratch?"1314- **No DS exists** → Stage 1: Build Mode15- **DS exists** → Stage 2: Evolve Mode1617---1819## Stage 1 — Build Mode2021Use when there is no design system yet. The goal is to establish a foundation that is complete enough to use immediately, without over-engineering before you have real usage patterns.2223### What to collect before starting2425Ask for any of these not already provided:2627- Brand guide or visual style guide (if one exists — fetch from GitHub if linked)28- Existing product files in Figma (to extract what's already in use)29- Product type: web app / marketing site / mobile / multi-platform30- Team size and contribution model: solo, small team, or open contribution31- Any component framework already in use (React, Vue, etc.)3233If a visual style guide skill is available, run it first to lock in brand colours, typography, and spacing before building tokens.3435---3637### Step 1.1 — Token Architecture3839Define the token layers before creating components. Tokens are the foundation everything else inherits from.4041**Three layers:**4243```44Primitive tokens → Raw values. Never used directly in components.45 color/blue/500: #3B82F646 spacing/4: 16px4748Semantic tokens → Intent-mapped aliases of primitives.49 color/action/primary: → color/blue/50050 spacing/component/gap: → spacing/45152Component tokens → Component-specific overrides (use sparingly).53 button/padding/horizontal: → spacing/component/gap54```5556**Required token categories for a complete foundation:**5758| Category | Required | What to define |59|---|---|---|60| Color | Yes | Brand, semantic (action, success, warning, error, neutral), surface, text, border |61| Typography | Yes | Font families, size scale, line height, weight, letter spacing |62| Spacing | Yes | Base unit (8px default), scale steps (2, 4, 8, 12, 16, 24, 32, 48, 64) |63| Border radius | Yes | None, sm, md, lg, full |64| Elevation / shadow | Yes | 0–4 levels |65| Motion | Yes | Duration (instant, fast, normal, slow), easing curves |66| Z-index | Yes | Named layers: base, overlay, modal, toast |67| Breakpoints | If web | sm, md, lg, xl, 2xl |6869**Output format:** Document each token as a table with path, value, and usage note.7071---7273### Step 1.2 — Component Prioritisation7475Do not build every component. Build what the product needs now.7677**Tier 1 — Always build first (universal primitives):**78- Button (primary, secondary, ghost, destructive + sizes + states)79- Input (text, with label, error state, disabled)80- Typography (heading scale H1–H4, body, caption, label)81- Icon system (sizing, naming convention, accessible usage)82- Color swatches (semantic palette documentation)8384**Tier 2 — Build once the product shape is clear:**85- Form elements: checkbox, radio, select, textarea, toggle86- Feedback: toast/snackbar, alert/banner, badge, tooltip87- Navigation: tabs, breadcrumb, pagination, sidebar88- Overlay: modal, drawer, popover89- Data: table, card, list item9091**Tier 3 — Build on demand:**92- Complex patterns: data tables with sorting, multi-step forms, date pickers93- Charts and data visualisation94- Onboarding flows9596For each Tier 1 component, define:97- All interactive states: default, hover, active, focus, disabled, loading98- All size variants99- All semantic variants (e.g. button: primary / secondary / ghost / destructive)100- Accessibility requirements (ARIA role, keyboard behaviour, focus style)101102---103104### Step 1.3 — Figma File Structure105106Create a Figma file using `mcp__claude_ai_Figma__create_new_file` named **Design System**.107108Recommended page structure:109110```111_Cover — Title, version, last updated date112_Changelog — Running log of changes113Foundations — Tokens: color, typography, spacing, etc.114Components — All components with all variants115Patterns — Composed patterns (forms, empty states, etc.)116Icons — Icon library117[Do not use] — Deprecated components, kept for reference118```119120Within each component frame, use Figma's component properties (variants, boolean props, text props) so consumers can configure without detaching.121122---123124### Step 1.4 — Documentation Requirements125126Each component must be documented with:1271281. **Usage** — What it's for. When to use it vs. alternatives.1292. **Variants** — Every variant shown visually with labels.1303. **States** — Default, hover, active, focus, disabled, loading, error.1314. **Anatomy** — Labelled diagram of the component parts.1325. **Specs** — Token references for all visual properties.1336. **Accessibility** — Keyboard interaction, ARIA, focus behaviour.1347. **Do / Don't** — At least one clear misuse example.135136Tokens must be documented with:137- Token path138- Value (or alias target)139- Usage note140- Do not use directly / use semantic alias note where applicable141142---143144### Step 1.5 — Contribution Governance145146Define how designers (and engineers) can propose additions before the system is shipped.147148**Minimum governance for a small team:**149150```151PROPOSE → File a component proposal (use component-proposal skill if available)152REVIEW → Head of Design reviews: does it belong in the DS or stay local?153BUILD → Approved proposals built to DS standards154PUBLISH → Published to library with changelog entry155DEPRECATE → Old versions kept in [Do not use] page for one release cycle156```157158**Criteria for something going into the DS:**159160- Used in 3 or more product contexts, OR161- Likely to be needed in 3 or more contexts, AND162- Can be made generic without losing its usefulness163164If it only works in one context — keep it local.165166---167168### Step 1.6 — Build Mode Output169170After completing Steps 1.1–1.5, produce:171172```173━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━174DESIGN SYSTEM FOUNDATION175━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━176177Status: Foundation draft complete178Figma file: [URL]179Created: [Date]180181TOKEN SUMMARY182━━━━━━━━━━━━━183[Table: Category | Token count | Notes]184185COMPONENT ROADMAP186━━━━━━━━━━━━━━━━━187Tier 1 (build now): [list]188Tier 2 (next): [list]189Tier 3 (backlog): [list]190191WHAT'S MISSING192━━━━━━━━━━━━━━193[Honest list of what was skipped and why, with recommendation to revisit]194195NEXT STEPS196━━━━━━━━━━1971. [First action — usually: publish Figma library and connect to product files]1982. ...199━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━200```201202---203204## Stage 2 — Evolve Mode205206Use when a design system already exists. Evolve Mode audits what's there, surfaces gaps and drift, and produces a prioritised action plan.207208Read [references/audit-format.md](references/audit-format.md) before producing any audit output.209210---211212### Step 2.1 — Access Check213214Before auditing, confirm access:2152161. Use `mcp__claude_ai_Figma__get_metadata` to verify the DS Figma file is accessible2172. Use `mcp__claude_ai_Figma__get_libraries` to list connected libraries2183. Use `mcp__claude_ai_Figma__get_variable_defs` to extract defined tokens2194. Ask: "Do you have product file URLs to include in the drift check?"220221If product files are not provided, proceed with DS-only scope and flag the limitation per the audit format.222223---224225### Step 2.2 — Run the Audit226227Using `mcp__claude_ai_Figma__get_design_context` on the DS file and any product files provided, produce a full audit per [references/audit-format.md](references/audit-format.md):228229- Section 1: Coverage Summary230- Section 2: Drift Report231- Section 3: Orphan Report232- Section 4: Gap Report233- Prioritised action list234235---236237### Step 2.3 — Expansion Planning238239After the audit, if the Head of Design asks "what should we add next" or "what's missing":2402411. Pull the gap report from the audit2422. Cross-reference against Tier 2 and Tier 3 component lists from Build Mode2433. Score each gap: frequency of manual workarounds × effort to build properly2444. Recommend the top 3 additions with rationale245246---247248### Step 2.4 — Version and Changelog249250When changes are made to the DS:251252- Every published change gets a changelog entry: what changed, why, migration note if breaking253- Breaking changes are flagged at the top of the changelog page in Figma254- Deprecated components stay in `[Do not use]` for one release cycle before removal255256---257258## Edge Cases259260- **No Figma access**: Proceed with documentation and token architecture in text form. Note that Figma file creation will need to be done manually.261- **No brand guide**: Ask for primary colour, preferred font, and product type. Build a minimal token set from answers. Flag that a brand guide should be created (use visual-style-guide skill).262- **Existing Figma library with no tokens**: Audit the library for hardcoded values and produce a token extraction plan before building the DS.263- **Engineer asks about code tokens**: Note that design tokens should be exported as JSON and consumed via Style Dictionary or equivalent. This skill covers the design side — recommend coordinating with engineering on the export pipeline.