Files
claude-plugins/composer/templates/design-system/components.md
movq 594fccc80a feat(composer): discovery-phase plugin from "I want an app that..." to tracker-loaded stories
Plugin pairs with Symphony — Composer's output (issues in the project's
tracker) is Symphony's input. State-aware /composer command walks the
user through 11 phases: concept, users (with workflow probing for hidden
actors), requirements/NFR/IA, design system, interaction design, flows,
mocks, architecture, stories, roadmap, load. Each phase produces a
reviewable artifact in docs/planning/ (or, for design and interaction,
a project-local skill — see below).

Architecture is intentionally LAST, after the spec is complete. Mocks
are JSX/TSX regardless of final stack and pass a "text feasibility"
audit — every visible string is categorized (static/computed/authored),
computed strings are traced to source data, and any string implying an
unspecified feature halts the commit.

Design system and interaction design are produced as PROJECT-LOCAL
SKILLS in .claude/skills/<slug>-design-system/ and
.claude/skills/<slug>-interaction-design/, not as docs in
docs/planning/. Skills auto-load via description matching whenever UI
work happens; a reference doc gets read once and drifts out of context.
The mocks skill imports tokens directly from the design-system skill
for a single source of truth across mocks and (eventually) real code.

ui-system is currently a PLACEHOLDER — captures the minimum needed for
mocks to proceed with <TBD: ...> markers as a return-pass worklist.
Full interview specification is the next pass.

Council touchpoints baked in: PM/skeptic/end-user after requirements,
end-user/a11y after mocks, full architecture council after architecture,
plus auto-additions (legal-triage on regulated data, privacy-advocate
on PII, finance-controller on money flows).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 21:03:40 -05:00

1.5 KiB

Component vocabulary

The named components for . Match names from ia.md where applicable. Do not introduce new components without proposing them here first.

This file is loaded automatically by the design-system skill — agents generating UI should be aware of every component in this list and prefer them to ad-hoc one-offs.

Primitives

Button

  • Variants: primary | secondary | ghost | destructive | link
  • Sizes: sm | md | lg
  • States: default | hover | active | focus | disabled | loading
  • Anatomy: optional leading icon · label · optional trailing icon
  • Motion:

Input

  • Variants: text | textarea | select | checkbox | radio | toggle
  • Sizes: sm | md | lg
  • States: default | focus | error | disabled | readonly
  • Anatomy: label · field · helper text · error message
  • Validation pattern: <TBD — see interaction-design skill>

Card / Surface

  • Variants: <flat | bordered | elevated — pick or list>
  • Anatomy: <header? · body · footer?>

Project-specific components

  • Purpose:
  • Anatomy: <slots / regions>
  • States:
  • Notes:

Patterns to avoid

  • <TBD: e.g., "no nested cards", "no inline icons in body text", etc.>