design-systemlisted
Install: claude install-skill fmanimashaun/claude-skills
# Design System
Build every UI by **composing tokens, layout primitives, and catalog components** — never
ad-hoc CSS. This system makes UI consistent across projects without a designer or Figma.
It is **prescriptive**: where it gives a token, a recipe, or a variant set, use exactly
that. Inconsistency in components degrades the whole product, so drift is a defect.
**Stack:** Rails 8 · Hotwire (Turbo + Stimulus) · **Tailwind CSS v4** (CSS-first `@theme`,
no `tailwind.config.js`, no npm) · Lucide icons.
**The system is brand-neutral; a brand pack is a theme.** The system owns the *structure* —
which semantic roles exist, the layout primitives, the component catalog, the scale, motion and
a11y rules. A pack (`fidara`, `reliance`, …) owns only the *values*: its private primitive
palette, fonts, logo, and how each role maps to a primitive in light and in dark. Components
consume **roles only** (`bg-primary`, `text-muted-foreground`) and never name a primitive, so a
component never names a brand — each pack may prefix its primitives however it likes (`fm-*`,
`rh-*`, none). Which pack a project uses is recorded once, in `config.x.brand.pack`. See
[references/brand.md](references/brand.md).
> **Tailwind here is a deliberate choice, not a claim that hand-written CSS is inferior.**
> Canonical Rails apps — including 37signals' own ([campfire](https://github.com/basecamp/once-campfire),
> writebook, fizzy) — hand-write vanilla CSS, and do it well. We standardize on Tailwind v4
> bec