lonja-design-tokenslisted
Install: claude install-skill zakariaf/CatchLaw
# Lonja Design Tokens
A token is a **measured value with a name that cannot lie about it** — `ink11` is #16201C because its CIE L\* is 11.2, and arithmetic, not taste, says so. This skill owns every aesthetic VALUE in CatchLaw: the pigment box, the spacing spine, the rule weights, the radius ceiling, the motion durations, the density set, and the three hand-authored themes they compose into. It does not own how a `ThemeExtension` is declared, lerped or read, nor type ramps, component anatomy, or what a verdict colour *means*.
Read the reference for the task at hand:
- `references/token-tables.md` — the 25 primitives, the 13 semantic slots, spacing spine, rule weights, radii, durations, density set, and the measured contrast table for all three themes.
- `references/three-themes-and-modes.md` — paper, night and sunlight authoring, why sunlight is not an inversion, glove mode as orthogonal density, snapshot passing, and the golden lane matrix.
Run `scripts/check_lonja_tokens.sh` before a PR.
`ThemeExtension` mechanics — the `copyWith`/`lerp` contract, the asserting `of(context)` accessor, attaching an extension to every `ThemeData`, hand-authored `ColorScheme`, reduced motion, font bundling — live in `design-system-structure`; this skill governs the VALUES those mechanics carry. Type ramps live in `lonja-typography`; what a verdict colour *means* lives in `lonja-verdict-and-status`.
## Non-negotiable rules
1. **Every value in the app has exactly ONE home, under `lib/theme