gsd-opencode 1.22.1 → 1.33.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.
Files changed (188) hide show
  1. package/agents/gsd-advisor-researcher.md +112 -0
  2. package/agents/gsd-assumptions-analyzer.md +110 -0
  3. package/agents/gsd-codebase-mapper.md +0 -2
  4. package/agents/gsd-debugger.md +117 -2
  5. package/agents/gsd-doc-verifier.md +207 -0
  6. package/agents/gsd-doc-writer.md +608 -0
  7. package/agents/gsd-executor.md +45 -4
  8. package/agents/gsd-integration-checker.md +0 -2
  9. package/agents/gsd-nyquist-auditor.md +0 -2
  10. package/agents/gsd-phase-researcher.md +191 -5
  11. package/agents/gsd-plan-checker.md +152 -5
  12. package/agents/gsd-planner.md +131 -157
  13. package/agents/gsd-project-researcher.md +28 -3
  14. package/agents/gsd-research-synthesizer.md +0 -2
  15. package/agents/gsd-roadmapper.md +29 -2
  16. package/agents/gsd-security-auditor.md +129 -0
  17. package/agents/gsd-ui-auditor.md +485 -0
  18. package/agents/gsd-ui-checker.md +305 -0
  19. package/agents/gsd-ui-researcher.md +368 -0
  20. package/agents/gsd-user-profiler.md +173 -0
  21. package/agents/gsd-verifier.md +207 -22
  22. package/commands/gsd/gsd-add-backlog.md +76 -0
  23. package/commands/gsd/gsd-analyze-dependencies.md +34 -0
  24. package/commands/gsd/gsd-audit-uat.md +24 -0
  25. package/commands/gsd/gsd-autonomous.md +45 -0
  26. package/commands/gsd/gsd-cleanup.md +5 -0
  27. package/commands/gsd/gsd-debug.md +29 -21
  28. package/commands/gsd/gsd-discuss-phase.md +15 -36
  29. package/commands/gsd/gsd-do.md +30 -0
  30. package/commands/gsd/gsd-docs-update.md +48 -0
  31. package/commands/gsd/gsd-execute-phase.md +24 -2
  32. package/commands/gsd/gsd-fast.md +30 -0
  33. package/commands/gsd/gsd-forensics.md +56 -0
  34. package/commands/gsd/gsd-help.md +2 -0
  35. package/commands/gsd/gsd-join-discord.md +2 -1
  36. package/commands/gsd/gsd-list-workspaces.md +19 -0
  37. package/commands/gsd/gsd-manager.md +40 -0
  38. package/commands/gsd/gsd-milestone-summary.md +51 -0
  39. package/commands/gsd/gsd-new-project.md +4 -0
  40. package/commands/gsd/gsd-new-workspace.md +44 -0
  41. package/commands/gsd/gsd-next.md +24 -0
  42. package/commands/gsd/gsd-note.md +34 -0
  43. package/commands/gsd/gsd-plan-phase.md +8 -1
  44. package/commands/gsd/gsd-plant-seed.md +28 -0
  45. package/commands/gsd/gsd-pr-branch.md +25 -0
  46. package/commands/gsd/gsd-profile-user.md +46 -0
  47. package/commands/gsd/gsd-quick.md +7 -3
  48. package/commands/gsd/gsd-reapply-patches.md +178 -45
  49. package/commands/gsd/gsd-remove-workspace.md +26 -0
  50. package/commands/gsd/gsd-research-phase.md +7 -12
  51. package/commands/gsd/gsd-review-backlog.md +62 -0
  52. package/commands/gsd/gsd-review.md +38 -0
  53. package/commands/gsd/gsd-secure-phase.md +35 -0
  54. package/commands/gsd/gsd-session-report.md +19 -0
  55. package/commands/gsd/gsd-set-profile.md +24 -23
  56. package/commands/gsd/gsd-ship.md +23 -0
  57. package/commands/gsd/gsd-stats.md +18 -0
  58. package/commands/gsd/gsd-thread.md +127 -0
  59. package/commands/gsd/gsd-ui-phase.md +34 -0
  60. package/commands/gsd/gsd-ui-review.md +32 -0
  61. package/commands/gsd/gsd-workstreams.md +71 -0
  62. package/get-shit-done/bin/gsd-tools.cjs +450 -90
  63. package/get-shit-done/bin/lib/commands.cjs +489 -24
  64. package/get-shit-done/bin/lib/config.cjs +329 -48
  65. package/get-shit-done/bin/lib/core.cjs +1143 -102
  66. package/get-shit-done/bin/lib/docs.cjs +267 -0
  67. package/get-shit-done/bin/lib/frontmatter.cjs +125 -43
  68. package/get-shit-done/bin/lib/init.cjs +918 -106
  69. package/get-shit-done/bin/lib/milestone.cjs +65 -33
  70. package/get-shit-done/bin/lib/model-profiles.cjs +70 -0
  71. package/get-shit-done/bin/lib/phase.cjs +434 -404
  72. package/get-shit-done/bin/lib/profile-output.cjs +1048 -0
  73. package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
  74. package/get-shit-done/bin/lib/roadmap.cjs +156 -101
  75. package/get-shit-done/bin/lib/schema-detect.cjs +238 -0
  76. package/get-shit-done/bin/lib/security.cjs +384 -0
  77. package/get-shit-done/bin/lib/state.cjs +711 -79
  78. package/get-shit-done/bin/lib/template.cjs +2 -2
  79. package/get-shit-done/bin/lib/uat.cjs +282 -0
  80. package/get-shit-done/bin/lib/verify.cjs +254 -42
  81. package/get-shit-done/bin/lib/workstream.cjs +495 -0
  82. package/get-shit-done/references/agent-contracts.md +79 -0
  83. package/get-shit-done/references/artifact-types.md +113 -0
  84. package/get-shit-done/references/checkpoints.md +12 -10
  85. package/get-shit-done/references/context-budget.md +49 -0
  86. package/get-shit-done/references/continuation-format.md +15 -15
  87. package/get-shit-done/references/decimal-phase-calculation.md +2 -3
  88. package/get-shit-done/references/domain-probes.md +125 -0
  89. package/get-shit-done/references/gate-prompts.md +100 -0
  90. package/get-shit-done/references/git-integration.md +47 -0
  91. package/get-shit-done/references/model-profile-resolution.md +2 -0
  92. package/get-shit-done/references/model-profiles.md +62 -16
  93. package/get-shit-done/references/phase-argument-parsing.md +2 -2
  94. package/get-shit-done/references/planner-gap-closure.md +62 -0
  95. package/get-shit-done/references/planner-reviews.md +39 -0
  96. package/get-shit-done/references/planner-revision.md +87 -0
  97. package/get-shit-done/references/planning-config.md +18 -1
  98. package/get-shit-done/references/revision-loop.md +97 -0
  99. package/get-shit-done/references/ui-brand.md +2 -2
  100. package/get-shit-done/references/universal-anti-patterns.md +58 -0
  101. package/get-shit-done/references/user-profiling.md +681 -0
  102. package/get-shit-done/references/workstream-flag.md +111 -0
  103. package/get-shit-done/templates/SECURITY.md +61 -0
  104. package/get-shit-done/templates/UAT.md +21 -3
  105. package/get-shit-done/templates/UI-SPEC.md +100 -0
  106. package/get-shit-done/templates/VALIDATION.md +3 -3
  107. package/get-shit-done/templates/claude-md.md +145 -0
  108. package/get-shit-done/templates/config.json +14 -3
  109. package/get-shit-done/templates/context.md +61 -6
  110. package/get-shit-done/templates/debug-subagent-prompt.md +2 -6
  111. package/get-shit-done/templates/dev-preferences.md +21 -0
  112. package/get-shit-done/templates/discussion-log.md +63 -0
  113. package/get-shit-done/templates/phase-prompt.md +46 -5
  114. package/get-shit-done/templates/planner-subagent-prompt.md +2 -10
  115. package/get-shit-done/templates/project.md +2 -0
  116. package/get-shit-done/templates/state.md +2 -2
  117. package/get-shit-done/templates/user-profile.md +146 -0
  118. package/get-shit-done/workflows/add-phase.md +4 -4
  119. package/get-shit-done/workflows/add-tests.md +4 -4
  120. package/get-shit-done/workflows/add-todo.md +4 -4
  121. package/get-shit-done/workflows/analyze-dependencies.md +96 -0
  122. package/get-shit-done/workflows/audit-milestone.md +20 -16
  123. package/get-shit-done/workflows/audit-uat.md +109 -0
  124. package/get-shit-done/workflows/autonomous.md +1036 -0
  125. package/get-shit-done/workflows/check-todos.md +4 -4
  126. package/get-shit-done/workflows/cleanup.md +4 -4
  127. package/get-shit-done/workflows/complete-milestone.md +22 -10
  128. package/get-shit-done/workflows/diagnose-issues.md +21 -7
  129. package/get-shit-done/workflows/discovery-phase.md +2 -2
  130. package/get-shit-done/workflows/discuss-phase-assumptions.md +671 -0
  131. package/get-shit-done/workflows/discuss-phase-power.md +291 -0
  132. package/get-shit-done/workflows/discuss-phase.md +558 -47
  133. package/get-shit-done/workflows/do.md +104 -0
  134. package/get-shit-done/workflows/docs-update.md +1093 -0
  135. package/get-shit-done/workflows/execute-phase.md +741 -58
  136. package/get-shit-done/workflows/execute-plan.md +77 -12
  137. package/get-shit-done/workflows/fast.md +105 -0
  138. package/get-shit-done/workflows/forensics.md +265 -0
  139. package/get-shit-done/workflows/health.md +28 -6
  140. package/get-shit-done/workflows/help.md +127 -7
  141. package/get-shit-done/workflows/insert-phase.md +4 -4
  142. package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
  143. package/get-shit-done/workflows/list-workspaces.md +56 -0
  144. package/get-shit-done/workflows/manager.md +363 -0
  145. package/get-shit-done/workflows/map-codebase.md +83 -44
  146. package/get-shit-done/workflows/milestone-summary.md +223 -0
  147. package/get-shit-done/workflows/new-milestone.md +133 -25
  148. package/get-shit-done/workflows/new-project.md +216 -54
  149. package/get-shit-done/workflows/new-workspace.md +237 -0
  150. package/get-shit-done/workflows/next.md +97 -0
  151. package/get-shit-done/workflows/node-repair.md +92 -0
  152. package/get-shit-done/workflows/note.md +156 -0
  153. package/get-shit-done/workflows/pause-work.md +132 -15
  154. package/get-shit-done/workflows/plan-milestone-gaps.md +6 -7
  155. package/get-shit-done/workflows/plan-phase.md +513 -62
  156. package/get-shit-done/workflows/plant-seed.md +169 -0
  157. package/get-shit-done/workflows/pr-branch.md +129 -0
  158. package/get-shit-done/workflows/profile-user.md +450 -0
  159. package/get-shit-done/workflows/progress.md +154 -29
  160. package/get-shit-done/workflows/quick.md +285 -111
  161. package/get-shit-done/workflows/remove-phase.md +2 -2
  162. package/get-shit-done/workflows/remove-workspace.md +90 -0
  163. package/get-shit-done/workflows/research-phase.md +13 -9
  164. package/get-shit-done/workflows/resume-project.md +37 -18
  165. package/get-shit-done/workflows/review.md +281 -0
  166. package/get-shit-done/workflows/secure-phase.md +154 -0
  167. package/get-shit-done/workflows/session-report.md +146 -0
  168. package/get-shit-done/workflows/set-profile.md +2 -2
  169. package/get-shit-done/workflows/settings.md +91 -11
  170. package/get-shit-done/workflows/ship.md +237 -0
  171. package/get-shit-done/workflows/stats.md +60 -0
  172. package/get-shit-done/workflows/transition.md +150 -23
  173. package/get-shit-done/workflows/ui-phase.md +292 -0
  174. package/get-shit-done/workflows/ui-review.md +183 -0
  175. package/get-shit-done/workflows/update.md +262 -30
  176. package/get-shit-done/workflows/validate-phase.md +14 -17
  177. package/get-shit-done/workflows/verify-phase.md +143 -11
  178. package/get-shit-done/workflows/verify-work.md +141 -39
  179. package/package.json +1 -1
  180. package/skills/gsd-audit-milestone/SKILL.md +29 -0
  181. package/skills/gsd-cleanup/SKILL.md +19 -0
  182. package/skills/gsd-complete-milestone/SKILL.md +131 -0
  183. package/skills/gsd-discuss-phase/SKILL.md +54 -0
  184. package/skills/gsd-execute-phase/SKILL.md +49 -0
  185. package/skills/gsd-plan-phase/SKILL.md +37 -0
  186. package/skills/gsd-ui-phase/SKILL.md +24 -0
  187. package/skills/gsd-ui-review/SKILL.md +24 -0
  188. package/skills/gsd-verify-work/SKILL.md +30 -0
