cap-pro 1.0.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 (275) hide show
  1. package/.claude-plugin/README.md +26 -0
  2. package/.claude-plugin/marketplace.json +24 -0
  3. package/.claude-plugin/plugin.json +24 -0
  4. package/LICENSE +21 -0
  5. package/README.ja-JP.md +834 -0
  6. package/README.ko-KR.md +823 -0
  7. package/README.md +806 -0
  8. package/README.pt-BR.md +452 -0
  9. package/README.zh-CN.md +800 -0
  10. package/agents/cap-architect.md +269 -0
  11. package/agents/cap-brainstormer.md +207 -0
  12. package/agents/cap-curator.md +276 -0
  13. package/agents/cap-debugger.md +365 -0
  14. package/agents/cap-designer.md +246 -0
  15. package/agents/cap-historian.md +464 -0
  16. package/agents/cap-migrator.md +291 -0
  17. package/agents/cap-prototyper.md +197 -0
  18. package/agents/cap-validator.md +308 -0
  19. package/bin/install.js +5433 -0
  20. package/cap/bin/cap-tools.cjs +853 -0
  21. package/cap/bin/lib/arc-scanner.cjs +344 -0
  22. package/cap/bin/lib/cap-affinity-engine.cjs +862 -0
  23. package/cap/bin/lib/cap-anchor.cjs +228 -0
  24. package/cap/bin/lib/cap-annotation-writer.cjs +340 -0
  25. package/cap/bin/lib/cap-checkpoint.cjs +434 -0
  26. package/cap/bin/lib/cap-cluster-detect.cjs +945 -0
  27. package/cap/bin/lib/cap-cluster-display.cjs +52 -0
  28. package/cap/bin/lib/cap-cluster-format.cjs +245 -0
  29. package/cap/bin/lib/cap-cluster-helpers.cjs +295 -0
  30. package/cap/bin/lib/cap-cluster-io.cjs +212 -0
  31. package/cap/bin/lib/cap-completeness.cjs +540 -0
  32. package/cap/bin/lib/cap-deps.cjs +583 -0
  33. package/cap/bin/lib/cap-design-families.cjs +332 -0
  34. package/cap/bin/lib/cap-design.cjs +966 -0
  35. package/cap/bin/lib/cap-divergence-detector.cjs +400 -0
  36. package/cap/bin/lib/cap-doctor.cjs +752 -0
  37. package/cap/bin/lib/cap-feature-map-internals.cjs +19 -0
  38. package/cap/bin/lib/cap-feature-map-migrate.cjs +335 -0
  39. package/cap/bin/lib/cap-feature-map-monorepo.cjs +885 -0
  40. package/cap/bin/lib/cap-feature-map-shard.cjs +315 -0
  41. package/cap/bin/lib/cap-feature-map.cjs +1943 -0
  42. package/cap/bin/lib/cap-fitness-score.cjs +1075 -0
  43. package/cap/bin/lib/cap-impact-analysis.cjs +652 -0
  44. package/cap/bin/lib/cap-learn-review.cjs +1072 -0
  45. package/cap/bin/lib/cap-learning-signals.cjs +627 -0
  46. package/cap/bin/lib/cap-loader.cjs +227 -0
  47. package/cap/bin/lib/cap-logger.cjs +57 -0
  48. package/cap/bin/lib/cap-memory-bridge.cjs +764 -0
  49. package/cap/bin/lib/cap-memory-confidence.cjs +452 -0
  50. package/cap/bin/lib/cap-memory-dir.cjs +987 -0
  51. package/cap/bin/lib/cap-memory-engine.cjs +698 -0
  52. package/cap/bin/lib/cap-memory-extends.cjs +398 -0
  53. package/cap/bin/lib/cap-memory-graph.cjs +790 -0
  54. package/cap/bin/lib/cap-memory-migrate.cjs +2015 -0
  55. package/cap/bin/lib/cap-memory-pin.cjs +183 -0
  56. package/cap/bin/lib/cap-memory-platform.cjs +490 -0
  57. package/cap/bin/lib/cap-memory-prune.cjs +707 -0
  58. package/cap/bin/lib/cap-memory-schema.cjs +812 -0
  59. package/cap/bin/lib/cap-migrate-tags.cjs +309 -0
  60. package/cap/bin/lib/cap-migrate.cjs +540 -0
  61. package/cap/bin/lib/cap-pattern-apply.cjs +1203 -0
  62. package/cap/bin/lib/cap-pattern-pipeline.cjs +1034 -0
  63. package/cap/bin/lib/cap-plugin-manifest.cjs +80 -0
  64. package/cap/bin/lib/cap-realtime-affinity.cjs +399 -0
  65. package/cap/bin/lib/cap-reconcile.cjs +570 -0
  66. package/cap/bin/lib/cap-research-gate.cjs +218 -0
  67. package/cap/bin/lib/cap-scope-filter.cjs +402 -0
  68. package/cap/bin/lib/cap-semantic-pipeline.cjs +1038 -0
  69. package/cap/bin/lib/cap-session-extract.cjs +987 -0
  70. package/cap/bin/lib/cap-session.cjs +445 -0
  71. package/cap/bin/lib/cap-snapshot-linkage.cjs +963 -0
  72. package/cap/bin/lib/cap-stack-docs.cjs +646 -0
  73. package/cap/bin/lib/cap-tag-observer.cjs +371 -0
  74. package/cap/bin/lib/cap-tag-scanner.cjs +1766 -0
  75. package/cap/bin/lib/cap-telemetry.cjs +466 -0
  76. package/cap/bin/lib/cap-test-audit.cjs +1438 -0
  77. package/cap/bin/lib/cap-thread-migrator.cjs +307 -0
  78. package/cap/bin/lib/cap-thread-synthesis.cjs +545 -0
  79. package/cap/bin/lib/cap-thread-tracker.cjs +519 -0
  80. package/cap/bin/lib/cap-trace.cjs +399 -0
  81. package/cap/bin/lib/cap-trust-mode.cjs +336 -0
  82. package/cap/bin/lib/cap-ui-design-editor.cjs +642 -0
  83. package/cap/bin/lib/cap-ui-mind-map.cjs +712 -0
  84. package/cap/bin/lib/cap-ui-thread-nav.cjs +693 -0
  85. package/cap/bin/lib/cap-ui.cjs +1245 -0
  86. package/cap/bin/lib/cap-upgrade.cjs +1028 -0
  87. package/cap/bin/lib/cli/arg-helpers.cjs +49 -0
  88. package/cap/bin/lib/cli/frontmatter-router.cjs +31 -0
  89. package/cap/bin/lib/cli/init-router.cjs +68 -0
  90. package/cap/bin/lib/cli/phase-router.cjs +102 -0
  91. package/cap/bin/lib/cli/state-router.cjs +61 -0
  92. package/cap/bin/lib/cli/template-router.cjs +37 -0
  93. package/cap/bin/lib/cli/uat-router.cjs +29 -0
  94. package/cap/bin/lib/cli/validation-router.cjs +26 -0
  95. package/cap/bin/lib/cli/verification-router.cjs +31 -0
  96. package/cap/bin/lib/cli/workstream-router.cjs +39 -0
  97. package/cap/bin/lib/commands.cjs +961 -0
  98. package/cap/bin/lib/config.cjs +467 -0
  99. package/cap/bin/lib/convention-reader.cjs +258 -0
  100. package/cap/bin/lib/core.cjs +1241 -0
  101. package/cap/bin/lib/feature-aggregator.cjs +423 -0
  102. package/cap/bin/lib/frontmatter.cjs +337 -0
  103. package/cap/bin/lib/init.cjs +1443 -0
  104. package/cap/bin/lib/manifest-generator.cjs +383 -0
  105. package/cap/bin/lib/milestone.cjs +253 -0
  106. package/cap/bin/lib/model-profiles.cjs +69 -0
  107. package/cap/bin/lib/monorepo-context.cjs +226 -0
  108. package/cap/bin/lib/monorepo-migrator.cjs +509 -0
  109. package/cap/bin/lib/phase.cjs +889 -0
  110. package/cap/bin/lib/profile-output.cjs +989 -0
  111. package/cap/bin/lib/profile-pipeline.cjs +540 -0
  112. package/cap/bin/lib/roadmap.cjs +330 -0
  113. package/cap/bin/lib/security.cjs +394 -0
  114. package/cap/bin/lib/session-manager.cjs +292 -0
  115. package/cap/bin/lib/skeleton-generator.cjs +179 -0
  116. package/cap/bin/lib/state.cjs +1032 -0
  117. package/cap/bin/lib/template.cjs +231 -0
  118. package/cap/bin/lib/test-detector.cjs +62 -0
  119. package/cap/bin/lib/uat.cjs +283 -0
  120. package/cap/bin/lib/verify.cjs +889 -0
  121. package/cap/bin/lib/workspace-detector.cjs +371 -0
  122. package/cap/bin/lib/workstream.cjs +492 -0
  123. package/cap/commands/gsd/workstreams.md +63 -0
  124. package/cap/references/arc-standard.md +315 -0
  125. package/cap/references/cap-agent-architecture.md +101 -0
  126. package/cap/references/cap-gitignore-template +9 -0
  127. package/cap/references/cap-zero-deps.md +158 -0
  128. package/cap/references/checkpoints.md +778 -0
  129. package/cap/references/continuation-format.md +249 -0
  130. package/cap/references/contract-test-templates.md +312 -0
  131. package/cap/references/feature-map-template.md +25 -0
  132. package/cap/references/git-integration.md +295 -0
  133. package/cap/references/git-planning-commit.md +38 -0
  134. package/cap/references/model-profiles.md +174 -0
  135. package/cap/references/phase-numbering.md +126 -0
  136. package/cap/references/planning-config.md +202 -0
  137. package/cap/references/property-test-templates.md +316 -0
  138. package/cap/references/security-test-templates.md +347 -0
  139. package/cap/references/session-template.json +8 -0
  140. package/cap/references/tdd.md +263 -0
  141. package/cap/references/user-profiling.md +681 -0
  142. package/cap/references/verification-patterns.md +612 -0
  143. package/cap/templates/UAT.md +265 -0
  144. package/cap/templates/claude-md.md +175 -0
  145. package/cap/templates/codebase/architecture.md +255 -0
  146. package/cap/templates/codebase/concerns.md +310 -0
  147. package/cap/templates/codebase/conventions.md +307 -0
  148. package/cap/templates/codebase/integrations.md +280 -0
  149. package/cap/templates/codebase/stack.md +186 -0
  150. package/cap/templates/codebase/structure.md +285 -0
  151. package/cap/templates/codebase/testing.md +480 -0
  152. package/cap/templates/config.json +44 -0
  153. package/cap/templates/context.md +352 -0
  154. package/cap/templates/continue-here.md +78 -0
  155. package/cap/templates/copilot-instructions.md +7 -0
  156. package/cap/templates/debug-subagent-prompt.md +91 -0
  157. package/cap/templates/discussion-log.md +63 -0
  158. package/cap/templates/milestone-archive.md +123 -0
  159. package/cap/templates/milestone.md +115 -0
  160. package/cap/templates/phase-prompt.md +610 -0
  161. package/cap/templates/planner-subagent-prompt.md +117 -0
  162. package/cap/templates/project.md +186 -0
  163. package/cap/templates/requirements.md +231 -0
  164. package/cap/templates/research-project/ARCHITECTURE.md +204 -0
  165. package/cap/templates/research-project/FEATURES.md +147 -0
  166. package/cap/templates/research-project/PITFALLS.md +200 -0
  167. package/cap/templates/research-project/STACK.md +120 -0
  168. package/cap/templates/research-project/SUMMARY.md +170 -0
  169. package/cap/templates/research.md +552 -0
  170. package/cap/templates/roadmap.md +202 -0
  171. package/cap/templates/state.md +176 -0
  172. package/cap/templates/summary.md +364 -0
  173. package/cap/templates/user-preferences.md +498 -0
  174. package/cap/templates/verification-report.md +322 -0
  175. package/cap/workflows/add-phase.md +112 -0
  176. package/cap/workflows/add-tests.md +351 -0
  177. package/cap/workflows/add-todo.md +158 -0
  178. package/cap/workflows/audit-milestone.md +340 -0
  179. package/cap/workflows/audit-uat.md +109 -0
  180. package/cap/workflows/autonomous.md +891 -0
  181. package/cap/workflows/check-todos.md +177 -0
  182. package/cap/workflows/cleanup.md +152 -0
  183. package/cap/workflows/complete-milestone.md +767 -0
  184. package/cap/workflows/diagnose-issues.md +231 -0
  185. package/cap/workflows/discovery-phase.md +289 -0
  186. package/cap/workflows/discuss-phase-assumptions.md +653 -0
  187. package/cap/workflows/discuss-phase.md +1049 -0
  188. package/cap/workflows/do.md +104 -0
  189. package/cap/workflows/execute-phase.md +846 -0
  190. package/cap/workflows/execute-plan.md +514 -0
  191. package/cap/workflows/fast.md +105 -0
  192. package/cap/workflows/forensics.md +265 -0
  193. package/cap/workflows/health.md +181 -0
  194. package/cap/workflows/help.md +660 -0
  195. package/cap/workflows/insert-phase.md +130 -0
  196. package/cap/workflows/list-phase-assumptions.md +178 -0
  197. package/cap/workflows/list-workspaces.md +56 -0
  198. package/cap/workflows/manager.md +362 -0
  199. package/cap/workflows/map-codebase.md +377 -0
  200. package/cap/workflows/milestone-summary.md +223 -0
  201. package/cap/workflows/new-milestone.md +486 -0
  202. package/cap/workflows/new-project.md +1250 -0
  203. package/cap/workflows/new-workspace.md +237 -0
  204. package/cap/workflows/next.md +97 -0
  205. package/cap/workflows/node-repair.md +92 -0
  206. package/cap/workflows/note.md +156 -0
  207. package/cap/workflows/pause-work.md +176 -0
  208. package/cap/workflows/plan-milestone-gaps.md +273 -0
  209. package/cap/workflows/plan-phase.md +857 -0
  210. package/cap/workflows/plant-seed.md +169 -0
  211. package/cap/workflows/pr-branch.md +129 -0
  212. package/cap/workflows/profile-user.md +449 -0
  213. package/cap/workflows/progress.md +507 -0
  214. package/cap/workflows/quick.md +757 -0
  215. package/cap/workflows/remove-phase.md +155 -0
  216. package/cap/workflows/remove-workspace.md +90 -0
  217. package/cap/workflows/research-phase.md +82 -0
  218. package/cap/workflows/resume-project.md +326 -0
  219. package/cap/workflows/review.md +228 -0
  220. package/cap/workflows/session-report.md +146 -0
  221. package/cap/workflows/settings.md +283 -0
  222. package/cap/workflows/ship.md +228 -0
  223. package/cap/workflows/stats.md +60 -0
  224. package/cap/workflows/transition.md +671 -0
  225. package/cap/workflows/ui-phase.md +298 -0
  226. package/cap/workflows/ui-review.md +161 -0
  227. package/cap/workflows/update.md +323 -0
  228. package/cap/workflows/validate-phase.md +170 -0
  229. package/cap/workflows/verify-phase.md +254 -0
  230. package/cap/workflows/verify-work.md +637 -0
  231. package/commands/cap/annotate.md +165 -0
  232. package/commands/cap/brainstorm.md +393 -0
  233. package/commands/cap/checkpoint.md +106 -0
  234. package/commands/cap/completeness.md +94 -0
  235. package/commands/cap/continue.md +72 -0
  236. package/commands/cap/debug.md +588 -0
  237. package/commands/cap/deps.md +169 -0
  238. package/commands/cap/design.md +479 -0
  239. package/commands/cap/init.md +354 -0
  240. package/commands/cap/iterate.md +249 -0
  241. package/commands/cap/learn.md +459 -0
  242. package/commands/cap/memory.md +275 -0
  243. package/commands/cap/migrate-feature-map.md +91 -0
  244. package/commands/cap/migrate-memory.md +108 -0
  245. package/commands/cap/migrate-tags.md +91 -0
  246. package/commands/cap/migrate.md +131 -0
  247. package/commands/cap/prototype.md +510 -0
  248. package/commands/cap/reconcile.md +121 -0
  249. package/commands/cap/review.md +360 -0
  250. package/commands/cap/save.md +72 -0
  251. package/commands/cap/scan.md +404 -0
  252. package/commands/cap/start.md +356 -0
  253. package/commands/cap/status.md +118 -0
  254. package/commands/cap/test-audit.md +262 -0
  255. package/commands/cap/test.md +394 -0
  256. package/commands/cap/trace.md +133 -0
  257. package/commands/cap/ui.md +167 -0
  258. package/hooks/dist/cap-check-update.js +115 -0
  259. package/hooks/dist/cap-context-monitor.js +185 -0
  260. package/hooks/dist/cap-learn-review-hook.js +114 -0
  261. package/hooks/dist/cap-learning-hook.js +192 -0
  262. package/hooks/dist/cap-memory.js +299 -0
  263. package/hooks/dist/cap-prompt-guard.js +97 -0
  264. package/hooks/dist/cap-statusline.js +157 -0
  265. package/hooks/dist/cap-tag-observer.js +115 -0
  266. package/hooks/dist/cap-version-check.js +112 -0
  267. package/hooks/dist/cap-workflow-guard.js +175 -0
  268. package/hooks/hooks.json +55 -0
  269. package/package.json +58 -0
  270. package/scripts/base64-scan.sh +262 -0
  271. package/scripts/build-hooks.js +93 -0
  272. package/scripts/cap-removal-checklist.md +202 -0
  273. package/scripts/prompt-injection-scan.sh +199 -0
  274. package/scripts/run-tests.cjs +181 -0
  275. package/scripts/secret-scan.sh +227 -0
