Understand the design context. Clarify: What is being designed (new system, extension, redesign)? What brand exists (logo, colors, guidelines)? What platform (web, iOS, Android, cross-platform)? What is the team structure (designers, developers, how many)?
Audit existing design language. If design assets exist, inventory them: what patterns are consistent, what is ad hoc, where are the accessibility gaps? If no design exists, establish foundational requirements.
Define design tokens. Build the token system: color (primary, secondary, neutral 50-950, semantic), typography (families, size scale 12-48px, weights, line heights), spacing (base unit scale: 4, 8, 12, 16, 24, 32, 48, 64px), elevation (shadow scale with dark mode variants), and border (radius and width scales). Test all color combinations for WCAG contrast.
Create the component hierarchy. List and categorize: primitives (button, input, checkbox, radio, toggle, badge), compound (card, form group, list item, navigation item), layout (container, grid, stack, sidebar), and feedback (alert, toast, modal, tooltip, skeleton).
Specify each component. Document visual anatomy, all states with exact token references, variants (size, style), responsive behavior, and accessibility (keyboard interaction, ARIA, focus management).
Design the layout grid. Specify column counts per breakpoint (4 mobile, 8 tablet, 12 desktop), gutter widths, margin rules, and maximum content width (1280px recommended).
Build the accessibility checklist. Test every component against WCAG 2.1 AA: contrast ratios, keyboard navigation, screen reader announcements, reduced motion alternatives, and text scaling behavior.
Package the specification. Organize into the Output Format structure with clear cross-references between tokens, components, and layouts.