@tekyzinc/gsd-t 3.12.10 → 3.12.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +110 -26
  2. package/README.md +76 -76
  3. package/bin/design-orchestrator.js +1 -1
  4. package/bin/gsd-t-unattended.cjs +56 -2
  5. package/bin/gsd-t-unattended.js +1 -1
  6. package/bin/gsd-t.js +198 -17
  7. package/bin/headless-auto-spawn.cjs +58 -2
  8. package/commands/gsd-t-backlog-promote.md +6 -6
  9. package/commands/gsd-t-complete-milestone.md +7 -7
  10. package/commands/gsd-t-design-audit.md +3 -3
  11. package/commands/gsd-t-design-build.md +1 -1
  12. package/commands/gsd-t-design-decompose.md +4 -4
  13. package/commands/gsd-t-execute.md +1 -1
  14. package/commands/gsd-t-feature.md +3 -3
  15. package/commands/gsd-t-gap-analysis.md +3 -3
  16. package/commands/gsd-t-health.md +3 -3
  17. package/commands/gsd-t-help.md +10 -10
  18. package/commands/gsd-t-impact.md +3 -3
  19. package/commands/gsd-t-init-scan-setup.md +5 -5
  20. package/commands/gsd-t-init.md +4 -4
  21. package/commands/gsd-t-log.md +1 -1
  22. package/commands/gsd-t-milestone.md +2 -2
  23. package/commands/gsd-t-pause.md +2 -2
  24. package/commands/gsd-t-prd.md +2 -2
  25. package/commands/gsd-t-project.md +1 -1
  26. package/commands/gsd-t-resume.md +4 -4
  27. package/commands/gsd-t-scan.md +3 -3
  28. package/commands/gsd-t-setup.md +2 -2
  29. package/commands/gsd-t-test-sync.md +1 -1
  30. package/commands/gsd-t-unattended-watch.md +5 -5
  31. package/commands/gsd-t-unattended.md +9 -9
  32. package/commands/gsd-t-wave.md +4 -4
  33. package/commands/gsd.md +17 -17
  34. package/docs/GSD-T-README.md +68 -68
  35. package/docs/architecture.md +8 -8
  36. package/docs/context-budget-recovery-plan.md +2 -2
  37. package/docs/infrastructure.md +7 -7
  38. package/docs/methodology.md +1 -1
  39. package/docs/neo4j-setup.md +2 -2
  40. package/docs/prd-gsd2-hybrid.md +1 -1
  41. package/docs/prd-harness-evolution.md +1 -1
  42. package/docs/requirements.md +2 -2
  43. package/docs/unattended-config.md +1 -1
  44. package/docs/unattended-windows-caveats.md +1 -1
  45. package/docs/workflows.md +1 -1
  46. package/package.json +1 -1
  47. package/scripts/context-meter/threshold.test.js +2 -2
  48. package/scripts/gsd-t-auto-route.js +1 -1
  49. package/scripts/gsd-t-context-meter.e2e.test.js +1 -1
  50. package/scripts/gsd-t-context-meter.test.js +1 -1
  51. package/scripts/gsd-t-event-writer.js +8 -2
  52. package/scripts/gsd-t-update-check.js +1 -1
  53. package/templates/CLAUDE-global.md +18 -163
  54. package/templates/stacks/_markdown.md +32 -0
  55. package/templates/stacks/design-to-code.md +1 -1
@@ -66,7 +66,7 @@ This calls `getSessionStatus()` (v2.0.0) which reads `.gsd-t/.context-meter-stat
66
66
 
67
67
  Use the returned `threshold` as the gate signal for the rest of this run. The gate logic is in Step 3.5; do NOT skip it. If the Context Meter hook isn't installed (`.gsd-t/.context-meter-state.json` missing and doctor reports it), run `gsd-t doctor` to diagnose — the gate still works via the heuristic fallback but real-time readings give much better guardrails.
68
68
 
69
- Why: every `/user:gsd-t-execute` invocation is a fresh orchestrator session and needs a current reading of context utilization before spawning any subagents. The authoritative source is the Context Meter state file; the fallback keeps the gate functional on projects that haven't installed the hook yet.
69
+ Why: every `/gsd-t-execute` invocation is a fresh orchestrator session and needs a current reading of context utilization before spawning any subagents. The authoritative source is the Context Meter state file; the fallback keeps the gate functional on projects that haven't installed the hook yet.
70
70
 
71
71
  ## Step 1: Load State
72
72
 
@@ -1,6 +1,6 @@
1
1
  # GSD-T: Feature — Add a Major Feature to an Existing Project
2
2
 
3
- You are the lead agent planning a significant new feature for an existing codebase. Unlike `/user:gsd-t-project` (greenfield), this command respects and builds on what already exists — existing patterns, schema, auth, conventions, and contracts.
3
+ You are the lead agent planning a significant new feature for an existing codebase. Unlike `/gsd-t-project` (greenfield), this command respects and builds on what already exists — existing patterns, schema, auth, conventions, and contracts.
4
4
 
5
5
  ## Step 0.5: Scan Freshness Auto-Refresh
6
6
 
@@ -154,7 +154,7 @@ The feature may be a single milestone or multiple, depending on scope:
154
154
  ### Single Milestone (if feature is focused):
155
155
  - 2-4 domains, < 15 tasks total
156
156
  - Minimal impact on existing contracts
157
- - Skip roadmap, go straight to: "Run `/user:gsd-t-partition` to begin"
157
+ - Skip roadmap, go straight to: "Run `/gsd-t-partition` to begin"
158
158
 
159
159
  ### Multiple Milestones (if feature is complex):
160
160
  Apply these sequencing rules:
@@ -267,7 +267,7 @@ Present:
267
267
  4. Any conflicts with existing work
268
268
  5. Recommended starting point
269
269
 
270
- Ask: "Ready to start? Run `/user:gsd-t-partition` for Milestone {N}."
270
+ Ask: "Ready to start? Run `/gsd-t-partition` for Milestone {N}."
271
271
 
272
272
  $ARGUMENTS
273
273
 
@@ -224,13 +224,13 @@ Show the recommended groupings and offer promotion paths:
224
224
  ## Recommended Next Steps
225
225
 
226
226
  1. {Milestone name} — {N} gaps ({critical} critical, {high} high)
227
- → /user:gsd-t-milestone "{name}"
227
+ → /gsd-t-milestone "{name}"
228
228
 
229
229
  2. {Feature name} — {N} gaps
230
- → /user:gsd-t-feature "{name}"
230
+ → /gsd-t-feature "{name}"
231
231
 
232
232
  3. Quick fixes — {N} items
233
- → /user:gsd-t-quick "{description}"
233
+ → /gsd-t-quick "{description}"
234
234
 
235
235
  Promote any of these now, or review the gap analysis first?
236
236
  ```