@@ -1,8 +1,8 @@
1
- <purpose>
1
+ <objective>
2
2
 
3
3
  Start a new milestone cycle for an existing project. Loads project context, gathers milestone goals (from MILESTONE-CONTEXT.md or conversation), updates PROJECT.md and STATE.md, optionally runs parallel research, defines scoped requirements with REQ-IDs, spawns the roadmapper to create phased execution plan, and commits all artifacts. Brownfield equivalent of new-project.
4
4
 
5
- </purpose>
5
+ </objective>
6
6
 
7
7
  <required_reading>
8
8
 
@@ -10,10 +10,23 @@ read all files referenced by the invoking prompt's execution_context before star
10
10
 
11
11
  </required_reading>
12
12
 
13
+ <available_agent_types>
14
+ Valid GSD subagent types (use exact names — do not fall back to 'general'):
15
+ - gsd-project-researcher — Researches project-level technical decisions
16
+ - gsd-research-synthesizer — Synthesizes findings from parallel research agents
17
+ - gsd-roadmapper — Creates phased execution roadmaps
18
+ </available_agent_types>
19
+
13
20
  <process>
14
21
 
15
22
  ## 1. Load Context
16
23
 
24
+ Parse `$ARGUMENTS` before doing anything else:
25
+ - `--reset-phase-numbers` flag → opt into restarting roadmap phase numbering at `1`
26
+ - remaining text → use as milestone name if present
27
+
28
+ If the flag is absent, keep the current behavior of continuing phase numbering from the previous milestone.
29
+
17
30
  - read PROJECT.md (existing project, validated requirements, decisions)
