btn-primary
Primary action. Graphite fill: used sparingly, one per region.
Token recipe
- backgroundColor
- {colors.graphite}
- textColor
- {colors.on-graphite}
- typography
- {typography.mono-sm}
- rounded
- {rounded.md}
- padding
- 10px 18px
Every token and component renders here from the same source the AI runbook uses. If something looks wrong, fix it in tools/runbook-build/theme.js and rebuild; both pages update together.
Planed-pine canvas. Graphite ink, walnut for secondary text. Graphite as the single interactive signal. Pencil-red as the one warm accent: title underline and colophon only. Walnut, oak, and ash as quiet phase threads, never used alone to convey meaning.
Fraunces for display, Source Serif 4 for body, Monaspace Xenon for technical labels (slab-serif mono reads like joinery), Architects Daughter for one moment of human warmth in the footer.
A modest scale. Generous rhythm comes from line-height and section gaps, not from packing more steps onto the ladder.
{spacing.xs}
4px
{spacing.sm}
8px
{spacing.md}
12px
{spacing.base}
16px
{spacing.lg}
24px
{spacing.xl}
40px
{spacing.xxl}
64px
{spacing.section}
96px
Soft, not pillowy. note is intentionally irregular: used on rare hand-cut elements only.
{rounded.none}
0
{rounded.sm}
2px
{rounded.md}
4px
{rounded.lg}
8px
{rounded.pill}
999px
{rounded.note}
2px 18px 4px 14px
Each of the six phases carries a quiet color thread and a plain-words gloss. The thread differentiates; the gloss makes the phase legible to anyone, regardless of role.
triage → {colors.ash}refinement → {colors.walnut}plan → {colors.oak}build → {colors.ash}validate → {colors.walnut}communicate → {colors.oak}cross-cutting → {colors.bark}Every component used in the AI runbook renders below, live. Each carries its token recipe as a disclosure: open it to see exactly which tokens compose it.
Primary action. Graphite fill: used sparingly, one per region.
Secondary action. Hairline border, no fill.
Skill card, collapsed state. Hairline border, no shadow.
Skill card, expanded inline. Soft-paper back signals open state.
Phase mini-map tab, modal nav pill. Active state fills with graphite.
Active pill. Graphite fill, planed-pine text.
typicalNext chip. Renders as a small clickable token.
Foundation tag: skill is called by other skills more than used directly. Wears the graphite signal.
Voice cross-cutting tag. Walnut thread.
Security cross-cutting tag. Oak thread.
Plain-language gloss under each phase title. Italic, slightly indented.
Deciding which tickets are worth working on right now.
Hand-drawn pencil-red underline. Animates in on page load under the title; reused as the hover bar under skill-card names. The one warm decorative motif.
Small dovetail-tail SVG glyph (trapezoid wider at top). Replaces a generic bullet in phase-section title rows. Tinted with the phase thread color (walnut, oak, or ash).
walnut thread oak thread ash threadHairline + three short ticks as a section divider. Reads like a kerf cut on the bench.
Footer signature: 'kept by jh'. Architects Daughter pencil hand in pencil-red, the rarest mark on the page.
kept by jh
canon · design · skills
Hidden until keyboard focus jumps it on; sends focus to the #phases main landmark.
Hero aside that orients newcomers. Walnut thread (supportive context), not graphite (signal).
One of the six numbered cards in the phase-flow nav. Anchor link that opens the matching phase section.
Horizontal strip beneath the phase nodes. Carries cross-cutting + contracts metadata.
Three-column panel below the phase cards: autonomous chain, one-off, mix. Explains how to drive the skills.
Pick the mode that fits the work in front of you.
One-offPull a single skill when you want it.
Key for the card accent tags (Foundation, Voice, Security). Sits at the top of #phases as a caption for the cards below.
Skills are marked when they are foundational, voice-sensitive, or security-sensitive.Foundation called by other skillsVoice written for an audienceSecurity touches secrets
What this system explicitly does not cover. Honest limits keep the contract clear.