π΄ design-playbook
August 28, 2026 Β· View on GitHub
β‘ One command, three artifacts
/design-playbook:design-io <your UI ask>
One pass β MCP tools bundled, zero extra config β lands three artifacts under .scratch/<run>/:
spec.mdβ the six-layer declaration of what good is (intent β acceptance), written before any UI- Decision report β shell + component semantics, written before any code
- Point-back ledger β every acceptance finding states which declaration it violates, plus the closure trail
π¬ Try it
Claude Code
/plugin marketplace add https://github.com/Bandersnatch0x/design-playbook.git
/plugin install design-playbook@design-playbook
Codex
codex plugin marketplace add Bandersnatch0x/design-playbook
codex plugin add design-playbook@design-playbook
Then, namespaced (bare /design-io is a --plugin-dir dev alias only):
/design-playbook:design-io <your UI ask>
On Cursor, Windsurf, Gemini CLI, or any of 29 supported agents: see π Install on other agents.
Codex install notes, the [mcp_servers.*] fallback when a marketplace is unavailable, and preview prerequisites: packages/design-playbook/codex/AGENTS.md.
Local dev / self-test
The marketplace catalog lives at the repo root (not the package):
claude --plugin-dir <abs>/packages/design-playbook # dev load, no install
/plugin marketplace add <abs-to-repo-root> # local marketplace
/plugin install design-playbook@design-playbook
codex plugin marketplace add <abs-to-repo-root>
codex plugin add design-playbook@design-playbook
πΈ Evidence, not promises
The agent never quietly grades its own homework:
- Point-back β every acceptance finding names the spec, domain, or craft declaration that owns it. No free-floating "looks good".
- Recirculate β blocking findings flow back to the owning stage until they close; the closure trail is part of the run artifacts.
- No silent skip β skip the audit and the result still carries the point-back skeleton, but marked
audited: false, which strict validation refuses as a final result.
A full pass against SwarSight β a real third-party workbench, one ask, every key artifact kept:
| 1 Β· ux-spec β six-layer spec before any UI | 2 Β· ui-picker β decision report before code |
![]() | ![]() |
| 3 Β· ui-evaluator β point-back + recirculate closure | Result β all six gates green |
![]() | ![]() |
Live human-confirm gate (preview*) β the generated prototype renders inside a review workbench: the spec's acceptance criteria sit in a checklist beside it (your ticks are recorded with the decision), and you can click elements, drag highlight boxes, sketch, or measure spacing to anchor feedback β then sign off or send it back for another round:

