← ClaudeAtlas

design-extractlisted

Drafts `canon/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 `canon/DESIGN.md`.
erclx/canon · ★ 2 · Web & Frontend · score 75
Install: claude install-skill erclx/canon
# Design extract ## Guards - If `canon/DESIGN.md` already exists and has content beyond the seed template, stop: `❌ canon/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 there unless a picked reference does, so name `sketch-design` as the first move: a picked reference anchors a cell where a paragraph alone cannot. A direct run of this skill still falls through to the proposal-from-personality rules in Step 4, tag included, so this skill stays runnable on its own with nothing rendered yet. 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 `canon/REQUIREMENTS.md` is missing, stop: `❌ canon/R