18
31
  - read MILESTONES.md (what shipped previously)
19
32
  - read STATE.md (pending todos, blockers)
@@ -37,6 +50,38 @@ read all files referenced by the invoking prompt's execution_context before star
37
50
  - Suggest next version (v1.0 → v1.1, or v2.0 for major)
38
51
  - Confirm with user
39
52
 
53
+ ## 3.5. Verify Milestone Understanding
54
+
55
+ Before writing any files, present a summary of what was gathered and ask for confirmation.
56
+
57
+ ```
58
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
59
+ GSD ► MILESTONE SUMMARY
60
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
61
+
62
+ **Milestone v[X.Y]: [Name]**
63
+
64
+ **Goal:** [One sentence]
65
+
66
+ **Target features:**
67
+ - [Feature 1]
68
+ - [Feature 2]
69
+ - [Feature 3]
70
+
71
+ **Key context:** [Any important constraints, decisions, or notes from questioning]
72
+ ```
73
+
74
+ question:
75
+ - header: "Confirm?"
76
+ - question: "Does this capture what you want to build in this milestone?"
77
+ - options:
78
+ - "Looks good" — Proceed to write PROJECT.md
79
+ - "Adjust" — Let me correct or add details
80
+
81
+ **If "Adjust":** Ask what needs changing (plain text, NOT question). Incorporate changes, re-present the summary. Loop until "Looks good" is selected.
82
+
83
+ **If "Looks good":** Proceed to Step 4.
84
+
40
85
  ## 4. Update PROJECT.md