Full artifacts β spec, decision report, point-back critique, preview human-confirm demo, the live self-test surface: showcase/.
π The one-pass pipeline
Declare what good is before the code exists, generate against that declaration, then accept the result against the same declaration. Every run executes the same predictable Design I/O pass:
design-baseline? β reference-intake? β ux-spec? β plan? β (native-craft?)
β ui-picker β (preview*) β fill β craft-guardβ β (observe*β ) β ui-evaluatorβ
β² β
βββββββββββββββ recirculate ββββββββββββ
Six declarations own what good is (spec Β· domain Β· craft Β· design Β· components Β· template); two contracts govern how work enters the pipeline (skill for timing, evaluator for acceptance + recirculate).
Marker legend (? / * / β )
| Marker | Meaning |
|---|---|
? | Conditional entry β design-baseline? for UI work in an existing product; reference-intake? when the ask carries a screenshot / URL / analogy |
* | Adapter stage β runs only when its bundled MCP tool is registered; otherwise skipped, never a hard error |
β | user-selectable audit stage (decision record ADR-0033) β asked once on first run, remembered in .design-playbook/preferences.yaml (version-controlled; per-machine overrides in gitignored preferences.local.yaml) |
π§© Skills & commands
Eight model-invoked skills (/design-playbook:<name>):
| Skill | Role |
|---|---|
design-playbook | π― Orchestrator (full pipeline, run-profile tiering P1/P2/P3) |
design-baseline | π§ Discover, validate, or draft project DESIGN.md before existing-product UI work |
reference-intake | π Reference contract (screenshot/URL/analogy β Keep/Change/Do not copy) |
ux-spec | π Six-layer spec declaration via the S0-S6 shaping session (question/assumption/confirmation batches + session artifacts) |
ui-picker | π§± Shell + component semantics + design-decision entries (record / compare / explore tiers) |
craft-guard | π‘οΈ Detail-craft check β spacing, hierarchy, motion (anti-AI-slop) against the built-in rule registry |
native-craft | π₯οΈ Native-feel desktop declaration |
ui-evaluator | β Acceptance β every finding points back to its declaration; blocking ones recirculate |
Commands: design-io (full pipeline) Β· ux-spec (spec only) Β· ui-review (accept only) Β· run-review (cross-run) Β· run-status (phase + resume narration) Β· doctor (install health)
ποΈ Run profiles (P1/P2/P3)
Every run declares a tier in the plan.md run-profile block β process weight stays proportional to change consequence. Upgrades are automatic the moment a correction signal appears; downgrades need the user.
Tier matrix
| Tier | Scope | Gate face |
|---|---|---|
| P1 point-fix | Single-owning-layer point-back repair, no decided-field touch | Registry subset evaluation; R4/R5 (+R2 line) routes |
| P2 standard | In-baseline feature change (new criteria, R/C decisions) | Full predicate evaluation; shaping session + G9/G10 |
| P3 full | Decided-field revision (supersedes), structural re-composition, E-tier decisions | G1-G12 full spectrum + sampling matrix fully executed |
Full matrix and re-entry semantics: docs/specs/ui-ux-vnext/loop-prototype.md.
π Adapters (bundled)
Preview and Evidence MCP runtimes ship inside the main plugin
(packages/design-playbook/mcp/ + .mcp.json with ${CLAUDE_PLUGIN_ROOT}).
Marketplace install registers both tools with no second package; the
orchestrator still probes and skips steps when a host has no MCP tools.
| Adapter | MCP tool | Enables | Notes |
|---|---|---|---|
design-playbook-preview | preview_prototype | preview* human confirm gate (G5) | Bundled; needs system Edge/Chrome for the popup (falls back to default browser) |
design-playbook-evidence | execute_capture_plan | observe* runtime evidence (G6) β needs Playwright + Chromium | Bundled; capture still optional at runtime |
π Install on other agents
npx design-playbook init <agent>
# or: python packages/design-playbook/scripts/generate_adapter.py <agent>
| Tier | Agents | What you get |
|---|---|---|
| Tier 1 (native) | Claude Code, Codex | Full fidelity β skills, commands, MCP, drift-gated snapshots |
| Tier 2 (generated) | Cursor, Gemini CLI, OpenCode, Windsurf, GitHub Copilot | Skills as platform rules + project-level MCP config; commands degrade to prompt docs |
| Tier 3 (floor) | Kiro, Amp, Jules, Qwen Code, and 18 more β npx design-playbook --list | AGENTS.md with orchestrator contract + MCP install guide |
Claude Code is the native surface. Tier-2/3 outputs are generated adapters with honest degradation. Full capability matrix: docs/specs/2026-08-28-multi-platform-adapter.md.
π Stack with ecosystem
Not another style/palette pack β this plugin owns the delivery pipeline, evidence semantics, and acceptance loop, and composes with the rest:
| Package | Use for |
|---|---|
| design-playbook | Baseline? β Reference? β Spec? β plan? β shell β optional preview* β fill β craft β optional observe* β point-back |
| ui-ux-pro-max | Style / palette / type search |
frontend-design | Anti-template visual direction |
| native-feel-skill | Full native-feel depth (WebView, IPC, memory) |
πͺ Honest limits
- Multimodality β understanding screenshot content depends on the host model's vision capability. The plugin only registers images (locator + SHA-256 + metadata); a host without vision rides your text description instead.
- Run Console β planned: a local, single-run console projecting existing run artifacts so an operator can see intent, source verdict, blocker source, and next owner without opening raw files. Not shipped yet, not a cloud Workspace, never a second run-state authority.
- Proof vs. shape β
scripts/validate_run.pymachine-checks the run-artifact shape and the closure trail; it does not claim every future run is automatically high-quality UI. The showcase is a demonstrated pass, not a statistical guarantee.
π License
MIT (authored content). See LICENSE + NOTICE. No rights claimed over any third-party playbook corpus.
Repo layout, maintainer scripts, and the engineering shell live behind the front door: package README Β· docs/agents.
δΈζθ―΄ζ Β· Showcase Β· Releases Β· Workflow