@@ -131,9 +131,9 @@ After repair, re-run the checks and report the final state.
131
131
  ## Step 6: Next Steps
132
132
 
133
133
  If HEALTHY → "✅ GSD-T structure is healthy — all required files present."
134
- If DEGRADED with --repair done → "✅ Repaired {N} missing files. Run /user:gsd-t-health again to confirm."
135
- If DEGRADED without --repair → "⚠ Run /user:gsd-t-health --repair to create {N} missing files."
136
- If BROKEN → "🔴 Project structure is broken. Run /user:gsd-t-health --repair or /user:gsd-t-init to rebuild."
134
+ If DEGRADED with --repair done → "✅ Repaired {N} missing files. Run /gsd-t-health again to confirm."
135
+ If DEGRADED without --repair → "⚠ Run /gsd-t-health --repair to create {N} missing files."
136
+ If BROKEN → "🔴 Project structure is broken. Run /gsd-t-health --repair or /gsd-t-init to rebuild."
137
137
 
138
138
  $ARGUMENTS
139
139
 
@@ -84,8 +84,8 @@ BACKLOG Manual
84
84
  backlog-settings Manage types, apps, categories, and defaults
85
85
 
86
86
  ───────────────────────────────────────────────────────────────────────────────
87
- Type /user:gsd-t-help {command} for detailed help on any command.
88
- Example: /user:gsd-t-help impact
87
+ Type /gsd-t-help {command} for detailed help on any command.
88
+ Example: /gsd-t-help impact
89
89
  ╚══════════════════════════════════════════════════════════════════════════════╝
90
90
  ```
91
91
 
@@ -94,7 +94,7 @@ Example: /user:gsd-t-help impact
94
94
  When user provides a command name, show detailed help:
95
95
 
96
96
  ```
