When to load: When Phase 7 (Design System) is enabled and component questions arise
Design systems grow organically - discover components through actual work, never create speculatively.
What it means:
When this workflow doesn't run:
Agent behavior:
What it means:
Workflow:
See: ../../workflows/wds-6-asset-generation/workflow-figma.md
What it means:
Workflow:
Runs automatically during Phase 4 component specification
For each component:
Router asks:
See: ../../workflows/wds-7-design-system/design-system-router.md
"Let me create a full component library upfront..."
Why bad:
"I'm designing the landing page hero... oh, I need a button."
Process:
Result: Components emerge from real needs.
When similar component exists, run assessment:
See: ../../workflows/wds-7-design-system/assessment/
7 Micro-Steps:
Outcomes:
Before any components:
Design tokens = the DNA of your design system
Colors:
- Primary, secondary, accent
- Neutral scale (50-900)
- Semantic (success, warning, error, info)
Typography:
- Font families
- Font scales (h1-h6, body, caption)
- Font weights
- Line heights
Spacing:
- Spacing scale (xs, sm, md, lg, xl)
- Layout scales
Effects:
- Border radius scale
- Shadow scale
- Transitions
Why first: Tokens ensure consistency across all components.
Organize from simple → complex:
atoms/
├── button.md
├── input.md
├── label.md
├── icon.md
└── badge.md
molecules/
├── form-field.md (label + input + error)
├── card.md (container + content)
└── search-box.md (input + button + icon)
organisms/
├── header.md (logo + nav + search + user-menu)
├── feature-section.md (headline + cards + cta)
└── form.md (multiple form-fields + submit)
Why this structure: Clear dependencies, easy to understand, scales well.
See: ../../workflows/wds-7-design-system/operations/
First component triggers auto-initialization
# [Component Name] [COMP-001]
**Type:** [Atom|Molecule|Organism]
**Library:** [shadcn Button|Custom|N/A]
**Figma:** [Link if Mode B]
## Purpose
[What job does this component do?]
## Variants
- variant-name: [When to use]
- variant-name: [When to use]
## States
- default
- hover
- active
- disabled
- loading (if applicable)
- error (if applicable)
## Props/Attributes
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| size | sm\|md\|lg | md | Button size |
| variant | primary\|secondary | primary | Visual style |
## Styling
[Design tokens or Figma reference]
## Used In
- [Page name] ([Component purpose in context])
- [Page name] ([Component purpose in context])
## Version History
- v1.0.0 (2024-01-01): Initial creation
Phase 4 (UX Design) → Phase 7 (Design System) flow:
User creates page specification
├── Component 1: Button
│ ├── Check: Design system enabled?
│ ├── YES → Router checks existing components
│ ├── Similar button found → Opportunity/Risk Assessment
│ └── Decision: Use existing primary button variant
├── Component 2: Input
│ ├── Check: Design system enabled?
│ ├── YES → Router checks existing components
│ ├── No similar input → Create new
│ └── Add to Design System
└── Component 3: Custom illustration
├── Check: Design system enabled?
└── NO extraction (one-off asset)
Result:
"Let me make 50 components upfront..."
"This button might need 10 variants someday..."
"I'll make this work even though it's awkward..."
"I'll define colors per component..."
Before marking a component "complete":
../../workflows/wds-7-design-system/../../workflows/wds-6-asset-generation/workflow-figma.md../design-system/ (tokens, naming, states, validation, boundaries)Components emerge from real needs. Design systems grow organically.