@hegemonart/get-design-done 1.24.2 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  # GET DESIGN DONE
4
4
 
5
- **English** · [简体中文](README.zh-CN.md)
5
+ **English** · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Italiano](README.it.md) · [Deutsch](README.de.md)
6
6
 
7
- **Agent-orchestrated design pipeline for Claude Code. Five stages, thirty-three specialized agents, twelve tool connections from brief to verified shipping work.**
7
+ **A design-quality pipeline for AI coding agents: brief explore plan implement verify.**
8
8
 
9
- **Solves the "Claude made it look fine but nothing ties together" problem: no design system extraction, no reference grounding, no verification against the brief.**
9
+ **Get Design Done keeps AI-generated UI tied to your brief, your design system, your references, and your quality gates. Works with Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, and Cline.**
10
10
 
11
11
  [![npm version](https://img.shields.io/npm/v/@hegemonart/get-design-done?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@hegemonart/get-design-done)
12
12
  [![npm downloads](https://img.shields.io/npm/dm/@hegemonart/get-design-done?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@hegemonart/get-design-done)
13
- [![GitHub stars](https://img.shields.io/github/stars/hegemonart/get-design-done?style=for-the-badge&logo=github&color=181717)](https://github.com/hegemonart/get-design-done)
14
13
  [![CI](https://img.shields.io/github/actions/workflow/status/hegemonart/get-design-done/ci.yml?branch=main&style=for-the-badge&logo=github&label=CI)](https://github.com/hegemonart/get-design-done/actions/workflows/ci.yml)
14
+ [![GitHub stars](https://img.shields.io/github/stars/hegemonart/get-design-done?style=for-the-badge&logo=github&color=181717)](https://github.com/hegemonart/get-design-done)
15
15
  [![Node](https://img.shields.io/badge/node-22%20%7C%2024-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
16
16
  [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
17
17
 
@@ -21,15 +21,15 @@
21
21
  npx @hegemonart/get-design-done@latest
22
22
  ```
23
23
 
24
- **One command. Works on macOS, Linux, and Windows. Requires Claude Code + Node 22/24.**
24
+ **Works on macOS, Linux, and Windows.**
25
25
 
26
26
  <br>
27
27
 
28
- *"Claude ships code fast. Get Design Done makes sure it ships design."*
28
+ *"AI coding agents ship UI fast. Get Design Done makes sure it ships as design."*
29
29
 
30
30
  <br>
31
31
 
32
- [Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [Headless SDK](#headless-sdk) · [Canvas Tools](#ai-native-canvas-tools) · [Component Generators](#component-generators) · [Commands](#commands) · [Connections](#connections) · [Why It Works](#why-it-works)
32
+ [Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [Commands](#commands) · [Connections](#connections) · [Why It Works](#why-it-works)
33
33
 
34
34
  </div>
35
35
 
@@ -44,91 +44,82 @@ npx @hegemonart/get-design-done@latest
44
44
  > /gdd:handoff ./my-design.html
45
45
  > ```
46
46
  >
47
- > This parses the bundle's CSS custom properties into D-XX design decisions, runs the verification pass with Handoff Faithfulness scoring, and optionally writes implementation status back to Figma. Full format at [`connections/claude-design.md`](connections/claude-design.md).
47
+ > Parses the bundle's CSS custom properties into D-XX design decisions, runs the verification pass with Handoff Faithfulness scoring, and optionally writes implementation status back to Figma.
48
48
 
49
49
  ---
50
50
 
51
51
  ## Why I Built This
52
52
 
53
- I'm a designer who ships with Claude Code. The code-side workflow (GSD, Speckit, BMAD) is mature. The design-side workflow is not.
53
+ I'm a designer who ships with AI coding agents. The code-side workflow is mature: specs, tasks, tests, commits, review loops. The design-side workflow was not.
54
54
 
55
- What I kept running into: Claude happily generates UI, but the output is *disconnected*. Tokens don't match the existing system. Contrast ratios silently drift below WCAG. Hierarchy gets reinvented per screen. Anti-patterns from old stacks leak into new ones. And none of it is caught until the PR review, because nothing verified the output against the original design brief.
55
+ What I kept running into: the agent could generate a screen that looked fine in isolation, but the work was disconnected. Tokens did not match the existing system. Contrast ratios drifted below WCAG. Hierarchy got reinvented per screen. Old anti-patterns leaked into new components. And because nothing verified the output against the original brief, the problems usually surfaced late, in PR review or after handoff.
56
56
 
57
- So I built Get Design Done. Same philosophy as GSD **the complexity is in the system, not in your workflow**. Behind the scenes: thirty-three specialized agents, a queryable intel store, tier-aware model routing, twelve tool connections, and a self-improvement loop that tunes itself from measured telemetry. What you see: a few commands that just work.
57
+ So I built Get Design Done: a design pipeline that gives AI coding agents the same kind of structure developers already expect from engineering workflows. It captures the brief, maps the current design system, grounds decisions in references, decomposes the work into atomic tasks, executes those tasks, and verifies the result before you ship.
58
58
 
59
- The pipeline does the work *and* verifies it. I trust the workflow. It gets design done.
59
+ Behind the scenes: 37 specialized agents, a queryable intel store, tier-aware model routing, 12 optional tool connections, atomic commits, and a no-regret adaptive layer that learns from solidify-with-rollback outcomes. What you use day to day: a few `/gdd:*` commands that keep design work coherent.
60
60
 
61
61
  — **Hegemon**
62
62
 
63
63
  ---
64
64
 
65
- Design-side vibecoding has the same failure mode as code-side vibecoding: describe what you want, AI generates something, it looks plausible, it falls apart at scale because nothing tied the output back to the brief.
65
+ AI-generated design has the same failure mode as AI-generated code: describe what you want, get something plausible, then watch it fall apart at scale because no system tied the output back to the brief.
66
66
 
67
- Get Design Done fixes that. It's the context engineering layer for design work in Claude Code. Capture the brief, inventory the system, ground in real references, decompose into atomic design tasks, verify against the brief then ship.
67
+ Get Design Done is the context engineering layer for design work. It turns "make this UI better" into a traceable cycle: brief inventory references plan implementation verification.
68
68
 
69
69
  ---
70
70
 
71
- ## Who This Is For
72
-
73
- Anyone shipping UI with Claude Code who expects the output to actually hold up — engineers, designers, design-engineers, solo founders. If you care that tokens match, contrast passes WCAG, and the result ties back to what you asked for, this is for you.
74
-
75
- You don't need to be a designer. The pipeline carries the design expertise so you don't have to — it extracts the system, grounds in references, verifies against the brief, and catches the things people usually miss.
76
-
77
- Built-in quality gates catch real problems: Handoff Faithfulness scoring on Claude Design bundles, contrast audits across the full palette × surface matrix, anti-pattern detection from the NNG catalog, dark-mode architecture verification, and motion-system consistency checks.
78
-
79
- ### v1.19.0 Highlights — Full Knowledge Coverage (18 reference files)
80
-
81
- - **Knowledge-layer complete** — The plugin now ships **18 reference files** covering every major design-knowledge domain identified in the 2026-04-18 coverage audit. Agents have authoritative answers on platform conventions, internationalization, research methodology, information architecture, form design, and data visualization — in addition to the foundational knowledge from v1.15.0.
82
- - **7 new Phase 19 references** — `platforms.md` (iOS/Android/web/visionOS/watchOS), `rtl-cjk-cultural.md` (RTL + CJK + cultural color), `onboarding-progressive-disclosure.md`, `user-research.md` (method matrix, A/B, ethics), `information-architecture.md` (nav patterns, tree-test benchmarks), `form-patterns.md` (Wroblewski label research, autocomplete taxonomy, CAPTCHA ethics), `data-visualization.md` (25 chart types, Okabe-Ito palette, dashboard patterns — UUPM MIT).
83
- - **New `type:forms` executor task type** — `design-executor` now has a dedicated 7-step checklist for form audits: label position, validation timing, autocomplete tokens, inputmode hints, password UX, multi-step state, and CAPTCHA compliance.
84
- - **Platform + locale detection in context-builder** — `design-context-builder` now explicitly prompts for locale/RTL/CJK requirements (Area 2) and device targets with platform references (Area 6), ensuring downstream agents receive the full platform context.
71
+ ## What You Get
85
72
 
86
- ### v1.18.0 HighlightsAdvanced Craft References + Motion Vocabulary
73
+ - **Brief-grounded design work** every cycle starts with the problem, audience, constraints, success metrics, and must-haves.
74
+ - **Design-system extraction** — GDD inventories tokens, typography, spacing, components, motion, accessibility, dark mode, and design debt before planning changes.
75
+ - **Reference-backed decisions** — agents use embedded design references plus optional Figma, Refero, Pinterest, Storybook, Chromatic, Preview, Claude Design, paper.design, pencil.dev, Graphify, 21st.dev Magic, and Magic Patterns connections.
76
+ - **Atomic execution** — design tasks are decomposed by dependency, run in safe waves, and committed independently.
77
+ - **Verification before shipping** — audits check brief fit, token integration, WCAG contrast, component conformance, motion consistency, dark-mode architecture, and design anti-patterns.
78
+ - **Rollback on failed validation** — solidify-with-rollback validates each task before it sticks; failed work is automatically reverted.
87
79
 
88
- - **4 advanced craft references** — `variable-fonts-loading.md` (variable axes, font-display trade-offs, WOFF2 subsetting, fallback metric overrides, GRAD axis for dark mode), `image-optimization.md` (WebP/AVIF/JPEG XL matrix, srcset math, LQIP/BlurHash, CDN transforms, image budgets), `css-grid-layout.md` (subgrid, container queries, fluid `clamp()` typography, logical properties, safe areas, anchor positioning), `motion-advanced.md` (spring physics, FLIP, View Transitions API, gesture/drag mechanics, clip-path animations, blur crossfades, Framer Motion hardware-accel gotcha, motion cohesion, next-day review).
89
- - **Motion vocabulary (RN MIT upstream)** — `motion-easings.md` (12 canonical curve presets, `--ease-*` token catalog), `motion-interpolate.md` (input→output range + 4 extrapolation modes: extend/identity/clamp/wrap), `motion-spring.md` (gentle/wobbly/stiff/slow presets with 60fps settle-times). Optional math helpers at `scripts/lib/easings.cjs` and `scripts/lib/spring.cjs`.
90
- - **Transition taxonomy (hyperframes Apache-2.0)** — `motion-transition-taxonomy.md` names 8 controlled families (3d, blur, cover, destruction, dissolve, distortion, grid, light) so motion-mapper output diffs cleanly cycle-over-cycle.
91
- - **Structured motion-map output** — `motion-mapper` now emits a JSON block at the top of `.design/map/motion.md` conforming to `reference/output-contracts/motion-map.schema.json`. Every animation binding declares easing (canonical or custom+justification), transition family, duration class, and trigger type. `scripts/lib/parse-contract.cjs` validates and returns structured data or actionable error.
92
- - **Agent wiring** — `token-mapper` gains easing consolidation (raw `cubic-bezier()` → `--ease-*` token recommendations); `design-executor` reads craft references per task type; `design-auditor` scores gesture patterns and clip-path animations as advanced-craft signal (positive, not a penalty).
93
-
94
- ### v1.15.0 Highlights — Design Knowledge Expansion
95
-
96
- - **10 new foundational references** — `iconography.md`, `performance.md`, `brand-voice.md`, `visual-hierarchy-layout.md`, `gestalt.md`, `design-system-guidance.md`, `design-systems-catalog.md`, `framer-motion-patterns.md`, `palette-catalog.md`, `style-vocabulary.md`. Agents now have authoritative answers on icon sizing, Web Vitals budgets, brand voice axes, Gestalt principles, DS governance, and 40+ industry-vertical color palettes.
97
- - **MIFB micro-polish track** — MIT content from [Jakub Krehel](https://jakub.kr/writing/details-that-make-interfaces-feel-better): new `reference/surfaces.md` (concentric radius, 3-layer shadow), `text-wrap: balance/pretty`, canonical press scale `0.96`, `AnimatePresence initial={false}`, `bounce: 0` icon cross-fade, and 4 new BAN entries. All four mapper agents gain "Micro-polish findings" detection. New 7th audit pillar: **Micro-polish** (5%).
98
- - **UUPM data ingest** — One-shot MIT snapshot from [nextlevelbuilder/ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) v2.5.0: icon metaphor taxonomy, React perf heuristics, 20+ industry verticals, 24 landing-page archetypes, 57 font pairings, 40+ WCAG-verified palettes, 38+ UI aesthetic styles — all rewritten in GDD voice.
99
- - **⚠️ Breaking** — 7th audit pillar changes Anti-Pattern Compliance weight (10%→5%). Cross-cycle score comparisons spanning v1.14.x and v1.15.0 should account for this weight shift.
100
-
101
- ### v1.14.0 Highlights
102
-
103
- - **AI-native canvas tools** — paper.design (MCP canvas read/write, screenshot verification) and pencil.dev (git-tracked `.pen` spec files, no MCP required) complete a full canvas→code→verify→canvas round-trip.
104
- - **Component generators** — 21st.dev Magic MCP adds a prior-art gate before any greenfield build; Magic Patterns generates DS-aware components with a `preview_url` for visual verification. Both feed into a shared `design-component-generator` agent.
105
- - **Twelve tool connections** — Four new connections (paper.design, pencil.dev, 21st.dev, Magic Patterns) join the original eight. All are optional; the pipeline degrades gracefully to fallbacks when any connection is unavailable.
80
+ ---
106
81
 
107
- ## What's New in v1.24.0
82
+ ## Who This Is For
108
83
 
109
- **Multi-runtime installer** (headline upgrade) — `npx @hegemonart/get-design-done` with no flags now opens a polished interactive multi-select (`@clack/prompts`) for all 14 supported AI coding runtimes — Claude Code, OpenCode, Gemini CLI, Kilo Code, OpenAI Codex CLI, GitHub Copilot CLI, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline. Pick any subset, choose Global or Local, confirm, done. Idempotent + foreign-AGENTS.md-safe. Scripted CI installs continue to work via the existing flag surface unchanged. See the [Getting Started](#getting-started) section below.
84
+ GDD is for engineers, designers, design engineers, founders, and product builders who ship UI with AI coding agents and need the result to hold together beyond the first screenshot.
110
85
 
111
- ### Previously in v1.21.0
86
+ Use it when you care that tokens match, contrast passes WCAG, motion feels cohesive, components follow your system, and the final implementation still matches what you asked for.
112
87
 
113
- **Headless SDK** (headline upgrade) the plugin now ships a `gdd-sdk` CLI that runs the full design pipeline without Claude Code. Five subcommands (`run`, `stage`, `query`, `audit`, `init`) work on any CI runner with Node 22+ and an `ANTHROPIC_API_KEY`. See the [Headless SDK](#headless-sdk) section below for examples.
88
+ You do not need to be a designer to benefit from it. The pipeline carries the design discipline into the agent workflow: it extracts context, asks only for missing decisions, grounds the work in references, and catches the issues people usually find too late.
114
89
 
115
- **Parallel researchers** — four new runners execute concurrent specialized agents with a streaming synthesizer: `explore-parallel-runner` (4 mappers: token, component-taxonomy, a11y, visual-hierarchy), `discuss-parallel-runner` (N discussants: user-journey, technical-constraint, brand-fit, accessibility), and `init-runner` (4 researchers for `gdd-sdk init` bootstrap). A `pipeline-runner` state machine orchestrates brief → explore → plan → design → verify with retry-once, halt logic, and human-gate callbacks.
90
+ ### v1.25.0 Highlights Pipeline Hardening
116
91
 
117
- **Cross-harness portability** the plugin runs unchanged on Claude Code, OpenAI Codex CLI, and Gemini CLI. Codex auto-loads [`AGENTS.md`](AGENTS.md); Gemini auto-loads [`GEMINI.md`](GEMINI.md). Tool-name translations live in [`reference/codex-tools.md`](reference/codex-tools.md) and [`reference/gemini-tools.md`](reference/gemini-tools.md). The `gdd-state` MCP server works on all three harnesses.
92
+ Four pipeline gaps surfaced in the post-Phase-24 retrospective land as first-class pipeline citizens. All four are additive no state-machine break, no breaking router contract.
118
93
 
119
- **Session primitives** — `session-runner` (typed wrapper around `@anthropic-ai/claude-agent-sdk` with USD/token budget caps, turn caps, transcript capture), `context-engine` (per-stage file manifest + markdown-aware truncation preserving frontmatter, headings, and first paragraph of each section), `tool-scoping` (per-stage allowed-tools enforcement with per-agent frontmatter overrides), and a structured `logger` (leveled, JSONL in headless mode, ANSI-colored in interactive mode).
94
+ - **Prototype gate** — sketches and spikes become read/write members of the decision graph. New `prototype-gate` Haiku agent emits a recommend/skip verdict at two firing points (post-explore for sketches, post-plan for spikes); `sketch-wrap-up` and `spike-wrap-up` close the loop with a coupled D-XX + `<prototyping>` outcome write. The `decision-injector` surfaces top-N prior outcomes when downstream agents read planning files. STATE.md gains a `<prototyping>` block round-trips byte-identically through the parser/serializer.
95
+ - **S/M/L/XL complexity buckets** — router heuristic table refined from 3 to 4 tiers so telemetry distinguishes trivial from full-pipeline. JSON output now carries `complexity_class` (`S | M | L | XL`) next to the existing `path` (`fast | quick | full`) — strict superset, no breaking change for existing consumers. Canonical mapping: `/gdd:help`→S (short-circuit), `/gdd:scan`→M, standalone `/gdd:plan`→L, `/gdd:next` autonomous flow→XL. Budget enforcer reads class-specific caps from `.design/budget.json#class_caps_usd` when present.
96
+ - **Quality gate (Stage 4.5)** — new lint/typecheck/test/visual-regression gate sits between `/gdd:design` and `/gdd:verify`. Detects commands automatically from `package.json#scripts` (or honors `.design/config.json#quality_gate.commands` when declared); excludes `test:e2e` for speed. Bounded fix loop (default `max_iters: 3`) reuses `design-fixer`. Timeout warns and proceeds (non-blocking on slow suites); failures mark STATE `<quality_gate>` block status=fail and verify entry refuses. Six lifecycle events emitted to `events.jsonl`.
97
+ - **Turn closeout (Stop hook)** — new `gdd-turn-closeout.js` Stop hook fires when the assistant turn ends. Reads STATE.md + tails events.jsonl; if mid-pipeline and the last event is stale, appends a `turn_end` event and surfaces a stage-completion or paused-mid-task nudge. ≤10ms typical latency budget. Portable Skill mirror at `skills/turn-closeout/SKILL.md` covers the 13 non-Claude runtimes that lack a Stop hook surface.
120
98
 
121
- **E2E headless integration test** — `tests/e2e-headless.test.ts` with a dry-run variant (always runs) and a live variant gated on `ANTHROPIC_API_KEY`. CI gains an `e2e-headless` job.
99
+ ### Previous releases
122
100
 
123
- ### Previously in v1.20.0
101
+ - **v1.24.0** Multi-Runtime Installer (`@clack/prompts` interactive multi-select for all 14 runtimes, idempotent + foreign-AGENTS.md-safe, scripted CI surface preserved 1:1).
102
+ - **v1.23.5** — No-Regret Adaptive Layer (Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank; single-user via informed-prior bootstrap, no opt-in telemetry).
103
+ - **v1.23.0** — SDK Domain Primitives (solidify-with-rollback gate, JSON output contracts, auto-crystallization of `Touches:` patterns).
104
+ - **v1.22.0** — SDK Observability (~24 typed event types, per-tool-call trajectory, append-only event chain, secret scrubber).
105
+ - **v1.21.0** — Headless SDK (`gdd-sdk` CLI runs full pipeline without Claude Code, parallel researchers, cross-harness MCP).
106
+ - **v1.20.0** — SDK Foundation (resilience primitives, lockfile-safe `STATE.md`, `gdd-state` MCP server with 11 typed tools, TypeScript foundation).
124
107
 
125
- **Resilience primitives** the pipeline survives Anthropic API rate limits, 429 responses, and context-overflow errors without manual restart. Modules: jittered backoff, rate-guard, error-classifier, iteration-budget. See [`reference/error-recovery.md`](reference/error-recovery.md).
108
+ For full release notes see [CHANGELOG.md](CHANGELOG.md).
126
109
 
127
- **Typed state core** — `.design/STATE.md` mutations are lockfile-safe. Parallel executors concurrently update `task_progress` and `<blockers>` on the same file with zero corruption (validated by 4-way race-condition test, 2000 concurrent ops, <60s).
110
+ ---
128
111
 
129
- **`gdd-state` MCP server** — 11 typed tools (`gdd_state__get`, `__update_progress`, `__transition_stage`, `__add_blocker`, `__resolve_blocker`, `__add_decision`, `__add_must_have`, `__set_status`, `__checkpoint`, `__probe_connections`, `__frontmatter_update`) replace ad-hoc STATE.md edits. Every mutation emits a typed event to `.design/telemetry/events.jsonl`.
112
+ <p align="center">
113
+ <strong>Supported by</strong>
114
+ </p>
130
115
 
131
- **TypeScript foundation** — `tsc --noEmit` typechecks the whole SDK; JSON schemas codegen to `reference/schemas/generated.d.ts`; hooks + Tier-1 scripts migrated to `.ts` and executed directly via Node 22 `--experimental-strip-types`.
116
+ <div align="center">
117
+ <a href="https://www.humbleteam.com/" aria-label="Humbleteam">
118
+ <img src="docs/assets/sponsors/humbleteam.svg" alt="Humbleteam logo" width="180">
119
+ </a>
120
+ <br>
121
+ <sub>Product design partner for ambitious startups and AI products.</sub>
122
+ </div>
132
123
 
133
124
  ---
134
125
 
@@ -138,103 +129,98 @@ Built-in quality gates catch real problems: Handoff Faithfulness scoring on Clau
138
129
  npx @hegemonart/get-design-done@latest
139
130
  ```
140
131
 
141
- In a TTY this opens a polished interactive multi-select (`@clack/prompts`) pick which AI runtimes to install into and whether to install Globally or Locally. Press `[a]` to select all 14 supported runtimes at once. In non-TTY contexts (CI, pipes), the same command falls back to `--claude --global` for full backwards compatibility with v1.23.5 and earlier.
142
-
143
- After install, restart the affected runtime(s) (or run `/reload-plugins` for Claude Code) and the pipeline is live.
132
+ The installer prompts you to choose:
133
+ 1. **Runtime** — Claude Code, OpenCode, Gemini, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline, or all (interactive multi-select — pick multiple runtimes in a single session)
134
+ 2. **Location** Global (all projects) or local (current project only)
144
135
 
145
- **Supported runtimes** *(v1.24.0+)*
136
+ Verify with:
146
137
 
147
- Claude Code, OpenCode, Gemini CLI, Kilo Code, OpenAI Codex CLI, GitHub Copilot CLI, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline.
138
+ ```
139
+ /gdd:help
140
+ ```
148
141
 
149
- Claude Code uses marketplace registration (`extraKnownMarketplaces` + `enabledPlugins` in `settings.json`); the other 13 runtimes follow the AGENTS.md / GEMINI.md convention — the installer drops a fingerprinted instructions file in the runtime's config dir (and refuses to overwrite an existing AGENTS.md it didn't author).
142
+ > [!TIP]
143
+ > Run Claude Code with `--dangerously-skip-permissions` for a frictionless experience. GDD is designed for autonomous multi-stage execution — approving each Read and `git commit` defeats the purpose.
150
144
 
151
- **What the installer does**
145
+ ### Staying Updated
152
146
 
153
- - For Claude Code: registers the `github:hegemonart/get-design-done` marketplace in `extraKnownMarketplaces` and flips `enabledPlugins["get-design-done@get-design-done"]` to `true`.
154
- - For AGENTS.md runtimes: drops a fingerprinted `AGENTS.md` (or `GEMINI.md`) in the runtime's config dir.
155
- - Preserves every other key in your settings — theme, permissions, other marketplaces — untouched.
156
- - Idempotent: safe to re-run; no duplicate entries; foreign AGENTS.md files are never overwritten.
147
+ GDD ships often. Update by re-running the installer (it's idempotent updates registered marketplace entries in place):
157
148
 
158
- On first Claude Code launch after install, a `SessionStart` bootstrap hook provisions the companion reference library `~/.claude/libs/awesome-design-md` (idempotent — subsequent sessions run `git pull --ff-only`).
149
+ ```bash
150
+ npx @hegemonart/get-design-done@latest
151
+ ```
159
152
 
160
- ### First run `/gdd:start` *(v1.14.7+)*
153
+ Or from inside Claude Code:
161
154
 
162
155
  ```
163
- /gdd:start
156
+ /gdd:update
164
157
  ```
165
158
 
166
- Run this once in any frontend repo. The skill asks five short questions, scans your `components/` directory (with framework-aware fallback for `src/components/`, `app/components/`, `packages/ui/`, `apps/*/components/`), and writes `.design/START-REPORT.md` with three concrete findings each with file:line evidence plus one `best_first_proof` and a single suggested next command. Takes ≤5 minutes, never touches source code, and never enters the pipeline state machine.
159
+ `/gdd:update` previews the changelog before applying. Local modifications under `reference/` are preserved if a structural update needs re-stitching, run `/gdd:reapply-patches`. When a new release lands, the SessionStart hook prints a one-line banner gated by state-machine logic so it never interrupts a running stage.
167
160
 
168
- A one-line SessionStart nudge surfaces `/gdd:start` in fresh repos; run `/gdd:start --dismiss-nudge` to silence it per install.
169
-
170
- ### Non-interactive install (CI, Docker, scripts)
161
+ <details>
162
+ <summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
171
163
 
172
164
  ```bash
173
- # Dry-run: print the diff, don't write (Claude Code only by default)
174
- npx @hegemonart/get-design-done@latest --dry-run
175
-
176
- # Custom config dir (Docker, non-default Claude root)
177
- CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done@latest
178
-
179
- # Pick specific runtimes (any flag → scripted, no prompts)
180
- npx @hegemonart/get-design-done@latest --claude --opencode --gemini
165
+ # Claude Code
166
+ npx @hegemonart/get-design-done --claude --global # Install to ~/.claude/
167
+ npx @hegemonart/get-design-done --claude --local # Install to ./.claude/
181
168
 
182
- # Install into every supported runtime
183
- npx @hegemonart/get-design-done@latest --all
169
+ # OpenCode
170
+ npx @hegemonart/get-design-done --opencode --global # Install to ~/.config/opencode/
184
171
 
185
- # Local install (drops files into the current working directory)
186
- npx @hegemonart/get-design-done@latest --opencode --local
172
+ # Gemini CLI
173
+ npx @hegemonart/get-design-done --gemini --global # Install to ~/.gemini/
187
174
 
188
- # Uninstall — bare flag enters interactive multi-select of detected runtimes
189
- npx @hegemonart/get-design-done@latest --uninstall
175
+ # Kilo
176
+ npx @hegemonart/get-design-done --kilo --global # Install to ~/.kilo/
190
177
 
191
- # Uninstall scripted (no prompt)
192
- npx @hegemonart/get-design-done@latest --uninstall --claude --gemini
193
- ```
194
-
195
- Per-runtime env-var overrides: `CLAUDE_CONFIG_DIR`, `OPENCODE_CONFIG_DIR`, `GEMINI_CONFIG_DIR`, `CODEX_HOME`, `CURSOR_CONFIG_DIR`, `KILO_CONFIG_DIR`, `COPILOT_CONFIG_DIR`, `WINDSURF_CONFIG_DIR`, `ANTIGRAVITY_CONFIG_DIR`, `AUGMENT_CONFIG_DIR`, `TRAE_CONFIG_DIR`, `QWEN_CONFIG_DIR`, `CODEBUDDY_CONFIG_DIR`, `CLINE_CONFIG_DIR`. Each falls back to `$HOME / $USERPROFILE` joined with the runtime's default subdirectory (e.g. `~/.claude`, `~/.gemini`, `~/.config/opencode`).
178
+ # Codex
179
+ npx @hegemonart/get-design-done --codex --global # Install to ~/.codex/
196
180
 
197
- ### Alternative: Claude Code CLI
181
+ # Copilot
182
+ npx @hegemonart/get-design-done --copilot --global # Install to ~/.copilot/
198
183
 
199
- Prefer to skip the npm package entirely? Use the native plugin CLI:
184
+ # Cursor
185
+ npx @hegemonart/get-design-done --cursor --global # Install to ~/.cursor/
200
186
 
201
- ```bash
202
- claude plugin marketplace add hegemonart/get-design-done
203
- claude plugin install get-design-done@get-design-done
204
- ```
187
+ # Windsurf, Antigravity, Augment, Trae, Qwen, CodeBuddy, Cline
188
+ npx @hegemonart/get-design-done --windsurf --global
189
+ npx @hegemonart/get-design-done --antigravity --global
190
+ npx @hegemonart/get-design-done --augment --global
191
+ npx @hegemonart/get-design-done --trae --global
192
+ npx @hegemonart/get-design-done --qwen --global
193
+ npx @hegemonart/get-design-done --codebuddy --global
194
+ npx @hegemonart/get-design-done --cline --global
205
195
 
206
- This is what the installer wires up for you — `npx` is just one command instead of two.
196
+ # All runtimes
197
+ npx @hegemonart/get-design-done --all --global
207
198
 
208
- Verify any install path with:
199
+ # Dry run (print diff, write nothing)
200
+ npx @hegemonart/get-design-done --dry-run
209
201
 
202
+ # Custom config dir (Docker, non-default Claude root)
203
+ CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
210
204
  ```
211
- /gdd:help
212
- ```
213
-
214
- > [!TIP]
215
- > Run Claude Code with `--dangerously-skip-permissions` for the intended frictionless flow. GDD is built for autonomous multi-stage execution; approving every file read and `git commit` defeats the purpose.
216
205
 
217
- ### Staying Updated
206
+ </details>
218
207
 
219
- Get Design Done ships frequent patch releases. To pick up the latest plugin contract, run the installer again — it's idempotent and upgrades the registered marketplace entry in place:
208
+ <details>
209
+ <summary><strong>Alternative: Claude Code CLI</strong></summary>
220
210
 
221
211
  ```bash
222
- npx @hegemonart/get-design-done@latest
212
+ claude plugin marketplace add hegemonart/get-design-done
213
+ claude plugin install get-design-done@get-design-done
223
214
  ```
224
215
 
225
- Or from inside Claude Code:
226
-
227
- ```
228
- /gdd:update
229
- ```
216
+ This is what the npx installer does for you — `npx` just collapses two commands into one.
230
217
 
231
- `/gdd:update` previews the changelog before applying. Local customizations in `reference/` are preserved — use `/gdd:reapply-patches` if they need re-stitching after a structural release. A `SessionStart` hook surfaces a one-line banner when a newer release is available, gated so it never interrupts an active pipeline stage.
218
+ </details>
232
219
 
233
- ---
234
220
 
235
221
  ## How It Works
236
222
 
237
- > **New to the codebase?** Run `/gdd:map` first. It spawns 5 parallel specialist mappers (tokens, components, visual hierarchy, a11y, motion) and writes `.design/map/` — rich structured data the Explore stage consumes, much better than the grep-based fallback.
223
+ > **New to an existing codebase?** Run `/gdd:map` first. It dispatches 5 specialist mappers in parallel (tokens, components, visual hierarchy, a11y, motion) and writes structured JSON to `.design/map/` — much higher signal than the grep-based fallback in Explore.
238
224
 
239
225
  ### 1. Brief
240
226
 
@@ -242,15 +228,7 @@ Or from inside Claude Code:
242
228
  /gdd:brief
243
229
  ```
244
230
 
245
- One command captures the design problem before any scanning or exploration. The skill asks five questions via `AskUserQuestion` one at a time, only for unanswered sections:
246
-
247
- 1. **Problem** — The user-facing outcome you're solving
248
- 2. **Audience** — Primary user, device, context
249
- 3. **Constraints** — Tech stack, brand, time, a11y requirements
250
- 4. **Success Metrics** — How you'll know it worked
251
- 5. **Scope** — What's in, what's out
252
-
253
- You approve the brief. Now the rest of the pipeline has something to verify against.
231
+ Captures the design problem before any scanning or exploration. The skill interviews via `AskUserQuestion`, one question at a time, only for unanswered sections: problem, audience, constraints, success metrics, scope.
254
232
 
255
233
  **Creates:** `.design/BRIEF.md`
256
234
 
@@ -262,17 +240,9 @@ You approve the brief. Now the rest of the pipeline has something to verify agai
262
240
  /gdd:explore
263
241
  ```
264
242
 
265
- **Unified inventory + interview.** (The old `scan` and `discover` commands are deprecated aliases that route here.)
266
-
267
- The skill probes all twelve connection slots (Figma, Refero, Pinterest, Preview, Storybook, Chromatic, Graphify, Claude Design, paper.design, pencil.dev, 21st.dev, Magic Patterns), then:
243
+ Inventories the current codebase's design system: colors, typography, spacing, components, motion, a11y, dark-mode. Five parallel mappers + a `design-discussant` interview produce three artifacts. Connection probes detect Figma, Refero, Storybook, Chromatic, Preview, Pinterest, Claude Design, paper.design, pencil.dev, Graphify, 21st.dev Magic, and Magic Patterns availability.
268
244
 
269
- 1. **Inventory scan** If `.design/map/` exists and is fresher than `src/`, consumes the structured map output. Otherwise runs a grep-based inventory pass
270
- 2. **Design interview** — Spawns `design-discussant`, which runs an adaptive interview grounded in the brief and what it found in the code
271
- 3. **Baseline audit** — Writes `DESIGN.md` (current state), `DESIGN-DEBT.md` (known gaps), and `DESIGN-CONTEXT.md` (decisions + architectural responsibility map + Mermaid flow diagram)
272
-
273
- The deeper you engage in the interview, the more the downstream planner and executors build *your* vision rather than reasonable defaults.
274
-
275
- **Creates:** `DESIGN.md`, `DESIGN-DEBT.md`, `DESIGN-CONTEXT.md`
245
+ **Creates:** `.design/DESIGN.md`, `.design/DESIGN-DEBT.md`, `.design/DESIGN-CONTEXT.md`, `.design/map/{tokens,components,a11y,motion,visual-hierarchy}.{md,json}`
276
246
 
277
247
  ---
278
248
 
@@ -282,15 +252,9 @@ The deeper you engage in the interview, the more the downstream planner and exec
282
252
  /gdd:plan
283
253
  ```
284
254
 
285
- The skill:
286
-
287
- 1. **Researches** — `design-phase-researcher` investigates how to implement, guided by `DESIGN-CONTEXT.md` decisions. Consults Graphify knowledge graph when available, so dependency queries are O(1) instead of grep-based guessing
288
- 2. **Plans** — `design-planner` decomposes into atomic tasks, annotates with Chromatic change-risk and Storybook component fan-out
289
- 3. **Verifies** — `design-plan-checker` validates the plan against the brief and context, loops until it passes
290
-
291
- Each task is small enough to execute in a fresh context window. No degradation, no abbreviated outputs.
255
+ Decomposes Explore output into atomic, wave-coordinated, dependency-analyzed design tasks. Each task carries explicit `Touches:` paths, parallel-safety tags, and acceptance criteria. `design-planner` (opus) authors; `design-plan-checker` (haiku) gate-checks against the brief goal before execution.
292
256
 
293
- **Creates:** `DESIGN-PLAN.md`
257
+ **Creates:** `.design/DESIGN-PLAN.md`
294
258
 
295
259
  ---
296
260
 
@@ -300,16 +264,28 @@ Each task is small enough to execute in a fresh context window. No degradation,
300
264
  /gdd:design
301
265
  ```
302
266
 
303
- The skill runs the plan. For each task:
267
+ Executes plan tasks in waves. Each task gets a dedicated `design-executor` agent with a fresh 200k context, atomic git commit, and automatic deviation handling per in-context rules. Parallel-safe tasks run in worktrees.
304
268
 
305
- 1. **Fresh context per task** Full context budget for implementation, zero accumulated garbage
306
- 2. **Tier-aware routing** — Each agent carries a `default-tier` frontmatter field (haiku/sonnet/opus); the router + `budget.json` override determine actual tier per spawn. Cheap work runs on Haiku; precise work on Opus
307
- 3. **Atomic commits per task** — Every task gets its own commit, keeping git history surgical
308
- 4. **Streaming synthesizer** — Parallel-agent outputs collapse through a single Haiku call before returning to main context, so the orchestrator stays cache-aligned
269
+ **Solidify-with-rollback** (v1.23.0) every task validates (typecheck + build + targeted test) before locking in. Validation fails → `git stash` revert. Each task is atomic commit-or-revert.
309
270
 
310
- Walk away, come back to completed work with a clean commit history.
271
+ **Creates:** `.design/tasks/task-NN.md` per task, atomic git commit per task
311
272
 
312
- **Creates:** `DESIGN-SUMMARY.md`, plus per-task commits
273
+ ```
274
+ ┌────────────────────────────────────────────────────────────────────┐
275
+ │ WAVE EXECUTION │
276
+ ├────────────────────────────────────────────────────────────────────┤
277
+ │ │
278
+ │ WAVE 1 (parallel) WAVE 2 (parallel) WAVE 3 │
279
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
280
+ │ │ Task 01 │ │ Task 02 │ → │ Task 03 │ │ Task 04 │ → │ Task 05 │ │
281
+ │ │ tokens │ │ a11y │ │ button │ │ form │ │ verify │ │
282
+ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
283
+ │ │ │ ↑ ↑ ↑ │
284
+ │ └───────────┴──────────────┴───────────┴──────────────┘ │
285
+ │ Touches: paths drive dependency analysis │
286
+ │ │
287
+ └────────────────────────────────────────────────────────────────────┘
288
+ ```
313
289
 
314
290
  ---
315
291
 
@@ -319,556 +295,289 @@ Walk away, come back to completed work with a clean commit history.
319
295
  /gdd:verify
320
296
  ```
321
297
 
322
- **This is where the pipeline proves the output matches the brief.**
323
-
324
- The skill spawns four agents in sequence, each with cheap-gate precursors:
325
-
326
- 1. **`design-verifier`** — Scores output against brief + context + plan. Runs visual verification via Preview (Playwright screenshots) when available, plus Chromatic delta narration on the visual regression diff
327
- 2. **`design-auditor`** — Runs the NNG heuristic sweep, WCAG contrast pass across the full palette × surface matrix, typography system audit, motion framework audit, and anti-pattern detector
328
- 3. **`design-integration-checker`** — Cross-file consistency: token naming, component taxonomy, visual hierarchy, a11y labels
329
- 4. **`design-fixer`** — Proposes fixes for each gap, scoped and prioritized
298
+ Verifies against the brief must-haves, NN/g heuristics, audit rubric, token integration. Three agents run in sequence: `design-auditor` (6-pillar 1–4 score), `design-verifier` (goal-backward), `design-integration-checker` (greps D-XX decisions back to code). On failures, produces a structured gap list and enters a verify→fix loop via `design-fixer`.
330
299
 
331
- If handoff mode (`/gdd:verify --post-handoff` or `/gdd:handoff <bundle>`), an additional **Handoff Faithfulness** section scores color / typography / spacing / component-structure adherence with PASS/WARN/FAIL thresholds.
332
-
333
- **Creates:** `DESIGN-VERIFICATION.md`
300
+ **Creates:** `.design/DESIGN-VERIFICATION.md`, gap-fix commits if issues found
334
301
 
335
302
  ---
336
303
 
337
304
  ### 6. Ship → Reflect → Next Cycle
338
305
 
339
306
  ```
340
- /gdd:ship # Clean PR branch + gh pr create
341
- /gdd:reflect # Post-cycle improvement proposals
342
- /gdd:apply-reflections # Review + selectively apply proposals
343
- /gdd:complete-cycle # Archive cycle to .design/archive/cycle-N/
344
- /gdd:new-cycle # Start next cycle with fresh STATE.md
307
+ /gdd:ship # Generate clean PR branch (filters .design/ commits)
308
+ /gdd:reflect # design-reflector reads telemetry + learnings
309
+ /gdd:apply-reflections # Review and selectively apply reflector proposals
310
+ /gdd:complete-cycle # Archive cycle artifacts, write EXPERIENCE.md
311
+ /gdd:new-cycle # Open a new design cycle
345
312
  ```
346
313
 
347
- Or let the router figure out the next step:
314
+ Or auto-route:
348
315
 
349
316
  ```
350
317
  /gdd:next # Auto-detect state and run the next step
351
318
  ```
352
319
 
353
- Loop **brief explore plan design verify → ship** per cycle. Each cycle reflects on itself and proposes improvements to the system frontmatter estimates, tier assignments, reference additions, budget caps, question pruning, global-skill promotion. You decide what to accept.
320
+ Each cycle gets a brief, scan, plan, execution, verification, and a per-cycle `EXPERIENCE.md` (~100–200 lines: Goal / Decisions made / Learnings graduated / What died / Handoff to next cycle) that becomes the highest-priority source for the decision-injector hook.
354
321
 
355
322
  ---
356
323
 
357
- ### Standalone commands (no pipeline init required)
324
+ ### Fast Mode
358
325
 
359
326
  ```
360
- /gdd:handoff <bundle.html> # Skip explore/plan, route direct to verify
361
- /gdd:style Button # Generate component handoff doc
362
- /gdd:darkmode # Audit dark mode architecture + contrast
363
- /gdd:compare # Delta between baseline and verification
364
- /gdd:sketch # Multi-variant HTML exploration
365
- /gdd:spike # Timeboxed feasibility experiment
366
- /gdd:figma-write <mode> # Write decisions back to Figma
367
- /gdd:graphify <subcommand> # Manage Graphify knowledge graph
327
+ /gdd:fast "<task>"
368
328
  ```
369
329
 
370
- ---
371
-
372
- ## Why It Works
373
-
374
- ### Context Engineering
375
-
376
- Claude Code does great design work *if* you give it the context it needs. Most workflows don't. GDD handles the context layer for you:
377
-
378
- | File | What it does |
379
- |------|--------------|
380
- | `.design/BRIEF.md` | Problem, audience, constraints, metrics, scope — the verification target |
381
- | `.design/DESIGN.md` | Current-state inventory: tokens, components, hierarchy, a11y, motion |
382
- | `.design/DESIGN-DEBT.md` | Known gaps and technical-design debt |
383
- | `.design/DESIGN-CONTEXT.md` | D-XX decisions, architectural responsibility map, Mermaid flow diagram |
384
- | `.design/DESIGN-PLAN.md` | Atomic tasks with Touches:, Chromatic risk, Storybook fan-out |
385
- | `.design/DESIGN-SUMMARY.md` | What happened per task, committed to history |
386
- | `.design/DESIGN-VERIFICATION.md` | Scored audit against brief + context + plan |
387
- | `.design/STATE.md` | Position, connections, handoff source, decisions — memory across sessions |
388
- | `.design/intel/` | 10 queryable JSON slices: files, exports, symbols, tokens, components, patterns, dependencies, decisions, debt, cross-reference graph |
389
- | `.design/CYCLES.md` | Cycle lifecycle + archived cycles in `.design/archive/` |
390
-
391
- Size budgets are tiered per agent (XXL: 700, XL: 500, Large: 300, Default: 200 lines). Stay under, get consistent output. The `agent-size-budget` CI job blocks violations.
392
-
393
- ### 33 Specialized Agents
394
-
395
- Every stage uses the same pattern: a thin orchestrator skill spawns specialized agents, collects results, routes to the next step.
396
-
397
- | Stage | Orchestrator does | Agents do |
398
- |-------|------------------|-----------|
399
- | Brief | Runs interview, writes BRIEF.md | — |
400
- | Map | Coordinates parallel spawn | 5 mappers investigate tokens, components, visual hierarchy, a11y, motion |
401
- | Explore | Probes connections, runs inventory | `design-context-builder` + `design-context-checker` gate → full checker |
402
- | Plan | Validates, manages iteration | `design-phase-researcher`, `design-planner`, `design-plan-checker` loop |
403
- | Design | Dispatches tasks | `design-executor` per task, streaming-synthesizer merge |
404
- | Verify | Presents results, routes fixes | `design-verifier`, `design-auditor`, `design-integration-checker`, `design-fixer` (each with cheap Haiku gate precursor) |
405
- | Post-cycle | Review proposals | `design-reflector` reads telemetry + learnings, proposes improvements |
406
-
407
- All agents carry `default-tier: haiku|sonnet|opus` + `tier-rationale` in frontmatter. Every agent opens with `@reference/shared-preamble.md` so the first agent in a session pays full cost and the rest ride Anthropic's 5-minute prompt cache.
330
+ For trivial single-file fixes that don't need the full pipeline. Skips the router, cache-manager, and telemetry. Same atomic-commit guarantees.
408
331
 
409
- ### 12 Tool Connections
410
-
411
- Every connection is optional. The pipeline degrades gracefully — a grep-based fallback exists for every missing tool.
412
-
413
- | Connection | Type | Purpose |
414
- |-----------|------|---------|
415
- | Figma | MCP (auto-detects any `/figma/i` server — remote or desktop) | Token extraction, design context pre-population, write-back via `use_figma` (remote only; annotate, tokenize, Code Connect) |
416
- | Refero | MCP (`mcp__refero__*`) | Reference design search during exploration |
417
- | Pinterest | MCP (`mcp__mcp-pinterest__*`) | Visual inspiration boards alongside Refero |
418
- | Preview (Playwright) | MCP (`mcp__Claude_Preview__*`) | Live page screenshots for visual verification |
419
- | Storybook | HTTP (`localhost:6006`) | Component inventory, a11y per story, story stubs |
420
- | Chromatic | CLI (`npx chromatic`) | Visual regression delta narration and change-risk scoping |
421
- | Graphify | CLI (`graphify`) | Knowledge graph: component↔token↔decision relationships |
422
- | Claude Design | Bundle adapter | Parse HTML export → D-XX decisions, Handoff Faithfulness scoring |
423
- | paper.design | MCP (`mcp__paper-design__*`) | Canvas read/write, component tree + computed styles, screenshot verification |
424
- | pencil.dev | File (`.pen` YAML) | Git-tracked design specs; no MCP — pipeline reads and writes `.pen` files directly |
425
- | 21st.dev Magic MCP | MCP + CLI | Prior-art gate before greenfield builds; component search + generation; SVGL brand logos |
426
- | Magic Patterns | MCP / API key | DS-aware component generation; `preview_url` feeds visual verification |
427
-
428
- See [`connections/connections.md`](connections/connections.md) for the full index and capability matrix.
429
-
430
- ### Atomic Git Commits
431
-
432
- Each task gets its own commit immediately after completion:
433
-
434
- ```bash
435
- abc123f docs(cycle-1): DESIGN-CONTEXT.md decisions locked
436
- def456g feat(cycle-1): unify button tokens across surfaces
437
- hij789k feat(cycle-1): fix dark-mode contrast on CardMuted
438
- lmn012o feat(cycle-1): motion tokens for modal presentation
439
332
  ```
440
-
441
- > [!NOTE]
442
- > **Benefits:** `git bisect` finds the exact task that broke contrast. Each task is independently revertable via `/gdd:undo`. Clear history for Claude in future sessions. `/gdd:pr-branch` strips `.design/` and `.planning/` commits for a clean code-review branch.
443
-
444
- ### Self-Improvement
445
-
446
- After each design cycle, `/gdd:reflect` reads `.design/learnings/`, `.design/telemetry/costs.jsonl`, and `.design/agent-metrics.json` and proposes concrete improvements:
447
-
448
- - **Frontmatter updates** — agent duration estimates and tier assignments from measured data
449
- - **Reference additions** — anti-patterns and heuristics that appeared ≥3 cycles
450
- - **Budget adjustments** — cost caps tuned from actual spend patterns
451
- - **Question pruning** — discussant questions that consistently got low-value answers
452
- - **Global skill promotion** — project findings promoted to `~/.claude/gdd/global-skills/` for cross-project use
453
-
454
- **Nothing auto-applies.** Every proposal requires explicit review via `/gdd:apply-reflections` — diff, accept, skip, or edit each one. The discipline mirrors the `design-figma-writer` proposal→confirm pattern.
455
-
456
- ---
457
-
458
- ## Component Benchmark Corpus
459
-
460
- Per-component design specifications harvested from 18 major design systems and synthesized into a locked, agent-consumable format. Every spec is ≤350 lines, greppable, diff-friendly, and cross-linked to `reference/anti-patterns.md`.
461
-
462
- **Wave 1 — Inputs (v1.16.0)**: Button · Input · Select/Combobox · Checkbox · Radio · Switch · Link · Label
463
-
464
- **Wave 2 — Containers (v1.16.0)**: Card · Modal/Dialog · Drawer/Sheet · Popover · Tooltip · Accordion · Tabs
465
-
466
- **Wave 3 — Feedback (v1.17.0)**: Toast · Alert · Progress · Skeleton · Badge · Chip
467
-
468
- **Wave 4 — Navigation & Data (v1.17.0)**: Menu · Navbar · Sidebar · Breadcrumbs · Pagination · Table · List · Tree · Command-palette
469
-
470
- **Wave 5 — Advanced (v1.17.0)**: Date-picker · Slider · File-upload · Rich-text editor · Stepper
471
-
472
- **Total: 35 specs** across 5 waves. Each spec: WAI-ARIA keyboard contracts (verbatim), NORM/DIVERGE convergence analysis, grep signatures for `design-auditor` conformance scoring, and a failing-example block.
473
-
474
- **Pipeline integration (v1.17.0):**
475
- - `design-auditor` — detects component implementations via grep signatures, scores conformance against specs, emits Component Conformance addendum
476
- - `design-executor` — reads matching spec as pre-flight contract for `type:components` tasks
477
- - `design-doc-writer` — scaffolds handoff docs from spec anatomy/variants when a benchmark spec exists
478
- - `design-pattern-mapper` — writes `.design/map/component-convergence.md` (matched/absent components + convergence %)
479
-
480
- ```bash
481
- /gdd:benchmark button # harvest + synthesize a single spec
482
- /gdd:benchmark --wave 1 # run all Wave 1 specs
483
- /gdd:benchmark --list # coverage table
484
- /gdd:benchmark --refresh modal-dialog # re-harvest after design-system update
333
+ /gdd:quick
485
334
  ```
486
335
 
487
- Sources: `connections/design-corpora.md` Material 3, Apple HIG, Radix, WAI-ARIA APG, shadcn/ui, Polaris, Carbon, Fluent 2, Primer, Atlassian, Ant Design, Mantine, Chakra, Base Web, Nord, Spectrum, Lightning, Gestalt (Pinterest).
336
+ For ad-hoc tasks that need GSD-style guarantees but skip optional gates (no phase-researcher, no assumptions analyzer, no integration-checker). Faster than the full pipeline; safer than `/gdd:fast`.
488
337
 
489
338
  ---
490
339
 
491
- ## Authority Watcher
492
-
493
- Subscribe to a curated whitelist of design-authority sources, diff it against a snapshot, and feed only genuinely new, classified entries into the Self-Improvement reflector. Authority monitoring — not trend watching.
494
-
495
- ```bash
496
- # On-demand diff + classify
497
- /gdd:watch-authorities
498
-
499
- # Force re-seed the snapshot (recovery for a corrupted snapshot)
500
- /gdd:watch-authorities --refresh
501
-
502
- # Surface backlog since a specific date
503
- /gdd:watch-authorities --since 2026-01-01
504
-
505
- # Limit to a single feed (debugging)
506
- /gdd:watch-authorities --feed wai-aria-apg
507
-
508
- # Schedule recurring runs (requires the scheduled-tasks MCP)
509
- /gdd:watch-authorities --schedule weekly
510
- ```
511
-
512
- ### What the whitelist covers
513
-
514
- See [`reference/authority-feeds.md`](reference/authority-feeds.md). 26 curated feeds grouped by kind:
515
-
516
- - **Spec sources** — WAI-ARIA APG, Material 3, Apple HIG, Fluent 2, W3C Design Tokens CG
517
- - **Component systems** — Radix, shadcn/ui, Polaris, Carbon, Primer, Atlassian, Ant, Mantine
518
- - **Research institutions** — Nielsen Norman Group, Laws of UX, Baymard
519
- - **Named practitioners** — 10 writers filtered for spec-adjacent, durable, original analysis
520
- - **User-added Are.na channels** — extensibility point; add your own via a PR to the Are.na section, no config file or schema editing required
521
-
522
- ### What is explicitly rejected
340
+ ## Why It Works
523
341
 
524
- No Dribbble. No Behance. No LinkedIn. No generic "trending" aggregators. See `reference/authority-feeds.md` §"Rejected kinds" — the exclusions are CI-enforced, not just documented.
342
+ ### Context Engineering
525
343
 
526
- ### How the report feeds reflection
344
+ AI coding CLIs are powerful **if** you feed them context. Most people don't.
527
345
 
528
- The watcher writes `.design/authority-report.md` — new entries classified into five buckets (`spec-change`, `heuristic-update`, `pattern-guidance`, `craft-tip`, `skip`) with a one-sentence rationale each. `/gdd:reflect` reads the report alongside internal telemetry and proposes reference-file updates. Nothing auto-ships — you review every proposal via `/gdd:apply-reflections`.
346
+ GDD handles it for you:
529
347
 
530
- ---
348
+ | File | What it does |
349
+ |------|--------------|
350
+ | `.design/BRIEF.md` | The cycle's problem, audience, success metrics |
351
+ | `.design/DESIGN.md` | Current design-system snapshot (tokens, components, hierarchy) |
352
+ | `.design/DESIGN-CONTEXT.md` | D-XX decisions, interview answers, upstream/downstream constraints |
353
+ | `.design/DESIGN-PLAN.md` | Atomic tasks, wave choreography, dependencies |
354
+ | `.design/DESIGN-VERIFICATION.md` | Verification result, gap list, Handoff Faithfulness score |
355
+ | `.design/intel/` | Queryable knowledge layer: token fan-out, component call-graph, decision traceability |
356
+ | `.design/archive/cycle-N/EXPERIENCE.md` | Per-cycle retrospective for cross-cycle memory |
357
+ | `.design/telemetry/events.jsonl` | Typed event stream across stages |
358
+ | `.design/telemetry/posterior.json` | Bandit posterior (when `adaptive_mode != static`) |
531
359
 
532
- ## Headless SDK
360
+ Size limits where Claude's quality degrades. Stay under, get consistency.
533
361
 
534
- Run the full GDD pipeline without Claude Code:
362
+ ### 37 Specialized Agents
535
363
 
536
- ```bash
537
- npx gdd-sdk init # bootstrap a new project
538
- npx gdd-sdk run # full pipeline (brief → verify)
539
- npx gdd-sdk stage explore --parallel # single stage with parallel mappers
540
- npx gdd-sdk query position # typed STATE.md read
541
- npx gdd-sdk audit --baseline <dir> # regression check
542
- ```
364
+ Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting happens in fresh 200k contexts, not your main session.
543
365
 
544
- Requires Node 22+ and an `ANTHROPIC_API_KEY`. Works on any CI runner.
366
+ | Stage | Orchestrator does | Agents do |
367
+ |-------|-------------------|-----------|
368
+ | Brief | one-question interview | (no subagents — leaf skill) |
369
+ | Explore | spawns 5 mappers + discussant | 5 parallel mappers, design-discussant, research-synthesizer |
370
+ | Plan | spawns researcher + planner + checker | design-phase-researcher (optional), design-planner (opus), design-plan-checker (haiku) |
371
+ | Design | wave coordination + worktree isolation | design-executor per task, design-fixer on solidify failure |
372
+ | Verify | spawns auditor + verifier + checker | design-auditor (6-pillar score), design-verifier (goal-backward), design-integration-checker (D-XX → code) |
373
+ | Reflect | reads telemetry + learnings | design-reflector (opus), design-authority-watcher, design-update-checker |
545
374
 
546
- Internally the SDK stitches together the Phase-21 runner modules:
547
- `session-runner` (budget + turn cap + transcript), `context-engine` (per-stage
548
- file manifest + markdown truncation), `tool-scoping` (per-stage allowed-tools),
549
- `pipeline-runner` (brief → verify state machine with retry-once + human-gate
550
- callbacks), and `explore-parallel` / `discuss-parallel` / `init` for the
551
- concurrent researcher stages.
375
+ ### 12 Tool Connections
552
376
 
553
- ### Cross-harness
377
+ All optional — the pipeline degrades gracefully when any connection is unavailable:
554
378
 
555
- The plugin runs unchanged on Claude Code, OpenAI Codex CLI, and Gemini CLI.
556
- See [`reference/codex-tools.md`](reference/codex-tools.md) and
557
- [`reference/gemini-tools.md`](reference/gemini-tools.md) for the tool
558
- translations; Codex auto-loads [`AGENTS.md`](AGENTS.md) and Gemini auto-loads
559
- [`GEMINI.md`](GEMINI.md). The `gdd-state` MCP server works on all three.
379
+ - **Figma** (read + write + Code Connect) annotations, token bindings, implementation status write-back
380
+ - **Refero** — design reference search
381
+ - **Pinterest** visual reference grounding
382
+ - **Claude Design** handoff bundle import (`/gdd:handoff`)
383
+ - **Storybook** component-spec lookup
384
+ - **Chromatic** — visual regression baseline diff
385
+ - **Preview** — Playwright + Claude Preview MCP for runtime screenshots
386
+ - **paper.design** — MCP canvas read/write for round-trip verification
387
+ - **pencil.dev** — git-tracked `.pen` spec files
388
+ - **Graphify** — knowledge-graph export
389
+ - **21st.dev Magic** — prior-art component search before greenfield builds
390
+ - **Magic Patterns** — DS-aware component generation with `preview_url`
560
391
 
561
- ---
392
+ ### Embedded Design References
562
393
 
563
- ## AI-Native Canvas Tools
394
+ The plugin ships **18+ reference files** covering every major design-knowledge domain. Agents have authoritative answers without web search:
564
395
 
565
- get-design-done integrates with canvas tools that treat the design canvas as both source AND destination enabling a full canvas→code→verify→canvas round-trip.
396
+ - **Heuristics** NN/g 10, Don Norman emotional design (visceral/behavioral/reflective), Dieter Rams 10, Disney 12 (motion), Sonner / Emil Kowalski component-authoring lens, Peak-End Rule, Loss Aversion, Cognitive Load Theory, Aesthetic-Usability Effect, Doherty Threshold, Flow.
397
+ - **Components** — 35 component specs (Material 3, Apple HIG, Radix, shadcn, Polaris, Carbon, Fluent, Atlassian, Ant, Mantine, Chakra, Base Web, Spectrum, Lightning, Evergreen, Gestalt) with locked spec template (Purpose · Anatomy · Variants · States · Sizing · Typography · Keyboard · Motion · Do/Don't · Anti-patterns · Citations · Grep signatures).
398
+ - **Visual + brand** — gestalt principles, visual-hierarchy, brand-voice, palette catalog (161 industry palettes), style vocabulary (67 UI aesthetics), iconography (Lucide / Phosphor / Heroicons / Radix Icons / Tabler / SF Symbols).
399
+ - **Motion** — 12 canonical easings (RN MIT) + 8 transition families (hyperframes Apache-2.0) + spring presets + interpolation taxonomy + advanced craft (gesture mechanics, clip-path, blur crossfades, View Transitions API, WAAPI).
400
+ - **Platform + a11y** — WCAG 2.1 AA thresholds, platforms (iOS / Android / web / visionOS / watchOS), RTL + CJK + cultural color, form patterns (Wroblewski label research, autocomplete taxonomy, CAPTCHA ethics).
401
+ - **Anti-patterns** — regex-signature catalog matched by `design-pattern-mapper`.
566
402
 
567
- ### paper.design
403
+ ### Atomic Git Commits
568
404
 
569
- Read component trees, computed styles, and screenshots from the paper.design canvas. Write design decisions back via annotate / tokenize / roundtrip modes.
405
+ Each design task gets its own commit immediately after completion:
570
406
 
571
- **Setup:**
572
- ```bash
573
- claude mcp add paper-design --transport http https://mcp.paper.design/sse
574
407
  ```
575
-
576
- **Capabilities:**
577
- - `explore` reads canvas selection, JSX tree, computed styles into DESIGN-CONTEXT.md
578
- - `design` — `design-paper-writer` agent writes annotations, token bindings, and status back to canvas
579
- - `verify` — `get_screenshot` captures component snapshots for `? VISUAL` checks (Phase 4C)
580
-
581
- See [`connections/paper-design.md`](connections/paper-design.md) for full setup and probe pattern.
582
-
583
- ### pencil.dev
584
-
585
- Git-tracked `.pen` YAML files are canonical design specs. No MCP required — the pipeline reads and writes `.pen` files directly.
586
-
587
- **Setup:** Install the pencil.dev VS Code / Cursor extension. Add `.pen` files to your project.
588
-
589
- **Capabilities:**
590
- - `explore` — discovers `.pen` files; synthesizer merges token declarations with code
591
- - `design` — `design-pencil-writer` agent writes DESIGN-DEBT findings and status back as `.pen` comments / spec updates (atomic git commits)
592
- - `verify` — spec-vs-implementation diff: declared token values vs. actual CSS values
593
-
594
- See [`connections/pencil-dev.md`](connections/pencil-dev.md) for `.pen` file format and pipeline integration.
595
-
596
- ---
597
-
598
- ## Component Generators
599
-
600
- Component generators produce UI component code from natural-language descriptions, targeting your project's design system.
601
-
602
- ### 21st.dev Magic MCP
603
-
604
- Marketplace search + AI component generation. Built-in prior-art gate: the explore stage searches 21st.dev before any greenfield component build. If an existing component fits ≥80%, adoption is recommended over custom build.
605
-
606
- **Setup:**
607
- ```bash
608
- npx @21st-dev/magic@latest init
609
- # Set TWENTY_FIRST_API_KEY environment variable
408
+ abc123f docs(08-02): complete user-card token plan
409
+ def456g feat(08-02): unify card surface tokens with --color-bg-elevated
410
+ hij789k feat(08-02): replace inline padding with --space-* scale
411
+ lmn012o test(08-02): assert card.spec passes WCAG contrast 4.5:1
610
412
  ```
611
413
 
612
- **Capabilities:**
613
- - `explore` — prior-art gate: `21st_magic_component_search` before greenfield builds
614
- - `design` — `design-component-generator` (21st.dev impl): search → generate → adopt
615
- - `explore/design` — `svgl_get_brand_logo` for brand logo/icon SVGs
414
+ Git bisect finds exact failing task. Each task is independently revertable. Solidify-with-rollback adds a per-task validation gate so a broken task 3 never corrupts tasks 4–10 before verify runs.
616
415
 
617
- See [`connections/21st-dev.md`](connections/21st-dev.md) for setup and prior-art gate logic.
416
+ ### Self-Improvement Loop
618
417
 
619
- ### Magic Patterns
418
+ After every cycle, `design-reflector` (opus) reads `events.jsonl`, `agent-metrics.json`, and `learnings/`, then proposes diffs:
620
419
 
621
- DS-aware component generation via the Magic Patterns Claude connector (no manual setup when enabled) or API key fallback. Returns a `preview_url` for visual verification.
420
+ - **Tier overrides** "design-verifier on plans <300 lines: drop to haiku, no measured quality regression"
421
+ - **Parallelism rules** — "token-mapper + component-taxonomy-mapper conflict on `Touches: src/styles/`; serialize"
422
+ - **Reference additions** — "L-12 cited 9 times across cycles 3–5; promote to `reference/heuristics.md`"
423
+ - **Frontmatter updates** — "design-executor `typical-duration-seconds: 60` measured at 142s; propose 120s"
622
424
 
623
- **Setup (Claude connector):** Enable Magic Patterns in your Claude environment no additional steps.
425
+ `/gdd:apply-reflections` shows the diff and asks before applying. Nothing auto-applies. The **No-Regret Adaptive Layer** (v1.23.5) layers a Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank on top, viable in single-user mode via informed-prior bootstrap.
624
426
 
625
- **Setup (API key):**
626
- ```bash
627
- claude mcp add magic-patterns --transport http https://mcp.magicpatterns.com/sse \
628
- -e MAGIC_PATTERNS_API_KEY=$MAGIC_PATTERNS_API_KEY
629
- ```
427
+ ### Cost Governance
630
428
 
631
- **Capabilities:**
632
- - `design``design-component-generator` (magic-patterns impl): generate annotate → regenerate
633
- - `verify` `preview_url` from generation feeds `? VISUAL` check in Phase 8 Preview
429
+ - **`gdd-router` skill** — deterministic intent → fast / quick / full routing. No model call.
430
+ - **`gdd-cache-manager`**Layer-B explicit cache with SHA-256 input-hash + 5-min TTL awareness.
431
+ - **`budget-enforcer` PreToolUse hook** enforces tier overrides, hard caps, lazy-spawn gates from `.design/budget.json`.
432
+ - **Per-spawn cost telemetry** — `.design/telemetry/costs.jsonl` rows feed `/gdd:optimize` rule-based recommendations.
634
433
 
635
- See [`connections/magic-patterns.md`](connections/magic-patterns.md) for probe pattern and DS detection.
434
+ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
636
435
 
637
436
  ---
638
437
 
639
- ## Safety + Recall Floor
640
-
641
- Starting with v1.14.6, GDD ships three defense-in-depth hooks, the first cross-cycle recall primitive, and a typed reference index:
642
-
643
- - **Bash guard** (`hooks/gdd-bash-guard.js`) — PreToolUse:Bash blocks ~45 dangerous shell patterns after Unicode NFKC + ANSI + zero-width/bidi normalization, so `rm\u200B -rf /`, bidi-override obfuscations, and hex-encoded exec sequences fail closed.
644
- - **Protected paths** (`hooks/gdd-protected-paths.js`) — PreToolUse:Edit|Write|Bash refuses to mutate `reference/**`, `skills/**`, `commands/**`, `hooks/**`, `.design/archive/**`, `.design/config.json`, `.design/telemetry/**`, `.git/**`, both plugin manifests, and anything the user appends under `.design/config.json.protected_paths` (merge-only — user configs cannot reduce the default set).
645
- - **Blast-radius preflight** (`scripts/lib/blast-radius.cjs`) — `design-executor` refuses tasks above `.design/config.json.blast_radius.max_files_per_task` (default 10), `max_lines_per_task` (default 400), or `max_mcp_calls_per_task` (default 30); writes a blocker to STATE.md with a diff summary.
646
- - **Decision-injector** (`hooks/gdd-decision-injector.js`) — PreToolUse:Read on any `.design/**.md | reference/**.md | .planning/**.md` ≥ 1500 bytes surfaces the top-15 matching D-XX decisions, L-NN learnings, and prior-cycle summary excerpts that reference the opened file. Grep backend; Phase 19.5 upgrades to FTS5 transparently.
647
-
648
- **Reference index** — `reference/registry.json` (schema: `reference/registry.schema.json`) indexes every `reference/*.md` by typed category (`heuristic | preamble | motion | defaults | meta-rules | …`). Agents can query `list({type: "heuristic"})` instead of grep-hunting import strings. `scripts/build-intel.cjs` enforces round-trip on every `reference/**` change: missing entries, dangling entries, and duplicates fail the build.
649
-
650
- **L0/L2 cache-locality split** — the 5 framework-invariant rules (Required Reading Discipline, Writes Protocol, Deviation Handling, Completion Markers, Context-Exhaustion & Budget Awareness) now live in `reference/meta-rules.md` (tier L0). `reference/shared-preamble.md` becomes an L0 aggregator importing `meta-rules.md` first, so Phase 15+ L2 churn (heuristics, anti-patterns, checklists) no longer invalidates the L0 prompt-cache prefix.
651
-
652
- **Figma authoring-redirect** — `/gdd:figma-write` is a decision-writer (annotations, token bindings, Code Connect, implementation-status). For authoring new Figma content (create pages, populate library components, build layouts from scratch), use `figma:figma-generate-design` from the Figma plugin — it runs outside the Figma plugin sandbox. `design-figma-writer` Step 0.5 detects author-intent (EN + RU) and emits a bilingual redirect citing the four sandbox pitfalls in `reference/figma-sandbox.md`. The MCP circuit-breaker (`hooks/gdd-mcp-circuit-breaker.js`) caps `use_figma | use_paper | use_pencil` at 30 calls/task and 3 consecutive timeouts by default (see `reference/mcp-budget.default.json`), logging per-call JSONL at `.design/telemetry/mcp-budget.jsonl`.
653
-
654
438
  ## Commands
655
439
 
656
- All commands use the `/gdd:` namespace.
657
-
658
- ### Core pipeline
440
+ ### Core Pipeline
659
441
 
660
442
  | Command | What it does |
661
443
  |---------|--------------|
662
- | `/gdd:brief` | Stage 1 — problem, audience, constraints, metrics, scope |
663
- | `/gdd:explore [--skip-interview] [--skip-scan]` | Stage 2 — inventory scan + design interview |
664
- | `/gdd:plan` | Stage 3 — research + decompose into atomic tasks + verify plan |
665
- | `/gdd:design` | Stage 4 — execute tasks with fresh context per task |
666
- | `/gdd:verify [--post-handoff]` | Stage 5 — verifier + auditor + integration checker + fixer |
667
- | `/gdd:handoff <bundle>` | Skip explore/plan, route direct to verify from Claude Design bundle |
668
- | `/gdd:next` | Auto-detect pipeline state and run next step |
669
- | `/gdd:map` | Parallel codebase mapping 5 specialist mappers |
670
-
671
- ### Lifecycle
444
+ | `/gdd:brief` | Stage 1 — capture the design brief |
445
+ | `/gdd:explore` | Stage 2 — codebase inventory + interview |
446
+ | `/gdd:plan` | Stage 3 — produce DESIGN-PLAN.md |
447
+ | `/gdd:design` | Stage 4 — execute plan in waves |
448
+ | `/gdd:verify` | Stage 5 — verify against brief |
449
+ | `/gdd:ship` | Generate clean PR branch (filters .design/ commits) |
450
+ | `/gdd:next` | Auto-route to the next stage based on STATE.md |
451
+ | `/gdd:do <text>` | Natural-language routerpicks the right command |
452
+ | `/gdd:fast <text>` | One-shot trivial fix, no pipeline |
453
+ | `/gdd:quick` | Ad-hoc task with GDD guarantees but skipped optional gates |
454
+
455
+ ### First-Run + Onboarding
672
456
 
673
457
  | Command | What it does |
674
458
  |---------|--------------|
675
- | `/gdd:start [--budget] [--skip-interview] [--dismiss-nudge]` | First-Run Proof Pathscans UI code, emits `.design/START-REPORT.md`, never enters pipeline state |
676
- | `/gdd:new-project [--name]` | Initialize project PROJECT.md + STATE.md + cycle-1 |
677
- | `/gdd:new-cycle [<goal>]` | Start new design cycle |
678
- | `/gdd:complete-cycle [<note>]` | Archive cycle to `.design/archive/cycle-N/` |
679
- | `/gdd:ship [--draft]` | Clean PR branch + `gh pr create` |
459
+ | `/gdd:start` | First-run proof pathtop-3 design issues in your repo (no `.design/` footprint until you opt in) |
460
+ | `/gdd:new-project` | Initialize a GDD project (PROJECT.md + STATE.md + first cycle) |
461
+ | `/gdd:connections` | Onboarding wizard for the 12 external integrations |
680
462
 
681
- ### Standalone
463
+ ### Cycle Lifecycle
682
464
 
683
465
  | Command | What it does |
684
466
  |---------|--------------|
685
- | `/gdd:style [ComponentName]` | Generate component handoff doc |
686
- | `/gdd:darkmode` | Audit dark mode architecture + contrast |
687
- | `/gdd:compare` | Delta between DESIGN.md baseline and DESIGN-VERIFICATION.md |
688
- | `/gdd:figma-write <mode>` | Write decisions back to Figma (annotate/tokenize/mappings) |
689
- | `/gdd:graphify <subcommand>` | Manage Graphify knowledge graph (build/query/status/diff) |
690
- | `/gdd:sketch [topic] [--variants N]` | Multi-variant HTML exploration |
691
- | `/gdd:spike [hypothesis] [--timebox]` | Timeboxed feasibility experiment |
692
- | `/gdd:sketch-wrap-up`, `/gdd:spike-wrap-up` | Distill winner + findings into project-local convention skills |
467
+ | `/gdd:new-cycle` | Open a new design cycle |
468
+ | `/gdd:complete-cycle` | Archive cycle artifacts + write per-cycle EXPERIENCE.md |
469
+ | `/gdd:pause` / `/gdd:resume` | Numbered checkpoints pause mid-stage, resume from any saved checkpoint |
470
+ | `/gdd:continue` | Alias for `/gdd:resume` (latest checkpoint) |
471
+ | `/gdd:timeline` | Narrative retrospective across cycles + git log |
693
472
 
694
- ### Audit & Self-Improvement
473
+ ### Iteration + Decisions
695
474
 
696
475
  | Command | What it does |
697
476
  |---------|--------------|
698
- | `/gdd:audit [--retroactive] [--quick]` | Wraps verifier + auditor + reflector |
699
- | `/gdd:reflect [--dry-run] [--cycle]` | On-demand post-cycle reflection |
700
- | `/gdd:apply-reflections [--filter]` | Review + selectively apply reflection proposals |
701
- | `/gdd:optimize` | Emit cost-optimization recommendations from telemetry |
702
- | `/gdd:warm-cache` | Pre-warm common agent prompts for prompt cache |
477
+ | `/gdd:discuss [topic]` | Adaptive design interview `--all` for batch gray areas, `--spec` for ambiguity scoring |
478
+ | `/gdd:list-assumptions` | Surface hidden design assumptions before planning |
479
+ | `/gdd:sketch [idea]` | Multi-variant HTML mockup exploration browser-openable directly |
480
+ | `/gdd:spike [idea]` | Timeboxed feasibility experiment with hypothesis + verdict |
481
+ | `/gdd:sketch-wrap-up` / `/gdd:spike-wrap-up` | Package findings into project-local skill |
482
+ | `/gdd:audit` | Wraps `design-verifier` + `design-auditor` + `design-reflector`. `--retroactive` audits the full cycle |
483
+ | `/gdd:reflect` | Run `design-reflector` on demand — produces `.design/reflections/<cycle-slug>.md` |
484
+ | `/gdd:apply-reflections` | Review and selectively apply reflector proposals — diff before apply |
703
485
 
704
- ### Knowledge Layer
486
+ ### Memory + Knowledge Layer
705
487
 
706
488
  | Command | What it does |
707
489
  |---------|--------------|
708
- | `/gdd:analyze-dependencies [--slice]` | Token fan-out, component call-graph, decision traceability, circular dep detection |
709
- | `/gdd:extract-learnings [--cycle]` | Extract decisions, lessons, patterns, surprises LEARNINGS.md |
710
- | `/gdd:skill-manifest [--refresh]` | Browse all registered skills + agents from intel store |
490
+ | `/gdd:recall <query>` | FTS5-backed search across cycle archives, learnings, decisions, EXPERIENCE.md files |
491
+ | `/gdd:extract-learnings` | Mine cycle artifacts for patterns + decisions + lessons |
492
+ | `/gdd:note <text>` | Zero-friction idea capture append, list, promote to todo |
493
+ | `/gdd:plant-seed <idea>` | Forward-looking idea with trigger condition — surfaces at the right cycle |
494
+ | `/gdd:analyze-dependencies` | Token fan-out, component call-graphs, decision traceability, circular dependency detection |
495
+ | `/gdd:skill-manifest` | List all GDD skills + agents from the intel store |
496
+ | `/gdd:graphify` | Build, query, inspect, diff the project knowledge graph |
497
+ | `/gdd:watch-authorities` | Diff the design-authority feed whitelist + classify into 5 buckets |
711
498
 
712
- ### Execution speed
499
+ ### Connections
713
500
 
714
501
  | Command | What it does |
715
502
  |---------|--------------|
716
- | `/gdd:quick [--skip <agent>] [stage]` | Run pipeline skipping optional agents for speed |
717
- | `/gdd:fast <task>` | Trivial inline task no subagents, no pipeline, no artifacts |
718
- | `/gdd:do <natural language>` | Natural-language router parses intent, confirms, dispatches |
719
- | `/gdd:discuss [topic] [--all]` | Adaptive design interview appends D-XX decisions to STATE.md |
503
+ | `/gdd:figma-write` | Write design decisions back to Figma (annotate / tokenize / roundtrip) |
504
+ | `/gdd:handoff <bundle>` | Import a Claude Design bundle and skip Stages 1–3 |
505
+ | `/gdd:darkmode` | Audit dark-mode implementation (CSS custom props / Tailwind dark: / JS class toggle) |
506
+ | `/gdd:compare` | Compute delta between DESIGN.md baseline and DESIGN-VERIFICATION.md result |
507
+ | `/gdd:style <Component>` | Generate component handoff doc (DESIGN-STYLE-[Component].md) |
720
508
 
721
- ### Idea capture
509
+ ### Diagnostic + Forensic
722
510
 
723
511
  | Command | What it does |
724
512
  |---------|--------------|
725
- | `/gdd:note <add\|list\|promote> [text]` | Zero-friction notes NOTES.md |
726
- | `/gdd:plant-seed [--trigger] [text]` | Forward-looking idea with trigger condition |
727
- | `/gdd:add-backlog [text]` | Park an idea in backlog |
728
- | `/gdd:review-backlog` | Promote or archive parked items |
729
- | `/gdd:todo <add\|list\|pick>` | Design-scoped todo list |
513
+ | `/gdd:scan` | Codebase design-system inventory (no STATE.md write) |
514
+ | `/gdd:map` | 5 parallel codebase mappers (tokens / components / a11y / motion / visual-hierarchy) |
515
+ | `/gdd:debug [desc]` | Symptom-driven design investigation with persistent state |
516
+ | `/gdd:health` | Reports `.design/` artifact health staleness, missing files, token drift |
517
+ | `/gdd:progress` | Show pipeline position; `--forensic` runs 6-check integrity audit |
518
+ | `/gdd:stats` | Cycle stats — decisions made, tasks completed, commits, timeline, git metrics |
519
+ | `/gdd:optimize` | Rule-based cost analysis + tier-override recommendations |
520
+ | `/gdd:warm-cache` | Pre-warm Anthropic prompt cache across all agents that import shared-preamble |
730
521
 
731
- ### Session
522
+ ### Distribution + Update
732
523
 
733
524
  | Command | What it does |
734
525
  |---------|--------------|
735
- | `/gdd:pause [context]` | Write session handoff to `.design/HANDOFF.md` |
736
- | `/gdd:resume` | Restore context and route to next step |
737
- | `/gdd:progress [--forensic]` | Pipeline position + recommended next action |
738
- | `/gdd:health` | Artifact health report for `.design/` |
739
- | `/gdd:stats` | Cycle metrics decisions, commits, todos |
740
- | `/gdd:help` | Full command list |
526
+ | `/gdd:update` | Update GDD with changelog preview |
527
+ | `/gdd:reapply-patches` | Restitch local `reference/` modifications after structural updates |
528
+ | `/gdd:check-update` | Manual update check `--refresh` bypasses 24h TTL, `--dismiss` hides nudge |
529
+ | `/gdd:settings` | Configure `.design/config.json` profile / parallelism / cleanup |
530
+ | `/gdd:set-profile <profile>` | Switch model profile (quality / balanced / budget / inherit) |
531
+ | `/gdd:undo` | Safe design change revert — uses git log + dependency check |
532
+ | `/gdd:pr-branch` | Create clean PR branch by filtering out `.design/` and `.planning/` commits |
741
533
 
742
- ### Safety
534
+ ### Backlog + Notes
743
535
 
744
536
  | Command | What it does |
745
537
  |---------|--------------|
746
- | `/gdd:undo [<sha>]` | Safe revert with dependency check |
747
- | `/gdd:pr-branch [<base>]` | Strip `.design/` + `.planning/` commits for clean code-review branch |
748
- | `/gdd:debug [<symptom>]` | Symptom-driven design investigation with persistent state |
749
- | `/gdd:list-assumptions [--area]` | Surface implicit design assumptions baked into the codebase |
538
+ | `/gdd:todo` | Add / list / pick design tasks |
539
+ | `/gdd:add-backlog <idea>` | Park a design idea for a future cycle |
540
+ | `/gdd:review-backlog` | Review parked items + promote to active cycle todo |
750
541
 
751
- ### Configuration
542
+ ### Help
752
543
 
753
544
  | Command | What it does |
754
545
  |---------|--------------|
755
- | `/gdd:settings <profile\|parallelism\|cleanup\|show>` | Manage `.design/config.json` |
756
- | `/gdd:update [--dry-run]` | Update plugin to latest release |
757
- | `/gdd:reapply-patches [--dry-run]` | Reapply `reference/` customizations after an update |
758
-
759
- Full command reference with argument specs: [`SKILL.md`](SKILL.md).
546
+ | `/gdd:help` | Full command list + usage |
547
+ | `/gdd:bandit-reset` | Reset adaptive-layer posterior on Anthropic model release |
760
548
 
761
549
  ---
762
550
 
763
551
  ## Connections
764
552
 
765
- All connections are optional the pipeline degrades gracefully when any connection is unavailable.
766
-
767
- ### Figma MCP (reads + writes)
768
-
769
- The pipeline auto-detects any Figma MCP variant — remote (reads + writes) or desktop (reads only). When active, `explore` reads Figma variables and pre-populates design decisions from your file, and `design-figma-writer` writes decisions back via `use_figma` — annotates frames, tokenizes local styles, registers Code Connect mappings. Proposal confirm discipline with `--dry-run` and `--confirm-shared` guards. Falls back to code-only analysis when no Figma MCP is configured.
770
-
771
- **Preferred install (Claude Code plugin bundles MCP + Figma's official skills):**
772
-
773
- ```
774
- claude plugin install figma@claude-plugins-official
775
- ```
776
-
777
- **Manual install (remote MCP reads + writes):**
778
-
779
- ```
780
- claude mcp add --transport http figma https://mcp.figma.com/mcp
781
- ```
782
-
783
- **Desktop MCP (reads only):** optionally enabled via the Figma desktop app's Dev Mode. Useful when writes are not needed. Register under server name `figma-desktop` — the probe auto-detects it.
784
-
785
- Setup: [`connections/figma.md`](connections/figma.md). If you previously registered the remote MCP with the legacy URL `https://mcp.figma.com/v1/sse`, remove and re-add with the current URL `https://mcp.figma.com/mcp` (Streamable HTTP).
786
-
787
- > ⚠︎ **Authoring new Figma content?** `/gdd:figma-write` is a *decision-writer* (annotations, token bindings, Code Connect). For **creating pages, populating with library components, building doc layouts from scratch**, use `figma:figma-generate-design` from the Figma plugin — it runs outside the plugin sandbox. See [`reference/figma-sandbox.md`](reference/figma-sandbox.md) for the four sandbox pitfalls the MCP circuit-breaker (`hooks/gdd-mcp-circuit-breaker.js`) protects you from (defaults: 30 calls/task, 3 consecutive timeouts → break).
788
-
789
- ### Refero MCP
790
-
791
- When Refero is active, `explore` pulls visual references to ground design decisions. Requires an API token in `~/.claude.json`:
792
-
793
- ```json
794
- {
795
- "mcpServers": {
796
- "refero": {
797
- "type": "http",
798
- "url": "https://mcp.refero.design/mcp",
799
- "headers": { "Authorization": "Bearer YOUR_REFERO_TOKEN" }
800
- }
801
- }
802
- }
803
- ```
804
-
805
- Falls back to `~/.claude/libs/awesome-design-md/`. Setup: [`connections/refero.md`](connections/refero.md).
806
-
807
- ### Pinterest MCP
808
-
809
- When the Pinterest MCP (`terryso/mcp-pinterest`) is active, `explore` pulls visual inspiration boards alongside Refero. ToolSearch-only probe — no API key required. Fallback chain: Pinterest → Refero → awesome-design-md. Setup: [`connections/pinterest.md`](connections/pinterest.md).
810
-
811
- ### Preview (Playwright)
812
-
813
- When the Claude Preview MCP is active, `verify` runs live page screenshots on `? VISUAL` verification gaps, so the auditor grades actual rendered output rather than inferring from code. Setup: [`connections/preview.md`](connections/preview.md).
814
-
815
- ### Storybook
816
-
817
- When Storybook is running on `localhost:6006`, `explore` pulls component inventory, `verify` runs per-story a11y passes, and `design` can generate `.stories.tsx` stubs. Setup: [`connections/storybook.md`](connections/storybook.md).
818
-
819
- ### Chromatic
820
-
821
- When Chromatic CLI is available, `plan` uses `--trace-changed=expanded` for change-risk scoping and `verify` narrates visual regression deltas. Setup: [`connections/chromatic.md`](connections/chromatic.md).
822
-
823
- ### Graphify
824
-
825
- When Graphify CLI is available, `plan` and `design-integration-checker` consult the component↔token↔decision knowledge graph before grep searches — dependency queries become O(1). Setup: [`connections/graphify.md`](connections/graphify.md).
826
-
827
- ### Claude Design
828
-
829
- Drop a Claude Design bundle (HTML export from [claude.ai/design](https://claude.ai/design)) into your project root and run `/gdd:handoff <path>`. The pipeline skips Explore → Plan, parses the bundle CSS custom properties into D-XX design decisions, runs `verify --post-handoff` for Handoff Faithfulness scoring, and optionally writes implementation status back to Figma. Full format: [`connections/claude-design.md`](connections/claude-design.md).
830
-
831
- ### paper.design
832
-
833
- When the paper.design MCP is active, `explore` reads the canvas selection (JSX tree, computed styles) into `DESIGN-CONTEXT.md`, `design` writes annotations and token bindings back to the canvas, and `verify` captures component screenshots for visual checks. Setup: [`connections/paper-design.md`](connections/paper-design.md).
834
-
835
- ```bash
836
- claude mcp add paper-design --transport http https://mcp.paper.design/sse
837
- ```
838
-
839
- ### pencil.dev
840
-
841
- No MCP required. Add `.pen` YAML files to your project and install the pencil.dev VS Code / Cursor extension. `explore` discovers and merges `.pen` token declarations; `design` writes DESIGN-DEBT findings back as spec updates; `verify` diffs declared token values against actual CSS. Setup: [`connections/pencil-dev.md`](connections/pencil-dev.md).
842
-
843
- ### 21st.dev Magic MCP
844
-
845
- When active, `explore` runs a prior-art gate (`21st_magic_component_search`) before any greenfield component build — if an existing component fits ≥80%, adoption is recommended. `design` generates components via search → generate → adopt. Also provides `svgl_get_brand_logo` for brand SVGs. Setup: [`connections/21st-dev.md`](connections/21st-dev.md).
846
-
847
- ```bash
848
- npx @21st-dev/magic@latest init
849
- ```
850
-
851
- ### Magic Patterns
852
-
853
- When the Magic Patterns connector is active (via Claude environment or API key), `design` generates DS-aware components and feeds the `preview_url` into visual verification. Setup: [`connections/magic-patterns.md`](connections/magic-patterns.md).
553
+ GDD ships with 12 tool connections. All are optional; the pipeline degrades gracefully to fallbacks when any connection is unavailable. Configure with `/gdd:connections`.
554
+
555
+ | Connection | Purpose | Probe |
556
+ |------------|---------|-------|
557
+ | **Figma** | Read tokens, components, screenshots; write annotations, Code Connect, implementation status | `mcp__figma__get_metadata` + `use_figma` |
558
+ | **Refero** | Design reference search across catalogued sources | `mcp__refero__search` |
559
+ | **Pinterest** | Visual reference grounding for brand-voice + style | OAuth + MCP |
560
+ | **Claude Design** | Handoff bundle import (`/gdd:handoff`) — skip Stages 1–3 | URL or local file |
561
+ | **Storybook** | Component-spec lookup at port 6006 | HTTP probe |
562
+ | **Chromatic** | Visual regression baseline diff | API key |
563
+ | **Preview** | Playwright + Claude Preview MCP runtime screenshots | `mcp__Claude_Preview__preview_*` |
564
+ | **paper.design** | MCP canvas read/write for canvas → code → verify → canvas round-trip | `mcp__paper__use_paper` |
565
+ | **pencil.dev** | Git-tracked `.pen` spec files (no MCP required) | `.pen` files in repo |
566
+ | **Graphify** | Knowledge-graph export | `mcp__graphify__*` |
567
+ | **21st.dev Magic** | Prior-art component search before greenfield builds | `mcp__magic__search` |
568
+ | **Magic Patterns** | DS-aware component generation with `preview_url` | `mcp__magic-patterns__generate` |
569
+
570
+ For full connection details and probe patterns, see [`connections/connections.md`](connections/connections.md).
854
571
 
855
572
  ---
856
573
 
857
574
  ## Configuration
858
575
 
859
- GDD stores project settings in `.design/config.json`. Configure via `/gdd:settings` or edit directly.
860
-
861
- ### Core
576
+ GDD stores project settings in `.design/config.json`. Configure during `/gdd:new-project` or update with `/gdd:settings`.
862
577
 
863
- | Setting | Options | Default | What it controls |
864
- |---------|---------|---------|------------------|
865
- | `mode` | `yolo`, `interactive` | `interactive` | Auto-approve vs confirm at each step |
866
- | `profile` | `quality`, `balanced`, `budget`, `inherit` | `balanced` | Model tier policy (see below) |
867
- | `parallelism` | `aggressive`, `conservative`, `off` | `conservative` | Wave parallelism for `design` stage |
578
+ ### Model Profiles
868
579
 
869
- ### Model profiles
870
-
871
- Each agent carries a `default-tier: haiku|sonnet|opus` in frontmatter. The active profile + `tier_overrides` in `budget.json` determine actual tier per spawn.
580
+ Control which Claude model each agent uses. Balance quality vs token spend.
872
581
 
873
582
  | Profile | Planning | Execution | Verification |
874
583
  |---------|----------|-----------|--------------|
@@ -877,178 +586,136 @@ Each agent carries a `default-tier: haiku|sonnet|opus` in frontmatter. The activ
877
586
  | `budget` | Sonnet | Sonnet | Haiku |
878
587
  | `inherit` | Inherit | Inherit | Inherit |
879
588
 
880
- Use `inherit` when using non-Anthropic providers or to follow the current runtime model selection.
881
-
882
- ### Budget + optimization
589
+ Switch profiles:
883
590
 
884
- `.design/budget.json` controls the cost layer:
885
-
886
- ```json
887
- {
888
- "per_task_cap_usd": 2.00,
889
- "per_phase_cap_usd": 20.00,
890
- "tier_overrides": {
891
- "design-planner": "opus",
892
- "design-verifier": "haiku"
893
- },
894
- "auto_downgrade_on_cap": true,
895
- "cache_ttl_seconds": 3600,
896
- "enforcement_mode": "enforce"
897
- }
898
591
  ```
899
-
900
- `enforcement_mode`: `enforce` (hard-block on cap breach) | `warn` (warn + continue) | `log` (silent log). Use `log` during adoption to observe the hook's decisions without blocking.
901
-
902
- Full schema: [`reference/config-schema.md`](reference/config-schema.md).
903
-
904
- ---
905
-
906
- ## Knowledge Layer
907
-
908
- The knowledge layer gives the pipeline persistent memory and O(1) lookups across all design surface files.
909
-
910
- ### Intel store (`.design/intel/`)
911
-
912
- Ten queryable JSON slices that index the design surface:
913
-
914
- | Slice | Contents |
915
- |-------|----------|
916
- | `files.json` | All tracked files with mtime + git hash |
917
- | `exports.json` | Named exports: skill commands + agent names |
918
- | `symbols.json` | Markdown headings + section anchors |
919
- | `tokens.json` | Design token references (color, spacing, typography, radius) |
920
- | `components.json` | Component names + referencing files |
921
- | `patterns.json` | Design pattern classifications by concern |
922
- | `dependencies.json` | @-reference and reads-from relationships |
923
- | `decisions.json` | Architectural decisions from DESIGN-CONTEXT.md |
924
- | `debt.json` | Design debt items from DESIGN-DEBT.md |
925
- | `graph.json` | Cross-reference graph: nodes + edges |
926
-
927
- Build the intel store:
928
-
929
- ```bash
930
- node scripts/build-intel.cjs --force
592
+ /gdd:set-profile budget
931
593
  ```
932
594
 
933
- Incremental updates fire automatically via the `gdd-intel-updater` agent after file edits.
934
-
935
- ### Context exhaustion hook
936
-
937
- `hooks/context-exhaustion.js` auto-records a `<paused>` resumption block in `.design/STATE.md` when session context reaches 85%. Run `/gdd:resume` in the next session to restore context.
595
+ Use `inherit` when using non-Anthropic providers or to follow the runtime's current model selection.
938
596
 
939
- ---
940
-
941
- ## Optimization Layer
942
-
943
- Every `/gdd:*` command and agent spawn passes through a cross-cutting optimization layer designed to reduce token cost without regressing on design quality.
944
-
945
- - **`gdd-router` skill** — First-step intent router. Returns the right execution path (`fast|quick|full`) with model-tier overrides and a cache-hit check before any downstream spawn.
946
- - **`gdd-cache-manager` skill + `/gdd:warm-cache`** — Pre-warms common agent system prompts so Anthropic's 5-minute prompt cache fires on the shared preamble across a session.
947
- - **`budget-enforcer` PreToolUse hook** — Intercepts every `Agent` spawn. Hard-blocks on cap breach, auto-downgrades at the soft threshold, short-circuits on cache hit.
948
- - **Lazy checker gates** — Cheap Haiku heuristic decides whether to spawn the expensive full checker for each verification stage.
949
- - **Streaming synthesizer** — Parallel-mapper outputs collapse through a single Haiku call before returning to main context, keeping the orchestrator cache-aligned.
950
- - **Cost telemetry** — `.design/telemetry/costs.jsonl` records every spawn decision. Aggregated to `.design/agent-metrics.json` and consumed by `/gdd:optimize` and `design-reflector`.
951
-
952
- ---
953
-
954
- ## Testing & CI
955
-
956
- GDD ships with a locked test suite. Every push and PR runs a five-job pipeline across a cross-platform matrix — Node 22/24 × Linux/macOS/Windows.
597
+ ### Adaptive Mode
957
598
 
958
- ### Run tests locally
599
+ `.design/budget.json#adaptive_mode` ladder (v1.23.5):
959
600
 
960
- ```bash
961
- npm test
962
- ```
963
-
964
- Zero third-party test dependencies the runner is Node's built-in `node:test` + `node:assert/strict`.
965
-
966
- ### CI pipeline
967
-
968
- ```
969
- lint → validate → test (matrix) → security + size-budget
970
- ```
601
+ | Mode | What it does |
602
+ |------|--------------|
603
+ | `static` (default) | Phase 10.1 behavior — static D-13 tier map |
604
+ | `hedge` | AdaNormalHedge ensemble + MMR rerank engaged. Bandit router still reads static map. Safest intro. |
605
+ | `full` | Bandit router + Hedge + MMR all active, reading/writing `.design/telemetry/posterior.json` |
971
606
 
972
- - **Lint** — markdownlint + blocking link checker
973
- - **Validate** — JSON schema validation, agent frontmatter validator, stale-ref detector, `claude plugin validate .`
974
- - **Test** — Node 22/24 × Linux/macOS/Windows, fail-fast disabled
975
- - **Security** — shellcheck on `scripts/`, secrets scan, injection scanner over all shipped skills/agents
976
- - **Size-budget** — Blocking tier enforcement (XXL: 700, XL: 500, Large: 300, Default: 200 lines)
607
+ ### Parallelism
977
608
 
978
- ### Release automation
609
+ | Setting | Default | What it controls |
610
+ |---------|---------|------------------|
611
+ | `parallelism.enabled` | `true` | Run independent tasks in worktrees |
612
+ | `parallelism.min_estimated_savings_seconds` | `30` | Skip parallelization below this threshold |
613
+ | `parallelism.max_concurrent_workers` | `4` | Hard cap on simultaneous worktrees |
979
614
 
980
- `.github/workflows/release.yml` auto-tags and publishes a GitHub Release when `.claude-plugin/plugin.json` version changes. Release body is extracted from the matching `CHANGELOG.md` section.
615
+ ### Quality Gates
981
616
 
982
- Every PR must pass `npm test` before merging to `main`. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the re-lock procedure when baselines change.
617
+ | Setting | Default | What it controls |
618
+ |---------|---------|------------------|
619
+ | `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none` — how to revert on validation failure |
620
+ | `solidify.commands` | autodetect | Override typecheck / build / test commands |
621
+ | `verify.iterations_max` | `3` | Cap on verify→fix loop iterations |
622
+ | `connection.figma_writeback` | `proposal` | `proposal` / `auto` — confirm before writing |
983
623
 
984
624
  ---
985
625
 
986
- ## What ships with the plugin
626
+ ## Security
987
627
 
988
- - `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json` — manifest
989
- - `SKILL.md` — root pipeline router
990
- - `skills/` — 55 stage + standalone skills
991
- - `agents/` — 33 specialized agent specs
992
- - `connections/` — 12 connection specs
993
- - `reference/` — curated design reference (shared preamble, model tiers, model prices, schemas, DEPRECATIONS, config schema)
994
- - `hooks/`, `scripts/bootstrap.sh`
628
+ ### Built-in Hardening
995
629
 
996
- ---
630
+ GDD ships defense-in-depth security since Phase 14.5:
997
631
 
998
- ## Develop locally
632
+ - **`hooks/gdd-bash-guard.js`** — PreToolUse:Bash blocks ~50 dangerous patterns (`rm -rf /`, `chmod 777`, `curl | sh`, `git reset --hard`, fork bombs) after Unicode NFKC + ANSI normalization.
633
+ - **`hooks/gdd-protected-paths.js`** — PreToolUse:Edit/Write/Bash enforces `protected_paths` glob list (defaults: `reference/**`, `.design/archive/**`, `skills/**`, `commands/**`, `hooks/**`, `.design/config.json`, `.design/telemetry/**`).
634
+ - **`hooks/gdd-read-injection-scanner.ts`** — scans inbound Read content for invisible-Unicode (zero-width, word-joiner, BOM, bidi overrides) + HTML-comment + secret-exfil patterns.
635
+ - **`scripts/lib/blast-radius.cjs`** — `design-executor` preflight refuses tasks above `max_files_per_task: 10` / `max_lines_per_task: 400`.
636
+ - **`hooks/gdd-mcp-circuit-breaker.js`** — breaks consecutive-timeout loops on `use_figma` / `use_paper` / `use_pencil`.
999
637
 
1000
- ```bash
1001
- git clone https://github.com/hegemonart/get-design-done.git
1002
- cd get-design-done
1003
- npm ci
1004
- npm test
1005
- claude --plugin-dir ./
1006
- ```
638
+ ### Protecting Sensitive Files
1007
639
 
1008
- From inside Claude Code:
640
+ Add sensitive paths to your runtime's deny list:
1009
641
 
1010
- ```
1011
- /reload-plugins
1012
- claude plugin validate .
642
+ ```json
643
+ {
644
+ "permissions": {
645
+ "deny": [
646
+ "Read(.env)",
647
+ "Read(.env.*)",
648
+ "Read(**/secrets/*)",
649
+ "Read(**/*credential*)",
650
+ "Read(**/*.pem)",
651
+ "Read(**/*.key)"
652
+ ]
653
+ }
654
+ }
1013
655
  ```
1014
656
 
1015
- See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the branch strategy, PR checklist, required checks, and baseline re-lock procedure.
657
+ > [!IMPORTANT]
658
+ > Because GDD generates markdown files that become LLM system prompts, any user-controlled text flowing into `.design/` artifacts is a potential indirect prompt-injection vector. The injection scanner catches such vectors at multiple layers — but defense-in-depth is best practice.
1016
659
 
1017
660
  ---
1018
661
 
1019
662
  ## Troubleshooting
1020
663
 
1021
664
  **Commands not found after install?**
1022
- - Restart Claude Code to reload commands/skills
1023
- - Verify files exist in `~/.claude/plugins/marketplaces/hegemonart/get-design-done/` or the npm install path
1024
- - Run `/gdd:help` to list registered commands
665
+ - Restart your runtime to reload commands/skills
666
+ - Verify files exist at `~/.claude/skills/get-design-done/` for global Claude Code installs
667
+ - For local installs, verify `./.claude/skills/get-design-done/`
668
+ - Run `/gdd:help` to confirm registration
1025
669
 
1026
- **Pipeline stuck or artifacts missing?**
1027
- ```
1028
- /gdd:health
1029
- /gdd:progress --forensic
1030
- ```
1031
- The forensic mode runs a 6-check integrity audit — stale artifacts, dangling decisions, unfinished handoffs, orphan cycles, schema drift, injection-scanner warnings.
670
+ **Pipeline stuck mid-stage?**
671
+ - `/gdd:resume` — restore from the most recent numbered checkpoint
672
+ - `/gdd:health` — diagnose `.design/` artifact issues
673
+ - `/gdd:progress --forensic` — 6-check integrity audit
1032
674
 
1033
- **Want to see what the router and budget-enforcer are doing?**
1034
- Set `enforcement_mode: "log"` in `.design/budget.json` the hook writes every decision to `.design/telemetry/costs.jsonl` without blocking.
675
+ **Cost overruns?**
676
+ - `/gdd:optimize` — rule-based recommendations
677
+ - `/gdd:set-profile budget` — switch to budget tier
678
+ - Set `adaptive_mode: "full"` in `.design/budget.json` — bandit will learn cheap-and-correct tier per agent over 5–10 cycles
1035
679
 
1036
680
  **Updating to the latest version?**
1037
- See [Staying Updated](#staying-updated). Short version: `npx @hegemonart/get-design-done@latest` or `/gdd:update`.
1038
-
1039
- ### Uninstall
1040
-
1041
681
  ```bash
1042
- claude plugin uninstall get-design-done@get-design-done
682
+ npx @hegemonart/get-design-done@latest
1043
683
  ```
1044
684
 
1045
- To reverse the `npx` installer, remove the two keys it wrote — either by hand or with a one-liner:
685
+ **Using Docker / containers?**
1046
686
 
1047
687
  ```bash
1048
- node -e "const f=require('os').homedir()+'/.claude/settings.json';const j=require(f);delete j.extraKnownMarketplaces?.['get-design-done'];delete j.enabledPlugins?.['get-design-done@get-design-done'];require('fs').writeFileSync(f,JSON.stringify(j,null,2))"
688
+ CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
1049
689
  ```
1050
690
 
1051
- This removes all GDD skills, agents, hooks, and registration while preserving your other configurations and your `.design/` project artifacts.
691
+ ### Uninstalling
692
+
693
+ ```bash
694
+ # Global installs (per-runtime)
695
+ npx @hegemonart/get-design-done --claude --global --uninstall
696
+ npx @hegemonart/get-design-done --opencode --global --uninstall
697
+ npx @hegemonart/get-design-done --gemini --global --uninstall
698
+ npx @hegemonart/get-design-done --kilo --global --uninstall
699
+ npx @hegemonart/get-design-done --codex --global --uninstall
700
+ npx @hegemonart/get-design-done --copilot --global --uninstall
701
+ npx @hegemonart/get-design-done --cursor --global --uninstall
702
+ npx @hegemonart/get-design-done --windsurf --global --uninstall
703
+ npx @hegemonart/get-design-done --antigravity --global --uninstall
704
+ npx @hegemonart/get-design-done --augment --global --uninstall
705
+ npx @hegemonart/get-design-done --trae --global --uninstall
706
+ npx @hegemonart/get-design-done --qwen --global --uninstall
707
+ npx @hegemonart/get-design-done --codebuddy --global --uninstall
708
+ npx @hegemonart/get-design-done --cline --global --uninstall
709
+
710
+ # Multi-select interactive uninstall (no runtime flag)
711
+ npx @hegemonart/get-design-done --uninstall
712
+
713
+ # Local installs (current project)
714
+ npx @hegemonart/get-design-done --claude --local --uninstall
715
+ # ... same flags as above with --local
716
+ ```
717
+
718
+ This removes all GDD commands, agents, hooks, and settings while preserving other configurations.
1052
719
 
1053
720
  ---
1054
721
 
@@ -1060,6 +727,6 @@ MIT License. See [LICENSE](LICENSE) for details.
1060
727
 
1061
728
  <div align="center">
1062
729
 
1063
- **Claude Code is powerful. Get Design Done makes it ship design.**
730
+ **Claude Code ships code. Get Design Done makes sure it ships design.**
1064
731
 
1065
732
  </div>