pi-gsd 2.0.21 → 2.0.23
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/.gsd/harnesses/pi/get-shit-done/agents/gsd-codebase-mapper.md +13 -13
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-debugger.md +37 -37
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-executor.md +8 -8
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-nyquist-auditor.md +31 -31
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-phase-researcher.md +85 -85
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-plan-checker.md +32 -32
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-planner.md +108 -108
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-project-researcher.md +76 -76
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-research-synthesizer.md +16 -16
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-roadmapper.md +39 -39
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-ui-auditor.md +24 -24
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-ui-checker.md +21 -21
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-ui-researcher.md +35 -35
- package/.gsd/harnesses/pi/get-shit-done/agents/gsd-verifier.md +30 -30
- package/.gsd/harnesses/pi/get-shit-done/references/continuation-format.md +11 -11
- package/.gsd/harnesses/pi/get-shit-done/references/ui-brand.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/templates/DEBUG.md +4 -4
- package/.gsd/harnesses/pi/get-shit-done/templates/UAT.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-backlog.md +132 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +36 -68
- package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +3 -3
- package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/debug.md +250 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md.bak +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +5 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md.bak +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/help.md +5 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/list-phase-assumptions.md +78 -30
- package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md.bak +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md.bak +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +5 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md.bak +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +10 -10
- package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +2 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/review-backlog.md +219 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/session-report.md +47 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/set-profile.md +135 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/thread.md +213 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +3 -3
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +3 -2
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +1 -1
- package/.gsd/harnesses/pi/get-shit-done/workflows/workstreams.md +215 -0
- package/.gsd/harnesses/pi/gsd-file-manifest.json +1 -1
- package/.gsd/harnesses/pi/hooks/gsd-context-monitor.js +102 -102
- package/.gsd/harnesses/pi/hooks/gsd-statusline.js +2 -2
- package/.gsd/harnesses/pi/hooks/gsd-workflow-guard.js +65 -65
- package/README.md +1 -1
- package/dist/pi-gsd-hooks.js +33 -6
- package/dist/pi-gsd-tools.js +87 -76
- package/package.json +1 -1
- package/prompts/gsd-add-backlog.md +2 -0
- package/prompts/gsd-complete-milestone.md +2 -0
- package/prompts/gsd-debug.md +2 -0
- package/prompts/gsd-list-phase-assumptions.md +1 -1
- package/prompts/gsd-research-phase.md +2 -0
- package/prompts/gsd-review-backlog.md +2 -0
- package/prompts/gsd-set-profile.md +2 -0
- package/prompts/gsd-thread.md +2 -0
- package/prompts/gsd-workstreams.md +2 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-ui-checker
|
|
3
|
-
description: Validates UI-SPEC.md design contracts against 6 quality dimensions. Produces BLOCK/FLAG/PASS verdicts. Spawned by /gsd
|
|
3
|
+
description: Validates UI-SPEC.md design contracts against 6 quality dimensions. Produces BLOCK/FLAG/PASS verdicts. Spawned by /gsd-ui-phase orchestrator.
|
|
4
4
|
tools: Read, Bash, Glob, Grep
|
|
5
5
|
color: "#22D3EE"
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ color: "#22D3EE"
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a GSD UI checker. Verify that UI-SPEC.md contracts are complete, consistent, and implementable before planning begins.
|
|
10
10
|
|
|
11
|
-
Spawned by `/gsd
|
|
11
|
+
Spawned by `/gsd-ui-phase` orchestrator (after gsd-ui-researcher creates UI-SPEC.md) or re-verification (after researcher revises).
|
|
12
12
|
|
|
13
13
|
**CRITICAL: Mandatory Initial Read**
|
|
14
14
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -41,17 +41,17 @@ This ensures verification respects project-specific design conventions.
|
|
|
41
41
|
<upstream_input>
|
|
42
42
|
**UI-SPEC.md** — Design contract from gsd-ui-researcher (primary input)
|
|
43
43
|
|
|
44
|
-
**CONTEXT.md** (if exists) — User decisions from `/gsd
|
|
44
|
+
**CONTEXT.md** (if exists) — User decisions from `/gsd-discuss-phase`
|
|
45
45
|
|
|
46
|
-
| Section
|
|
47
|
-
|
|
48
|
-
| `## Decisions`
|
|
49
|
-
| `## Deferred Ideas` | Out of scope — UI-SPEC must NOT include these.
|
|
46
|
+
| Section | How You Use It |
|
|
47
|
+
| ------------------- | ---------------------------------------------------------- |
|
|
48
|
+
| `## Decisions` | Locked — UI-SPEC must reflect these. Flag if contradicted. |
|
|
49
|
+
| `## Deferred Ideas` | Out of scope — UI-SPEC must NOT include these. |
|
|
50
50
|
|
|
51
51
|
**RESEARCH.md** (if exists) — Technical findings
|
|
52
52
|
|
|
53
|
-
| Section
|
|
54
|
-
|
|
53
|
+
| Section | How You Use It |
|
|
54
|
+
| ------------------- | ---------------------------------------- |
|
|
55
55
|
| `## Standard Stack` | Verify UI-SPEC component library matches |
|
|
56
56
|
</upstream_input>
|
|
57
57
|
|
|
@@ -181,7 +181,7 @@ fix_hint: "Use 8px or 12px instead"
|
|
|
181
181
|
dimension: 6
|
|
182
182
|
severity: BLOCK
|
|
183
183
|
description: "Third-party registry 'magic-ui' listed with Safety Gate 'shadcn view + diff required' — this is intent, not evidence of actual vetting"
|
|
184
|
-
fix_hint: "Re-run /gsd
|
|
184
|
+
fix_hint: "Re-run /gsd-ui-phase to trigger the registry vetting gate, or manually run 'npx shadcn view {block} --registry {url}' and record results"
|
|
185
185
|
```
|
|
186
186
|
```yaml
|
|
187
187
|
dimension: 6
|
|
@@ -230,13 +230,13 @@ If APPROVED: update UI-SPEC.md frontmatter `status: approved` and `reviewed_at:
|
|
|
230
230
|
**Status:** APPROVED
|
|
231
231
|
|
|
232
232
|
### Dimension Results
|
|
233
|
-
| Dimension
|
|
234
|
-
|
|
235
|
-
| 1 Copywriting
|
|
236
|
-
| 2 Visuals
|
|
237
|
-
| 3 Color
|
|
238
|
-
| 4 Typography
|
|
239
|
-
| 5 Spacing
|
|
233
|
+
| Dimension | Verdict | Notes |
|
|
234
|
+
| ----------------- | ----------- | ------------ |
|
|
235
|
+
| 1 Copywriting | {PASS/FLAG} | {brief note} |
|
|
236
|
+
| 2 Visuals | {PASS/FLAG} | {brief note} |
|
|
237
|
+
| 3 Color | {PASS/FLAG} | {brief note} |
|
|
238
|
+
| 4 Typography | {PASS/FLAG} | {brief note} |
|
|
239
|
+
| 5 Spacing | {PASS/FLAG} | {brief note} |
|
|
240
240
|
| 6 Registry Safety | {PASS/FLAG} | {brief note} |
|
|
241
241
|
|
|
242
242
|
### Recommendations
|
|
@@ -257,10 +257,10 @@ UI-SPEC approved. Planner can use as design context.
|
|
|
257
257
|
**Blocking Issues:** {count}
|
|
258
258
|
|
|
259
259
|
### Dimension Results
|
|
260
|
-
| Dimension
|
|
261
|
-
|
|
260
|
+
| Dimension | Verdict | Notes |
|
|
261
|
+
| ------------- | ----------------- | ------------ |
|
|
262
262
|
| 1 Copywriting | {PASS/FLAG/BLOCK} | {brief note} |
|
|
263
|
-
| ...
|
|
263
|
+
| ... | ... | ... |
|
|
264
264
|
|
|
265
265
|
### Blocking Issues
|
|
266
266
|
{For each BLOCK:}
|
|
@@ -272,7 +272,7 @@ UI-SPEC approved. Planner can use as design context.
|
|
|
272
272
|
- **Dimension {N} — {name}:** {description} (non-blocking)
|
|
273
273
|
|
|
274
274
|
### Action Required
|
|
275
|
-
Fix blocking issues in UI-SPEC.md and re-run `/gsd
|
|
275
|
+
Fix blocking issues in UI-SPEC.md and re-run `/gsd-ui-phase`.
|
|
276
276
|
```
|
|
277
277
|
|
|
278
278
|
</structured_returns>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-ui-researcher
|
|
3
|
-
description: Produces UI-SPEC.md design contract for frontend phases. Reads upstream artifacts, detects design system state, asks only unanswered questions. Spawned by /gsd
|
|
3
|
+
description: Produces UI-SPEC.md design contract for frontend phases. Reads upstream artifacts, detects design system state, asks only unanswered questions. Spawned by /gsd-ui-phase orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
5
5
|
color: "#E879F9"
|
|
6
6
|
# hooks:
|
|
@@ -14,7 +14,7 @@ color: "#E879F9"
|
|
|
14
14
|
<role>
|
|
15
15
|
You are a GSD UI researcher. You answer "What visual and interaction contracts does this phase need?" and produce a single UI-SPEC.md that the planner and executor consume.
|
|
16
16
|
|
|
17
|
-
Spawned by `/gsd
|
|
17
|
+
Spawned by `/gsd-ui-phase` orchestrator.
|
|
18
18
|
|
|
19
19
|
**CRITICAL: Mandatory Initial Read**
|
|
20
20
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -43,27 +43,27 @@ This ensures the design contract aligns with project-specific conventions and li
|
|
|
43
43
|
</project_context>
|
|
44
44
|
|
|
45
45
|
<upstream_input>
|
|
46
|
-
**CONTEXT.md** (if exists) — User decisions from `/gsd
|
|
46
|
+
**CONTEXT.md** (if exists) — User decisions from `/gsd-discuss-phase`
|
|
47
47
|
|
|
48
|
-
| Section
|
|
49
|
-
|
|
50
|
-
| `## Decisions`
|
|
51
|
-
| `## Claude's Discretion` | Your freedom areas — research and recommend
|
|
52
|
-
| `## Deferred Ideas`
|
|
48
|
+
| Section | How You Use It |
|
|
49
|
+
| ------------------------ | ------------------------------------------------------ |
|
|
50
|
+
| `## Decisions` | Locked choices — use these as design contract defaults |
|
|
51
|
+
| `## Claude's Discretion` | Your freedom areas — research and recommend |
|
|
52
|
+
| `## Deferred Ideas` | Out of scope — ignore completely |
|
|
53
53
|
|
|
54
|
-
**RESEARCH.md** (if exists) — Technical findings from `/gsd
|
|
54
|
+
**RESEARCH.md** (if exists) — Technical findings from `/gsd-plan-phase`
|
|
55
55
|
|
|
56
|
-
| Section
|
|
57
|
-
|
|
58
|
-
| `## Standard Stack`
|
|
59
|
-
| `## Architecture Patterns` | Layout patterns, state management approach
|
|
56
|
+
| Section | How You Use It |
|
|
57
|
+
| -------------------------- | ------------------------------------------------- |
|
|
58
|
+
| `## Standard Stack` | Component library, styling approach, icon library |
|
|
59
|
+
| `## Architecture Patterns` | Layout patterns, state management approach |
|
|
60
60
|
|
|
61
61
|
**REQUIREMENTS.md** — Project requirements
|
|
62
62
|
|
|
63
|
-
| Section
|
|
64
|
-
|
|
63
|
+
| Section | How You Use It |
|
|
64
|
+
| ------------------------ | ---------------------------------------------------- |
|
|
65
65
|
| Requirement descriptions | Extract any visual/UX requirements already specified |
|
|
66
|
-
| Success criteria
|
|
66
|
+
| Success criteria | Infer what states and interactions are needed |
|
|
67
67
|
|
|
68
68
|
If upstream artifacts answer a design contract question, do NOT re-ask it. Pre-populate the contract and confirm.
|
|
69
69
|
</upstream_input>
|
|
@@ -71,12 +71,12 @@ If upstream artifacts answer a design contract question, do NOT re-ask it. Pre-p
|
|
|
71
71
|
<downstream_consumer>
|
|
72
72
|
Your UI-SPEC.md is consumed by:
|
|
73
73
|
|
|
74
|
-
| Consumer
|
|
75
|
-
|
|
76
|
-
| `gsd-ui-checker` | Validates against 6 design quality dimensions
|
|
77
|
-
| `gsd-planner`
|
|
78
|
-
| `gsd-executor`
|
|
79
|
-
| `gsd-ui-auditor` | Compares implemented UI against the contract retroactively
|
|
74
|
+
| Consumer | How They Use It |
|
|
75
|
+
| ---------------- | ---------------------------------------------------------------------- |
|
|
76
|
+
| `gsd-ui-checker` | Validates against 6 design quality dimensions |
|
|
77
|
+
| `gsd-planner` | Uses design tokens, component inventory, and copywriting in plan tasks |
|
|
78
|
+
| `gsd-executor` | References as visual source of truth during implementation |
|
|
79
|
+
| `gsd-ui-auditor` | Compares implemented UI against the contract retroactively |
|
|
80
80
|
|
|
81
81
|
**Be prescriptive, not exploratory.** "Use 16px body at 1.5 line-height" not "Consider 14-16px."
|
|
82
82
|
</downstream_consumer>
|
|
@@ -85,13 +85,13 @@ Your UI-SPEC.md is consumed by:
|
|
|
85
85
|
|
|
86
86
|
## Tool Priority
|
|
87
87
|
|
|
88
|
-
| Priority | Tool
|
|
89
|
-
|
|
90
|
-
| 1st
|
|
91
|
-
| 2nd
|
|
92
|
-
| 3rd
|
|
93
|
-
| 4th
|
|
94
|
-
| 5th
|
|
88
|
+
| Priority | Tool | Use For | Trust Level |
|
|
89
|
+
| -------- | ------------------ | --------------------------------------------------------------------- | -------------------------------- |
|
|
90
|
+
| 1st | Codebase Grep/Glob | Existing tokens, components, styles, config files | HIGH |
|
|
91
|
+
| 2nd | Context7 | Component library API docs, shadcn preset format | HIGH |
|
|
92
|
+
| 3rd | Exa (MCP) | Design pattern references, accessibility standards, semantic research | MEDIUM (verify) |
|
|
93
|
+
| 4th | Firecrawl (MCP) | Deep scrape component library docs, design system references | HIGH (content depends on source) |
|
|
94
|
+
| 5th | WebSearch | Fallback keyword search for ecosystem discovery | Needs verification |
|
|
95
95
|
|
|
96
96
|
**Exa/Firecrawl:** Check `exa_search` and `firecrawl` from orchestrator context. If `true`, prefer Exa for discovery and Firecrawl for scraping over WebSearch/WebFetch.
|
|
97
97
|
|
|
@@ -297,12 +297,12 @@ node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" commit "docs($PHASE): UI de
|
|
|
297
297
|
`$PHASE_DIR/$PADDED_PHASE-UI-SPEC.md`
|
|
298
298
|
|
|
299
299
|
### Pre-Populated From
|
|
300
|
-
| Source
|
|
301
|
-
|
|
302
|
-
| CONTEXT.md
|
|
303
|
-
| RESEARCH.md
|
|
304
|
-
| components.json | {yes/no}
|
|
305
|
-
| User input
|
|
300
|
+
| Source | Decisions Used |
|
|
301
|
+
| --------------- | -------------- |
|
|
302
|
+
| CONTEXT.md | {count} |
|
|
303
|
+
| RESEARCH.md | {count} |
|
|
304
|
+
| components.json | {yes/no} |
|
|
305
|
+
| User input | {count} |
|
|
306
306
|
|
|
307
307
|
### Ready for Verification
|
|
308
308
|
UI-SPEC complete. Checker can now validate.
|
|
@@ -170,11 +170,11 @@ For each artifact in result:
|
|
|
170
170
|
|
|
171
171
|
**Artifact status mapping:**
|
|
172
172
|
|
|
173
|
-
| exists | issues empty | Status
|
|
174
|
-
| ------ | ------------ |
|
|
175
|
-
| true | true | ✓ VERIFIED
|
|
176
|
-
| true | false | ✗ STUB
|
|
177
|
-
| false | - | ✗ MISSING
|
|
173
|
+
| exists | issues empty | Status |
|
|
174
|
+
| ------ | ------------ | ---------- |
|
|
175
|
+
| true | true | ✓ VERIFIED |
|
|
176
|
+
| true | false | ✗ STUB |
|
|
177
|
+
| false | - | ✗ MISSING |
|
|
178
178
|
|
|
179
179
|
**For wiring verification (Level 3)**, check imports/usage manually for artifacts that pass Levels 1-2:
|
|
180
180
|
|
|
@@ -193,12 +193,12 @@ grep -r "$artifact_name" "${search_path:-src/}" --include="*.ts" --include="*.ts
|
|
|
193
193
|
|
|
194
194
|
### Final Artifact Status
|
|
195
195
|
|
|
196
|
-
| Exists | Substantive | Wired | Status
|
|
197
|
-
| ------ | ----------- | ----- |
|
|
198
|
-
| ✓ | ✓ | ✓ | ✓ VERIFIED
|
|
196
|
+
| Exists | Substantive | Wired | Status |
|
|
197
|
+
| ------ | ----------- | ----- | ---------- |
|
|
198
|
+
| ✓ | ✓ | ✓ | ✓ VERIFIED |
|
|
199
199
|
| ✓ | ✓ | ✗ | ⚠️ ORPHANED |
|
|
200
|
-
| ✓ | ✗ | - | ✗ STUB
|
|
201
|
-
| ✗ | - | - | ✗ MISSING
|
|
200
|
+
| ✓ | ✗ | - | ✗ STUB |
|
|
201
|
+
| ✗ | - | - | ✗ MISSING |
|
|
202
202
|
|
|
203
203
|
## Step 4b: Data-Flow Trace (Level 4)
|
|
204
204
|
|
|
@@ -240,22 +240,22 @@ grep -r -A 3 "<${COMPONENT_NAME}" "${search_path:-src/}" --include="*.tsx" 2>/de
|
|
|
240
240
|
|
|
241
241
|
**Data-flow status:**
|
|
242
242
|
|
|
243
|
-
| Data Source
|
|
244
|
-
|
|
|
245
|
-
| DB query found
|
|
246
|
-
| Fetch exists, static fallback only | No
|
|
247
|
-
| No data source found
|
|
248
|
-
| Props hardcoded empty at call site | No
|
|
243
|
+
| Data Source | Produces Real Data | Status |
|
|
244
|
+
| ---------------------------------- | ------------------ | -------------- |
|
|
245
|
+
| DB query found | Yes | ✓ FLOWING |
|
|
246
|
+
| Fetch exists, static fallback only | No | ⚠️ STATIC |
|
|
247
|
+
| No data source found | N/A | ✗ DISCONNECTED |
|
|
248
|
+
| Props hardcoded empty at call site | No | ✗ HOLLOW_PROP |
|
|
249
249
|
|
|
250
250
|
**Final Artifact Status (updated with Level 4):**
|
|
251
251
|
|
|
252
|
-
| Exists | Substantive | Wired | Data Flows | Status
|
|
253
|
-
| ------ | ----------- | ----- | ---------- |
|
|
254
|
-
| ✓
|
|
255
|
-
| ✓
|
|
256
|
-
| ✓
|
|
257
|
-
| ✓
|
|
258
|
-
| ✗
|
|
252
|
+
| Exists | Substantive | Wired | Data Flows | Status |
|
|
253
|
+
| ------ | ----------- | ----- | ---------- | -------------------------------------- |
|
|
254
|
+
| ✓ | ✓ | ✓ | ✓ | ✓ VERIFIED |
|
|
255
|
+
| ✓ | ✓ | ✓ | ✗ | ⚠️ HOLLOW — wired but data disconnected |
|
|
256
|
+
| ✓ | ✓ | ✗ | - | ⚠️ ORPHANED |
|
|
257
|
+
| ✓ | ✗ | - | - | ✗ STUB |
|
|
258
|
+
| ✗ | - | - | - | ✗ MISSING |
|
|
259
259
|
|
|
260
260
|
## Step 5: Verify Key Links (Wiring)
|
|
261
261
|
|
|
@@ -409,9 +409,9 @@ npm test -- --grep "$PHASE_TEST_PATTERN" 2>&1 | grep -q "passing"
|
|
|
409
409
|
|
|
410
410
|
**Spot-check status:**
|
|
411
411
|
|
|
412
|
-
| Behavior | Command
|
|
413
|
-
| -------- |
|
|
414
|
-
| {truth}
|
|
412
|
+
| Behavior | Command | Result | Status |
|
|
413
|
+
| -------- | --------- | -------- | ------------------------ |
|
|
414
|
+
| {truth} | {command} | {output} | ✓ PASS / ✗ FAIL / ? SKIP |
|
|
415
415
|
|
|
416
416
|
3. **Classification:**
|
|
417
417
|
- ✓ PASS: Command succeeded and output matches expected
|
|
@@ -452,7 +452,7 @@ npm test -- --grep "$PHASE_TEST_PATTERN" 2>&1 | grep -q "passing"
|
|
|
452
452
|
|
|
453
453
|
## Step 10: Structure Gap Output (If Gaps Found)
|
|
454
454
|
|
|
455
|
-
Structure gaps in YAML frontmatter for `/gsd
|
|
455
|
+
Structure gaps in YAML frontmatter for `/gsd-plan-phase --gaps`:
|
|
456
456
|
|
|
457
457
|
```yaml
|
|
458
458
|
gaps:
|
|
@@ -554,7 +554,7 @@ human_verification: # Only if status: human_needed
|
|
|
554
554
|
### Requirements Coverage
|
|
555
555
|
|
|
556
556
|
| Requirement | Source Plan | Description | Status | Evidence |
|
|
557
|
-
| ----------- |
|
|
557
|
+
| ----------- | ----------- | ----------- | ------ | -------- |
|
|
558
558
|
|
|
559
559
|
### Anti-Patterns Found
|
|
560
560
|
|
|
@@ -597,7 +597,7 @@ All must-haves verified. Phase goal achieved. Ready to proceed.
|
|
|
597
597
|
1. **{Truth 1}** — {reason}
|
|
598
598
|
- Missing: {what needs to be added}
|
|
599
599
|
|
|
600
|
-
Structured gaps in VERIFICATION.md frontmatter for `/gsd
|
|
600
|
+
Structured gaps in VERIFICATION.md frontmatter for `/gsd-plan-phase --gaps`.
|
|
601
601
|
|
|
602
602
|
{If human_needed:}
|
|
603
603
|
### Human Verification Required
|
|
@@ -618,7 +618,7 @@ Automated checks passed. Awaiting human verification.
|
|
|
618
618
|
|
|
619
619
|
**DO NOT skip key link verification.** 80% of stubs hide here — pieces exist but aren't connected.
|
|
620
620
|
|
|
621
|
-
**Structure gaps in YAML frontmatter** for `/gsd
|
|
621
|
+
**Structure gaps in YAML frontmatter** for `/gsd-plan-phase --gaps`.
|
|
622
622
|
|
|
623
623
|
**DO flag for human verification when uncertain** (visual, real-time, external service).
|
|
624
624
|
|
|
@@ -13,7 +13,7 @@ Standard format for presenting next steps after completing a command or workflow
|
|
|
13
13
|
|
|
14
14
|
`{command to copy-paste}`
|
|
15
15
|
|
|
16
|
-
<sub>`/
|
|
16
|
+
<sub>`/new` first → fresh context window</sub>
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -29,7 +29,7 @@ Standard format for presenting next steps after completing a command or workflow
|
|
|
29
29
|
1. **Always show what it is** - name + description, never just a command path
|
|
30
30
|
2. **Pull context from source** - ROADMAP.md for phases, PLAN.md `<objective>` for plans
|
|
31
31
|
3. **Command in inline code** - backticks, easy to copy-paste, renders as clickable link
|
|
32
|
-
4. **`/
|
|
32
|
+
4. **`/new` explanation** - always include, keeps it concise but explains why
|
|
33
33
|
5. **"Also available" not "Other options"** - sounds more app-like
|
|
34
34
|
6. **Visual separators** - `---` above and below to make it stand out
|
|
35
35
|
|
|
@@ -46,7 +46,7 @@ Standard format for presenting next steps after completing a command or workflow
|
|
|
46
46
|
|
|
47
47
|
`/gsd-execute-phase 2`
|
|
48
48
|
|
|
49
|
-
<sub>`/
|
|
49
|
+
<sub>`/new` first → fresh context window</sub>
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
@@ -71,7 +71,7 @@ Add note that this is the last plan and what comes after:
|
|
|
71
71
|
|
|
72
72
|
`/gsd-execute-phase 2`
|
|
73
73
|
|
|
74
|
-
<sub>`/
|
|
74
|
+
<sub>`/new` first → fresh context window</sub>
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
|
@@ -93,7 +93,7 @@ Add note that this is the last plan and what comes after:
|
|
|
93
93
|
|
|
94
94
|
`/gsd-plan-phase 2`
|
|
95
95
|
|
|
96
|
-
<sub>`/
|
|
96
|
+
<sub>`/new` first → fresh context window</sub>
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
|
@@ -122,7 +122,7 @@ Show completion status before next action:
|
|
|
122
122
|
|
|
123
123
|
`/gsd-plan-phase 3`
|
|
124
124
|
|
|
125
|
-
<sub>`/
|
|
125
|
+
<sub>`/new` first → fresh context window</sub>
|
|
126
126
|
|
|
127
127
|
---
|
|
128
128
|
|
|
@@ -151,7 +151,7 @@ When there's no clear primary action:
|
|
|
151
151
|
|
|
152
152
|
**To research unknowns:** `/gsd-research-phase 3`
|
|
153
153
|
|
|
154
|
-
<sub>`/
|
|
154
|
+
<sub>`/new` first → fresh context window</sub>
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
```
|
|
@@ -171,7 +171,7 @@ All 4 phases shipped
|
|
|
171
171
|
|
|
172
172
|
`/gsd-new-milestone`
|
|
173
173
|
|
|
174
|
-
<sub>`/
|
|
174
|
+
<sub>`/new` first → fresh context window</sub>
|
|
175
175
|
|
|
176
176
|
---
|
|
177
177
|
```
|
|
@@ -213,18 +213,18 @@ Extract: `**02-03: Refresh Token Rotation** - Add /api/auth/refresh with sliding
|
|
|
213
213
|
```
|
|
214
214
|
## To Continue
|
|
215
215
|
|
|
216
|
-
Run `/
|
|
216
|
+
Run `/new`, then paste:
|
|
217
217
|
/gsd-execute-phase 2
|
|
218
218
|
```
|
|
219
219
|
|
|
220
220
|
User has no idea what 02-03 is about.
|
|
221
221
|
|
|
222
|
-
### Don't: Missing /
|
|
222
|
+
### Don't: Missing /new explanation
|
|
223
223
|
|
|
224
224
|
```
|
|
225
225
|
`/gsd-plan-phase 3`
|
|
226
226
|
|
|
227
|
-
Run /
|
|
227
|
+
Run /new first.
|
|
228
228
|
```
|
|
229
229
|
|
|
230
230
|
Doesn't explain why. User might skip it.
|
|
@@ -32,7 +32,7 @@ reproduction: [how to trigger]
|
|
|
32
32
|
started: [when it broke / always broken]
|
|
33
33
|
|
|
34
34
|
## Eliminated
|
|
35
|
-
<!-- APPEND only - prevents re-investigating after /
|
|
35
|
+
<!-- APPEND only - prevents re-investigating after /new -->
|
|
36
36
|
|
|
37
37
|
- hypothesis: [theory that was wrong]
|
|
38
38
|
evidence: [what disproved it]
|
|
@@ -68,7 +68,7 @@ files_changed: []
|
|
|
68
68
|
**Current Focus:**
|
|
69
69
|
- OVERWRITE entirely on each update
|
|
70
70
|
- Always reflects what the agent is doing RIGHT NOW
|
|
71
|
-
- If the agent reads this after /
|
|
71
|
+
- If the agent reads this after /new, it knows exactly where to resume
|
|
72
72
|
- Fields: hypothesis, test, expecting, next_action
|
|
73
73
|
|
|
74
74
|
**Symptoms:**
|
|
@@ -81,7 +81,7 @@ files_changed: []
|
|
|
81
81
|
- APPEND only - never remove entries
|
|
82
82
|
- Prevents re-investigating dead ends after context reset
|
|
83
83
|
- Each entry: hypothesis, evidence that disproved it, timestamp
|
|
84
|
-
- Critical for efficiency across /
|
|
84
|
+
- Critical for efficiency across /new boundaries
|
|
85
85
|
|
|
86
86
|
**Evidence:**
|
|
87
87
|
- APPEND only - never remove entries
|
|
@@ -140,7 +140,7 @@ files_changed: []
|
|
|
140
140
|
|
|
141
141
|
<resume_behavior>
|
|
142
142
|
|
|
143
|
-
When the agent reads this file after /
|
|
143
|
+
When the agent reads this file after /new:
|
|
144
144
|
|
|
145
145
|
1. Parse frontmatter → know status
|
|
146
146
|
2. Read Current Focus → know exactly what was happening
|
|
@@ -174,7 +174,7 @@ blocked: [N]
|
|
|
174
174
|
- `/gsd-verify-work {phase}` picks up from first pending/blocked test
|
|
175
175
|
- When all items resolved, status advances to "complete"
|
|
176
176
|
|
|
177
|
-
**Resume after /
|
|
177
|
+
**Resume after /new:**
|
|
178
178
|
1. Read frontmatter → know phase and status
|
|
179
179
|
2. Read Current Test → know where we are
|
|
180
180
|
3. Find first [pending] result → continue from there
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings>
|
|
5
|
+
<keep-extra-args />
|
|
6
|
+
</settings>
|
|
7
|
+
<arg name="idea" type="string" optional />
|
|
8
|
+
</gsd-arguments>
|
|
9
|
+
|
|
10
|
+
<gsd-execute>
|
|
11
|
+
<display msg="Loading backlog context..." />
|
|
12
|
+
<shell command="pi-gsd-tools">
|
|
13
|
+
<args>
|
|
14
|
+
<arg string="state" />
|
|
15
|
+
<arg string="json" />
|
|
16
|
+
<arg string="--raw" />
|
|
17
|
+
</args>
|
|
18
|
+
<outs>
|
|
19
|
+
<suppress-errors />
|
|
20
|
+
<out type="string" name="state" />
|
|
21
|
+
</outs>
|
|
22
|
+
</shell>
|
|
23
|
+
<shell command="pi-gsd-tools">
|
|
24
|
+
<args>
|
|
25
|
+
<arg string="roadmap" />
|
|
26
|
+
<arg string="analyze" />
|
|
27
|
+
<arg string="--raw" />
|
|
28
|
+
</args>
|
|
29
|
+
<outs>
|
|
30
|
+
<suppress-errors />
|
|
31
|
+
<out type="string" name="roadmap" />
|
|
32
|
+
</outs>
|
|
33
|
+
</shell>
|
|
34
|
+
<shell command="pi-gsd-tools">
|
|
35
|
+
<args>
|
|
36
|
+
<arg string="current-timestamp" />
|
|
37
|
+
<arg string="--raw" />
|
|
38
|
+
</args>
|
|
39
|
+
<outs>
|
|
40
|
+
<out type="string" name="timestamp" />
|
|
41
|
+
</outs>
|
|
42
|
+
</shell>
|
|
43
|
+
</gsd-execute>
|
|
44
|
+
|
|
45
|
+
## Backlog Context (pre-injected by WXP)
|
|
46
|
+
|
|
47
|
+
**Idea:** <gsd-paste name="idea" />
|
|
48
|
+
|
|
49
|
+
**Timestamp:** <gsd-paste name="timestamp" />
|
|
50
|
+
|
|
51
|
+
**State:**
|
|
52
|
+
<gsd-paste name="state" />
|
|
53
|
+
|
|
54
|
+
**Roadmap Analysis:**
|
|
55
|
+
<gsd-paste name="roadmap" />
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
<purpose>
|
|
60
|
+
Park an idea as a backlog entry (999.x numbered phase) in ROADMAP.md. Zero friction — one command captures an idea without interrupting current work. The idea sits in the backlog until promoted by `/gsd-review-backlog`.
|
|
61
|
+
</purpose>
|
|
62
|
+
|
|
63
|
+
<process>
|
|
64
|
+
|
|
65
|
+
<step name="validate_context">
|
|
66
|
+
<!-- State, roadmap, and idea pre-injected above via WXP -->
|
|
67
|
+
|
|
68
|
+
Check that `.planning/ROADMAP.md` exists (from `state` JSON field `roadmap_exists`).
|
|
69
|
+
|
|
70
|
+
**If roadmap missing:**
|
|
71
|
+
```
|
|
72
|
+
Error: No ROADMAP.md found. Run /gsd-new-project or /gsd-new-milestone first.
|
|
73
|
+
```
|
|
74
|
+
Exit.
|
|
75
|
+
|
|
76
|
+
**If idea is empty (no $ARGUMENTS):**
|
|
77
|
+
Ask the user: "What's the idea? (one sentence description)"
|
|
78
|
+
Use the response as `idea`.
|
|
79
|
+
</step>
|
|
80
|
+
|
|
81
|
+
<step name="find_next_slot">
|
|
82
|
+
From the roadmap analysis JSON, extract the `phases` array. Find all phases where `phase_number` starts with `999` (e.g., `999.1`, `999.2`).
|
|
83
|
+
|
|
84
|
+
Compute next backlog number:
|
|
85
|
+
- If no 999.x entries exist → use `999.1`
|
|
86
|
+
- Otherwise → use `999.(max_decimal + 1)`, e.g., if `999.3` exists → `999.4`
|
|
87
|
+
|
|
88
|
+
Set `BACKLOG_NUM` = next available 999.x slot.
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="add_entry">
|
|
92
|
+
Append to `.planning/ROADMAP.md` under a `## Backlog` section (create the section if missing):
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
- [ ] **Phase {BACKLOG_NUM}**: {idea}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Use the roadmap `roadmap add-phase` command if available, or append directly:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
pi-gsd-tools roadmap add-phase "{BACKLOG_NUM}" "{idea}" --raw
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If the CLI command fails or is unavailable, append manually to ROADMAP.md.
|
|
105
|
+
</step>
|
|
106
|
+
|
|
107
|
+
<step name="commit">
|
|
108
|
+
```bash
|
|
109
|
+
pi-gsd-tools commit "docs: add backlog entry {BACKLOG_NUM} - {idea_slug}" --files .planning/ROADMAP.md
|
|
110
|
+
```
|
|
111
|
+
</step>
|
|
112
|
+
|
|
113
|
+
<step name="confirm">
|
|
114
|
+
```
|
|
115
|
+
✓ Backlog entry added
|
|
116
|
+
|
|
117
|
+
Phase {BACKLOG_NUM}: {idea}
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
Review and promote backlog: /gsd-review-backlog
|
|
122
|
+
```
|
|
123
|
+
</step>
|
|
124
|
+
|
|
125
|
+
</process>
|
|
126
|
+
|
|
127
|
+
<success_criteria>
|
|
128
|
+
- [ ] ROADMAP.md has new 999.x entry
|
|
129
|
+
- [ ] 999.x number is sequential (no gaps or duplicates)
|
|
130
|
+
- [ ] Entry committed to git
|
|
131
|
+
- [ ] User sees confirmation with the assigned phase number
|
|
132
|
+
</success_criteria>
|