41
86
 
42
87
  Add/update:
@@ -54,6 +99,27 @@ Add/update:
54
99
 
55
100
  Update Active requirements section and "Last updated" footer.
56
101
 
102
+ Ensure the `## Evolution` section exists in PROJECT.md. If missing (projects created before this feature), add it before the footer:
103
+
104
+ ```markdown
105
+ ## Evolution
106
+
107
+ This document evolves at phase transitions and milestone boundaries.
108
+
109
+ **After each phase transition** (via `/gsd-transition`):
110
+ 1. Requirements invalidated? → Move to Out of Scope with reason
111
+ 2. Requirements validated? → Move to Validated with phase reference
112
+ 3. New requirements emerged? → Add to Active
113
+ 4. Decisions to log? → Add to Key Decisions
114
+ 5. "What This Is" still accurate? → Update if drifted
115
+
116
+ **After each milestone** (via `/gsd-complete-milestone`):
117
+ 1. Full review of all sections
118
+ 2. Core Value check — still the right priority?
119
+ 3. Audit Out of Scope — reasons still valid?
120
+ 4. Update Context with current state
121
+ ```
122
+
57
123
  ## 5. Update STATE.md
58
124
 
59
125
  ```markdown
@@ -71,6 +137,12 @@ Keep Accumulated Context section from previous milestone.
71
137
 
72
138
  Delete MILESTONE-CONTEXT.md if exists (consumed).
73
139
 
140
+ Clear leftover phase directories from the previous milestone:
141
+
142
+ ```bash
143
+ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" phases clear
144
+ ```
145
+
74
146
  ```bash
