Turn ONE design axis up or down as a coordinated, deterministic transform — "denser", "sharper corners", "more muted", "bolder", "flatter", "livelier". Not a vibe the model reinterprets each time; a defined ramp that moves many tokens together, respects the guardrails (8px grid, a11y floors, single accent, nested-radius), updates the lock, and re-runs the gate. Use this when a human saying "more X" would otherwise get an inconsistent one-off.
SkillScore55Maintained
Automatic
◆Frontend / UI pack
Last verified 8/17/2026
What it changes
Passed 8 of 14 test cases with the skill, and 3 of 14 without it.
Without skill23%
With skill55%
Checks it passed that the model alone missed
The updated position is saved to STYLESEED.md
The output rejects applying drop shadows in dark mode
The typography hero to body ratio is set to approximately 4:1
and 9 more in the full report
8 fixed4 passed either way9 still failing1 broke
Pass-rate lift
+32 pp
Tokens
+77%
Agent turns
0%
Response time
-41%
Model gemini-3.6-flashMeasured 8/17/2026v212 of 22 cases passed with skill · 14 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
Our brand team decided to change our main brand accent from blue to forest green. Please run the dial tool to switch the primary color hue.
What was checked, without and with the skill
Checked
Without skill
With skill
The output explains that changing the accent hue requires directly editing the key color in the lock file
Missed
Passed
case-05 · gemini-3.6-flash · 8/17/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md167 linessingle file
Dial an axis
Registry-first artifact boundary
When .styleseed/project.json and .styleseed/artifacts/index.json exist, resolve the requested artifact ID first, then read only .styleseed/bundles/<artifact-id>.md and .styleseed/manifests/<artifact-id>.json. Never fall back to the global legacy bundle for a registry project. Legacy projects may use .styleseed/effective-rules.md only when no registry exists.
"Make it more minimal" is something you can just say — the model already reads plain
language. A skill only earns its place where one word must move many tokens at once, in a
coordinated way, without breaking a rule — and where doing it by hand gives an inconsistent
result (some tokens changed, the grid broken, a second accent introduced). That's what
/ss-dial is: not interpretation, but a deterministic ramp + guardrails + re-gate.
If the request is a mood word ("more premium", "more editorial", "more playful"), that's not
one axis — it's a combination of positions across several axes. Use /ss-restyle <preset> for those. /ss-dial moves exactly one axis.
When NOT to use
A vague vibe the model can just apply from words ("cleaner", "nicer") → don't wrap it in a
skill; say it.
A named aesthetic (Swiss / editorial / brutalist) → /ss-restyle (a preset of dial positions).
Changing the accent hue itself (rebrand) → edit the lock's Key color directly, then re-derive.
No STYLESEED.md lock yet → run /ss-build or /ss-setup first; there's nothing to dial from.
The mechanic (every axis)
Read STYLESEED.md — find the axis's current position (Mood/Density/Radius/Elevation/
Type scale/Font weight/Motion fields). If the lock doesn't record it, infer it from the code.
Move ONE position in the requested direction on that axis's ramp (below). "more X" = one
step; an explicit target ("density: dense") jumps straight there. Clamp at the ends — you
cannot dial past dense or below airy. If already at the end, say so and stop (this is why
"each use makes it more" is bounded, not runaway).
Apply the whole coordinated token set for the new position across every file that uses
those tokens — not just the one component in view. This is the point: system-wide, consistent.
Respect the guardrails (each axis lists its own). Never break a Golden Rule to satisfy a
dial — if "denser" would push a touch control below 44px, stop at the floor and note it.
Update STYLESEED.md with the new position (so it persists and the next prompt obeys it).
Re-run the Quality Gate (/ss-score, loop to ≥ 80). A dial that drops the score below 80
is reverted or fixed, not shipped. Report: axis, old → new position, score.