@@ -0,0 +1,352 @@
1
+ # Phase Context Template
2
+
3
+ Template for `.planning/phases/XX-name/{phase_num}-CONTEXT.md` - captures implementation decisions for a phase.
4
+
5
+ **Purpose:** Document decisions that downstream agents need. Researcher uses this to know WHAT to investigate. Planner uses this to know WHAT choices are locked vs flexible.
6
+
7
+ **Key principle:** Categories are NOT predefined. They emerge from what was actually discussed for THIS phase. A CLI phase has CLI-relevant sections, a UI phase has UI-relevant sections.
8
+
9
+ **Downstream consumers:**
10
+ - `gsd-phase-researcher` — Reads decisions to focus research (e.g., "card layout" → research card component patterns)
11
+ - `gsd-planner` — Reads decisions to create specific tasks (e.g., "infinite scroll" → task includes virtualization)
12
+
13
+ ---
14
+
15
+ ## File Template
16
+
17
+ ```markdown
18
+ # Phase [X]: [Name] - Context
19
+
20
+ **Gathered:** [date]
21
+ **Status:** Ready for planning
22
+
23
+ <domain>
24
+ ## Phase Boundary
25
+
26
+ [Clear statement of what this phase delivers — the scope anchor. This comes from ROADMAP.md and is fixed. Discussion clarifies implementation within this boundary.]
27
+
28
+ </domain>
29
+
30
+ <decisions>
31
+ ## Implementation Decisions
32
+
33
+ ### [Area 1 that was discussed]
34
+ - **D-01:** [Specific decision made]
35
+ - **D-02:** [Another decision if applicable]
36
+
37
+ ### [Area 2 that was discussed]
38
+ - **D-03:** [Specific decision made]
39
+
40
+ ### [Area 3 that was discussed]
41
+ - **D-04:** [Specific decision made]
42
+
43
+ ### Claude's Discretion
44
+ [Areas where user explicitly said "you decide" — Claude has flexibility here during planning/implementation]
45
+
46
+ </decisions>
47
+
48
+ <specifics>
49
+ ## Specific Ideas
50
+
51
+ [Any particular references, examples, or "I want it like X" moments from discussion. Product references, specific behaviors, interaction patterns.]
52
+
53
+ [If none: "No specific requirements — open to standard approaches"]
54
+
55
+ </specifics>
56
+
57
+ <canonical_refs>
58
+ ## Canonical References
59
+
60
+ **Downstream agents MUST read these before planning or implementing.**
61
+
62
+ [List every spec, ADR, feature doc, or design doc that defines requirements or constraints for this phase. Use full relative paths so agents can read them directly. Group by topic area when the phase has multiple concerns.]
63
+
64
+ ### [Topic area 1]
65
+ - `path/to/spec-or-adr.md` — [What this doc decides/defines that's relevant]
66
+ - `path/to/doc.md` §N — [Specific section and what it covers]
67
+
68
+ ### [Topic area 2]
69
+ - `path/to/feature-doc.md` — [What capability this defines]
70
+
71
+ [If the project has no external specs: "No external specs — requirements are fully captured in decisions above"]
72
+
73
+ </canonical_refs>
74
+
75
+ <code_context>
76
+ ## Existing Code Insights
77
+
78
+ ### Reusable Assets
79
+ - [Component/hook/utility]: [How it could be used in this phase]
80
+
81
+ ### Established Patterns
82
+ - [Pattern]: [How it constrains/enables this phase]
83
+
84
+ ### Integration Points
85
+ - [Where new code connects to existing system]
86
+
87
+ </code_context>
88
+
89
+ <deferred>
90
+ ## Deferred Ideas
91
+
92
+ [Ideas that came up during discussion but belong in other phases. Captured here so they're not lost, but explicitly out of scope for this phase.]
93
+
94
+ [If none: "None — discussion stayed within phase scope"]
95
+
96
+ </deferred>
97
+
98
+ ---
99
+
100
+ *Phase: XX-name*
101
+ *Context gathered: [date]*
102
+ ```
103
+
104
+ <good_examples>
105
+
106
+ **Example 1: Visual feature (Post Feed)**
107
+
108
+ ```markdown
109
+ # Phase 3: Post Feed - Context
110
+
111
+ **Gathered:** 2025-01-20
112
+ **Status:** Ready for planning
113
+
114
+ <domain>
115
+ ## Phase Boundary
116
+
117
+ Display posts from followed users in a scrollable feed. Users can view posts and see engagement counts. Creating posts and interactions are separate phases.
118
+
119
+ </domain>
120
+
121
+ <decisions>
122
+ ## Implementation Decisions
123
+
124
+ ### Layout style
125
+ - Card-based layout, not timeline or list
126
+ - Each card shows: author avatar, name, timestamp, full post content, reaction counts
127
+ - Cards have subtle shadows, rounded corners — modern feel
128
+
129
+ ### Loading behavior
130
+ - Infinite scroll, not pagination
131
+ - Pull-to-refresh on mobile
132
+ - New posts indicator at top ("3 new posts") rather than auto-inserting
133
+
134
+ ### Empty state
135
+ - Friendly illustration + "Follow people to see posts here"
136
+ - Suggest 3-5 accounts to follow based on interests
137
+
138
+ ### Claude's Discretion
139
+ - Loading skeleton design
140
+ - Exact spacing and typography
141
+ - Error state handling
142
+
143
+ </decisions>
144
+
145
+ <canonical_refs>
146
+ ## Canonical References
147
+
148
+ ### Feed display
149
+ - `docs/features/social-feed.md` — Feed requirements, post card fields, engagement display rules
150
+ - `docs/decisions/adr-012-infinite-scroll.md` — Scroll strategy decision, virtualization requirements
151
+
152
+ ### Empty states
153
+ - `docs/design/empty-states.md` — Empty state patterns, illustration guidelines
154
+
155
+ </canonical_refs>
156
+
157
+ <specifics>
158
+ ## Specific Ideas
159
+
160
+ - "I like how Twitter shows the new posts indicator without disrupting your scroll position"
161
+ - Cards should feel like Linear's issue cards — clean, not cluttered
162
+
163
+ </specifics>
164
+
165
+ <deferred>
166
+ ## Deferred Ideas
167
+
168
+ - Commenting on posts — Phase 5
169
+ - Bookmarking posts — add to backlog
170
+
171
+ </deferred>
172
+
173
+ ---
174
+
175
+ *Phase: 03-post-feed*
176
+ *Context gathered: 2025-01-20*
177
+ ```
178
+
179
+ **Example 2: CLI tool (Database backup)**
180
+
181
+ ```markdown
182
+ # Phase 2: Backup Command - Context
183
+
184
+ **Gathered:** 2025-01-20
185
+ **Status:** Ready for planning
186
+
187
+ <domain>
188
+ ## Phase Boundary
189
+
190
+ CLI command to backup database to local file or S3. Supports full and incremental backups. Restore command is a separate phase.
191
+
192
+ </domain>
193
+
194
+ <decisions>
195
+ ## Implementation Decisions
196
+
197
+ ### Output format
198
+ - JSON for programmatic use, table format for humans
199
+ - Default to table, --json flag for JSON
200
+ - Verbose mode (-v) shows progress, silent by default
201
+
202
+ ### Flag design
203
+ - Short flags for common options: -o (output), -v (verbose), -f (force)
204
+ - Long flags for clarity: --incremental, --compress, --encrypt
205
+ - Required: database connection string (positional or --db)
206
+
207
+ ### Error recovery
208
+ - Retry 3 times on network failure, then fail with clear message
209
+ - --no-retry flag to fail fast
210
+ - Partial backups are deleted on failure (no corrupt files)
211
+
212
+ ### Claude's Discretion
213
+ - Exact progress bar implementation
214
+ - Compression algorithm choice
215
+ - Temp file handling
216
+
217
+ </decisions>
218
+
219
+ <canonical_refs>
220
+ ## Canonical References
221
+
222
+ ### Backup CLI
223
+ - `docs/features/backup-restore.md` — Backup requirements, supported backends, encryption spec
224
+ - `docs/decisions/adr-007-cli-conventions.md` — Flag naming, exit codes, output format standards
225
+
226
+ </canonical_refs>
227
+
228
+ <specifics>
229
+ ## Specific Ideas
230
+
231
+ - "I want it to feel like pg_dump — familiar to database people"
232
+ - Should work in CI pipelines (exit codes, no interactive prompts)
233
+
234
+ </specifics>
235
+
236
+ <deferred>
237
+ ## Deferred Ideas
238
+
239
+ - Scheduled backups — separate phase
240
+ - Backup rotation/retention — add to backlog
241
+
242
+ </deferred>
243
+
244
+ ---
245
+
246
+ *Phase: 02-backup-command*
247
+ *Context gathered: 2025-01-20*
248
+ ```
249
+
250
+ **Example 3: Organization task (Photo library)**
251
+
252
+ ```markdown
253
+ # Phase 1: Photo Organization - Context
254
+
255
+ **Gathered:** 2025-01-20
256
+ **Status:** Ready for planning
257
+
258
+ <domain>
259
+ ## Phase Boundary
260
+
261
+ Organize existing photo library into structured folders. Handle duplicates and apply consistent naming. Tagging and search are separate phases.
262
+
263
+ </domain>
264
+
265
+ <decisions>
266
+ ## Implementation Decisions
267
+
268
+ ### Grouping criteria
269
+ - Primary grouping by year, then by month
270
+ - Events detected by time clustering (photos within 2 hours = same event)
271
+ - Event folders named by date + location if available
272
+
273
+ ### Duplicate handling
274
+ - Keep highest resolution version
275
+ - Move duplicates to _duplicates folder (don't delete)
276
+ - Log all duplicate decisions for review
277
+
278
+ ### Naming convention
279
+ - Format: YYYY-MM-DD_HH-MM-SS_originalname.ext
280
+ - Preserve original filename as suffix for searchability
281
+ - Handle name collisions with incrementing suffix
282
+
283
+ ### Claude's Discretion
284
+ - Exact clustering algorithm
285
+ - How to handle photos with no EXIF data
286
+ - Folder emoji usage
287
+
288
+ </decisions>
289
+
290
+ <canonical_refs>
291
+ ## Canonical References
292
+
293
+ ### Organization rules
294
+ - `docs/features/photo-organization.md` — Grouping rules, duplicate policy, naming spec
295
+ - `docs/decisions/adr-003-exif-handling.md` — EXIF extraction strategy, fallback for missing metadata
296
+
297
+ </canonical_refs>
298
+
299
+ <specifics>
300
+ ## Specific Ideas
301
+
302
+ - "I want to be able to find photos by roughly when they were taken"
303
+ - Don't delete anything — worst case, move to a review folder
304
+
305
+ </specifics>
306
+
307
+ <deferred>
308
+ ## Deferred Ideas
309
+
310
+ - Face detection grouping — future phase
311
+ - Cloud sync — out of scope for now
312
+
313
+ </deferred>
314
+
315
+ ---
316
+
317
+ *Phase: 01-photo-organization*
318
+ *Context gathered: 2025-01-20*
319
+ ```
320
+
321
+ </good_examples>
322
+
323
+ <guidelines>
324
+ **This template captures DECISIONS for downstream agents.**
325
+
326
+ The output should answer: "What does the researcher need to investigate? What choices are locked for the planner?"
327
+
328
+ **Good content (concrete decisions):**
329
+ - "Card-based layout, not timeline"
330
+ - "Retry 3 times on network failure, then fail"
331
+ - "Group by year, then by month"
332
+ - "JSON for programmatic use, table for humans"
333
+
334
+ **Bad content (too vague):**
335
+ - "Should feel modern and clean"
336
+ - "Good user experience"
337
+ - "Fast and responsive"
338
+ - "Easy to use"
339
+
340
+ **After creation:**
341
+ - File lives in phase directory: `.planning/phases/XX-name/{phase_num}-CONTEXT.md`
342
+ - `gsd-phase-researcher` uses decisions to focus investigation AND reads canonical_refs to know WHAT docs to study
343
+ - `gsd-planner` uses decisions + research to create executable tasks AND reads canonical_refs to verify alignment
344
+ - Downstream agents should NOT need to ask the user again about captured decisions
345
+
346
+ **CRITICAL — Canonical references:**
347
+ - The `<canonical_refs>` section is MANDATORY. Every CONTEXT.md must have one.
348
+ - If your project has external specs, ADRs, or design docs, list them with full relative paths grouped by topic
349
+ - If ROADMAP.md lists `Canonical refs:` per phase, extract and expand those
350
+ - Inline mentions like "see ADR-019" scattered in decisions are useless to downstream agents — they need full paths and section references in a dedicated section they can find
351
+ - If no external specs exist, say so explicitly — don't silently omit the section
352
+ </guidelines>
@@ -0,0 +1,78 @@
1
+ # Continue-Here Template
2
+
3
+ Copy and fill this structure for `.planning/phases/XX-name/.continue-here.md`:
4
+
5
+ ```yaml
6
+ ---
7
+ phase: XX-name
8
+ task: 3
9
+ total_tasks: 7
10
+ status: in_progress
11
+ last_updated: 2025-01-15T14:30:00Z
12
+ ---
13
+ ```
14
+
15
+ ```markdown
16
+ <current_state>
17
+ [Where exactly are we? What's the immediate context?]
18
+ </current_state>
19
+
20
+ <completed_work>
21
+ [What got done this session - be specific]
22
+
23
+ - Task 1: [name] - Done
24
+ - Task 2: [name] - Done
25
+ - Task 3: [name] - In progress, [what's done on it]
26
+ </completed_work>
27
+
28
+ <remaining_work>
29
+ [What's left in this phase]
30
+
31
+ - Task 3: [name] - [what's left to do]
32
+ - Task 4: [name] - Not started
33
+ - Task 5: [name] - Not started
34
+ </remaining_work>
35
+
36
+ <decisions_made>
37
+ [Key decisions and why - so next session doesn't re-debate]
38
+
39
+ - Decided to use [X] because [reason]
40
+ - Chose [approach] over [alternative] because [reason]
41
+ </decisions_made>
42
+
43
+ <blockers>
44
+ [Anything stuck or waiting on external factors]
45
+
46
+ - [Blocker 1]: [status/workaround]
47
+ </blockers>
48
+
49
+ <context>
50
+ [Mental state, "vibe", anything that helps resume smoothly]
51
+
52
+ [What were you thinking about? What was the plan?
53
+ This is the "pick up exactly where you left off" context.]
54
+ </context>
55
+
56
+ <next_action>
57
+ [The very first thing to do when resuming]
58
+
59
+ Start with: [specific action]
60
+ </next_action>
61
+ ```
62
+
63
+ <yaml_fields>
64
+ Required YAML frontmatter:
65
+
66
+ - `phase`: Directory name (e.g., `02-authentication`)
67
+ - `task`: Current task number
68
+ - `total_tasks`: How many tasks in phase
69
+ - `status`: `in_progress`, `blocked`, `almost_done`
70
+ - `last_updated`: ISO timestamp
71
+ </yaml_fields>
72
+
73
+ <guidelines>
74
+ - Be specific enough that a fresh Claude instance understands immediately
75
+ - Include WHY decisions were made, not just what
76
+ - The `<next_action>` should be actionable without reading anything else
77
+ - This file gets DELETED after resume - it's not permanent storage
78
+ </guidelines>
@@ -0,0 +1,7 @@
1
+ # Instructions for GSD
2
+
3
+ - Use the cap skill when the user asks for GSD or uses a `gsd-*` command.
4
+ - Treat `/gsd-...` or `gsd-...` as command invocations and load the matching file from `.github/skills/gsd-*`.
5
+ - When a command says to spawn a subagent, prefer a matching custom agent from `.github/agents`.
6
+ - Do not apply GSD workflows unless the user explicitly asks for them.
7
+ - After completing any `gsd-*` command (or any deliverable it triggers: feature, bug fix, tests, docs, etc.), ALWAYS: (1) offer the user the next step by prompting via `ask_user`; repeat this feedback loop until the user explicitly indicates they are done.
@@ -0,0 +1,91 @@
1
+ # Debug Subagent Prompt Template
2
+
3
+ Template for spawning gsd-debugger agent. The agent contains all debugging expertise - this template provides problem context only.
4
+
5
+ ---
6
+
7
+ ## Template
8
+
9
+ ```markdown
10
+ <objective>
11
+ Investigate issue: {issue_id}
12
+
13
+ **Summary:** {issue_summary}
14
+ </objective>
15
+
16
+ <symptoms>
17
+ expected: {expected}
18
+ actual: {actual}
19
+ errors: {errors}
20
+ reproduction: {reproduction}
21
+ timeline: {timeline}
22
+ </symptoms>
23
+
24
+ <mode>
25
+ symptoms_prefilled: {true_or_false}
26
+ goal: {find_root_cause_only | find_and_fix}
27
+ </mode>
28
+
29
+ <debug_file>
30
+ Create: .planning/debug/{slug}.md
31
+ </debug_file>
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Placeholders
37
+
38
+ | Placeholder | Source | Example |
39
+ |-------------|--------|---------|
40
+ | `{issue_id}` | Orchestrator-assigned | `auth-screen-dark` |
41
+ | `{issue_summary}` | User description | `Auth screen is too dark` |
42
+ | `{expected}` | From symptoms | `See logo clearly` |
43
+ | `{actual}` | From symptoms | `Screen is dark` |
44
+ | `{errors}` | From symptoms | `None in console` |
45
+ | `{reproduction}` | From symptoms | `Open /auth page` |
46
+ | `{timeline}` | From symptoms | `After recent deploy` |
47
+ | `{goal}` | Orchestrator sets | `find_and_fix` |
48
+ | `{slug}` | Generated | `auth-screen-dark` |
49
+
50
+ ---
51
+
52
+ ## Usage
53
+
54
+ **From /gsd:debug:**
55
+ ```python
56
+ Task(
57
+ prompt=filled_template,
58
+ subagent_type="gsd-debugger",
59
+ description="Debug {slug}"
60
+ )
61
+ ```
62
+
63
+ **From diagnose-issues (UAT):**
64
+ ```python
65
+ Task(prompt=template, subagent_type="gsd-debugger", description="Debug UAT-001")
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Continuation
71
+
72
+ For checkpoints, spawn fresh agent with:
73
+
74
+ ```markdown
75
+ <objective>
76
+ Continue debugging {slug}. Evidence is in the debug file.
77
+ </objective>
78
+
79
+ <prior_state>
80
+ Debug file: @.planning/debug/{slug}.md
81
+ </prior_state>
82
+
83
+ <checkpoint_response>
84
+ **Type:** {checkpoint_type}
85
+ **Response:** {user_response}
86
+ </checkpoint_response>
87
+
88
+ <mode>
89
+ goal: {goal}
90
+ </mode>
91
+ ```
@@ -0,0 +1,63 @@
1
+ # Discussion Log Template
2
+
3
+ Template for `.planning/phases/XX-name/{phase_num}-DISCUSSION-LOG.md` — audit trail of discuss-phase Q&A sessions.
4
+
5
+ **Purpose:** Software audit trail for decision-making. Captures all options considered, not just the selected one. Separate from CONTEXT.md which is the implementation artifact consumed by downstream agents.
6
+
7
+ **NOT for LLM consumption.** This file should never be referenced in `<files_to_read>` blocks or agent prompts.
8
+
9
+ ## Format
10
+
11
+ ```markdown
12
+ # Phase [X]: [Name] - Discussion Log
13
+
14
+ > **Audit trail only.** Do not use as input to planning, research, or execution agents.
15
+ > Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
16
+
17
+ **Date:** [ISO date]
18
+ **Phase:** [phase number]-[phase name]
19
+ **Areas discussed:** [comma-separated list]
20
+
21
+ ---
22
+
23
+ ## [Area 1 Name]
24
+
25
+ | Option | Description | Selected |
26
+ |--------|-------------|----------|
27
+ | [Option 1] | [Brief description] | |
28
+ | [Option 2] | [Brief description] | ✓ |
29
+ | [Option 3] | [Brief description] | |
30
+
31
+ **User's choice:** [Selected option or verbatim free-text response]
32
+ **Notes:** [Any clarifications or rationale provided during discussion]
33
+
34
+ ---
35
+
36
+ ## [Area 2 Name]
37
+
38
+ ...
39
+
40
+ ---
41
+
42
+ ## Claude's Discretion
43
+
44
+ [Areas delegated to Claude's judgment — list what was deferred and why]
45
+
46
+ ## Deferred Ideas
47
+
48
+ [Ideas mentioned but not in scope for this phase]
49
+
50
+ ---
51
+
52
+ *Phase: XX-name*
53
+ *Discussion log generated: [date]*
54
+ ```
55
+
56
+ ## Rules
57
+
58
+ - Generated automatically at end of every discuss-phase session
59
+ - Includes ALL options considered, not just the selected one
60
+ - Includes user's freeform notes and clarifications
61
+ - Clearly marked as audit-only, not an implementation artifact
62
+ - Does NOT interfere with CONTEXT.md generation or downstream agent behavior
63
+ - Committed alongside CONTEXT.md in the same git commit
@@ -0,0 +1,123 @@
1
+ # Milestone Archive Template
2
+
3
+ This template is used by the complete-milestone workflow to create archive files in `.planning/milestones/`.
4
+
5
+ ---
6
+
7
+ ## File Template
8
+
9
+ # Milestone v{{VERSION}}: {{MILESTONE_NAME}}
10
+
11
+ **Status:** ✅ SHIPPED {{DATE}}
12
+ **Phases:** {{PHASE_START}}-{{PHASE_END}}
13
+ **Total Plans:** {{TOTAL_PLANS}}
14
+
15
+ ## Overview
16
+
17
+ {{MILESTONE_DESCRIPTION}}
18
+
19
+ ## Phases
20
+
21
+ {{PHASES_SECTION}}
22
+
23
+ [For each phase in this milestone, include:]
24
+
25
+ ### Phase {{PHASE_NUM}}: {{PHASE_NAME}}
26
+
27
+ **Goal**: {{PHASE_GOAL}}
28
+ **Depends on**: {{DEPENDS_ON}}
29
+ **Plans**: {{PLAN_COUNT}} plans
30
+
31
+ Plans:
32
+
33
+ - [x] {{PHASE}}-01: {{PLAN_DESCRIPTION}}
34
+ - [x] {{PHASE}}-02: {{PLAN_DESCRIPTION}}
35
+ [... all plans ...]
36
+
37
+ **Details:**
38
+ {{PHASE_DETAILS_FROM_ROADMAP}}
39
+
40
+ **For decimal phases, include (INSERTED) marker:**
41
+
42
+ ### Phase 2.1: Critical Security Patch (INSERTED)
43
+
44
+ **Goal**: Fix authentication bypass vulnerability
45
+ **Depends on**: Phase 2
46
+ **Plans**: 1 plan
47
+
48
+ Plans:
49
+
50
+ - [x] 02.1-01: Patch auth vulnerability
51
+
52
+ **Details:**
53
+ {{PHASE_DETAILS_FROM_ROADMAP}}
54
+
55
+ ---
56
+
57
+ ## Milestone Summary
58
+
59
+ **Decimal Phases:**
60
+
61
+ - Phase 2.1: Critical Security Patch (inserted after Phase 2 for urgent fix)
62
+ - Phase 5.1: Performance Hotfix (inserted after Phase 5 for production issue)
63
+
64
+ **Key Decisions:**
65
+ {{DECISIONS_FROM_PROJECT_STATE}}
66
+ [Example:]
67
+
68
+ - Decision: Use ROADMAP.md split (Rationale: Constant context cost)
69
+ - Decision: Decimal phase numbering (Rationale: Clear insertion semantics)
70
+
71
+ **Issues Resolved:**
72
+ {{ISSUES_RESOLVED_DURING_MILESTONE}}
73
+ [Example:]
74
+
75
+ - Fixed context overflow at 100+ phases
76
+ - Resolved phase insertion confusion
77
+
78
+ **Issues Deferred:**
79
+ {{ISSUES_DEFERRED_TO_LATER}}
80
+ [Example:]
81
+
82
+ - PROJECT-STATE.md tiering (deferred until decisions > 300)
83
+
84
+ **Technical Debt Incurred:**
85
+ {{SHORTCUTS_NEEDING_FUTURE_WORK}}
86
+ [Example:]
87
+
88
+ - Some workflows still have hardcoded paths (fix in Phase 5)
89
+
90
+ ---
91
+
92
+ _For current project status, see .planning/ROADMAP.md_
93
+
94
+ ---
95
+
96
+ ## Usage Guidelines
97
+
98
+ <guidelines>
99
+ **When to create milestone archives:**
100
+ - After completing all phases in a milestone (v1.0, v1.1, v2.0, etc.)
101
+ - Triggered by complete-milestone workflow
102
+ - Before planning next milestone work
103
+
104
+ **How to fill template:**
105
+
106
+ - Replace {{PLACEHOLDERS}} with actual values
107
+ - Extract phase details from ROADMAP.md
108
+ - Document decimal phases with (INSERTED) marker
109
+ - Include key decisions from PROJECT-STATE.md or SUMMARY files
110
+ - List issues resolved vs deferred
111
+ - Capture technical debt for future reference
112
+
113
+ **Archive location:**
114
+
115
+ - Save to `.planning/milestones/v{VERSION}-{NAME}.md`
116
+ - Example: `.planning/milestones/v1.0-mvp.md`
117
+
118
+ **After archiving:**
119
+
120
+ - Update ROADMAP.md to collapse completed milestone in `<details>` tag
121
+ - Update PROJECT.md to brownfield format with Current State section
122
+ - Continue phase numbering in next milestone (never restart at 01)
123
+ </guidelines>