75
147
  node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: start milestone v[X.Y] [Name]" --files .planning/PROJECT.md .planning/STATE.md
76
148
  ```
@@ -80,27 +152,52 @@ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: star
80
152
  ```bash
81
153
  INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" init new-milestone)
82
154
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
155
+ AGENT_SKILLS_RESEARCHER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-project-researcher 2>/dev/null)
156
+ AGENT_SKILLS_SYNTHESIZER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-synthesizer 2>/dev/null)
157
+ AGENT_SKILLS_ROADMAPPER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-roadmapper 2>/dev/null)
158
+ ```
159
+
160
+ Extract from init JSON: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `project_exists`, `roadmap_exists`, `latest_completed_milestone`, `phase_dir_count`, `phase_archive_path`.
161
+
162
+ ## 7.5 Reset-phase safety (only when `--reset-phase-numbers`)
163
+
164
+ If `--reset-phase-numbers` is active:
165
+
166
+ 1. Set starting phase number to `1` for the upcoming roadmap.
167
+ 2. If `phase_dir_count > 0`, archive the old phase directories before roadmapping so new `01-*` / `02-*` directories cannot collide with stale milestone directories.
168
+
169
+ If `phase_dir_count > 0` and `phase_archive_path` is available:
170
+
171
+ ```bash
172
+ mkdir -p "${phase_archive_path}"
173
+ find .planning/phases -mindepth 1 -maxdepth 1 -type d -exec mv {} "${phase_archive_path}/" \;
83
174
  ```
84
175
 
85
- Extract from init JSON: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `project_exists`, `roadmap_exists`.
176
+ Then verify `.planning/phases/` no longer contains old milestone directories before continuing.
177
+
178
+ If `phase_dir_count > 0` but `phase_archive_path` is missing:
179
+ - Stop and explain that reset numbering is unsafe without a completed milestone archive target.
180
+ - Tell the user to complete/archive the previous milestone first, then rerun `/gsd-new-milestone --reset-phase-numbers ${GSD_WS}`.
86
181
 
87
182
  ## 8. Research Decision
88
183
 
184
+ Check `research_enabled` from init JSON (loaded from config).
185
+
186
+ **If `research_enabled` is `true`:**
187
+
89
188
  question: "Research the domain ecosystem for new features before defining requirements?"
90
189
  - "Research first (Recommended)" — Discover patterns, features, architecture for NEW capabilities
91
- - "Skip research" — Go straight to requirements
190
+ - "Skip research for this milestone" — Go straight to requirements (does not change your default)
92
191
 
93
- **Persist choice to config** (so future `/gsd-plan-phase` honors it):
192
+ **If `research_enabled` is `false`:**
94
193
 
95
- ```bash
96
- # If "Research first": persist true
97
- node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-set workflow.research true
194
+ question: "Research the domain ecosystem for new features before defining requirements?"
195
+ - "Skip research (current default)" Go straight to requirements
196
+ - "Research first" Discover patterns, features, architecture for NEW capabilities
98
197
 
