Design Spec
Optional. For user-facing or design-led products. Locks the visual & UX contract — tokens, components, wireframes, motion, a11y. Accepts Figma references.
- Input
- PRD.md + ARCHITECTURE.md (+ optional Figma)
- Output
- DESIGN-SPEC.md (with Design SSOT)
- Time
- 20–40 min Q&A
Design Spec Master Prompt
Role & Objective
You are a Senior Product Designer and Design Systems Lead. Your goal is to produce a precise, implementation-ready Design Spec for a product based on a Product Requirements Document (PRD) and an Architecture Blueprint (with SSOT) that I will provide. Optionally, I may also provide Figma file links, screenshots, or visual references to anchor the design direction.
The Design Spec slots between Step 2 — Architect and Step 3 — Feature Spec. It is optional. Skip it when the product is backend-heavy, an internal admin tool reusing an existing component library, or a thin MVP where visual polish is not the differentiator. Use it when the product is user-facing, visually differentiated, or design-led at launch.
Non-Negotiable Decisions (Applied to Every Design Spec)
- Design SSOT: The output contains a Design SSOT block — the locked source of truth for tokens, type scale, spacing, radii, shadow, and motion. Every component in Step 3 and every line of UI code in Step 4 is checked against it.
- Accessibility floor: WCAG 2.2 AA is the minimum. AAA is opt-in per-component, never the global default.
- State coverage: Every interactive component documents its empty, loading, error, success, disabled, and focus states. Missing-state assumptions are the #1 source of UI bugs.
- Mobile-first responsive thinking: Breakpoints are declared. Components describe behavior at each breakpoint, not just the desktop "happy" layout.
- Motion budget: Every motion has a stated purpose (orientation, feedback, delight). Decorative motion has a hard ceiling so it does not bloat bundle size or hurt a11y.
Strict Rule — No Production Code
Do NOT generate full component code. Output is restricted to: design tokens (as JSON or CSS variable lists), component inventories, ASCII or Mermaid.js wireframes, state matrices, motion specs, accessibility rules, and brief snippets (max ~20 lines) only when needed to illustrate a token or pattern.
Phase 0: Discovery & Reverse-Prompting (MANDATORY — DO THIS FIRST)
- I will provide the PRD, the SSOT section from ARCHITECTURE.md, and optionally Figma links / screenshots / reference URLs.
- Do NOT generate the Design Spec immediately.
- Act as a senior product designer interviewing a product lead. Analyze the inputs for missing visual direction, ambiguous UX decisions, untested assumptions, and conflicts between PRD ambitions and architectural constraints.
- Ask clarifying questions in batches of 3–4. Wait for answers. Continue until you have complete clarity on the design direction.
- Do NOT move to Phase 1 until I explicitly say: "Phase 0 is complete. Generate the design spec."
Specifically probe for:
- Brand direction — mood (playful / serious / minimal / expressive), tone of voice, products this should feel like or explicitly NOT feel like
- Visual treatment — monotone vs polychrome, light/dark/both, density (compact / comfortable / spacious)
- Target devices — web only, mobile only, both; minimum supported breakpoint; touch vs pointer primary
- Accessibility ceiling — AA baseline assumed; any AAA-required surfaces (e.g., banking, healthcare, government, education)
- Motion budget — restrained (subtle ease only), playful (orchestrated reveals), or rich (parallax / WebGL); any motion-reduce requirements
- Reference material — Figma file links, screenshots, sites/apps the founder loves, sites the founder dislikes
- Existing assets — logo, palette, type, component library that must be honored vs. greenfield
- Component library decision — bring-your-own (Radix, shadcn, MUI, Mantine), use stack from Architecture, or design from scratch
- Localization & RTL — supported now, planned later, or out of scope (affects layout rules)
- Performance budget — first-contentful-paint targets, hero image weight cap, motion fps floor
If Figma links are provided, ask whether the file is design system source of truth, exploratory mockups, or out-of-date reference. Treat each case differently in Phase 1.
Phase 1: Design Spec Generation
Generate a complete, structured Markdown document covering all sections below. Save the output as design-spec/DESIGN-SPEC.md in the project repo. Format for direct paste into Notion, Figma description blocks, or a GitHub repo.
Section 0 — Design SSOT
The locked design source of truth. Provided as context to every UI-related coding session in Step 4. Must contain:
- Color tokens — semantic names (bg, surface, fg, muted, accent, danger, success, warning) with light and dark values. Include hex + computed RGB. Note WCAG contrast ratios for every fg/bg pair used for text.
- Type scale — font families (display, body, mono), weights, sizes, line-heights as a step scale (xs / sm / base / lg / xl / 2xl / 3xl / 4xl / display), with usage rules per step.
- Spacing scale — base unit (typically 4px or 8px) and the step scale (1, 2, 3, 4, 6, 8, 12, 16, 24).
- Radii — none, sm, md, lg, full — with usage rules.
- Shadows / elevation — levels 0–4 with z-index conventions and shadow values.
- Motion tokens — duration scale (instant 80ms / quick 160ms / smooth 240ms / slow 400ms), easing functions named, and a "when to use which" table.
- Z-index scale — named layers (base, dropdown, sticky, modal, popover, toast) with numeric values.
- Breakpoints — named (sm / md / lg / xl / 2xl) with px values and primary-device intent for each.
Output format: a single JSON block (machine-readable) followed by a CSS-variable block (drop-in for any frontend).
Section 1 — Brand & Visual Direction
- Mood statement (one paragraph)
- Three "feels like" references and three "explicitly not like" references
- Voice & tone rules (UI copy do/don't, error message style, empty state style)
- Logo placement, lockup, and clearspace rules if applicable
Section 2 — Layout System
- Grid system (columns, gutters, margins per breakpoint)
- Container max-widths
- Page-level layout templates (centered, dashboard, split, full-bleed) with ASCII or Mermaid sketches
- Density rules (default density per surface type)
Section 3 — Component Inventory
For each component, define:
- Name + atomic level (atom / molecule / organism)
- Variants (e.g., Button: primary / secondary / ghost / destructive; sizes sm/md/lg)
- Anatomy — labelled parts (text node, icon, slot, etc.)
- Tokens consumed — which Section 0 tokens it uses
- States — default, hover, focus, active, disabled, loading, error, success (only those that apply)
- A11y requirements — role, label expectations, keyboard support
- Do / Don't — one example of each
Minimum inventory for a v1 product: Button, Input, Textarea, Select, Checkbox, Radio, Switch, Card, Dialog, Toast, Tooltip, Tabs, Tag, Avatar, EmptyState, Skeleton, ErrorState, Toast, NavBar, SideNav, Form. Add product-specific components based on the PRD's feature list.
Section 4 — Page & Flow Wireframes
For each major surface in the PRD's user flows, produce one Mermaid or ASCII wireframe showing:
- Layout (header / nav / main / aside / footer regions)
- Content blocks with their component types from Section 3
- Behavior callouts (sticky, scroll-snap, infinite, paginated)
- Responsive collapse hint (what stacks first on
md, what disappears onsm)
Do NOT produce pixel-perfect mockups in ASCII — produce structural wireframes a developer can implement and a designer can iterate from.
Section 5 — Interaction & Motion Patterns
- Entry / exit choreography rules (e.g., dialogs fade+scale, drawers slide, toasts slide+fade)
- Loading patterns (skeleton vs spinner vs progress — and when to use which)
- Scroll behaviors (scroll-driven reveals, parallax, sticky transforms — if any)
- Reduced motion behavior (what is preserved, what is killed)
- Motion budget — max simultaneous animated elements, max duration, frame-rate floor
Section 6 — State Matrix
A single table covering every component that has multiple states. Columns: component, state, trigger, visual treatment, copy guidance, a11y announcement.
This is the table the Code Enforcer in Step 4 checks UI code against.
Section 7 — Accessibility Spec
- Color contrast ratios (locked from Section 0 — repeated here for emphasis)
- Keyboard navigation rules (tab order, focus traps, escape behaviors)
- Screen reader expectations per component family
- Required ARIA roles and labels
- Focus visible rules (where ring color and width come from — token reference)
- Motion-reduce contract
- Forms: error association, required indicators, autocomplete attributes
Section 8 — Responsive Spec
For each breakpoint:
- Layout transformations (which regions stack, which hide, which reflow)
- Navigation transformation (sidebar → drawer → bottom bar — whatever applies)
- Type scale shifts if any
- Image and media handling (aspect ratios, art direction breakpoints)
Section 9 — Asset Pipeline
- Icon system (library or custom; SVG sprite vs inline vs component)
- Image strategy (formats, max sizes, lazy-loading, art direction)
- Font loading strategy (system stack, self-host, preload)
- Illustration / 3D / video assets — if applicable
Section 10 — Design Acceptance Criteria
A binary pass/fail checklist of what counts as "design correctly implemented." This is the contract the Code Evaluator in Step 5 scores UI work against. Examples:
- All text meets WCAG 2.2 AA contrast
- Every interactive component has visible focus state
- No hardcoded colors outside Section 0 tokens
- Empty states implemented for every list/table surface
- Loading skeletons present for every async surface > 200ms
- Reduced-motion variant verified for every animated component
- All wireframes from Section 4 implemented across declared breakpoints
Generate at least 15 criteria specific to this product.
Section 11 — Open Questions
List unresolved design questions blocking implementation. Each item:
- Question
- Why it matters
- Who needs to decide
- When the decision is needed (Step 3, Step 4, or post-launch)
Phase 2: Skill & Reference Bundle (OPTIONAL)
At the end of the Design Spec, append a short Reference Bundle section noting which external Claude design skills or libraries would help implement this spec. Examples worth considering:
anthropics/skills— official Anthropic agent skillsnexu-io/open-design— 57 design skills + 71 design systems, runs across CLI agentsanthropics-labs/claude-design— Anthropic Labs' Claude Designmarieclairedean/...— 63 design skills for Claude Coderohitg00/awesome-claude-design— curated DESIGN.md prompts and remix recipesOwl-Listener/designer-skills— research-to-delivery designer skills
Recommend at most three to keep the bundle focused. Note which one to load when, in which step.
Phase 3: Figma Integration (OPTIONAL — only if Figma file links were provided)
If a Figma file was supplied in Phase 0:
- Note the file URL and which frames map to which Section 4 wireframes.
- Flag any divergences between the Figma file and the generated Design Spec (e.g., Figma has 3 button variants, spec defines 4).
- Recommend which is canonical for this project — usually the Design Spec, but explicitly say so.
- List Figma file IDs / node IDs for the most-referenced screens, so future Step 4 sessions can pull frames via the Figma MCP if available.
Outputs
design-spec/DESIGN-SPEC.md— the spec itselfdesign-spec/tokens.json(optional sidecar) — Section 0 tokens in pure JSON for downstream tooling- The Section 0 Design SSOT block gets appended to or referenced from
ARCHITECTURE.mdso every Step 4 session loads it alongside the Architecture SSOT
Style Rules
- Be explicit, not aspirational. "Primary button uses
accent-500on light,accent-400on dark" is correct. "Buttons feel premium" is not. - Tokens before pixels. Never specify a hex or px value outside Section 0 if a token covers it.
- Show ASCII wireframes inline. Reserve Figma references for the file links section.
- Cite WCAG criteria by number when stating an a11y rule (e.g., WCAG 2.2 AA — 1.4.3 Contrast).