@hegemonart/get-design-done 1.57.2 → 1.58.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/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +2 -2
- package/CHANGELOG.md +87 -0
- package/README.md +1 -1
- package/SKILL.md +2 -6
- package/connections/cursor.md +0 -1
- package/hooks/gdd-intel-trigger.js +2 -2
- package/package.json +3 -3
- package/reference/DEPRECATIONS.md +18 -11
- package/reference/live-mode-integration.md +1 -1
- package/reference/registry.json +1 -1
- package/reference/skill-graph.md +1 -5
- package/reference/skill-metadata.md +4 -4
- package/reference/skill-placeholders.md +2 -2
- package/scripts/lib/manifest/scaffolder.cjs +1 -1
- package/scripts/lib/manifest/schemas/skills.schema.json +1 -1
- package/scripts/lib/manifest/skills.json +4 -24
- package/scripts/lib/new-addendum.cjs +1 -1
- package/scripts/lib/worktree-resolve.cjs +4 -16
- package/sdk/cli/commands/build.ts +2 -2
- package/sdk/cli/index.js +2 -2
- package/sdk/cli/index.ts +1 -1
- package/skills/README.md +82 -0
- package/skills/bootstrap-ds/SKILL.md +1 -1
- package/skills/compare/SKILL.md +1 -1
- package/skills/new-cycle/SKILL.md +1 -1
- package/skills/new-skill/SKILL.md +5 -5
- package/skills/peer-cli-customize/SKILL.md +0 -1
- package/skills/peers/SKILL.md +1 -1
- package/skills/reflect/procedures/capability-gap-scan.md +0 -1
- package/skills/report-issue/report-issue-procedure.md +0 -1
- package/skills/synthesize/SKILL.md +1 -1
- package/skills/turn-closeout/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +0 -95
- package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +0 -109
- package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +0 -170
- package/dist/claude-code/.claude/skills/audit/SKILL.md +0 -79
- package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +0 -94
- package/dist/claude-code/.claude/skills/benchmark/SKILL.md +0 -65
- package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +0 -43
- package/dist/claude-code/.claude/skills/brief/SKILL.md +0 -145
- package/dist/claude-code/.claude/skills/budget/SKILL.md +0 -45
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +0 -66
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +0 -126
- package/dist/claude-code/.claude/skills/check-update/SKILL.md +0 -98
- package/dist/claude-code/.claude/skills/compare/SKILL.md +0 -82
- package/dist/claude-code/.claude/skills/compare/compare-rubric.md +0 -171
- package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/connections/SKILL.md +0 -71
- package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +0 -608
- package/dist/claude-code/.claude/skills/context/SKILL.md +0 -137
- package/dist/claude-code/.claude/skills/continue/SKILL.md +0 -24
- package/dist/claude-code/.claude/skills/darkmode/SKILL.md +0 -76
- package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +0 -258
- package/dist/claude-code/.claude/skills/debug/SKILL.md +0 -41
- package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +0 -119
- package/dist/claude-code/.claude/skills/design/SKILL.md +0 -118
- package/dist/claude-code/.claude/skills/design/design-procedure.md +0 -304
- package/dist/claude-code/.claude/skills/discover/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/discover/discover-procedure.md +0 -222
- package/dist/claude-code/.claude/skills/discuss/SKILL.md +0 -96
- package/dist/claude-code/.claude/skills/do/SKILL.md +0 -45
- package/dist/claude-code/.claude/skills/explore/SKILL.md +0 -118
- package/dist/claude-code/.claude/skills/explore/explore-procedure.md +0 -267
- package/dist/claude-code/.claude/skills/export/SKILL.md +0 -30
- package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +0 -114
- package/dist/claude-code/.claude/skills/fast/SKILL.md +0 -91
- package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +0 -64
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +0 -50
- package/dist/claude-code/.claude/skills/graphify/SKILL.md +0 -49
- package/dist/claude-code/.claude/skills/health/SKILL.md +0 -99
- package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +0 -44
- package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +0 -69
- package/dist/claude-code/.claude/skills/help/SKILL.md +0 -87
- package/dist/claude-code/.claude/skills/instinct/SKILL.md +0 -111
- package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +0 -61
- package/dist/claude-code/.claude/skills/list-pins/SKILL.md +0 -27
- package/dist/claude-code/.claude/skills/live/SKILL.md +0 -98
- package/dist/claude-code/.claude/skills/locale/SKILL.md +0 -51
- package/dist/claude-code/.claude/skills/map/SKILL.md +0 -89
- package/dist/claude-code/.claude/skills/migrate/SKILL.md +0 -70
- package/dist/claude-code/.claude/skills/migrate-context/SKILL.md +0 -123
- package/dist/claude-code/.claude/skills/new-addendum/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +0 -37
- package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +0 -87
- package/dist/claude-code/.claude/skills/new-project/SKILL.md +0 -53
- package/dist/claude-code/.claude/skills/new-skill/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/next/SKILL.md +0 -68
- package/dist/claude-code/.claude/skills/note/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/optimize/SKILL.md +0 -97
- package/dist/claude-code/.claude/skills/override/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/paper-write/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/pause/SKILL.md +0 -77
- package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +0 -88
- package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +0 -161
- package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/peers/SKILL.md +0 -96
- package/dist/claude-code/.claude/skills/pencil-write/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/pin/SKILL.md +0 -37
- package/dist/claude-code/.claude/skills/plan/SKILL.md +0 -105
- package/dist/claude-code/.claude/skills/plan/plan-procedure.md +0 -278
- package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +0 -32
- package/dist/claude-code/.claude/skills/progress/SKILL.md +0 -107
- package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +0 -101
- package/dist/claude-code/.claude/skills/quick/SKILL.md +0 -44
- package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +0 -32
- package/dist/claude-code/.claude/skills/recall/SKILL.md +0 -75
- package/dist/claude-code/.claude/skills/reflect/SKILL.md +0 -85
- package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +0 -120
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +0 -53
- package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +0 -120
- package/dist/claude-code/.claude/skills/resume/SKILL.md +0 -93
- package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +0 -46
- package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +0 -42
- package/dist/claude-code/.claude/skills/roi/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +0 -35
- package/dist/claude-code/.claude/skills/router/SKILL.md +0 -89
- package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +0 -65
- package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +0 -78
- package/dist/claude-code/.claude/skills/router/router-rules.md +0 -84
- package/dist/claude-code/.claude/skills/scan/SKILL.md +0 -92
- package/dist/claude-code/.claude/skills/scan/scan-procedure.md +0 -732
- package/dist/claude-code/.claude/skills/settings/SKILL.md +0 -87
- package/dist/claude-code/.claude/skills/ship/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/sketch/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +0 -92
- package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +0 -79
- package/dist/claude-code/.claude/skills/spike/SKILL.md +0 -67
- package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/start/SKILL.md +0 -67
- package/dist/claude-code/.claude/skills/start/start-procedure.md +0 -115
- package/dist/claude-code/.claude/skills/state/SKILL.md +0 -106
- package/dist/claude-code/.claude/skills/stats/SKILL.md +0 -51
- package/dist/claude-code/.claude/skills/style/SKILL.md +0 -71
- package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +0 -150
- package/dist/claude-code/.claude/skills/synthesize/SKILL.md +0 -94
- package/dist/claude-code/.claude/skills/timeline/SKILL.md +0 -66
- package/dist/claude-code/.claude/skills/todo/SKILL.md +0 -64
- package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +0 -95
- package/dist/claude-code/.claude/skills/undo/SKILL.md +0 -31
- package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/unpin/SKILL.md +0 -31
- package/dist/claude-code/.claude/skills/update/SKILL.md +0 -56
- package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/verify/SKILL.md +0 -113
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +0 -511
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +0 -82
- package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +0 -26
- package/hooks/run-hook.cmd +0 -35
- package/skills/discover/SKILL.md +0 -78
- package/skills/discover/discover-procedure.md +0 -222
- package/skills/new-cycle/milestone-completeness-rubric.md +0 -87
- package/skills/scan/SKILL.md +0 -92
- package/skills/scan/scan-procedure.md +0 -732
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-settings
|
|
3
|
-
description: "Manage .design/config.json settings. Subcommands: profile, parallelism, cleanup, show."
|
|
4
|
-
argument-hint: "<profile <name>|parallelism <key> <value>|cleanup|show>"
|
|
5
|
-
tools: Read, Write, AskUserQuestion, Bash, mcp__gdd_state__get, mcp__gdd_state__frontmatter_update
|
|
6
|
-
disable-model-invocation: true
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# gdd-settings
|
|
10
|
-
|
|
11
|
-
Manages `.design/config.json` - the per-project config for model profile and parallelism. See `reference/config-schema.md` for the full schema. This skill also supports patching non-stage STATE.md frontmatter keys (`cycle`, `wave`, custom keys) via `mcp__gdd_state__frontmatter_update`. See **STATE.md frontmatter** below.
|
|
12
|
-
|
|
13
|
-
## Subcommands
|
|
14
|
-
|
|
15
|
-
### `show`
|
|
16
|
-
|
|
17
|
-
Print the current `.design/config.json` contents, nicely formatted. If the file is missing, print the defaults with a note that no config exists yet. Also call `mcp__gdd_state__get` to print the current STATE.md frontmatter keys (cycle, wave, model_profile) alongside config.json for a unified view.
|
|
18
|
-
|
|
19
|
-
### `profile <name>`
|
|
20
|
-
|
|
21
|
-
Set `model_profile` to one of `quality`, `balanced`, `budget`. Validate the value; reject anything else with the list of allowed values. Read current config, merge the change, write back. Confirm with the new value.
|
|
22
|
-
|
|
23
|
-
### `parallelism <key> <value>`
|
|
24
|
-
|
|
25
|
-
Set one field under `parallelism`. Supported keys and value types:
|
|
26
|
-
|
|
27
|
-
| Key | Type |
|
|
28
|
-
|---|---|
|
|
29
|
-
| `enabled` | bool (`true`/`false`) |
|
|
30
|
-
| `max_parallel_agents` | int |
|
|
31
|
-
| `min_tasks_to_parallelize` | int |
|
|
32
|
-
| `min_estimated_savings_seconds` | int |
|
|
33
|
-
| `require_disjoint_touches` | bool |
|
|
34
|
-
| `worktree_isolation` | bool |
|
|
35
|
-
|
|
36
|
-
Validate type; reject otherwise. Read current config, merge, write back. Confirm.
|
|
37
|
-
|
|
38
|
-
### `cleanup`
|
|
39
|
-
|
|
40
|
-
Use `AskUserQuestion` to pick one or more cleanup actions, then confirm each before executing:
|
|
41
|
-
|
|
42
|
-
1. Delete `.design/*.md` artifacts (excludes `config.json`, `STATE.md`, `backlog/`).
|
|
43
|
-
2. Reset `.design/STATE.md` to the template at `reference/STATE-TEMPLATE.md`.
|
|
44
|
-
3. Clear `.design/backlog/` directory contents.
|
|
45
|
-
|
|
46
|
-
## Config Read/Write Pattern
|
|
47
|
-
|
|
48
|
-
Always:
|
|
49
|
-
|
|
50
|
-
1. Read current `.design/config.json` (use defaults below if missing).
|
|
51
|
-
2. Merge the single field being changed - never overwrite unrelated fields.
|
|
52
|
-
3. Write back as pretty JSON (2-space indent, trailing newline).
|
|
53
|
-
|
|
54
|
-
## STATE.md frontmatter
|
|
55
|
-
|
|
56
|
-
For any STATE.md frontmatter patch (cycle, wave, or project-custom keys), call `mcp__gdd_state__frontmatter_update({ patch: { <key>: <value> } })`. Do not `Edit` or `Write` STATE.md directly.
|
|
57
|
-
|
|
58
|
-
**Stage-patch guard:** this skill cannot patch `stage`. If the user attempts to set `stage` here, reject with: "Use /gdd:brief, /gdd:explore, etc. for stage transitions. The settings skill is for non-stage frontmatter only." The MCP tool itself rejects `stage` patches with a VALIDATION error (surfaced by `mcp__gdd_state__frontmatter_update`), which this prose surfaces up-front so the user gets a clear message before the tool round-trip.
|
|
59
|
-
|
|
60
|
-
This surface is STATE.md-only. `.design/config.json` mutations continue to use `Read` + `Write` directly (out of scope for the 11-tool MCP catalog).
|
|
61
|
-
|
|
62
|
-
## Default Config
|
|
63
|
-
|
|
64
|
-
If `.design/config.json` does not exist, create it with:
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"model_profile": "balanced",
|
|
69
|
-
"parallelism": {
|
|
70
|
-
"enabled": true,
|
|
71
|
-
"max_parallel_agents": 5,
|
|
72
|
-
"min_tasks_to_parallelize": 2,
|
|
73
|
-
"min_estimated_savings_seconds": 30,
|
|
74
|
-
"require_disjoint_touches": true,
|
|
75
|
-
"worktree_isolation": false,
|
|
76
|
-
"per_stage_override": {}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Output
|
|
82
|
-
|
|
83
|
-
End every invocation with:
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
## SETTINGS COMPLETE
|
|
87
|
-
```
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-ship
|
|
3
|
-
description: "Post-verify PR flow - creates a clean PR branch, invokes code review check, and prepares the PR for merge. Activates for requests involving finishing a cycle, packaging design output, or moving work to a pull request."
|
|
4
|
-
argument-hint: "[--title <PR title>] [--draft]"
|
|
5
|
-
tools: Read, Write, Bash, AskUserQuestion, Task
|
|
6
|
-
disable-model-invocation: true
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# /gdd:ship
|
|
10
|
-
|
|
11
|
-
Closes the verify → merge gap: runs `/gdd:pr-branch` for a clean branch, assembles a PR body from design artifacts, and creates the PR via `gh`.
|
|
12
|
-
|
|
13
|
-
## Steps
|
|
14
|
-
|
|
15
|
-
1. **Pre-flight verify check**: Check that `.design/DESIGN-VERIFICATION.md` exists and shows a pass. If missing or failing, ask: "Verify has not completed / failed. Ship anyway? (yes/no)"
|
|
16
|
-
2. **Clean branch**: Invoke `/gdd:pr-branch` to produce a branch with only `src/` commits (no `.design/` or `.planning/` noise). Use the resulting branch for the PR.
|
|
17
|
-
3. **PR title**: Use `--title` argument if given, otherwise ask (AskUserQuestion): "PR title?"
|
|
18
|
-
4. **PR body**: Auto-generate from:
|
|
19
|
-
- Goals section of `.design/DESIGN-PLAN.md`
|
|
20
|
-
- Summary of `.design/DESIGN-VERIFICATION.md` (per-task pass/fail)
|
|
21
|
-
- Top-line audit score from `.design/DESIGN-AUDIT.md` if present
|
|
22
|
-
Format as Markdown with `## Goals`, `## Verification`, `## Audit` sections.
|
|
23
|
-
5. **Create PR**: Run `gh pr create --title "<title>" --body "<body>" [--draft]` via Bash. If `gh` is not installed, print the full body and instruct the user to create the PR manually.
|
|
24
|
-
6. **Print PR URL** on success.
|
|
25
|
-
|
|
26
|
-
## Do Not
|
|
27
|
-
|
|
28
|
-
- Do not push to `main`/`master` directly.
|
|
29
|
-
- Do not include `.design/` or `.planning/` files in the PR branch - that is `/gdd:pr-branch`'s job.
|
|
30
|
-
- Do not skip the verify pre-flight silently - always surface a failure and ask.
|
|
31
|
-
|
|
32
|
-
## Step 6.5 - PR inline review surface (pr-commenter)
|
|
33
|
-
|
|
34
|
-
ONLY on the success path - after the PR has been created (Step 5) and its URL printed (Step 6) - spawn `agents/pr-commenter.md` via the `Task` tool to post GDD's verify/audit output **inline** on the new PR: inline review comments on changed lines, Preview/Chromatic before-after screenshot pairs, and the `gdd/design-review` check-run (audit pillar scores + verify pass/fail + a11y). Pass the PR number + `owner/repo` in the Task context.
|
|
35
|
-
|
|
36
|
-
This is a **degrade-to-noop** surface and MUST NOT fail the ship: if `gh` is unavailable, the `GDD_DISABLE_PR_COMMENTER` kill-switch (env or `.design/config.json`) is set, or the agent errors, the ship still succeeds (pr-commenter prints the bodies for manual paste). Skip this step entirely if PR creation failed in Step 5. The posting contract (gh-api shapes, check-run payload, redaction, branch-protection setup) lives in `reference/pr-review-integration.md`.
|
|
37
|
-
|
|
38
|
-
## Step 7 - Update notice (post-closeout surface)
|
|
39
|
-
|
|
40
|
-
ONLY on the success path - after the PR has been created and the URL has been printed - emit the plugin-update banner. If PR creation failed earlier, skip this step (do not suggest upgrades in the middle of a PR-creation failure).
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
[ -f .design/update-available.md ] && cat .design/update-available.md
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Written by `hooks/update-check.sh`; suppressed mid-pipeline and when the latest release is dismissed.
|
|
47
|
-
|
|
48
|
-
## SHIP COMPLETE
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-sketch
|
|
3
|
-
description: "Multi-variant HTML design exploration that creates .design/sketches/<slug>/ with N standalone variants (default 3), browser-openable directly via file:// without a build step. Use when answering 'what could this look like?' before committing to a direction."
|
|
4
|
-
argument-hint: "[topic] [--variants N] [--quick]"
|
|
5
|
-
tools: Read, Write, AskUserQuestion, Bash
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Get Design Done - Sketch
|
|
9
|
-
|
|
10
|
-
**Role:** Multi-variant HTML exploration. Answers "what could this look like?" by generating N standalone HTML variants from a topic prompt. Variants are browser-openable directly - no build step - and can be screenshot by Phase 8 Preview/Playwright tooling later.
|
|
11
|
-
|
|
12
|
-
Unlike `/gdd:spike` (which tests feasibility), `/gdd:sketch` explores visual/directional variants.
|
|
13
|
-
|
|
14
|
-
## Flag parsing
|
|
15
|
-
|
|
16
|
-
Parse `$ARGUMENTS`:
|
|
17
|
-
- `[topic]` → kebab-case slug (e.g., "hero-redesign")
|
|
18
|
-
- `--variants N` → number of variants (default: 3)
|
|
19
|
-
- `--quick` → skip intake, use DESIGN-CONTEXT.md tokens + sensible defaults
|
|
20
|
-
|
|
21
|
-
## Step 1 - Intake (unless `--quick`)
|
|
22
|
-
|
|
23
|
-
AskUserQuestion, one at a time:
|
|
24
|
-
1. "What are you sketching? (component, layout, page)"
|
|
25
|
-
2. "What directions should the variants explore? (minimal/maximal, dense/spacious, flat/layered, playful/restrained, etc.)"
|
|
26
|
-
3. "Which design tokens apply? (pick from DESIGN-CONTEXT.md, or use defaults)"
|
|
27
|
-
|
|
28
|
-
If `--quick`: derive directions from topic + pull tokens from `.design/DESIGN-CONTEXT.md` if present, else defaults.
|
|
29
|
-
|
|
30
|
-
## Step 2 - Create sketch directory
|
|
31
|
-
|
|
32
|
-
- Derive `<slug>` from the topic (kebab-case).
|
|
33
|
-
- `mkdir -p .design/sketches/<slug>/` via Bash.
|
|
34
|
-
|
|
35
|
-
## Step 3 - Write INTAKE.md
|
|
36
|
-
|
|
37
|
-
Write `.design/sketches/<slug>/INTAKE.md` with:
|
|
38
|
-
- Topic
|
|
39
|
-
- Directions (one bullet per variant)
|
|
40
|
-
- Token references (link to DESIGN-CONTEXT.md or inline list)
|
|
41
|
-
- Timestamp
|
|
42
|
-
|
|
43
|
-
## Step 4 - Generate N standalone HTML variants
|
|
44
|
-
|
|
45
|
-
For each of N variants (default 3), write `variant-<n>.html` as a **complete standalone HTML file**:
|
|
46
|
-
- `<!DOCTYPE html>` + `<html>` + `<head>` + `<body>`
|
|
47
|
-
- `<style>` block inline with CSS custom properties for tokens (`--color-*`, `--space-*`, `--font-*`)
|
|
48
|
-
- Semantic HTML5 (`<header>`, `<main>`, `<nav>`, `<section>`, etc.)
|
|
49
|
-
- No imports, no bundler, no JS framework - opens in a browser directly via `file://`
|
|
50
|
-
- Each variant explores a different direction from intake
|
|
51
|
-
|
|
52
|
-
## Step 5 - Write README.md
|
|
53
|
-
|
|
54
|
-
Write `.design/sketches/<slug>/README.md` with:
|
|
55
|
-
- Topic + one-line summary
|
|
56
|
-
- List of variants: `variant-1.html` - direction label - one-line description
|
|
57
|
-
- How to view: "Open each `variant-*.html` in a browser."
|
|
58
|
-
- Next step: "Run `/gdd:sketch-wrap-up <slug>` when ready to pick a winner."
|
|
59
|
-
|
|
60
|
-
## After writing
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
━━━ Sketches created ━━━
|
|
64
|
-
Slug: <slug>
|
|
65
|
-
Directory: .design/sketches/<slug>/
|
|
66
|
-
Variants: N standalone HTML files
|
|
67
|
-
Open variant-*.html in a browser.
|
|
68
|
-
Next: /gdd:sketch-wrap-up <slug>
|
|
69
|
-
━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Do Not
|
|
73
|
-
|
|
74
|
-
- Do not write to `src/` - sketches live in `.design/sketches/` only.
|
|
75
|
-
- Do not use build-step syntax (JSX, TS, imports). Standalone HTML only.
|
|
76
|
-
- Do not overwrite an existing sketch slug without asking.
|
|
77
|
-
|
|
78
|
-
## SKETCH COMPLETE
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-sketch-wrap-up
|
|
3
|
-
description: "Walk through sketches, pick winner + rationale, group by design area, write project skills to ./.claude/skills/design-<area>-conventions.md."
|
|
4
|
-
argument-hint: "[slug]"
|
|
5
|
-
tools: Read, Write, Glob, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Get Design Done - Sketch Wrap-Up
|
|
9
|
-
|
|
10
|
-
**Role:** Close an open sketch - elicit the winner + rationale from the user, group the decision by design area, and codify it as a project-local skill at `./.claude/skills/design-<area>-conventions.md` so future gdd sessions auto-load the decision. See `./reference/cycle-handoff-preamble.md` for the cycle-handoff framing this decision-archive feeds into.
|
|
11
|
-
|
|
12
|
-
## Step 1 - Find sketches
|
|
13
|
-
|
|
14
|
-
- Glob `.design/sketches/*/`.
|
|
15
|
-
- If `[slug]` provided → use it directly.
|
|
16
|
-
- If multiple pending (no `WINNER.md`) → AskUserQuestion: "Which sketch are you wrapping up?"
|
|
17
|
-
- If none → print `No open sketches. Run /gdd:sketch first.` and exit.
|
|
18
|
-
|
|
19
|
-
## Step 2 - Walk variants
|
|
20
|
-
|
|
21
|
-
Read the sketch's `README.md`. For each `variant-N.html`:
|
|
22
|
-
|
|
23
|
-
- Show the variant's one-line description from README.
|
|
24
|
-
- AskUserQuestion: "Is variant-N a keeper, maybe, or rejected?"
|
|
25
|
-
|
|
26
|
-
## Step 3 - Elicit winner rationale
|
|
27
|
-
|
|
28
|
-
AskUserQuestion in sequence:
|
|
29
|
-
|
|
30
|
-
1. "Which variant is the winner?"
|
|
31
|
-
2. "What makes variant-N the winning direction? (grounds the decision for future sessions)"
|
|
32
|
-
3. "Any token implications? (e.g., spacing scale clamp, color adjustment, font-weight shift)"
|
|
33
|
-
|
|
34
|
-
## Step 4 - Group by design area
|
|
35
|
-
|
|
36
|
-
AskUserQuestion: "Which design area does this winner inform?" Options: `typography / color / layout / motion / component / interaction`.
|
|
37
|
-
|
|
38
|
-
## Step 5 - Write project skill
|
|
39
|
-
|
|
40
|
-
Append to `./.claude/skills/design-<area>-conventions.md` (create if missing):
|
|
41
|
-
|
|
42
|
-
```markdown
|
|
43
|
-
# Design <Area> Conventions (Project-Local)
|
|
44
|
-
|
|
45
|
-
Auto-loaded in gdd sessions. Captures decisions codified from `/gdd:sketch-wrap-up`.
|
|
46
|
-
|
|
47
|
-
## Decision from sketch: <slug> (YYYY-MM-DD)
|
|
48
|
-
**Winner**: variant-N (<direction label>)
|
|
49
|
-
**Rationale**: <user rationale>
|
|
50
|
-
**Token implications**: <implications, or "none">
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Step 6 - Write WINNER.md
|
|
54
|
-
|
|
55
|
-
Write `.design/sketches/<slug>/WINNER.md` with: `# Winner: variant-N`, then bold-prefixed fields **Slug**, **Area**, **Rationale**, **Captured** (YYYY-MM-DD), **Project skill written to** (path from Step 5).
|
|
56
|
-
|
|
57
|
-
## Step 7 - Append D-XX + `<prototyping>` outcome to STATE.md
|
|
58
|
-
|
|
59
|
-
Two coupled writes - both must succeed so the sketch resolution surfaces in both `<decisions>` (all downstream stages) and `<prototyping>` (planner-specific context via decision-injector). Compute `D-XX` as max existing `D-NN` + 1 (scan `<decisions>` for `D-\d+:`, zero-pad to 2 digits).
|
|
60
|
-
|
|
61
|
-
- **Write 1 (`<decisions>`):** `D-XX: sketch/<slug> — winner: variant-N — <rationale> (locked)\n Source: .design/sketches/<slug>/WINNER.md`
|
|
62
|
-
- **Write 2 (`<prototyping>`):** `<sketch slug="<slug>" cycle="<cycle>" decision="D-XX" status="resolved"/>`. `<cycle>` from STATE.md frontmatter; empty string valid for single-cycle Wave A projects. If `<prototyping>` block does not exist, materialize between `<must_haves>` and `<connections>` per STATE template; append the `<sketch …/>` as first child.
|
|
63
|
-
|
|
64
|
-
Prefer MCP `gdd_state` typed mutators (byte-identical output): `mcp__gdd_state__add_decision({id, text, status})` + `mcp__gdd_state__add_prototyping({type:"sketch", slug, cycle, decision, status})`. Without MCP, edit `.design/STATE.md` directly via Read + Write.
|
|
65
|
-
|
|
66
|
-
## Step 8 - Update sketches SUMMARY.md
|
|
67
|
-
|
|
68
|
-
Append to `.design/sketches/SUMMARY.md` (create if missing):
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
- <slug> (YYYY-MM-DD) — winner: variant-N — area: <area> — D-XX — <one-line rationale>
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## After writing
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
━━━ Sketch wrapped ━━━
|
|
78
|
-
Slug: <slug>
|
|
79
|
-
Winner: variant-N
|
|
80
|
-
Area: <area>
|
|
81
|
-
Decision recorded: D-XX
|
|
82
|
-
Prototyping entry: <sketch slug="<slug>" cycle="<cycle>" decision="D-XX" status="resolved"/>
|
|
83
|
-
Project skill: ./.claude/skills/design-<area>-conventions.md
|
|
84
|
-
━━━━━━━━━━━━━━━━━━━━━
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Do Not
|
|
88
|
-
|
|
89
|
-
- Do not modify other sketch variants or rejected directions.
|
|
90
|
-
- Do not write to `src/` - conventions are design-layer only.
|
|
91
|
-
|
|
92
|
-
## SKETCH-WRAP-UP COMPLETE
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-skill-manifest
|
|
3
|
-
description: "Lists all registered GDD skills and agents, with descriptions, from the intel store. Falls back to directory scan if intel store not present."
|
|
4
|
-
tools: Bash, Read, Glob
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /gdd:skill-manifest
|
|
8
|
-
|
|
9
|
-
**Role:** Print a manifest of all registered skills (commands) and agents available in this plugin installation.
|
|
10
|
-
|
|
11
|
-
## Pre-flight check
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
ls .design/intel/exports.json 2>/dev/null && echo "ready" || echo "missing"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Mode 1 - Intel store available
|
|
18
|
-
|
|
19
|
-
Read `.design/intel/exports.json`. Group entries by `kind` (skill vs agent). Print:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
━━━ Skill Manifest ━━━
|
|
23
|
-
Generated from intel store: .design/intel/exports.json
|
|
24
|
-
|
|
25
|
-
SKILLS (Commands)
|
|
26
|
-
─────────────────
|
|
27
|
-
/gdd:scan gdd-scan
|
|
28
|
-
/gdd:discover gdd-discover
|
|
29
|
-
/gdd:plan gdd-plan
|
|
30
|
-
/gdd:design gdd-design
|
|
31
|
-
/gdd:verify gdd-verify
|
|
32
|
-
/gdd:style gdd-style
|
|
33
|
-
/gdd:darkmode gdd-darkmode
|
|
34
|
-
/gdd:compare gdd-compare
|
|
35
|
-
... (all skills)
|
|
36
|
-
|
|
37
|
-
AGENTS
|
|
38
|
-
──────
|
|
39
|
-
design-advisor Design advisor agent
|
|
40
|
-
design-auditor Design auditor agent
|
|
41
|
-
design-context-builder Builds DESIGN-CONTEXT.md from codebase scan
|
|
42
|
-
... (all agents)
|
|
43
|
-
|
|
44
|
-
Total: <N> skills, <M> agents
|
|
45
|
-
━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
To get the description for each skill/agent: read `exports.json` entry and look up the matching file in `files.json`, then read its frontmatter `description` field from `exports.json` (if stored) or from the file directly.
|
|
49
|
-
|
|
50
|
-
## Mode 2 - Intel store missing (fallback)
|
|
51
|
-
|
|
52
|
-
If `.design/intel/exports.json` is not present, fall back to directory scan:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
ls skills/
|
|
56
|
-
ls agents/*.md
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Print a simplified manifest without descriptions:
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
━━━ Skill Manifest (no intel store — run build-intel.cjs for descriptions) ━━━
|
|
63
|
-
|
|
64
|
-
SKILLS: scan, discover, plan, design, verify, style, darkmode, compare, ...
|
|
65
|
-
AGENTS: design-advisor.md, design-auditor.md, ...
|
|
66
|
-
━━━━━━━━━━━━━━━━━━━━━
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Filter mode
|
|
70
|
-
|
|
71
|
-
`/gdd:skill-manifest agents` - show agents only
|
|
72
|
-
`/gdd:skill-manifest skills` - show skills only
|
|
73
|
-
`/gdd:skill-manifest <keyword>` - filter by keyword in name or description
|
|
74
|
-
|
|
75
|
-
## Required reading (conditional)
|
|
76
|
-
|
|
77
|
-
@.design/intel/exports.json (if present)
|
|
78
|
-
|
|
79
|
-
## SKILL-MANIFEST COMPLETE
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-spike
|
|
3
|
-
description: "Timeboxed feasibility experiment that creates .design/spikes/<slug>/ with HYPOTHESIS.md, success/failure criteria, scratch/ subdirectory, and a default 60-minute timebox. Use when answering 'can this work?' before betting design or implementation effort on a risky approach."
|
|
4
|
-
argument-hint: "[hypothesis] [--timebox <minutes>]"
|
|
5
|
-
tools: Read, Write, Bash, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Get Design Done - Spike
|
|
9
|
-
|
|
10
|
-
**Role:** Timeboxed feasibility experiment. Answers "can this work?" - e.g., "can we use view transitions for this flow?", "does this animation perform on mobile?". Unlike `/gdd:sketch` (visual variants), `/gdd:spike` tests a hypothesis.
|
|
11
|
-
|
|
12
|
-
## Flag parsing
|
|
13
|
-
|
|
14
|
-
Parse `$ARGUMENTS`:
|
|
15
|
-
- `[hypothesis]` → summary phrase, derives the slug
|
|
16
|
-
- `--timebox <minutes>` → default 60
|
|
17
|
-
|
|
18
|
-
## Step 1 - Intake
|
|
19
|
-
|
|
20
|
-
AskUserQuestion:
|
|
21
|
-
1. "What's the hypothesis? (e.g., 'view transitions can replace our current route animations')"
|
|
22
|
-
2. "What's the timebox? (default 60 minutes)"
|
|
23
|
-
3. "What would prove it works? (success criteria)"
|
|
24
|
-
4. "What would prove it doesn't? (failure criteria)"
|
|
25
|
-
|
|
26
|
-
## Step 2 - Create spike directory
|
|
27
|
-
|
|
28
|
-
- Derive `<slug>` from the hypothesis (kebab-case, short).
|
|
29
|
-
- `mkdir -p .design/spikes/<slug>/scratch/` via Bash.
|
|
30
|
-
|
|
31
|
-
## Step 3 - Write HYPOTHESIS.md
|
|
32
|
-
|
|
33
|
-
Write `.design/spikes/<slug>/HYPOTHESIS.md`:
|
|
34
|
-
```markdown
|
|
35
|
-
# Spike: <slug>
|
|
36
|
-
|
|
37
|
-
**Hypothesis**: <statement>
|
|
38
|
-
**Timebox**: <N> minutes
|
|
39
|
-
**Started**: YYYY-MM-DD HH:MM
|
|
40
|
-
|
|
41
|
-
## Success criteria
|
|
42
|
-
- <criterion>
|
|
43
|
-
|
|
44
|
-
## Failure criteria
|
|
45
|
-
- <criterion>
|
|
46
|
-
|
|
47
|
-
## Scratch area
|
|
48
|
-
Experimental code in `./scratch/` — not committed to src/.
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Step 4 - Announce
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
━━━ Spike started ━━━
|
|
55
|
-
Slug: <slug>
|
|
56
|
-
Timebox: <N> minutes
|
|
57
|
-
Work in: .design/spikes/<slug>/scratch/
|
|
58
|
-
When done: /gdd:spike-wrap-up <slug>
|
|
59
|
-
━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Do Not
|
|
63
|
-
|
|
64
|
-
- Do not write experimental code to `src/` - use `.design/spikes/<slug>/scratch/`.
|
|
65
|
-
- Do not exceed the timebox without explicit user approval; wrap up and reassess first.
|
|
66
|
-
|
|
67
|
-
## SPIKE COMPLETE
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gdd-spike-wrap-up
|
|
3
|
-
description: "Close a spike - capture findings, write decision to STATE.md, update SUMMARY.md."
|
|
4
|
-
argument-hint: "[slug]"
|
|
5
|
-
tools: Read, Write, Glob, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Get Design Done - Spike Wrap-Up
|
|
9
|
-
|
|
10
|
-
**Role:** Close an open spike - capture the verdict, write findings, record a D-XX decision in STATE.md so `plan` sees it when creating tasks. See `./reference/cycle-handoff-preamble.md` for the cycle-handoff framing this archive feeds into.
|
|
11
|
-
|
|
12
|
-
## Step 1 - Find spike
|
|
13
|
-
|
|
14
|
-
- Glob `.design/spikes/*/`.
|
|
15
|
-
- If `[slug]` provided → use it directly.
|
|
16
|
-
- If multiple pending (no `FINDINGS.md`) → AskUserQuestion: "Which spike are you wrapping up?"
|
|
17
|
-
- If none → print `No open spikes. Run /gdd:spike first.` and exit.
|
|
18
|
-
|
|
19
|
-
## Step 2 - Re-surface hypothesis
|
|
20
|
-
|
|
21
|
-
Read `.design/spikes/<slug>/HYPOTHESIS.md`. Show the hypothesis + success/failure criteria to the user.
|
|
22
|
-
|
|
23
|
-
## Step 3 - Elicit findings
|
|
24
|
-
|
|
25
|
-
AskUserQuestion in sequence:
|
|
26
|
-
|
|
27
|
-
1. "Did it meet success criteria? (yes / no / partial)"
|
|
28
|
-
2. "What was learned? (1–3 sentences)"
|
|
29
|
-
3. "Recommendation? (adopt / reject / needs more investigation)"
|
|
30
|
-
|
|
31
|
-
## Step 4 - Write FINDINGS.md
|
|
32
|
-
|
|
33
|
-
Write `.design/spikes/<slug>/FINDINGS.md`:
|
|
34
|
-
|
|
35
|
-
```markdown
|
|
36
|
-
# Findings: <slug>
|
|
37
|
-
|
|
38
|
-
**Verdict**: yes / no / partial
|
|
39
|
-
**Recommendation**: adopt / reject / needs more investigation
|
|
40
|
-
**Completed**: YYYY-MM-DD HH:MM
|
|
41
|
-
|
|
42
|
-
## What was learned
|
|
43
|
-
<1–3 sentences>
|
|
44
|
-
|
|
45
|
-
## Next steps
|
|
46
|
-
<1–2 bullets>
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Step 5 - Record decision in STATE.md
|
|
50
|
-
|
|
51
|
-
Append under `<decisions>`: `D-XX: spike/<slug> — <verdict> — <recommendation>\n Rationale: <one line>\n Source: .design/spikes/<slug>/FINDINGS.md`. Compute `D-XX` as max existing `D-NN` + 1 (scan for `D-\d+:`, zero-pad to 2 digits). Prefer MCP `gdd_state` typed mutator when available: `mcp__gdd_state__add_decision({id, text, status:"locked"})`.
|
|
52
|
-
|
|
53
|
-
## Step 6 - Append `<prototyping>` outcome to STATE.md
|
|
54
|
-
|
|
55
|
-
Coupled with Step 5 - both must succeed so the spike resolution surfaces in `<decisions>` (downstream stages) and `<prototyping>` (planner via decision-injector). Use **same `D-XX`**. Append under `<prototyping>`: `<spike slug="<slug>" cycle="<cycle>" decision="D-XX" verdict="yes|no|partial" status="resolved"/>`. `<cycle>` from STATE.md frontmatter (`cycle:` field; empty string valid for single-cycle Wave A); `verdict` from Step 3.
|
|
56
|
-
|
|
57
|
-
If `<prototyping>` block does not exist, materialize between `<must_haves>` and `<connections>` per STATE template; append `<spike …/>` as first child.
|
|
58
|
-
|
|
59
|
-
Prefer MCP typed mutator (byte-identical output): `mcp__gdd_state__add_prototyping({type:"spike", slug, cycle, decision:"D-XX", verdict, status:"resolved"})`. Without MCP, edit `.design/STATE.md` directly via Read + Write.
|
|
60
|
-
|
|
61
|
-
## Step 7 - Update spikes SUMMARY.md
|
|
62
|
-
|
|
63
|
-
Append to `.design/spikes/SUMMARY.md` (create if missing):
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
- <slug> (YYYY-MM-DD) — verdict: <yes|no|partial> — recommendation: <adopt|reject|more> — D-XX
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## After writing
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
━━━ Spike wrapped ━━━
|
|
73
|
-
Slug: <slug>
|
|
74
|
-
Verdict: <verdict>
|
|
75
|
-
Decision recorded: D-XX
|
|
76
|
-
Prototyping entry: <spike slug="<slug>" cycle="<cycle>" decision="D-XX" verdict="<verdict>" status="resolved"/>
|
|
77
|
-
FINDINGS.md written.
|
|
78
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Do Not
|
|
82
|
-
|
|
83
|
-
- Do not delete the `scratch/` directory - it's a record of what was tried.
|
|
84
|
-
- Do not promote scratch code to `src/` automatically - require a follow-up plan task.
|
|
85
|
-
|
|
86
|
-
## SPIKE-WRAP-UP COMPLETE
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: start
|
|
3
|
-
description: "First-Run Proof Path - one command that scans your UI code and returns one concrete first fix. Leaf command, no STATE.md writes, no pipeline entry. Writes .design/START-REPORT.md and exits."
|
|
4
|
-
argument-hint: "[--budget <fast|balanced|thorough>] [--skip-interview] [--dismiss-nudge]"
|
|
5
|
-
tools: Read, Grep, Glob, Bash, Write, Task
|
|
6
|
-
disable-model-invocation: true
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Get Design Done - /gdd:start
|
|
10
|
-
|
|
11
|
-
**Role:** the canonical 0→1 proof path. A new user runs `/gdd:start`, answers five short questions, and receives `.design/START-REPORT.md` with three concrete findings in the user's own code, one `best_first_proof` selected by a deterministic rubric, and a single next command to run.
|
|
12
|
-
|
|
13
|
-
**Non-goals:** do NOT write/mutate `.design/STATE.md`, enter the pipeline state machine, modify source code, auto-install MCPs or run `/gdd:connections`, or capture before/after screenshots (that belongs to the full pipeline).
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## When to use
|
|
18
|
-
|
|
19
|
-
- First time opening a repo with the get-design-done plugin installed.
|
|
20
|
-
- The user wants a single proof-of-value pass without committing to the pipeline.
|
|
21
|
-
|
|
22
|
-
## When NOT to use
|
|
23
|
-
|
|
24
|
-
- `.design/STATE.md` already exists - route to `/gdd:progress` instead.
|
|
25
|
-
- User asked for a full audit - route to `/gdd:scan`.
|
|
26
|
-
- User asked to fix a specific file - route to `/gdd:fast`.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Arguments
|
|
31
|
-
|
|
32
|
-
| Flag | Effect |
|
|
33
|
-
|------|--------|
|
|
34
|
-
| `--budget fast` | 90-second wall-clock cap on the findings scan. Skips thorough detectors. |
|
|
35
|
-
| `--budget balanced` *(default)* | 3-minute wall-clock cap. All detectors, bounded file walk. |
|
|
36
|
-
| `--budget thorough` | 5-minute wall-clock cap. Used only when the user opts in. |
|
|
37
|
-
| `--skip-interview` | Skip the 5-question interview; use sane defaults (pain=unspecified, area=detected, budget=balanced, framework=detected, figma=skip). |
|
|
38
|
-
| `--dismiss-nudge` | Touch `~/.claude/gdd-nudge-dismissed` and exit. Does not run the scan. |
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Workflow
|
|
43
|
-
|
|
44
|
-
Six steps, all documented in `./start-procedure.md`. Companion file `./reference/start-interview.md` holds the 5-question copy + defaults + validation.
|
|
45
|
-
|
|
46
|
-
| Step | What it does | Where to look |
|
|
47
|
-
|------|--------------|---------------|
|
|
48
|
-
| 0 | Dismiss-only shortcut (if `--dismiss-nudge`) | `start-procedure.md#step-0-dismiss-only-shortcut` |
|
|
49
|
-
| 1 | Detect UI root via `scripts/lib/detect-ui-root.cjs` (early-exit on backend-only or `kind: null`) | `start-procedure.md#step-1-detect-ui-root` |
|
|
50
|
-
| 2 | Run 5-question interview (or use `--skip-interview` defaults); write `.design/.start-context.json` (NOT STATE.md) | `start-procedure.md#step-2-run-the-5-question-interview` + `start-interview.md` |
|
|
51
|
-
| 3 | Invoke `scripts/lib/start-findings-engine.cjs` → up to 3 findings (`F1`..`F3`) + `bestFirstProofId` | `start-procedure.md#step-3-scan-findings` |
|
|
52
|
-
| 4 | Spawn `design-start-writer` Task → emit `.design/START-REPORT.md` (7 H2 sections + JSON block, no STATE.md write) | `start-procedure.md#step-4-spawn-the-writer` |
|
|
53
|
-
| 5 | Print one-line handoff with suggested command (fallback: `/gdd:brief` if `bestFirstProofId` is null); emit `## START COMPLETE` | `start-procedure.md#step-5-print-the-handoff` |
|
|
54
|
-
|
|
55
|
-
Failure handling: every error path exits with `## START COMPLETE` plus a one-line pointer. Do not half-write files - if the writer fails, keep `.design/.start-context.json` and tell the user they can rerun. Do not delete `.design/` unless it was empty before the run.
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Do Not
|
|
60
|
-
|
|
61
|
-
- Do not write or mutate `.design/STATE.md`.
|
|
62
|
-
- Do not modify source code.
|
|
63
|
-
- Do not auto-install MCPs or write to `.design/config.json`.
|
|
64
|
-
- Do not take more than the budgeted wall-clock - let the engine truncate findings rather than hang.
|
|
65
|
-
- Do not invent findings - the findings engine output is the sole source of truth.
|
|
66
|
-
|
|
67
|
-
## START COMPLETE
|