How the four dimensions differ
Each dimension has a different rigidity profile — knowing which is which tells the agent what to honor literally and where to use judgment.| Dimension | Rigidity | What the pack ships | What the agent does |
|---|---|---|---|
| Style | Literal | A canonical style.css — palette tokens, type, focus ring, motion guard, buttons, decor | Inline the pack’s CSS verbatim; author with its classes. Never re-create the brand’s look by hand. |
| Voice | Rules-literal, application-interpretive | A machine-checked banned-phrase list + prose on tone and CTA discipline | Honor the banned list absolutely; apply the tone guidance to the actual copy. (Voice ships no CSS.) |
| Shape | Interpretive | A description of the kind of page — a guide, a content schema, structural invariants | Infer the specific layout from the topic, the style, and the voice. (Shapes ship no layout CSS.) |
| Valence (optional) | Pure interpretive | Prose only — a hint per vertical | Lean toward what it suggests inside the shape’s freedom. Nothing fails verify if it’s ignored. |
local-service landing page meaningfully different from a saas one, without changing how the site sounds or looks.
Dark mode
When the playbook or workspace declares dark mode, every emitted page wires up a dark/light toggle. sitekit owns the contract — thedata-palette attribute on <html>, persistence under a localStorage key, and a first-paint script that reads the OS preference to avoid a flash. The agent writes the button and the toggle logic; the active style pack must declare both a light and a dark palette (that pairing is verified).
Saved playbooks
When you’ll build several pages with the same composition, save it once and re-run by name:- Workspace (default) —
<workspace>/playbooks/<name>.json, committed alongside the site. - Global (
--global) —~/.config/sitekit/playbooks/<name>.json, shared across every site.
default_playbook so sitekit run resolves it with no positional name at all — which is what sitekit init --shape=... --voice=... --style=... sets up for you.
How packs resolve
Whenever sitekit looks up a voice, style, shape, or valence by name, it resolves in three tiers and takes the first match:Site-local
Packs in your workspace (
<workspace>/voices/, <workspace>/styles/, …). Project-specific, committed with the site.Workshop
Your machine-local library at
~/.sitekit/. Packs you authored or captured, reusable across every project.Learn the dimensions
Voice packs
The verbal dimension, the core writing guide, and how banned phrases are enforced.
Style packs
The visual dimension and the thirteen bundled styles.
Shapes & tiers
Page types, the platform shape, and the tier ladder.
Capture a brand
Build any of these packs from something that already exists.