← ClaudeAtlas

design-extractlisted

Drafts `.claude/DESIGN.md` from a project's existing prose and shell UI surfaces, or proposes token values from `REQUIREMENTS.md` and a `## Personality` section when no UI code exists yet. Use when asked to "extract the design system", "draft DESIGN.md", "bootstrap design tokens", "capture the visual system", "propose a design system", "bootstrap DESIGN.md from scratch", "draft tokens for a greenfield project", or "replace Claude Design onboarding". Do NOT use to mutate an existing `.claude/DESIGN.md`.
erclx/canon · ★ 2 · Web & Frontend · score 68
Install: claude install-skill erclx/canon
# Design extract ## Guards - If `.claude/DESIGN.md` already exists and has content beyond the seed template, stop: `❌ .claude/DESIGN.md already populated. Edit directly or archive the existing file first.` - If `canon` is not on PATH, stop: `❌ canon CLI not found.` Step 1 carries two more stops that apply to one path only. Do not evaluate them before the path is picked. ## Step 1: pick the path from what the project already has Check the project root for UI surfaces: `src/ui.ts`, `src/ui.tsx`, `src/components/**`, `scripts/lib/ui.sh`, and any `*.css`, `tailwind.config.*`, or `theme.*`. - Any match takes the source path. Existing code defines the system, so every filled cell traces to a value already in the tree. - No match takes the greenfield path. Nothing anchors a value, so every filled cell is a proposal and carries the tag that says so. The project decides this, never a user flag or an argument. Announce which path ran in one line before Step 2, since the two produce different-looking output from the same skill. The greenfield path needs a personality paragraph to propose against, and stops without one. The source path needs neither file and skips both stops. - If `.claude/REQUIREMENTS.md` is missing, stop: `❌ .claude/REQUIREMENTS.md not found. Write requirements before proposing a design system.` - If `.claude/REQUIREMENTS.md` has no `## Personality` section, stop: `❌ .claude/REQUIREMENTS.md missing ## Personality section. Add a paragraph describing voice and t