97
- /user:gsd-t-help {command}
97
+ /gsd-t-help {command}
98
98
  ```
99
99
 
100
100
  ### Command Details Format:
@@ -108,7 +108,7 @@ SUMMARY
108
108
  {One-line description}
109
109
 
110
110
  USAGE
111
- /user:gsd-t-{command} [arguments]
111
+ /gsd-t-{command} [arguments]
112
112
 
113
113
  WHEN TO USE
114
114
  • {Use case 1}
@@ -131,8 +131,8 @@ FILES CREATED/UPDATED
131
131
  • {file 2}
132
132
 
133
133
  EXAMPLES
134
- /user:gsd-t-{command}
135
- /user:gsd-t-{command} "with argument"
134
+ /gsd-t-{command}
135
+ /gsd-t-{command} "with argument"
136
136
 
137
137
  RELATED COMMANDS
138
138
  • {related 1} — {why related}
@@ -149,10 +149,10 @@ Use these when user asks for help on a specific command:
149
149
  - **Summary**: Describe what you need in plain language — auto-routes to the right GSD-T command using semantic evaluation
150
150
  - **Auto-invoked**: Yes — via UserPromptSubmit hook when prompt does not start with `/`
151
151
  - **Files**: Reads `CLAUDE.md`, `.gsd-t/progress.md`, command summaries from `gsd-t-help`
152
- - **How it works**: First checks if this is a continuation of an ongoing command (mid-task follow-up, status report, or acknowledgment) — if so, outputs `→ /gsd ──▶ continue /user:gsd-t-{last-command}` and resumes. For new requests, evaluates against every command's purpose and "Use when" criteria. Commands that match get shortlisted, best fit is selected. Shows runner-up when close.
152
+ - **How it works**: First checks if this is a continuation of an ongoing command (mid-task follow-up, status report, or acknowledgment) — if so, outputs `→ /gsd ──▶ continue /gsd-t-{last-command}` and resumes. For new requests, evaluates against every command's purpose and "Use when" criteria. Commands that match get shortlisted, best fit is selected. Shows runner-up when close.
153
153
  - **Auto-route**: After `gsd-t install`, any plain text message (no leading `/`) is automatically routed through `/gsd`. Slash commands pass through unchanged. Binary detection — no heuristics.
154
154
  - **Use when**: You don't want to remember which command to use — just describe what you want
155
- - **Examples**: `/user:gsd Fix the login bug`, `/user:gsd Add dark mode`, `/user:gsd Scan for tech debt`
155
+ - **Examples**: `/gsd Fix the login bug`, `/gsd Add dark mode`, `/gsd Scan for tech debt`
156
156
  - **Auto-route examples**: `Fix the login bug` (no slash needed), `Add dark mode`, `Scan for tech debt`
157
157
 
158
158
  ### prd
@@ -228,7 +228,7 @@ Use these when user asks for help on a specific command:
228
228
  - **Use when**: Ready to define specific implementation tasks
229
229
  - **Note (M22)**: Tasks auto-split if estimated scope exceeds 70% context window — guarantees fresh dispatch works
230
230
  - **Note (M26)**: Pre-mortem step now also reads rules.jsonl for historical failure patterns via getPreMortemRules
231
- - **Note (M38)**: Conversational use cases (formerly `/user:gsd-t-prompt`, `/user:gsd-t-brainstorm`, `/user:gsd-t-discuss`) are now handled by the Smart Router's conversational mode — just describe what you want via `/user:gsd` or plain text.
231
+ - **Note (M38)**: Conversational use cases (formerly `/gsd-t-prompt`, `/gsd-t-brainstorm`, `/gsd-t-discuss`) are now handled by the Smart Router's conversational mode — just describe what you want via `/gsd` or plain text.
232
232
 
233
233
  ### impact
234
234
  - **Summary**: Analyze downstream effects of planned changes
@@ -433,7 +433,7 @@ Did you mean one of these?
433
433
  • {closest match 1}
434
434
  • {closest match 2}
435
435
 
436
- Run /user:gsd-t-help for full command list.
436
+ Run /gsd-t-help for full command list.
437
437
  ```
438
438
 
439
439
  $ARGUMENTS
@@ -3,7 +3,7 @@
3
3
  You are analyzing the downstream effects of planned changes before execution. Your job is to identify what might break, what needs updating, and what risks exist.
4
4
 
5
5
  This command is:
6
- - **Auto-invoked** between plan and execute phases in `/user:gsd-t-wave`
6
+ - **Auto-invoked** between plan and execute phases in `/gsd-t-wave`
7
7
  - **Standalone** when user wants to evaluate potential changes
8
8
 
9
9
  ## Step 1: Load Context
@@ -273,7 +273,7 @@ Validate the test landscape before recommending proceed/block:
273
273
  - List the red items
274
274
  - Generate remediation tasks
275
275
  - Add tasks to current domain's task list
276
- - "Run `/user:gsd-t-execute` to address these first, then re-run impact analysis."
276
+ - "Run `/gsd-t-execute` to address these first, then re-run impact analysis."
277
277
  - Do NOT proceed to execute phase
278
278
 
279
279
  ## Standalone Mode
@@ -281,7 +281,7 @@ Validate the test landscape before recommending proceed/block:
281
281
  When run independently (not as part of wave):
282
282
 
283
283
  ```
284
- /user:gsd-t-impact "considering adding user roles to the auth system"
284
+ /gsd-t-impact "considering adding user roles to the auth system"
285
285
  ```
286
286
 
287
287
  1. Ask clarifying questions about the change
@@ -64,7 +64,7 @@ All subsequent steps run from inside the project directory.
64
64
 
65
65
  ## Step 3: Initialize Project (gsd-t-init)
66
66
 
67
- Execute the full init workflow (same as `/user:gsd-t-init`):
67
+ Execute the full init workflow (same as `/gsd-t-init`):
68
68
 
69
69
  1. Create `.gsd-t/` directory structure (contracts/, domains/, progress.md, backlog.md, backlog-settings.md, token-log.md, qa-issues.md)
70
70
  2. Ensure `CLAUDE.md` exists (create starter if missing, append GSD-T section if present without it)
@@ -101,7 +101,7 @@ If the project has source code, graph indexing (`.gsd-t/graph/`) will run as par
101
101
 
102
102
  ## Step 4: Deep Codebase Scan (gsd-t-scan)
103
103
 
104
- Execute the full scan workflow (same as `/user:gsd-t-scan`):
104
+ Execute the full scan workflow (same as `/gsd-t-scan`):
105
105
 
106
106
  1. Scan across all dimensions: architecture, business rules, security, quality, contracts
107
107
  2. Build `.gsd-t/techdebt.md` register
