@hegemonart/get-design-done 1.0.7

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.
Files changed (144) hide show
  1. package/.claude-plugin/marketplace.json +63 -0
  2. package/.claude-plugin/plugin.json +54 -0
  3. package/CHANGELOG.md +221 -0
  4. package/LICENSE +21 -0
  5. package/README.md +724 -0
  6. package/SKILL.md +232 -0
  7. package/agents/README.md +226 -0
  8. package/agents/a11y-mapper.md +118 -0
  9. package/agents/component-taxonomy-mapper.md +88 -0
  10. package/agents/design-advisor.md +139 -0
  11. package/agents/design-assumptions-analyzer.md +171 -0
  12. package/agents/design-auditor.md +383 -0
  13. package/agents/design-context-builder.md +544 -0
  14. package/agents/design-context-checker-gate.md +90 -0
  15. package/agents/design-context-checker.md +260 -0
  16. package/agents/design-discussant.md +98 -0
  17. package/agents/design-doc-writer.md +229 -0
  18. package/agents/design-executor.md +452 -0
  19. package/agents/design-figma-writer.md +302 -0
  20. package/agents/design-fixer.md +180 -0
  21. package/agents/design-integration-checker-gate.md +93 -0
  22. package/agents/design-integration-checker.md +326 -0
  23. package/agents/design-pattern-mapper.md +206 -0
  24. package/agents/design-phase-researcher.md +229 -0
  25. package/agents/design-plan-checker.md +164 -0
  26. package/agents/design-planner.md +352 -0
  27. package/agents/design-reflector.md +175 -0
  28. package/agents/design-research-synthesizer.md +127 -0
  29. package/agents/design-verifier-gate.md +97 -0
  30. package/agents/design-verifier.md +605 -0
  31. package/agents/gdd-graphify-sync.md +100 -0
  32. package/agents/gdd-intel-updater.md +88 -0
  33. package/agents/gdd-learnings-extractor.md +85 -0
  34. package/agents/motion-mapper.md +103 -0
  35. package/agents/token-mapper.md +103 -0
  36. package/agents/visual-hierarchy-mapper.md +95 -0
  37. package/connections/chromatic.md +247 -0
  38. package/connections/claude-design.md +190 -0
  39. package/connections/connections.md +218 -0
  40. package/connections/figma-writer.md +139 -0
  41. package/connections/figma.md +146 -0
  42. package/connections/graphify.md +197 -0
  43. package/connections/pinterest.md +153 -0
  44. package/connections/preview.md +173 -0
  45. package/connections/refero.md +189 -0
  46. package/connections/storybook.md +280 -0
  47. package/hooks/budget-enforcer.js +318 -0
  48. package/hooks/context-exhaustion.js +127 -0
  49. package/hooks/gdd-read-injection-scanner.js +44 -0
  50. package/hooks/hooks.json +44 -0
  51. package/package.json +60 -0
  52. package/reference/BRANCH-PROTECTION.md +65 -0
  53. package/reference/DEPRECATIONS.md +41 -0
  54. package/reference/STATE-TEMPLATE.md +200 -0
  55. package/reference/accessibility.md +190 -0
  56. package/reference/anti-patterns.md +336 -0
  57. package/reference/audit-scoring.md +205 -0
  58. package/reference/checklists.md +137 -0
  59. package/reference/config-schema.md +319 -0
  60. package/reference/debugger-philosophy.md +32 -0
  61. package/reference/heuristics.md +201 -0
  62. package/reference/intel-schema.md +266 -0
  63. package/reference/model-prices.md +37 -0
  64. package/reference/model-tiers.md +118 -0
  65. package/reference/motion.md +285 -0
  66. package/reference/parallelism-rules.md +108 -0
  67. package/reference/priority-matrix.md +31 -0
  68. package/reference/project-skills-guide.md +42 -0
  69. package/reference/review-format.md +107 -0
  70. package/reference/schemas/config.schema.json +41 -0
  71. package/reference/schemas/hooks.schema.json +55 -0
  72. package/reference/schemas/intel.schema.json +191 -0
  73. package/reference/schemas/marketplace.schema.json +72 -0
  74. package/reference/schemas/plugin.schema.json +59 -0
  75. package/reference/shared-preamble.md +82 -0
  76. package/reference/typography.md +229 -0
  77. package/scripts/aggregate-agent-metrics.js +144 -0
  78. package/scripts/apply-branch-protection.sh +75 -0
  79. package/scripts/bootstrap-manifest.txt +3 -0
  80. package/scripts/bootstrap.sh +80 -0
  81. package/scripts/build-intel.cjs +458 -0
  82. package/scripts/detect-stale-refs.cjs +101 -0
  83. package/scripts/extract-changelog-section.cjs +57 -0
  84. package/scripts/release-smoke-test.cjs +169 -0
  85. package/scripts/rollback-release.sh +42 -0
  86. package/scripts/run-injection-scanner-ci.cjs +92 -0
  87. package/scripts/validate-frontmatter.cjs +68 -0
  88. package/scripts/validate-schemas.cjs +225 -0
  89. package/scripts/verify-version-sync.cjs +30 -0
  90. package/skills/add-backlog/SKILL.md +47 -0
  91. package/skills/analyze-dependencies/SKILL.md +184 -0
  92. package/skills/apply-reflections/SKILL.md +112 -0
  93. package/skills/audit/SKILL.md +54 -0
  94. package/skills/brief/SKILL.md +75 -0
  95. package/skills/cache-manager/SKILL.md +120 -0
  96. package/skills/compare/SKILL.md +322 -0
  97. package/skills/complete-cycle/SKILL.md +33 -0
  98. package/skills/darkmode/SKILL.md +331 -0
  99. package/skills/debug/SKILL.md +38 -0
  100. package/skills/design/SKILL.md +281 -0
  101. package/skills/discover/SKILL.md +172 -0
  102. package/skills/discuss/SKILL.md +67 -0
  103. package/skills/do/SKILL.md +45 -0
  104. package/skills/explore/SKILL.md +109 -0
  105. package/skills/extract-learnings/SKILL.md +98 -0
  106. package/skills/fast/SKILL.md +44 -0
  107. package/skills/figma-write/SKILL.md +40 -0
  108. package/skills/graphify/SKILL.md +48 -0
  109. package/skills/health/SKILL.md +48 -0
  110. package/skills/help/SKILL.md +76 -0
  111. package/skills/list-assumptions/SKILL.md +60 -0
  112. package/skills/map/SKILL.md +112 -0
  113. package/skills/new-cycle/SKILL.md +35 -0
  114. package/skills/new-project/SKILL.md +53 -0
  115. package/skills/next/SKILL.md +42 -0
  116. package/skills/note/SKILL.md +47 -0
  117. package/skills/optimize/SKILL.md +120 -0
  118. package/skills/pause/SKILL.md +41 -0
  119. package/skills/plan/SKILL.md +251 -0
  120. package/skills/plant-seed/SKILL.md +47 -0
  121. package/skills/pr-branch/SKILL.md +31 -0
  122. package/skills/progress/SKILL.md +60 -0
  123. package/skills/quick/SKILL.md +43 -0
  124. package/skills/reapply-patches/SKILL.md +31 -0
  125. package/skills/reflect/SKILL.md +73 -0
  126. package/skills/resume/SKILL.md +37 -0
  127. package/skills/review-backlog/SKILL.md +45 -0
  128. package/skills/router/SKILL.md +67 -0
  129. package/skills/scan/SKILL.md +721 -0
  130. package/skills/settings/SKILL.md +78 -0
  131. package/skills/ship/SKILL.md +31 -0
  132. package/skills/sketch/SKILL.md +78 -0
  133. package/skills/sketch-wrap-up/SKILL.md +88 -0
  134. package/skills/skill-manifest/SKILL.md +79 -0
  135. package/skills/spike/SKILL.md +67 -0
  136. package/skills/spike-wrap-up/SKILL.md +81 -0
  137. package/skills/stats/SKILL.md +50 -0
  138. package/skills/style/SKILL.md +193 -0
  139. package/skills/synthesize/SKILL.md +93 -0
  140. package/skills/todo/SKILL.md +54 -0
  141. package/skills/undo/SKILL.md +30 -0
  142. package/skills/update/SKILL.md +36 -0
  143. package/skills/verify/SKILL.md +452 -0
  144. package/skills/warm-cache/SKILL.md +113 -0
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: gdd-explore
3
+ description: "Codebase inventory + design context — runs scan patterns and design-discussant interview, produces DESIGN.md + DESIGN-DEBT.md + DESIGN-CONTEXT.md (Stage 2 of 5)"
4
+ argument-hint: "[--skip-interview] [--skip-scan]"
5
+ tools: Read, Write, Bash, Grep, Glob, Task
6
+ ---
7
+
8
+ # Get Design Done — Explore
9
+
10
+ **Role:** You are the Explore stage. Stage 2 of 5 in the get-design-done pipeline.
11
+
12
+ **Purpose:** Unified exploration merging the former `scan` (inventory grep) and `discover` (context interview) stages. Produces `.design/DESIGN.md`, `.design/DESIGN-DEBT.md`, and `.design/DESIGN-CONTEXT.md`.
13
+
14
+ ---
15
+
16
+ ## Step 1 — Connection probe
17
+
18
+ Probe connection availability and update `.design/STATE.md` `<connections>`:
19
+
20
+ **A — Figma probe:**
21
+ ```
22
+ ToolSearch({ query: "select:mcp__figma-desktop__get_metadata", max_results: 1 })
23
+ Empty → figma: not_configured
24
+ Non-empty → call mcp__figma-desktop__get_metadata; success → available; error → unavailable
25
+ ```
26
+
27
+ **B — Refero probe:**
28
+ ```
29
+ ToolSearch({ query: "refero", max_results: 5 })
30
+ Empty → refero: not_configured
31
+ Non-empty → refero: available
32
+ ```
33
+
34
+ Write results to STATE.md `<connections>`.
35
+
36
+ ## Step 2 — Inventory scan (unless `--skip-scan`)
37
+
38
+ **Map pre-check:** If `.design/map/` exists and all 5 files (`tokens.md`, `components.md`, `visual-hierarchy.md`, `a11y.md`, `motion.md`) are present AND fresher than `src/` (mtime), consume them as the inventory source and skip the grep pass. Otherwise proceed with grep below and, after Step 4, suggest running `/gdd:map` for richer parallel-scanned data on the next cycle.
39
+
40
+ **Parallelism decision (before any multi-agent spawn):**
41
+ 1. Read `.design/config.json` `parallelism` (or defaults from `reference/config-schema.md`).
42
+ 2. Apply rules from `reference/parallelism-rules.md` (hard → soft).
43
+ 3. Write verdict to STATE.md `<parallelism_decision>` with stage/verdict/reason/agents.
44
+ 4. If verdict is `parallel`, dispatch via multiple `Task()` calls in one response; if `serial`, spawn sequentially.
45
+
46
+ Run the canonical scan grep/glob inventory (preserves PLAT-01/02 POSIX ERE patterns from Phase 1):
47
+
48
+ - **Component detection** — `Glob` for `**/*.{tsx,jsx,vue,svelte}`; count exports, identify shared UI primitives.
49
+ - **Color extraction** — `Grep` for hex (`#[0-9a-fA-F]{3,8}`), `rgb(`, `hsl(`, Tailwind arbitrary color classes; dedupe.
50
+ - **Typography scan** — Grep font-family declarations, Tailwind `font-*`, `text-*` size classes; identify type scale.
51
+ - **Motion scan** — Grep `transition`, `animate-`, `@keyframes`, `framer-motion` imports.
52
+ - **Token detection** — Check for `tailwind.config.{js,cjs,mjs,ts}`, CSS custom properties (`--*`), design-token JSON.
53
+ - **Layout detection** — Ordered fallback: `src/` → `app/` → `pages/` → `lib/` → unknown.
54
+
55
+ Write findings to:
56
+ - `.design/DESIGN.md` — current design system inventory + baseline score
57
+ - `.design/DESIGN-DEBT.md` — prioritized debt roadmap
58
+
59
+ Mark STATE.md `task_progress` for the scan pass.
60
+
61
+ ## Step 2.5 — Detect prior sketches and project-local conventions
62
+
63
+ **Sketches**: If `.design/sketches/` exists, list all sketch slugs — group by those with `WINNER.md` (completed wrap-ups) vs without (pending). Note in STATE.md that sketches are present. Include the inventory in DESIGN.md under a "Prior Explorations" section so downstream stages see the history.
64
+
65
+ **Project-local skills**: Read any `./.claude/skills/design-*-conventions.md` files if present. Include their content in DESIGN-CONTEXT.md under a `<project_conventions>` section — these are codified decisions from prior `/gdd:sketch-wrap-up` runs or manual edits, and they override defaults.
66
+
67
+ **Global skills**: If `~/.claude/gdd/global-skills/` exists and contains `.md` files (other than README.md), read them and prepend their content to the `<project_conventions>` section under a `<global_conventions>` sub-block. Global skills represent cross-project personal conventions. They inform but do not override project-local decisions — when a project-local D-XX decision conflicts with a global skill, the project-local decision wins.
68
+
69
+ ## Step 3 — Design interview (unless `--skip-interview`)
70
+
71
+ Spawn the `design-discussant` agent:
72
+
73
+ ```
74
+ Task("design-discussant", """
75
+ <required_reading>
76
+ @.design/STATE.md
77
+ @.design/BRIEF.md
78
+ @.design/DESIGN.md
79
+ @./.claude/skills
80
+ </required_reading>
81
+
82
+ <mode>normal</mode>
83
+
84
+ Run an adaptive interview for areas not already covered by D-XX decisions.
85
+ Append D-XX decisions to STATE.md <decisions>. Produce/update .design/DESIGN-CONTEXT.md.
86
+
87
+ Emit `## DISCUSS COMPLETE` when done.
88
+ """)
89
+ ```
90
+
91
+ Wait for `## DISCUSS COMPLETE`.
92
+
93
+ ## Step 4 — Update STATE.md
94
+
95
+ - Set frontmatter `stage: plan`.
96
+ - Set `<position>` `status: completed` for explore.
97
+ - Set `<timestamps>` `explore_completed_at` = now.
98
+ - Update `last_checkpoint`. Write STATE.md.
99
+
100
+ ## After Writing
101
+
102
+ ```
103
+ ━━━ Explore complete ━━━
104
+ Saved: .design/DESIGN.md, .design/DESIGN-DEBT.md, .design/DESIGN-CONTEXT.md
105
+ Next: @get-design-done plan
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━
107
+ ```
108
+
109
+ ## EXPLORE COMPLETE
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: gdd-extract-learnings
3
+ description: "Extracts project-specific design patterns and decisions from .design/ artifacts and writes them to .design/learnings/. Optionally proposes updates to reference/ files for user review."
4
+ tools: Bash, Read, Write, Glob, Grep
5
+ ---
6
+
7
+ # /gdd:extract-learnings
8
+
9
+ **Role:** Scan `.design/` artifacts for recurring patterns, successful decisions, and validated approaches. Write structured learnings to `.design/learnings/`. Optionally propose additions to tracked `reference/` files for the user to review and approve.
10
+
11
+ ## When to run
12
+
13
+ - After `/gdd:complete-cycle` (auto-suggested by complete-cycle skill)
14
+ - After a major verify/audit pass surfaces new patterns
15
+ - Manually, to checkpoint what the project has learned
16
+
17
+ ## Protocol
18
+
19
+ ### Step 1 — Gather source artifacts
20
+
21
+ Collect content from available `.design/` files:
22
+
23
+ ```bash
24
+ ls .design/*.md 2>/dev/null
25
+ ```
26
+
27
+ Read (if present): DESIGN-CONTEXT.md, DESIGN-VERIFICATION.md, DESIGN-DEBT.md, DESIGN-SUMMARY.md, CYCLES.md
28
+
29
+ ### Step 2 — Invoke gdd-learnings-extractor agent
30
+
31
+ Delegate extraction to the `gdd-learnings-extractor` agent, passing it the list of available files. The agent extracts structured learning entries.
32
+
33
+ ### Step 3 — Write learnings artifact
34
+
35
+ The agent writes or appends to `.design/learnings/LEARNINGS.md`.
36
+
37
+ Layout of `.design/learnings/LEARNINGS.md`:
38
+
39
+ ```markdown
40
+ # Project Learnings
41
+
42
+ ## <Category> — <Date>
43
+
44
+ ### L-<NN>: <Title>
45
+
46
+ **Source:** <which .design/ file and section>
47
+ **Pattern type:** decision | anti-pattern | validated-approach | token-convention | component-convention
48
+ **Confidence:** high | medium | low
49
+ **Summary:** <1-2 sentences>
50
+ **Evidence:** <quote or paraphrase from source>
51
+ **Proposed reference update:** <yes — see proposal below | no>
52
+
53
+ ---
54
+ ```
55
+
56
+ ### Step 4 — Reference file proposal (optional)
57
+
58
+ After writing LEARNINGS.md, check each learning entry with `Proposed reference update: yes`.
59
+
60
+ For each such entry: generate a proposed addition to the appropriate `reference/` file (e.g., `reference/heuristics.md`, `reference/anti-patterns.md`).
61
+
62
+ Print the proposal to the terminal and ask the user to review:
63
+
64
+ ```
65
+ ━━━ Reference update proposal ━━━
66
+
67
+ Learning L-03 suggests adding to reference/anti-patterns.md:
68
+
69
+ ### Anti-pattern: Overloaded primary button
70
+ Using the primary button style for more than one action per screen
71
+ reduces clarity and violates Nielsen's heuristic #4 (consistency).
72
+ Evidence: DESIGN-VERIFICATION.md, cycle 3.
73
+
74
+ Accept this update? [y/n/edit]
75
+ ```
76
+
77
+ If user types `y`: write the addition to the reference file.
78
+ If user types `n`: mark the learning as "proposal declined" in LEARNINGS.md.
79
+ If user types `edit`: open the proposed text for the user to modify, then write.
80
+
81
+ ### Step 5 — Summary
82
+
83
+ ```
84
+ ━━━ Learnings extracted ━━━
85
+ Source files scanned: <N>
86
+ Learnings written: <N>
87
+ Reference proposals: <N> (<M> accepted)
88
+ Output: .design/learnings/LEARNINGS.md
89
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━
90
+ ```
91
+
92
+ ## Required reading (conditional)
93
+
94
+ @.design/intel/decisions.json (if present)
95
+ @.design/intel/patterns.json (if present)
96
+ @.design/learnings/LEARNINGS.md (if present)
97
+
98
+ ## EXTRACT-LEARNINGS COMPLETE
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: gdd-fast
3
+ description: "Trivial inline design task. No subagents, no planning documents, no pipeline stages. Just do the thing described."
4
+ argument-hint: "<task description>"
5
+ tools: Read, Write, Edit, Bash, Grep, Glob
6
+ ---
7
+
8
+ # /gdd:fast
9
+
10
+ The leanest possible execution path. No subagents, no STATE.md update, no DESIGN-*.md artifacts. Read the target file, apply the change inline, commit.
11
+
12
+ ## When to use
13
+
14
+ - "Change this button's border-radius to 8px"
15
+ - "Add a hover state to the nav links"
16
+ - "Fix the mobile breakpoint on the hero"
17
+ - Single-file or single-component obvious changes
18
+
19
+ ## When NOT to use
20
+
21
+ - Multi-component changes.
22
+ - Anything touching tokens used across the app.
23
+ - Anything requiring a design decision (taste, tradeoff, scope).
24
+ - Use `/gdd:quick` or the full pipeline instead.
25
+
26
+ ## Steps
27
+
28
+ 1. Parse the task description from the argument.
29
+ 2. Use Grep/Glob to locate the target file(s). If ambiguous (>2 candidates), stop and ask the user which to edit — do not guess.
30
+ 3. Read the target file(s).
31
+ 4. Apply the described change with Edit.
32
+ 5. Run a relevant sanity check (grep for the old value to confirm it's gone; grep for the new value to confirm it's in).
33
+ 6. Commit with message: `fix: <task description>` (one commit, one change).
34
+ 7. Print: "Done: <summary of what changed>."
35
+
36
+ ## Do Not
37
+
38
+ - No subagent spawns.
39
+ - No `.design/` writes.
40
+ - No STATE.md mutation.
41
+ - No pipeline stage invocation.
42
+ - Do not proceed if the change turns out to be non-trivial — bail out and recommend `/gdd:quick` or the full pipeline.
43
+
44
+ ## FAST COMPLETE
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: get-design-done:figma-write
3
+ description: Write design decisions from DESIGN-CONTEXT.md back into the active Figma file. Three modes: annotate (layer comments), tokenize (variable bindings), mappings (Code Connect). Operates in proposal→confirm mode. Pass --dry-run to preview without writing.
4
+ ---
5
+
6
+ # get-design-done:figma-write
7
+
8
+ Dispatches the `design-figma-writer` agent to write design decisions back to the open Figma file.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /get-design-done figma-write <mode> [--dry-run] [--confirm-shared]
14
+ ```
15
+
16
+ Modes:
17
+ - `annotate` — add design decision comments to Figma layers
18
+ - `tokenize` — bind hard-coded color/spacing/type values to Figma variables
19
+ - `mappings` — write Code Connect component↔code file mappings
20
+
21
+ Flags:
22
+ - `--dry-run` — emit the proposal without executing any Figma writes
23
+ - `--confirm-shared` — authorize writes to shared team library components
24
+
25
+ ## Prerequisites
26
+
27
+ 1. Figma desktop app running with Dev Mode enabled
28
+ 2. Remote Figma MCP registered: `claude mcp add figma --transport http https://mcp.figma.com/v1/sse`
29
+ 3. `.design/DESIGN-CONTEXT.md` exists (run `discover` first)
30
+ 4. `figma: available` in `.design/STATE.md` `<connections>` block
31
+
32
+ ## Required Reading
33
+
34
+ Read `.design/STATE.md` and `.design/DESIGN-CONTEXT.md` before dispatching the agent.
35
+
36
+ ## Dispatch
37
+
38
+ <agent>design-figma-writer</agent>
39
+
40
+ Pass through all flags and arguments from the invocation to the agent.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: get-design-done:graphify
3
+ description: Manage the Graphify knowledge graph for the current project. Build, query, status, diff. When available, design-planner and design-integration-checker use the graph for pre-search consultation.
4
+ ---
5
+
6
+ # get-design-done:graphify
7
+
8
+ Thin command wrapper around the GSD graphify tools integration.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /get-design-done graphify build # Build or rebuild the knowledge graph
14
+ /get-design-done graphify query <term> # Query graph for a node and neighbors
15
+ /get-design-done graphify status # Check graph age, enabled, node count
16
+ /get-design-done graphify diff # Show topology changes since last build
17
+ ```
18
+
19
+ ## Behavior
20
+
21
+ 1. Read `.design/STATE.md` to check `graphify` status in `<connections>`.
22
+ 2. Check `graphify.enabled` in `.planning/config.json` via:
23
+ ```
24
+ node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-get graphify.enabled
25
+ ```
26
+ 3. If not enabled, print:
27
+ ```
28
+ "Graphify is not enabled. Enable with: node gsd-tools.cjs config-set graphify.enabled true"
29
+ "Then run /gdd:graphify build to generate the knowledge graph."
30
+ ```
31
+ STOP.
32
+ 4. Execute the requested subcommand via GSD tools:
33
+ - build: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify build`
34
+ - query: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify query "<term>" --budget 2000`
35
+ - status: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status`
36
+ - diff: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify diff`
37
+ 5. After `build` completes, update `.design/STATE.md` `<connections>`: `graphify: available`
38
+
39
+ ## Required Reading
40
+
41
+ - `.design/STATE.md` — for graphify status in `<connections>`
42
+ - `.planning/config.json` — for `graphify.enabled` flag
43
+
44
+ ## Notes
45
+
46
+ - Graphify is optional. If the binary is not installed (`pip install graphifyy`), the build subcommand will fail with an install prompt.
47
+ - Graph covers source code (`src/`, `components/`). It does NOT index `.design/` artifacts by default.
48
+ - Use `query` with node IDs from the graph schema: `component:<name>`, `token:color/<name>`, `decision:D-<nn>`, etc.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: gdd-health
3
+ description: "Reports .design/ artifact health — staleness, missing files, token drift, broken state transitions."
4
+ tools: Read, Bash, Glob, Grep
5
+ ---
6
+
7
+ # /gdd:health
8
+
9
+ **Role:** Report the health of the `.design/` directory. Print a score and list the checks that failed.
10
+
11
+ ## Checks
12
+
13
+ 1. **Artifact inventory** — `ls -la .design/*.md` with size and mtime. Print a table.
14
+ 2. **Missing expected artifacts** — by `stage:` in STATE.md:
15
+ - `brief` expects BRIEF.md
16
+ - `explore` expects DESIGN.md, DESIGN-DEBT.md, DESIGN-CONTEXT.md
17
+ - `plan` expects DESIGN-PLAN.md
18
+ - `design` expects DESIGN-SUMMARY.md
19
+ - `verify` expects DESIGN-VERIFICATION.md
20
+ FAIL per missing.
21
+ 3. **Token drift** — `wc -c .design/DESIGN.md .design/DESIGN-CONTEXT.md`; approx tokens = bytes/4. WARN if combined >40000.
22
+ 4. **Aged DESIGN-DEBT** — items in `.design/DESIGN-DEBT.md` not touched in >14 days (file mtime). WARN.
23
+ 5. **Broken state transitions** — STATE.md `stage:` inconsistent with artifacts present (e.g. stage=`verify` but DESIGN-SUMMARY.md missing). FAIL.
24
+ 6. **Pending sketch/spike wrap-ups** — any `.design/sketches/*` or `.design/spikes/*` directory lacking a SUMMARY.md. WARN.
25
+ 7. **Seed germination** — scan `.design/SEEDS.md` (if present) for seeds whose trigger keywords match current STATE.md / CYCLES.md content. List as "Seed ready: <text>".
26
+
27
+ ## Output
28
+
29
+ ```
30
+ ━━━ Design health ━━━
31
+ Artifacts:
32
+ BRIEF.md 2.1 KB 2026-04-14
33
+ DESIGN.md 18.4 KB 2026-04-17
34
+ DESIGN-CONTEXT.md 7.2 KB 2026-04-17
35
+
36
+ Checks:
37
+ [PASS] Missing artifacts
38
+ [WARN] Token drift (42,100)
39
+ [PASS] Aged DESIGN-DEBT
40
+ [PASS] State transitions
41
+ [PASS] Sketch/spike wrap-ups
42
+ [PASS] Seed germination
43
+
44
+ Health: 5 / 6 checks passing.
45
+ ━━━━━━━━━━━━━━━━━━━━━
46
+ ```
47
+
48
+ ## HEALTH COMPLETE
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: gdd-help
3
+ description: "Lists all available get-design-done commands with one-line descriptions"
4
+ tools: Read
5
+ ---
6
+
7
+ # Get Design Done — Help
8
+
9
+ **Role:** Print a formatted reference of all `/gdd:` commands, grouped by purpose.
10
+
11
+ ---
12
+
13
+ ## Output
14
+
15
+ Print the following table:
16
+
17
+ ```
18
+ ━━━ Get Design Done — Command Reference ━━━
19
+
20
+ Pipeline stages (run in order):
21
+ brief Stage 1 — capture problem statement, audience, constraints → BRIEF.md
22
+ explore Stage 2 — inventory scan + design context interview → DESIGN.md, DESIGN-DEBT.md, DESIGN-CONTEXT.md
23
+ plan Stage 3 — decompose into executable tasks → DESIGN-PLAN.md
24
+ design Stage 4 — execute tasks with wave coordination → DESIGN-SUMMARY.md
25
+ verify Stage 5 — audit, verify, score → DESIGN-VERIFICATION.md
26
+
27
+ Standalone analysis:
28
+ style [Component] Generate component handoff doc → DESIGN-STYLE-[Name].md
29
+ darkmode Audit dark mode architecture + contrast → DARKMODE-AUDIT.md
30
+ compare Delta between baseline and verification → COMPARE-REPORT.md
31
+
32
+ Ergonomics:
33
+ next Route to the next pipeline stage based on STATE.md
34
+ help This reference
35
+ progress Show current pipeline state
36
+ health Health check of .design/ artifacts
37
+ quick Fast pass through the whole pipeline
38
+ fast Aggressive speed mode
39
+
40
+ Exploration:
41
+ discuss Open discussion thread with design-discussant agent
42
+ list-assumptions Print active D-XX decisions from STATE.md
43
+ sketch Open a design sketch scratchpad
44
+ sketch-wrap-up Close sketch and merge learnings
45
+ spike Time-boxed exploratory spike
46
+ spike-wrap-up Close spike and capture outcomes
47
+ map Map the codebase structure
48
+ audit Run audit-only pass
49
+
50
+ Maintenance:
51
+ note Record a quick note to STATE.md
52
+ plant-seed Record an idea for later
53
+ add-backlog Append item to backlog
54
+ review-backlog Review pending backlog
55
+ todo List/manage design TODOs
56
+ stats Print pipeline stats
57
+ settings View/edit plugin settings
58
+ update Update the plugin
59
+ reapply-patches Reapply any pending patches
60
+ debug Enter systematic debugging mode
61
+ undo Revert the last stage action
62
+
63
+ Lifecycle:
64
+ new-project Initialize STATE.md + .design/ directory
65
+ new-cycle Start a new design cycle on an existing project
66
+ complete-cycle Archive the current cycle
67
+ pause Pause work and save context
68
+ resume Resume paused work
69
+ do Execute a specific task
70
+ ship Create PR from completed work
71
+ pr-branch Create/switch PR branch
72
+
73
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
74
+ ```
75
+
76
+ ## HELP COMPLETE
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: gdd-list-assumptions
3
+ description: "Surfaces hidden design assumptions baked into the codebase before planning — pattern-based detection plus user-surfaced items."
4
+ argument-hint: "[--area typography|color|layout|motion|a11y]"
5
+ tools: Read, Grep, Glob
6
+ ---
7
+
8
+ # /gdd:list-assumptions
9
+
10
+ **Role:** Surface implicit design assumptions that were never explicitly decided. Output a numbered list tagging each as `[EXPLICIT]` (found in STATE.md/DESIGN-CONTEXT.md decisions) or `[IMPLICIT]` (inferred from code patterns).
11
+
12
+ ## Step 1 — Read explicit decisions
13
+
14
+ Read `.design/STATE.md` `<decisions>` and `.design/DESIGN-CONTEXT.md` (if present). Collect every D-XX as `[EXPLICIT]` entries keyed by category.
15
+
16
+ ## Step 2 — Scan codebase for implicit patterns
17
+
18
+ If `--area <name>` is given, restrict to that area. Otherwise scan all.
19
+
20
+ **Layout**
21
+ - Grep for `@media` queries → "Is mobile-first or desktop-first assumed?"
22
+ - Grep for `grid-template`, `flex-direction` → "Is F-pattern or Z-pattern layout assumed?"
23
+
24
+ **Typography**
25
+ - Grep for `font-family` declarations → "Does the chosen font stack assume brand acceptance?"
26
+ - Grep for `font-size: [0-9]+px` with varying values → "Is a modular scale assumed or ad-hoc sizing?"
27
+
28
+ **Color**
29
+ - Grep for hex literals `#[0-9a-fA-F]{3,8}` → "Is the palette assumed to be fixed without a token layer?"
30
+
31
+ **Motion**
32
+ - Grep for `@keyframes`, `transition`, `animate` → "Does the brand tolerate animation?"
33
+ - Grep for `prefers-reduced-motion` → "Is reduced-motion honored or assumed ignored?"
34
+
35
+ **A11y**
36
+ - Grep for `aria-`, `role=`, `alt=` coverage → "Is WCAG AA the target, or AAA?"
37
+ - Grep for `outline: none`, `outline: 0` → "Are focus rings intentionally removed?"
38
+
39
+ For each hit, emit `Detected assumption: [pattern] at [file:line]` and flag as `[IMPLICIT]`.
40
+
41
+ ## Step 3 — Output
42
+
43
+ ```
44
+ ━━━ Design assumptions ━━━
45
+
46
+ Typography
47
+ 01 [EXPLICIT] D-03: Font family Inter
48
+ 02 [IMPLICIT] 18 px font-size values found — scale not explicit (src/Card.css:12, ...)
49
+
50
+ Color
51
+ 03 [IMPLICIT] 47 hex literals — no token layer (see /gdd:discuss color)
52
+
53
+ ...
54
+
55
+ N assumptions total — M implicit.
56
+ Next: /gdd:discuss --all to resolve implicit ones.
57
+ ━━━━━━━━━━━━━━━━━━━━━━━━
58
+ ```
59
+
60
+ ## LIST-ASSUMPTIONS COMPLETE
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: gdd-map
3
+ description: "Dispatches 5 specialist codebase mappers in parallel. Produces .design/map/*.md files consumed by the explore stage."
4
+ argument-hint: "[--only tokens|components|visual-hierarchy|a11y|motion]"
5
+ tools: Read, Write, Bash, Task
6
+ user-invocable: true
7
+ ---
8
+
9
+ # Get Design Done — Map
10
+
11
+ Parallel orchestrator. Spawns 5 specialist mappers, each writing one file under `.design/map/`. The explore stage consumes these when present.
12
+
13
+ ## Mapper → Output
14
+
15
+ | Mapper | Output |
16
+ |--------|--------|
17
+ | `token-mapper` | `.design/map/tokens.md` |
18
+ | `component-taxonomy-mapper` | `.design/map/components.md` |
19
+ | `visual-hierarchy-mapper` | `.design/map/visual-hierarchy.md` |
20
+ | `a11y-mapper` | `.design/map/a11y.md` |
21
+ | `motion-mapper` | `.design/map/motion.md` |
22
+
23
+ ## Step 1 — Setup
24
+
25
+ - Ensure `.design/map/` exists (create if missing).
26
+ - Read `.design/config.json` → `parallelism` object. Use `reference/config-schema.md` defaults if absent.
27
+ - Read `.design/STATE.md` — note `<connections>` (Figma availability for token-mapper).
28
+ - Parse `$ARGUMENTS`. If `--only <name>`, restrict the dispatch set to one mapper.
29
+
30
+ ## Step 2 — Parallelism Decision
31
+
32
+ Follow `reference/parallelism-rules.md`:
33
+
34
+ - All 5 mappers have `parallel-safe: auto` with disjoint `writes:` (each writes a different `.design/map/*.md` file) → no hard-rule conflict.
35
+ - `typical-duration-seconds` sum (~210s) minus slowest (~45s) ≈ 165s savings → clears `min_estimated_savings_seconds`.
36
+ - Verdict: **parallel**.
37
+
38
+ Write the verdict to STATE.md:
39
+
40
+ ```xml
41
+ <parallelism_decision>
42
+ stage: map
43
+ verdict: parallel
44
+ reason: "5 mappers, parallel-safe: auto, writes disjoint, est savings ~165s"
45
+ agents: ["token-mapper", "component-taxonomy-mapper", "visual-hierarchy-mapper", "a11y-mapper", "motion-mapper"]
46
+ ruled_out: []
47
+ timestamp: [ISO 8601 now]
48
+ </parallelism_decision>
49
+ ```
50
+
51
+ If `--only` was passed, adjust `agents` and set `verdict: serial` with `reason: "single mapper requested"`.
52
+
53
+ ## Step 3 — Dispatch (concurrent)
54
+
55
+ Spawn all selected mappers in a single response using multiple `Task()` calls. Standard prompt shape:
56
+
57
+ ```
58
+ Task("<mapper-name>", """
59
+ <required_reading>
60
+ @.design/STATE.md
61
+ @reference/audit-scoring.md
62
+ [@reference/accessibility.md — a11y-mapper only]
63
+ [@reference/motion.md — motion-mapper only]
64
+ </required_reading>
65
+
66
+ You are <mapper-name>. Scan the codebase per your agent spec and write your
67
+ output file under .design/map/. Emit your completion marker when done.
68
+ """)
69
+ ```
70
+
71
+ Wait for every mapper's completion marker:
72
+ - `## TOKEN MAP COMPLETE`
73
+ - `## COMPONENT MAP COMPLETE`
74
+ - `## VISUAL HIERARCHY MAP COMPLETE`
75
+ - `## A11Y MAP COMPLETE`
76
+ - `## MOTION MAP COMPLETE`
77
+
78
+ ## Step 3.5 — Synthesize parallel mapper outputs (Plan 10.1-04, D-13/D-14/D-15)
79
+
80
+ Each mapper has already written its own `.design/map/*.md` (disjoint writes). Main-context doesn't need all 5 verbatim — invoke the `synthesize` skill inline:
81
+
82
+ Skill("synthesize", {
83
+ outputs: [
84
+ "=== from token-mapper ===\n" + <read .design/map/tokens.md>,
85
+ "=== from component-taxonomy-mapper ===\n" + <read .design/map/components.md>,
86
+ "=== from visual-hierarchy-mapper ===\n" + <read .design/map/visual-hierarchy.md>,
87
+ "=== from a11y-mapper ===\n" + <read .design/map/a11y.md>,
88
+ "=== from motion-mapper ===\n" + <read .design/map/motion.md>
89
+ ],
90
+ directive: "Merge into a single cross-cutting DESIGN-PATTERNS.md summary preserving each mapper's top-level section header. Consolidate duplicates across mappers into single entries with source-agent names listed. Target ~120 lines.",
91
+ output_shape: "markdown"
92
+ })
93
+
94
+ Wait for `## SYNTHESIS COMPLETE`. Capture the merged markdown, write to `.design/DESIGN-PATTERNS.md` (overwrite if present). This becomes the primary explore-stage input; per-mapper `.design/map/*.md` files remain on disk as drill-down evidence.
95
+
96
+ If `--only <name>` was passed (single mapper), skip this step entirely.
97
+
98
+ ## Step 4 — Collate
99
+
100
+ Write `.design/DESIGN-MAP.md` — a thin index linking to each `.design/map/*.md` with a one-paragraph summary pulled from each file's header. If Step 3.5 ran, also cross-link to the synthesized `.design/DESIGN-PATTERNS.md` and note at the top: "See DESIGN-PATTERNS.md for the merged cross-cutting summary — this index preserves per-mapper drill-down."
101
+
102
+ ## Step 5 — Report
103
+
104
+ ```
105
+ ━━━ Map complete ━━━
106
+ Files: .design/map/tokens.md, components.md, visual-hierarchy.md, a11y.md, motion.md
107
+ Index: .design/DESIGN-MAP.md
108
+ Next: /gdd:explore (consumes .design/DESIGN-PATTERNS.md on happy path; .design/map/*.md available for drill-down)
109
+ ━━━━━━━━━━━━━━━━━━━━━
110
+ ```
111
+
112
+ ## MAP COMPLETE
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: gdd-new-cycle
3
+ description: "Start a new design cycle. Creates cycle scope in STATE.md, initializes .design/CYCLES.md entry. Each cycle has its own goal and tracks its own decisions/tasks/pipeline runs."
4
+ argument-hint: "[<goal>]"
5
+ tools: Read, Write, AskUserQuestion
6
+ ---
7
+
8
+ # /gdd:new-cycle
9
+
10
+ The cycle is the hierarchical unit above individual pipeline runs: **Cycle > Pipeline run > Wave > Task**. Each cycle has a goal, tracks its own decisions, and can span many pipeline runs.
11
+
12
+ ## Steps
13
+
14
+ 1. Read `.design/STATE.md`. If `cycle:` field is populated and no `complete` flag, ask: "Cycle <N> is active. End it first with `/gdd:complete-cycle`?" Abort if user declines.
15
+ 2. If no goal was passed as an argument, ask (AskUserQuestion): "What is the goal for this design cycle? (e.g., 'Redesign the checkout flow', 'Improve dashboard accessibility')"
16
+ 3. Generate cycle ID: read `.design/CYCLES.md` if present, find the max `cycle-N`, increment. If CYCLES.md is missing, start at `cycle-1`.
17
+ 4. Update `.design/STATE.md` frontmatter: set `cycle: cycle-N`.
18
+ 5. Create or append to `.design/CYCLES.md`:
19
+ ```markdown
20
+ ## cycle-N: <goal>
21
+ **Started**: <date>
22
+ **Status**: active
23
+ **Goal**: <goal>
24
+ **Pipeline runs**: 0
25
+ **Decisions made**: 0
26
+ ```
27
+ 6. Reset the `<decisions>` section in STATE.md for the new cycle. Preserve prior decisions by prepending a comment marker `<!-- prior cycle decisions archived in CYCLES.md -->`.
28
+ 7. Print: "Cycle cycle-N started. Run `@get-design-done brief` or `@get-design-done explore` to begin."
29
+
30
+ ## Do Not
31
+
32
+ - Do not archive prior artifacts here — that's `/gdd:complete-cycle`.
33
+ - Do not overwrite the existing CYCLES.md — append only.
34
+
35
+ ## NEW-CYCLE COMPLETE