{{command_prefix}}benchmark
Harvest per-component design knowledge from 18 design systems and synthesize canonical
specs at reference/components/<name>.md. The 18-source corpus + fallback chain lives in
../../connections/design-corpora.md. Per-skill output discipline + completion-marker
conventions are at ../../reference/shared-preamble.md#output-contract-reminders.
Invocation Modes
| Invocation | Action |
|---|---|
{{command_prefix}}benchmark <component> | Harvest + synthesize a single component |
{{command_prefix}}benchmark --wave <N> | Run a full wave (1 = Inputs, 2 = Containers, etc.) |
{{command_prefix}}benchmark --list | Show corpus coverage - which specs exist, which are pending |
{{command_prefix}}benchmark --refresh <component> | Re-harvest a spec (for design-system version bumps) |
Single-Component Flow ({{command_prefix}}benchmark <component>)
-
Check if spec exists -
Glob("reference/components/<component>.md"). If found and--refreshwas not passed, confirm before overwriting. -
Harvest - spawn
component-benchmark-harvesterwith required-reading@connections/design-corpora.md, target component, raw-output path.planning/benchmarks/raw/<component>.md, and a salvage hint to.planning/research/impeccable-salvage/. Acceptance: raw harvest exists with ≥4 source sections. -
Synthesize - spawn
component-benchmark-synthesizerwith required-reading@.planning/benchmarks/raw/<component>.md,@reference/components/TEMPLATE.md,@reference/anti-patterns.md. Output:reference/components/<component>.md. Also updatereference/components/README.md(add entry in correct category). Acceptance: spec ≤350 lines, cites ≥4 systems, followsTEMPLATE.mdsections, has a WAI-ARIA keyboard contract + a failing-example block. -
Report - print spec path, line count, systems cited.
Wave Mode ({{command_prefix}}benchmark --wave <N>)
Read the wave definition from reference/components/README.md and run each component sequentially (not parallel - each harvest is network-bound and the raw files are large).
| Wave | Components |
|---|---|
| 1 | button, input, select-combobox, checkbox, radio, switch, link, label |
| 2 | card, modal-dialog, drawer, popover, tooltip, accordion, tabs |
Print progress per component: [N/total] harvesting <component>…
List Mode ({{command_prefix}}benchmark --list)
Read reference/components/README.md and diff against reference/components/*.md files. Print a table with columns: Component, Status, Wave, Lines.
Refresh Mode ({{command_prefix}}benchmark --refresh <component>)
Same as single-component flow but skips the "already exists" guard. Use when a design system ships a breaking update to a component's spec.
Source List
../../connections/design-corpora.md - 18 design systems with canonical URLs, licensing, and fallback chain (canonical → archive.org → Refero MCP → Pinterest MCP).
Output Artifacts
| Artifact | Purpose |
|---|---|
.planning/benchmarks/raw/<component>.md | Raw multi-source harvest (input only) |
reference/components/<component>.md | Canonical spec (distributed with plugin) |
reference/components/README.md | Corpus index (updated by synthesizer) |


