@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.
- package/.claude-plugin/marketplace.json +63 -0
- package/.claude-plugin/plugin.json +54 -0
- package/CHANGELOG.md +221 -0
- package/LICENSE +21 -0
- package/README.md +724 -0
- package/SKILL.md +232 -0
- package/agents/README.md +226 -0
- package/agents/a11y-mapper.md +118 -0
- package/agents/component-taxonomy-mapper.md +88 -0
- package/agents/design-advisor.md +139 -0
- package/agents/design-assumptions-analyzer.md +171 -0
- package/agents/design-auditor.md +383 -0
- package/agents/design-context-builder.md +544 -0
- package/agents/design-context-checker-gate.md +90 -0
- package/agents/design-context-checker.md +260 -0
- package/agents/design-discussant.md +98 -0
- package/agents/design-doc-writer.md +229 -0
- package/agents/design-executor.md +452 -0
- package/agents/design-figma-writer.md +302 -0
- package/agents/design-fixer.md +180 -0
- package/agents/design-integration-checker-gate.md +93 -0
- package/agents/design-integration-checker.md +326 -0
- package/agents/design-pattern-mapper.md +206 -0
- package/agents/design-phase-researcher.md +229 -0
- package/agents/design-plan-checker.md +164 -0
- package/agents/design-planner.md +352 -0
- package/agents/design-reflector.md +175 -0
- package/agents/design-research-synthesizer.md +127 -0
- package/agents/design-verifier-gate.md +97 -0
- package/agents/design-verifier.md +605 -0
- package/agents/gdd-graphify-sync.md +100 -0
- package/agents/gdd-intel-updater.md +88 -0
- package/agents/gdd-learnings-extractor.md +85 -0
- package/agents/motion-mapper.md +103 -0
- package/agents/token-mapper.md +103 -0
- package/agents/visual-hierarchy-mapper.md +95 -0
- package/connections/chromatic.md +247 -0
- package/connections/claude-design.md +190 -0
- package/connections/connections.md +218 -0
- package/connections/figma-writer.md +139 -0
- package/connections/figma.md +146 -0
- package/connections/graphify.md +197 -0
- package/connections/pinterest.md +153 -0
- package/connections/preview.md +173 -0
- package/connections/refero.md +189 -0
- package/connections/storybook.md +280 -0
- package/hooks/budget-enforcer.js +318 -0
- package/hooks/context-exhaustion.js +127 -0
- package/hooks/gdd-read-injection-scanner.js +44 -0
- package/hooks/hooks.json +44 -0
- package/package.json +60 -0
- package/reference/BRANCH-PROTECTION.md +65 -0
- package/reference/DEPRECATIONS.md +41 -0
- package/reference/STATE-TEMPLATE.md +200 -0
- package/reference/accessibility.md +190 -0
- package/reference/anti-patterns.md +336 -0
- package/reference/audit-scoring.md +205 -0
- package/reference/checklists.md +137 -0
- package/reference/config-schema.md +319 -0
- package/reference/debugger-philosophy.md +32 -0
- package/reference/heuristics.md +201 -0
- package/reference/intel-schema.md +266 -0
- package/reference/model-prices.md +37 -0
- package/reference/model-tiers.md +118 -0
- package/reference/motion.md +285 -0
- package/reference/parallelism-rules.md +108 -0
- package/reference/priority-matrix.md +31 -0
- package/reference/project-skills-guide.md +42 -0
- package/reference/review-format.md +107 -0
- package/reference/schemas/config.schema.json +41 -0
- package/reference/schemas/hooks.schema.json +55 -0
- package/reference/schemas/intel.schema.json +191 -0
- package/reference/schemas/marketplace.schema.json +72 -0
- package/reference/schemas/plugin.schema.json +59 -0
- package/reference/shared-preamble.md +82 -0
- package/reference/typography.md +229 -0
- package/scripts/aggregate-agent-metrics.js +144 -0
- package/scripts/apply-branch-protection.sh +75 -0
- package/scripts/bootstrap-manifest.txt +3 -0
- package/scripts/bootstrap.sh +80 -0
- package/scripts/build-intel.cjs +458 -0
- package/scripts/detect-stale-refs.cjs +101 -0
- package/scripts/extract-changelog-section.cjs +57 -0
- package/scripts/release-smoke-test.cjs +169 -0
- package/scripts/rollback-release.sh +42 -0
- package/scripts/run-injection-scanner-ci.cjs +92 -0
- package/scripts/validate-frontmatter.cjs +68 -0
- package/scripts/validate-schemas.cjs +225 -0
- package/scripts/verify-version-sync.cjs +30 -0
- package/skills/add-backlog/SKILL.md +47 -0
- package/skills/analyze-dependencies/SKILL.md +184 -0
- package/skills/apply-reflections/SKILL.md +112 -0
- package/skills/audit/SKILL.md +54 -0
- package/skills/brief/SKILL.md +75 -0
- package/skills/cache-manager/SKILL.md +120 -0
- package/skills/compare/SKILL.md +322 -0
- package/skills/complete-cycle/SKILL.md +33 -0
- package/skills/darkmode/SKILL.md +331 -0
- package/skills/debug/SKILL.md +38 -0
- package/skills/design/SKILL.md +281 -0
- package/skills/discover/SKILL.md +172 -0
- package/skills/discuss/SKILL.md +67 -0
- package/skills/do/SKILL.md +45 -0
- package/skills/explore/SKILL.md +109 -0
- package/skills/extract-learnings/SKILL.md +98 -0
- package/skills/fast/SKILL.md +44 -0
- package/skills/figma-write/SKILL.md +40 -0
- package/skills/graphify/SKILL.md +48 -0
- package/skills/health/SKILL.md +48 -0
- package/skills/help/SKILL.md +76 -0
- package/skills/list-assumptions/SKILL.md +60 -0
- package/skills/map/SKILL.md +112 -0
- package/skills/new-cycle/SKILL.md +35 -0
- package/skills/new-project/SKILL.md +53 -0
- package/skills/next/SKILL.md +42 -0
- package/skills/note/SKILL.md +47 -0
- package/skills/optimize/SKILL.md +120 -0
- package/skills/pause/SKILL.md +41 -0
- package/skills/plan/SKILL.md +251 -0
- package/skills/plant-seed/SKILL.md +47 -0
- package/skills/pr-branch/SKILL.md +31 -0
- package/skills/progress/SKILL.md +60 -0
- package/skills/quick/SKILL.md +43 -0
- package/skills/reapply-patches/SKILL.md +31 -0
- package/skills/reflect/SKILL.md +73 -0
- package/skills/resume/SKILL.md +37 -0
- package/skills/review-backlog/SKILL.md +45 -0
- package/skills/router/SKILL.md +67 -0
- package/skills/scan/SKILL.md +721 -0
- package/skills/settings/SKILL.md +78 -0
- package/skills/ship/SKILL.md +31 -0
- package/skills/sketch/SKILL.md +78 -0
- package/skills/sketch-wrap-up/SKILL.md +88 -0
- package/skills/skill-manifest/SKILL.md +79 -0
- package/skills/spike/SKILL.md +67 -0
- package/skills/spike-wrap-up/SKILL.md +81 -0
- package/skills/stats/SKILL.md +50 -0
- package/skills/style/SKILL.md +193 -0
- package/skills/synthesize/SKILL.md +93 -0
- package/skills/todo/SKILL.md +54 -0
- package/skills/undo/SKILL.md +30 -0
- package/skills/update/SKILL.md +36 -0
- package/skills/verify/SKILL.md +452 -0
- 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
|