extracting-design-mdlisted
Install: claude install-skill BriarDevv/skills
# Extracting DESIGN.md
Turns the design system a codebase *actually uses* into a DESIGN.md the
tooling can enforce. Output format matters as much as analysis quality: a
freeform writeup can be excellent and still unenforceable — only the spec
format (YAML frontmatter tokens + prose sections + `## Decisions`) plugs
into the generator, the lint gates, and `designing-consistently`. The
convention lives in Context-Engineering `reference/design-md.md`.
## Workflow
Copy this checklist and tick items off:
```
Extraction progress:
- [ ] 1. Inventory style sources
- [ ] 2. Harvest and cluster values
- [ ] 3. Drift report
- [ ] 4. Propose tokens (owner confirms naming)
- [ ] 5. Backfill Decisions
- [ ] 6. Write DESIGN.md → generate → lint
- [ ] 7. Migration plan + hand-off
```
**1. Inventory.** Stylesheets/@theme, tailwind config, and the classes and
inline styles components actually use. Monorepo: one extraction per app.
**2. Harvest.** Grep the values by family (colors, radii, spacing, type,
shadows) with occurrence counts and file:line locations — counts are what
make the report objective instead of vibes.
**3. Drift report.** Near-duplicates, outliers, competing patterns; each
family with its variant count, evidence, and the surfaces it touches. Order
by spread (surfaces affected), not by discovery order. Theme modes are not
drift: a selector-scoped reassignment of the same variable
(`[data-theme="dark"] { --paper: … }`) is an intentional mode — it goes to
frontmatter `modes