@@ -114,7 +114,7 @@ Always use team mode for the scan unless the codebase is trivially small (< 5 fi
114
114
 
115
115
  ## Step 5: Generate Project CLAUDE.md (gsd-t-setup)
116
116
 
117
- Execute the full setup workflow (same as `/user:gsd-t-setup`):
117
+ Execute the full setup workflow (same as `/gsd-t-setup`):
118
118
 
119
119
  1. Read global `~/.claude/CLAUDE.md` to understand what's already covered
120
120
  2. Use scan findings + auto-detection to populate project-specific sections
@@ -139,8 +139,8 @@ Project Onboarded: {project name}
139
139
 
140
140
  Next steps:
141
141
  → Review .gsd-t/techdebt.md for critical items
142
- → /user:gsd-t-milestone to define your first milestone
143
- → /user:gsd-t-wave to run a full development cycle
142
+ → /gsd-t-milestone to define your first milestone
143
+ → /gsd-t-wave to run a full development cycle
144
144
  ```
145
145
 
146
146
  ### Autonomy Behavior
@@ -154,7 +154,7 @@ Read the project's `CLAUDE.md` (if it exists) to auto-populate backlog settings:
154
154
  1. **Apps**: Scan for app names, service names, or product names (look for headings, "Tech Stack" sections, or named components). Populate the `## Apps` section in `backlog-settings.md` with discovered names (lowercase).
155
155
  2. **Categories**: Scan for domain concepts, module names, and technical areas (e.g., "authentication", "payments", "api", "database"). Populate the `## Categories` section.
156
156
  3. **Default App**: Set `**Default App:**` to the most prominent app found (the one mentioned most, or the first one). If only one app is found, use it.
157
- 4. **If nothing found**: Leave the placeholder values from the template — the user can configure later via `/user:gsd-t-backlog-settings`.
157
+ 4. **If nothing found**: Leave the placeholder values from the template — the user can configure later via `/gsd-t-backlog-settings`.
158
158
 
159
159
  ## Step 5: Initialize Progress File
160
160
 
@@ -366,10 +366,10 @@ After initialization:
366
366
  Tell the user:
367
367
  1. What was created (including backlog files: `.gsd-t/backlog.md` and `.gsd-t/backlog-settings.md`)
368
368
  2. What they should fill in (CLAUDE.md details, requirements)
369
- 3. Backlog settings status: whether apps/categories were auto-derived from CLAUDE.md or need manual configuration via `/user:gsd-t-backlog-settings`
369
+ 3. Backlog settings status: whether apps/categories were auto-derived from CLAUDE.md or need manual configuration via `/gsd-t-backlog-settings`
370
370
  4. Recommended next step:
371
- - New project: "Define your milestone, then run /user:gsd-t-partition"
372
- - Existing code: "I've mapped the codebase. Ready for /user:gsd-t-partition {milestone}"
371
+ - New project: "Define your milestone, then run /gsd-t-partition"
372
+ - Existing code: "I've mapped the codebase. Ready for /gsd-t-partition {milestone}"
373
373
 
374
374
  $ARGUMENTS
375
375
 
@@ -8,7 +8,7 @@ Read:
8
8
  1. `.gsd-t/progress.md` — current Decision Log entries
9
9
  2. Note the **last entry's timestamp** — this is the cutoff; only commits after this time need processing
10
10
 
11
- If `.gsd-t/progress.md` doesn't exist, inform user: "No GSD-T state found. Run `/user:gsd-t-init` first."
11
+ If `.gsd-t/progress.md` doesn't exist, inform user: "No GSD-T state found. Run `/gsd-t-init` first."
12
12
 
13
13
  ## Step 2: Get Recent Commits
14
14
 
@@ -44,7 +44,7 @@ Before formal partitioning, do a quick assessment:
44
44
 
45
45
  - **Complexity estimate**: Simple (1-2 domains), Medium (3-4), Complex (5+)
46
46
  - **Recommended approach**:
47
- - Simple: Consider using /user:gsd-t-quick for each piece
47
+ - Simple: Consider using /gsd-t-quick for each piece
48
48
  - Medium: Standard partition → plan → execute flow
49
49
  - Complex: Partition → discuss → plan → execute → integrate → verify
50
50
 
@@ -78,7 +78,7 @@ Before proceeding to partition:
78
78
  If the user wants to proceed immediately, execute the partition workflow (same as gsd-t-partition) for this milestone.
79
79
 
80
80
  Otherwise, set status to DEFINED and remind them:
81
- "Run /user:gsd-t-partition to decompose into domains, or /user:gsd-t-discuss to explore approaches first."
81
+ "Run /gsd-t-partition to decompose into domains, or /gsd-t-discuss to explore approaches first."
82
82
 
83
83
  $ARGUMENTS
84
84
 
@@ -54,7 +54,7 @@ Create `.gsd-t/continue-here-{timestamp}.md`:
54
54
  {$ARGUMENTS if provided, otherwise: _No note provided._}
55
55
 
56
56
  ## Resume Command
57
- /user:gsd-t-resume
57
+ /gsd-t-resume
58
58
  ```
59
59
 
60
60
  ## Step 4: Confirm to User
@@ -67,7 +67,7 @@ Output:
67
67
  Saved position: .gsd-t/continue-here-{timestamp}.md
68
68
  Next action: {next action summary}
69
69
 
70
- To resume: /user:gsd-t-resume
70
+ To resume: /gsd-t-resume
71
71
  ```
72
72
 
73
73
  ## Step 5: Do NOT Stop Work (unless user asked to pause all work)
@@ -291,13 +291,13 @@ Next steps:
291
291
 
292
292
  For a new project:
293
293
  ```
294
- /user:gsd-t-project {one-line summary}
294
+ /gsd-t-project {one-line summary}
295
295
  ```
296
296
  Then paste the PRD when prompted. The PRD's requirements table becomes docs/requirements.md. The architecture section seeds docs/architecture.md. The milestone sequence becomes your roadmap.
297
297
 
298
298
  For a feature on an existing project:
299
299
  ```
300
- /user:gsd-t-feature {one-line summary}
300
+ /gsd-t-feature {one-line summary}
301
301
  ```
302
302
  Then paste the PRD when prompted.
303
303
 
@@ -200,7 +200,7 @@ Present:
200
200
  4. Any scope decisions you made and why
201
201
  5. Questions or trade-offs that need user input
202
202
 
203
- Ask: "Ready to start Milestone 1? Run `/user:gsd-t-partition` to decompose it into domains."
203
+ Ask: "Ready to start Milestone 1? Run `/gsd-t-partition` to decompose it into domains."
204
204
 
205
205
  Or if the user wants to review first: "Review the roadmap in `.gsd-t/roadmap.md` and let me know if you want to adjust scope or ordering."
206
206
 
@@ -149,7 +149,7 @@ Progress:
149
149
  Next up: {specific next action}
150
150
  Blockers: {any pending items} | None
151
151
 
152
- Ready to continue? Or run /user:gsd-t-status for full details.
152
+ Ready to continue? Or run /gsd-t-status for full details.
153
153
  ```
154
154
 
155
155
  ## Step 4: Continue
@@ -171,9 +171,9 @@ When the resumed work reaches a natural handoff point, do NOT print a "Next Up"
171
171
  |--------------------------|-----------------|
172
172
  | A task (mid-wave, tasks remaining) | next task in the same wave |
173
173
  | The last task of a wave (waves remaining) | next wave |
174
- | The last task of the last wave | `/user:gsd-t-verify` (which auto-invokes `/user:gsd-t-complete-milestone` per verify Step 8) |
175
- | `/user:gsd-t-verify` (VERIFIED or VERIFIED-WITH-WARNINGS) | `/user:gsd-t-complete-milestone` (verify already spawns this — do not re-invoke) |
176
- | `/user:gsd-t-complete-milestone` | honor any outstanding multi-step user directive (see below) |
174
+ | The last task of the last wave | `/gsd-t-verify` (which auto-invokes `/gsd-t-complete-milestone` per verify Step 8) |
175
+ | `/gsd-t-verify` (VERIFIED or VERIFIED-WITH-WARNINGS) | `/gsd-t-complete-milestone` (verify already spawns this — do not re-invoke) |
176
+ | `/gsd-t-complete-milestone` | honor any outstanding multi-step user directive (see below) |
177
177
 
178
178
  **Never stop at "Wave N complete" or "Task N done" and wait.** The only stopping points are:
179
179
  1. VERIFY-FAILED (report failures)
@@ -235,7 +235,7 @@ Operations implemented independently in 2+ places — candidates for extraction
235
235
  If none found: `✅ No shared service candidates detected.`
236
236
 
237
237
  > **Note**: These candidates should seed Step 1.6 (Consumer Surface Identification) the next
238
- > time `/user:gsd-t-partition` is run. Copy the "Consumer Surfaces Detected" table into
238
+ > time `/gsd-t-partition` is run. Copy the "Consumer Surfaces Detected" table into
239
239
  > partition's Step 1.6.1 to skip re-research.
240
240
 
241
241
  ## Complexity Hotspots
@@ -442,7 +442,7 @@ Can be scheduled: During next maintenance window
442
442
  Combines: all "Shared Service Candidates" from quality.md Reusability Analysis
443
443
  Estimated effort: {assessment}
444
444
  Should be prioritized: BEFORE adding new consumer surfaces to the system
445
- Note: Use `/user:gsd-t-partition` Step 1.6 to design the SharedCore domain
445
+ Note: Use `/gsd-t-partition` Step 1.6 to design the SharedCore domain
446
446
  ```
447
447
 
448
448
  ## Step 5: Update Living Documents
@@ -563,7 +563,7 @@ If `.gsd-t/progress.md` exists:
563
563
 
564
564
  If `.gsd-t/roadmap.md` exists:
565
565
  - Do NOT auto-add milestones — present suggestions to user
566
- - User decides which to promote with `/user:gsd-t-promote-debt`
566
+ - User decides which to promote with `/gsd-t-promote-debt`
567
567
 
568
568
  If `CLAUDE.md` exists:
569
569
  - Suggest updates for any patterns or conventions discovered during scan
@@ -192,7 +192,7 @@ Options:
192
192
  [2] web-app — "User-facing app: accessible, performant, visually consistent. UX is the product."
193
193
  [3] cli — "Developer CLI: fast, predictable, clear output. Error messages explain what went wrong and how to fix it."
194
194
  [4] custom — Write your own 1–3 sentences
195
- [5] skip — No Quality North Star (can add later via /user:gsd-t-setup)
195
+ [5] skip — No Quality North Star (can add later via /gsd-t-setup)
196
196
  ```
197
197
 
198
198
  If the user picks 1–3, use the corresponding preset text from the table below.
@@ -240,7 +240,7 @@ Would you like to generate a design brief at .gsd-t/contracts/design-brief.md?
240
240
  This gives subagents a consistent visual language reference (colors, typography, spacing, patterns).
241
241
 
242
242
  [1] Yes — generate now (sources: Tailwind config if exists, then project defaults)
243
- [2] No — skip for now (can generate later by re-running /user:gsd-t-setup)
243
+ [2] No — skip for now (can generate later by re-running /gsd-t-setup)
244
244
  ```
245
245
 
246
246
  If user picks 1: generate `.gsd-t/contracts/design-brief.md` using the format defined in `.gsd-t/contracts/design-brief-contract.md` (or the standard format):
@@ -322,7 +322,7 @@ Full sync:
322
322
 
323
323
  ### Standalone Mode:
324
324
  ```
325
- /user:gsd-t-test-sync
325
+ /gsd-t-test-sync
326
326
  ```
327
327
  1. Full analysis of entire codebase
328
328
  2. Comprehensive report
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Model**: haiku (polling a state file is mechanical — no reasoning needed)
4
4
 
5
- You are running one tick of the unattended supervisor watch loop. This command is **stateless**: every firing re-reads `.gsd-t/.unattended/supervisor.pid` + `state.json` + `run.log` from disk and makes a fresh decision. There is no in-memory state between ticks, and a `/clear` followed by `/user:gsd-t-resume` during a live unattended run is a no-op.
5
+ You are running one tick of the unattended supervisor watch loop. This command is **stateless**: every firing re-reads `.gsd-t/.unattended/supervisor.pid` + `state.json` + `run.log` from disk and makes a fresh decision. There is no in-memory state between ticks, and a `/clear` followed by `/gsd-t-resume` during a live unattended run is a no-op.
6
6
 
7
7
  The watch loop is the user's visibility surface into the running supervisor. It fires every 270 seconds (inside the 5-minute prompt-cache TTL) and either:
8
8
  1. Renders a compact status block + reschedules itself, OR
@@ -245,7 +245,7 @@ The supervisor process is gone but it did not remove its PID file — this is a
245
245
 
246
246
  Recovery: inspect .gsd-t/.unattended/run.log and .gsd-t/.unattended/state.json.
247
247
  Remove the stale PID file with: rm .gsd-t/.unattended/supervisor.pid
248
- Then relaunch with: /user:gsd-t-unattended
248
+ Then relaunch with: /gsd-t-unattended
249
249
  ```
250
250
 
251
251
  **STOP** — do NOT reschedule. End the turn.
@@ -296,7 +296,7 @@ The supervisor is still alive but has transitioned to a terminal status on its l
296
296
  Total elapsed: {Hh Mm}
297
297
  Log: {LOG_PATH}
298
298
 
299
- Stop sentinel was honored between worker iterations. Relaunch with /user:gsd-t-unattended.
299
+ Stop sentinel was honored between worker iterations. Relaunch with /gsd-t-unattended.
300
300
  ```
301
301
 
302
302
  **STOP** — do NOT reschedule. End the turn.
@@ -321,7 +321,7 @@ Format rules:
321
321
  📋 Tasks: {TASKS_DONE}/{TASKS_TOTAL} [{progress bar}] · elapsed {Hh Mm}
322
322
  🔧 {DOMAIN_SUMMARY or "No domains yet (pre-partition)"}
323
323
  ⏱ Iter {ITER}/{MAX_ITER} · last tick {tickAge} · last exit {LAST_EXIT} ({durationSec}s)
324
- ⏰ Next tick in 270s · Stop: /user:gsd-t-unattended-stop
324
+ ⏰ Next tick in 270s · Stop: /gsd-t-unattended-stop
325
325
  ```
326
326
 
327
327
  Progress bar rendering (8 chars wide):
@@ -392,7 +392,7 @@ After the tool call, end the turn. Do NOT output a "Next Up" hint, do NOT contin
392
392
  ## Notes
393
393
 
394
394
  - **Stateless**: every tick re-reads state from disk. No memory between firings.
395
- - **Terminal = STOP**: any terminal branch (3, 4, 5) ends the loop. The user relaunches via `/user:gsd-t-unattended` if needed.
395
+ - **Terminal = STOP**: any terminal branch (3, 4, 5) ends the loop. The user relaunches via `/gsd-t-unattended` if needed.
396
396
  - **Never spawn subagents**: this is a pure polling command — no Task, no TeamCreate, no observability logging block.
397
397
  - **No branch guard, no pre-commit gate, no doc ripple**: this command does not modify any files.
398
398
  - **Stale-tick tolerance**: if `lastTick` is >540s old but PID is still alive, warn soft (`⚠️ stale`) but still reschedule — the supervisor may be mid-worker.
@@ -16,7 +16,7 @@ Run via Bash:
16
16
 
17
17
  ```bash
18
18
  if [ ! -f ".gsd-t/progress.md" ]; then
19
- echo "ERROR: .gsd-t/progress.md not found — not a GSD-T project. Run /user:gsd-t-init first."
19
+ echo "ERROR: .gsd-t/progress.md not found — not a GSD-T project. Run /gsd-t-init first."
20
20
  exit 1
21
21
  fi
22
22
  ```
@@ -61,10 +61,10 @@ If `PID_RUNNING=true`, **STOP** and print:
61
61
  ```
62
62
  🔴 Unattended supervisor is already running (PID {PID}).
63
63
 
64
- Use /user:gsd-t-unattended-stop to request a clean halt, then wait for the
64
+ Use /gsd-t-unattended-stop to request a clean halt, then wait for the
65
65
  watch loop to confirm it has stopped before relaunching.
66
66
 
67
- To just watch the current run: /user:gsd-t-unattended-watch
67
+ To just watch the current run: /gsd-t-unattended-watch
68
68
  ```
69
69
 
70
70
  Do NOT spawn a second supervisor. End the turn.
@@ -137,7 +137,7 @@ The `/gsd-t-resume` worker already knows how to chain through phases automatical
137
137
  ```
138
138
  ❌ No active milestone found and none identifiable from context.
139
139
 
140
- Specify one explicitly: /user:gsd-t-unattended --milestone=M1
140
+ Specify one explicitly: /gsd-t-unattended --milestone=M1
141
141
  ```
142
142
  - **STOP.** Do NOT spawn.
143
143
 
@@ -230,7 +230,7 @@ If `PREFLIGHT=fail`, **STOP** and print:
230
230
  • {name}
231
231
  Install: {install}
232
232
 
233
- Install the missing software and retry: /user:gsd-t-unattended
233
+ Install the missing software and retry: /gsd-t-unattended
234
234
  ```
235
235
 
236
236
  End the turn. Do NOT spawn.
@@ -393,7 +393,7 @@ If `LIVENESS=dead`, the supervisor crashed at startup. Print diagnostics and **S
393
393
  • Protected branch or dirty worktree rejected by safety rails
394
394
  • Permissions error on .gsd-t/.unattended/ directory
395
395
 
396
- Fix the issue above and retry: /user:gsd-t-unattended
396
+ Fix the issue above and retry: /gsd-t-unattended
397
397
  ```
398
398
 
399
399
  End the turn without scheduling a watch tick.
@@ -415,8 +415,8 @@ Print the launch confirmation block:
415
415
  Watch: ScheduleWakeup every 270s
416
416
 
417
417
  The supervisor is running detached — it survives /clear and terminal close.
418
- Stop gracefully: /user:gsd-t-unattended-stop
419
- Watch manually: /user:gsd-t-unattended-watch
418
+ Stop gracefully: /gsd-t-unattended-stop
419
+ Watch manually: /gsd-t-unattended-watch
420
420
  ```
421
421
 
422
422
  ## Step 5: Schedule the First Watch Tick
@@ -446,6 +446,6 @@ After the tool call, end the turn. The in-session watch loop takes over from her
446
446
  - **Platform helper**: uses `spawnSupervisor` from `bin/gsd-t-unattended-platform.cjs` — never hand-rolls `child_process.spawn` directly. This handles macOS/Linux/Windows differences.
447
447
  - **Dry-run**: `--dry-run` prints the would-be invocation without spawning. Useful for validating flags before a long overnight run.
448
448
  - **No doc ripple, no pre-commit gate**: this command spawns a background process; it does not modify any source files or contracts.
449
- - **watch command is stateless**: after this command returns, every `/user:gsd-t-unattended-watch` tick re-reads state from disk. There is no in-memory state to preserve.
449
+ - **watch command is stateless**: after this command returns, every `/gsd-t-unattended-watch` tick re-reads state from disk. There is no in-memory state to preserve.
450
450
 
451
451
  $ARGUMENTS
@@ -49,7 +49,7 @@ After reading progress.md, verify it contains the required fields before proceed
49
49
  - **Domains table**: A `| Domain |` table with at least one row
50
50
 
51
51
  If ANY of these are missing or malformed, STOP and report:
52
- "Wave cannot proceed — progress.md is missing required fields: {list}. Run `/user:gsd-t-status` to inspect, or `/user:gsd-t-init` to repair."
52
+ "Wave cannot proceed — progress.md is missing required fields: {list}. Run `/gsd-t-status` to inspect, or `/gsd-t-init` to repair."
53
53
  Do NOT attempt to fix progress.md yourself — that risks data loss.
54
54
 
55
55
  ## Step 2: Determine Resume Point
@@ -304,8 +304,8 @@ Summary:
304
304
 
305
305
  Next steps:
306
306
  - Push tag: git push origin milestone/{name}
307
- - Start next: /user:gsd-t-milestone "{next}"
308
- - View roadmap: /user:gsd-t-status
307
+ - Start next: /gsd-t-milestone "{next}"
308
+ - View roadmap: /gsd-t-status
309
309
  ═══════════════════════════════════════════════════════════════════════════════
310
310
  ```
311
311
 
@@ -313,7 +313,7 @@ Next steps:
313
313
 
314
314
  If the user interrupts or a phase agent fails:
315
315
  1. The current phase agent saves its own state to `.gsd-t/progress.md`
316
- 2. Report: "Paused at {phase}. Run `/user:gsd-t-resume` to continue."
316
+ 2. Report: "Paused at {phase}. Run `/gsd-t-resume` to continue."
317
317
  3. Resume will pick up from the last completed phase
318
318
 
319
319
  ## Error Recovery
package/commands/gsd.md CHANGED
@@ -28,7 +28,7 @@ Before semantic evaluation, determine if this is a **continuation** of an alread
28
28
 
29
29
  For non-continuation messages, decide whether the request is **conversational** (user is thinking, exploring, or articulating — no command spawn) or **workflow** (user wants work done — route to a GSD-T command via Step 2).
30
30
 
31
- This step replaces the retired `/user:gsd-t-prompt`, `/user:gsd-t-brainstorm`, and `/user:gsd-t-discuss` commands, whose use cases the router now handles inline.
31
+ This step replaces the retired `/gsd-t-prompt`, `/gsd-t-brainstorm`, and `/gsd-t-discuss` commands, whose use cases the router now handles inline.
32
32
 
33
33
  ### Conversational triggers (respond inline, NO command spawn):
34
34
 
@@ -74,7 +74,7 @@ Read the **Command Summaries** section of `commands/gsd-t-help.md` (or the in-me
74
74
  - **1 match** → Route immediately
75
75
  - **2+ matches** → Pick the best fit based on scope and context. Show the runner-up:
76
76
  ```
77
- → Routing to /user:gsd-t-{command}: {reason}
77
+ → Routing to /gsd-t-{command}: {reason}
78
78
  (also considered: gsd-t-{runner-up} — Esc to switch)
79
79
  ```
80
80
 
@@ -136,7 +136,7 @@ When cleanup is needed, do it at the start of `design-decompose` before reading
136
136
 
137
137
  ### New request (from Step 2):
138
138
  ```
139
- → Routing to /user:gsd-t-{command}: {brief reason}
139
+ → Routing to /gsd-t-{command}: {brief reason}
140
140
  ```
141
141
 
142
142
  ### Conversational (from Step 2.5):
@@ -148,13 +148,13 @@ Follow this header with your direct in-line response — ask clarifying question
148
148
  ### Design pipeline (from design-to-code routing):
149
149
  ```
150
150
  → Design pipeline: clean → decompose → build
151
- Starting: /user:gsd-t-design-decompose
151
+ Starting: /gsd-t-design-decompose
152
152
  ```
153
153
  Use this format when the router detects a design-to-code pipeline. Show the full pipeline with the current step highlighted. Auto-advance between steps without returning to the router.
154
154
 
155
155
  ### Continuation (from Step 2a):
156
156
  ```
157
- → /gsd ──▶ continue /user:gsd-t-{last-command}
157
+ → /gsd ──▶ continue /gsd-t-{last-command}
158
158
  ```
159
159
 
160
160
  Where `{last-command}` is:
@@ -188,10 +188,10 @@ Valid command slugs: `quick`, `debug`, `feature`, `execute`, `milestone`, `proje
188
188
 
189
189
  **RIGHT ✅** — always use the exact command slug:
190
190
  ```
191
- → Routing to /user:gsd-t-execute: implement auth feature across backend
192
- → Routing to /user:gsd-t-debug: investigate login bug before fixing
193
- → /gsd ──▶ continue /user:gsd-t-execute
194
- → /gsd ──▶ continue /user:gsd-t-quick
191
+ → Routing to /gsd-t-execute: implement auth feature across backend
192
+ → Routing to /gsd-t-debug: investigate login bug before fixing
193
+ → /gsd ──▶ continue /gsd-t-execute
194
+ → /gsd ──▶ continue /gsd-t-quick
195
195
  ```
196
196
 
197
197
  This MUST be the very first line of your response. Then immediately execute that command's full workflow, passing `$ARGUMENTS` through.
@@ -203,16 +203,16 @@ This MUST be the very first line of your response. Then immediately execute that
203
203
  If called with no arguments, show:
204
204
 
205
205
  ```
206
- Usage: /user:gsd {describe what you want}
206
+ Usage: /gsd {describe what you want}
207
207
 
208
208
  Examples:
209
- /user:gsd Fix the login timeout bug
210
- /user:gsd Add dark mode support
211
- /user:gsd Scan the codebase for tech debt
212
- /user:gsd What's the current progress?
213
- /user:gsd Compare this spec against our code
214
- /user:gsd Help me think through this integration before I start
215
- /user:gsd I'm stuck — what are other angles?
209
+ /gsd Fix the login timeout bug
210
+ /gsd Add dark mode support
211
+ /gsd Scan the codebase for tech debt
212
+ /gsd What's the current progress?
213
+ /gsd Compare this spec against our code
214
+ /gsd Help me think through this integration before I start
215
+ /gsd I'm stuck — what are other angles?
216
216
 
217
217
  I'll route to the right GSD-T command — or just think out loud with you
218
218
  if you're still figuring things out (no command spawn).