99
- # If "Skip research": persist false
100
- node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-set workflow.research false
101
- ```
198
+ **IMPORTANT:** Do NOT persist this choice to config.json. The `workflow.research` setting is a persistent user preference that controls plan-phase behavior across the project. Changing it here would silently alter future `/gsd-plan-phase` behavior. To change the default, use `/gsd-settings`.
102
199
 
103
- **If "Research first":**
200
+ **If user chose "Research first":**
104
201
 
105
202
  ```
106
203
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -119,7 +216,7 @@ Spawn 4 parallel gsd-project-researcher agents. Each uses this template with dim
119
216
 
120
217
  **Common structure for all 4 researchers:**
121
218
  ```
122
- task(prompt="
219
+ @gsd-project-researcher "
123
220
  <research_type>Project Research — {DIMENSION} for [new features].</research_type>
124
221
 
125
222
  <milestone_context>
@@ -134,6 +231,8 @@ Focus ONLY on what's needed for the NEW features.
134
231
  - .planning/PROJECT.md (Project context)
135
232
  </files_to_read>
136
233
 
234
+ ${AGENT_SKILLS_RESEARCHER}
235
+
137
236
  <downstream_consumer>{CONSUMER}</downstream_consumer>
138
237
 
139
238
  <quality_gate>{GATES}</quality_gate>
@@ -142,7 +241,7 @@ Focus ONLY on what's needed for the NEW features.
142
241
  write to: .planning/research/{FILE}
143
242
  Use template: $HOME/.config/opencode/get-shit-done/templates/research-project/{FILE}
144
243
  </output>
145
- ", subagent_type="gsd-project-researcher", model="{researcher_model}", description="{DIMENSION} research")
244
+ "
146
245
  ```
147
246
 
148
247
  **Dimension-specific fields:**
