| user asks for a button (filled/danger/loading) | references/components/button.md | per-component file |
| user asks for an icon-only button | references/components/icon-button.md | aria-label is the accessible name + tooltip text |
| user asks for a single-line input | references/components/text-input.md | leading/trailing visuals, loading, validationStatus |
| user asks for a multi-line input | references/components/textarea.md | resize, characterLimit, validationStatus |
| user asks for a select | references/components/select.md | styled native <select>; placeholder doubles as the implicit default; multiple is omitted |
| user asks for a checkbox | references/components/checkbox.md | indeterminate, required, ARIA-only validationStatus; control-first children order |
| user wires a form (label + caption + validation) | references/components/form-control.md | a11y composition rules (Label/Caption/Validation/LeadingVisual subcomponents) |
| user asks for a heading | references/components/heading.md | semantic as + visual variant |
| user asks for inline text | references/components/text.md | size/weight; no semantic foreground variant |
| user asks for a layout container | references/components/stack.md | gap/direction/align/justify/wrap/padding scales, Stack.Item; box-not-baseline alignment trap |
| user asks for a metadata badge | references/components/label.md | metadata only — never a lifecycle capsule |
| user asks for a numeric count badge | references/components/counter-label.md | numeric count next to a label |
| user asks for an inline banner / alert | references/components/flash.md | variant: default/warning/success/danger; full for edge-to-edge |
| user asks for a PR/issue lifecycle pill | references/components/state-label.md | required status keyed to the lifecycle octicon map |
| user asks for a branch chip / branch name | references/components/branch-name.md | renders <a> by default; as="span" for non-link chips |
| user asks for a progress meter / determinate bar | references/components/progress-bar.md | determinate progress track; ProgressBar.Item for multi-segment; semantic-token fill |
| user asks for a loading / busy indicator | references/components/spinner.md | standalone animated loader; srText (string|null); reduced-motion gated |
| user asks for an event / activity feed (CI checks, history) | references/components/timeline.md | compound Timeline.Item/Badge/Body/Break; Badge variant carries lifecycle color |
| user asks for a relative timestamp ("N hours ago") | references/components/relative-time.md | wraps <relative-time>; date prop; formats on the client (hydration) |
| user composes a screen, page, or section layout | references/design-craft.md | DS-agnostic design-craft defaults, shipped verbatim by the meta-skill — the DS wins on conflict |
| user picks tokens for color, spacing, radius, shadow | references/tokens.md | consumed-token ledger (12 tokens) + foundation rule subsections |
| user reads token and theme foundation prose | references/foundations/index.md | per-URL extracted foundation rules |
| user colors or sizes an octicon | references/foundations/octicons.md | size buckets, name-size naming, closed prop surface (currentColor recipe) |
| user reviews available composition exemplars | references/examples/index.md | one entry per composition exemplar lifted from vercel-labs/primer-nextjs-template |
| home: route-index with token-painted link cards | references/examples/home.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/page.tsx |
| repos: list page with PageHeader + table + filter | references/examples/repos.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/repos/page.tsx |
| new: form page with token-painted card + action footer | references/examples/new.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/new/page.tsx |
| settings: sidebar-nav page | references/examples/settings.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/settings/page.tsx |
| empty: blankslate visual + heading + action | references/examples/empty.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/empty/page.tsx |
| dashboard: multi-section stat cards + timeline | references/examples/dashboard.md | composition exemplar lifted from vercel-labs/primer-nextjs-template/app/dashboard/page.tsx |
| (maintenance) slug registry / audit | references/anti-patterns.md | shell + asset slug resolution; rules mirrored into ## Hard rules + per-component files; not required during generation |