@@ -158,7 +257,7 @@ Use template: $HOME/.config/opencode/get-shit-done/templates/research-project/{F
158
257
  After all 4 complete, spawn synthesizer:
159
258
 
160
259
  ```
161
- task(prompt="
260
+ @gsd-research-synthesizer "
162
261
  Synthesize research outputs into SUMMARY.md.
163
262
 
164
263
  <files_to_read>
@@ -168,10 +267,12 @@ Synthesize research outputs into SUMMARY.md.
168
267
  - .planning/research/PITFALLS.md
169
268
  </files_to_read>
170
269
 
270
+ ${AGENT_SKILLS_SYNTHESIZER}
271
+
171
272
  write to: .planning/research/SUMMARY.md
172
273
  Use template: $HOME/.config/opencode/get-shit-done/templates/research-project/SUMMARY.md
173
274
  Commit after writing.
174
- ", subagent_type="gsd-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
275
+ "
175
276
  ```
176
277
 
177
278
  Display key findings from SUMMARY.md:
@@ -268,10 +369,12 @@ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: defi
268
369
  ◆ Spawning roadmapper...
269
370
  ```
270
371
 
271
- **Starting phase number:** read MILESTONES.md for last phase number. Continue from there (v1.0 ended at phase 5 → v1.1 starts at phase 6).
372
+ **Starting phase number:**
373
+ - If `--reset-phase-numbers` is active, start at **Phase 1**
374
+ - Otherwise, continue from the previous milestone's last phase number (v1.0 ended at phase 5 → v1.1 starts at phase 6)
272
375
 
273
376
  ```
274
- task(prompt="
377
+ @gsd-roadmapper "
275
378
  <planning_context>
276
379
  <files_to_read>
277
380
  - .planning/PROJECT.md
@@ -280,11 +383,16 @@ task(prompt="
280
383
  - .planning/config.json
281
384
  - .planning/MILESTONES.md
282
385
  </files_to_read>
386
+
387
+ ${AGENT_SKILLS_ROADMAPPER}
388
+
283
389
  </planning_context>
284
390
 
285
391
  <instructions>
286
392
  Create roadmap for milestone v[X.Y]:
287
- 1. Start phase numbering from [N]
393
+ 1. Respect the selected numbering mode:
394
+ - `--reset-phase-numbers` → start at Phase 1
395
+ - default behavior → continue from the previous milestone's last phase number
288
396
  2. Derive phases from THIS MILESTONE's requirements only
289
397
  3. Map every requirement to exactly one phase
290
398
  4. Derive 2-5 success criteria per phase (observable user behaviors)
@@ -294,7 +402,7 @@ Create roadmap for milestone v[X.Y]:
294
402
 
295
403
  write files first, then return.
296
404
  </instructions>
297
- ", subagent_type="gsd-roadmapper", model="{roadmapper_model}", description="Create roadmap")
405
+ "
298
406
  ```
299
407
 
300
408
  **Handle return:**
@@ -357,11 +465,11 @@ node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" commit "docs: crea
357
465
 
358
466
  **Phase [N]: [Phase Name]** — [Goal]
359
467
 
360
- `/gsd-discuss-phase [N]` — gather context and clarify approach
468
+ `/new` then:
361
469
 
362
- *`/new` first fresh context window*
470
+ `/gsd-discuss-phase [N] ${GSD_WS}` gather context and clarify approach
363
471
 
364
- Also: `/gsd-plan-phase [N]` — skip discussion, plan directly
472
+ Also: `/gsd-plan-phase [N] ${GSD_WS}` — skip discussion, plan directly
365
473
  ```
366
474
 
367
475
  </process>
@@ -376,9 +484,9 @@ Also: `/gsd-plan-phase [N]` — skip discussion, plan directly
376
484
  - [ ] gsd-roadmapper spawned with phase numbering context
377
485
  - [ ] Roadmap files written immediately (not draft)
378
486
  - [ ] User feedback incorporated (if any)
379
- - [ ] ROADMAP.md phases continue from previous milestone
487
+ - [ ] Phase numbering mode respected (continued or reset)
380
488
  - [ ] All commits made (if planning docs committed)
381
- - [ ] User knows next step: `/gsd-discuss-phase [N]`
489
+ - [ ] User knows next step: `/gsd-discuss-phase [N] ${GSD_WS}`
382
490
 
383
491
  **Atomic commits:** Each phase commits its artifacts immediately.
384
492
  </success_criteria>