maxsimcli 4.8.0 → 4.10.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 (162) hide show
  1. package/README.md +180 -202
  2. package/dist/assets/CHANGELOG.md +61 -0
  3. package/dist/assets/hooks/maxsim-check-update.cjs +38 -0
  4. package/dist/assets/hooks/maxsim-check-update.cjs.map +1 -1
  5. package/dist/assets/hooks/maxsim-statusline.cjs +116 -48
  6. package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
  7. package/dist/assets/hooks/maxsim-sync-reminder.cjs +117 -0
  8. package/dist/assets/hooks/maxsim-sync-reminder.cjs.map +1 -0
  9. package/dist/assets/templates/agents/AGENTS.md +78 -106
  10. package/dist/assets/templates/agents/executor.md +101 -0
  11. package/dist/assets/templates/agents/planner.md +86 -0
  12. package/dist/assets/templates/agents/researcher.md +71 -0
  13. package/dist/assets/templates/agents/verifier.md +88 -0
  14. package/dist/assets/templates/commands/maxsim/debug.md +7 -7
  15. package/dist/assets/templates/commands/maxsim/execute.md +45 -0
  16. package/dist/assets/templates/commands/maxsim/go.md +29 -0
  17. package/dist/assets/templates/commands/maxsim/help.md +2 -2
  18. package/dist/assets/templates/commands/maxsim/init.md +52 -0
  19. package/dist/assets/templates/commands/maxsim/plan.md +50 -0
  20. package/dist/assets/templates/commands/maxsim/progress.md +4 -3
  21. package/dist/assets/templates/commands/maxsim/quick.md +6 -4
  22. package/dist/assets/templates/commands/maxsim/settings.md +4 -3
  23. package/dist/assets/templates/references/continuation-format.md +16 -16
  24. package/dist/assets/templates/references/model-profile-resolution.md +1 -1
  25. package/dist/assets/templates/references/model-profiles.md +12 -19
  26. package/dist/assets/templates/rules/conventions.md +51 -0
  27. package/dist/assets/templates/rules/verification-protocol.md +57 -0
  28. package/dist/assets/templates/skills/agent-system-map/SKILL.md +92 -0
  29. package/dist/assets/templates/skills/brainstorming/SKILL.md +48 -36
  30. package/dist/assets/templates/skills/code-review/SKILL.md +40 -61
  31. package/dist/assets/templates/skills/commit-conventions/SKILL.md +75 -0
  32. package/dist/assets/templates/skills/evidence-collection/SKILL.md +87 -0
  33. package/dist/assets/templates/skills/handoff-contract/SKILL.md +70 -0
  34. package/dist/assets/templates/skills/input-validation/SKILL.md +51 -0
  35. package/dist/assets/templates/skills/maxsim-batch/SKILL.md +41 -45
  36. package/dist/assets/templates/skills/maxsim-simplify/SKILL.md +37 -90
  37. package/dist/assets/templates/skills/memory-management/SKILL.md +32 -67
  38. package/dist/assets/templates/skills/research-methodology/SKILL.md +137 -0
  39. package/dist/assets/templates/skills/roadmap-writing/SKILL.md +40 -58
  40. package/dist/assets/templates/skills/sdd/SKILL.md +34 -69
  41. package/dist/assets/templates/skills/systematic-debugging/SKILL.md +20 -26
  42. package/dist/assets/templates/skills/tdd/SKILL.md +25 -33
  43. package/dist/assets/templates/skills/tool-priority-guide/SKILL.md +80 -0
  44. package/dist/assets/templates/skills/using-maxsim/SKILL.md +42 -73
  45. package/dist/assets/templates/skills/verification-before-completion/SKILL.md +12 -24
  46. package/dist/assets/templates/skills/verification-gates/SKILL.md +169 -0
  47. package/dist/assets/templates/templates/UAT.md +3 -3
  48. package/dist/assets/templates/templates/VALIDATION.md +1 -1
  49. package/dist/assets/templates/templates/context.md +4 -4
  50. package/dist/assets/templates/templates/debug-subagent-prompt.md +3 -3
  51. package/dist/assets/templates/templates/discovery.md +2 -2
  52. package/dist/assets/templates/templates/phase-prompt.md +2 -2
  53. package/dist/assets/templates/templates/planner-subagent-prompt.md +7 -7
  54. package/dist/assets/templates/templates/project.md +1 -1
  55. package/dist/assets/templates/templates/research.md +1 -1
  56. package/dist/assets/templates/templates/state.md +2 -2
  57. package/dist/assets/templates/templates/summary.md +41 -0
  58. package/dist/assets/templates/workflows/batch.md +5 -5
  59. package/dist/assets/templates/workflows/diagnose-issues.md +2 -2
  60. package/dist/assets/templates/workflows/discovery-phase.md +3 -3
  61. package/dist/assets/templates/workflows/discuss-phase.md +11 -11
  62. package/dist/assets/templates/workflows/execute-phase.md +205 -11
  63. package/dist/assets/templates/workflows/execute-plan.md +299 -34
  64. package/dist/assets/templates/workflows/execute.md +421 -0
  65. package/dist/assets/templates/workflows/go.md +250 -0
  66. package/dist/assets/templates/workflows/health.md +5 -5
  67. package/dist/assets/templates/workflows/help.md +165 -435
  68. package/dist/assets/templates/workflows/init-existing.md +23 -23
  69. package/dist/assets/templates/workflows/init.md +205 -0
  70. package/dist/assets/templates/workflows/new-milestone.md +9 -9
  71. package/dist/assets/templates/workflows/new-project.md +26 -26
  72. package/dist/assets/templates/workflows/plan-create.md +298 -0
  73. package/dist/assets/templates/workflows/plan-discuss.md +347 -0
  74. package/dist/assets/templates/workflows/plan-phase.md +29 -29
  75. package/dist/assets/templates/workflows/plan-research.md +177 -0
  76. package/dist/assets/templates/workflows/plan.md +231 -0
  77. package/dist/assets/templates/workflows/progress.md +46 -42
  78. package/dist/assets/templates/workflows/quick.md +195 -14
  79. package/dist/assets/templates/workflows/research-phase.md +5 -5
  80. package/dist/assets/templates/workflows/sdd.md +20 -12
  81. package/dist/assets/templates/workflows/settings.md +18 -14
  82. package/dist/assets/templates/workflows/verify-phase.md +1 -1
  83. package/dist/assets/templates/workflows/verify-work.md +16 -16
  84. package/dist/cli.cjs +4589 -229
  85. package/dist/cli.cjs.map +1 -1
  86. package/dist/core-D5zUr9cb.cjs.map +1 -1
  87. package/dist/install.cjs +234 -17
  88. package/dist/install.cjs.map +1 -1
  89. package/dist/mcp-server.cjs +298 -20
  90. package/dist/mcp-server.cjs.map +1 -1
  91. package/dist/skills-CjFWZIGM.cjs.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/assets/hooks/maxsim-context-monitor.cjs +0 -121
  94. package/dist/assets/hooks/maxsim-context-monitor.cjs.map +0 -1
  95. package/dist/assets/templates/agents/maxsim-code-reviewer.md +0 -239
  96. package/dist/assets/templates/agents/maxsim-codebase-mapper.md +0 -214
  97. package/dist/assets/templates/agents/maxsim-debugger.md +0 -572
  98. package/dist/assets/templates/agents/maxsim-drift-checker.md +0 -522
  99. package/dist/assets/templates/agents/maxsim-executor.md +0 -504
  100. package/dist/assets/templates/agents/maxsim-integration-checker.md +0 -273
  101. package/dist/assets/templates/agents/maxsim-phase-researcher.md +0 -305
  102. package/dist/assets/templates/agents/maxsim-plan-checker.md +0 -343
  103. package/dist/assets/templates/agents/maxsim-planner.md +0 -610
  104. package/dist/assets/templates/agents/maxsim-project-researcher.md +0 -359
  105. package/dist/assets/templates/agents/maxsim-research-synthesizer.md +0 -263
  106. package/dist/assets/templates/agents/maxsim-roadmapper.md +0 -324
  107. package/dist/assets/templates/agents/maxsim-spec-reviewer.md +0 -245
  108. package/dist/assets/templates/agents/maxsim-verifier.md +0 -393
  109. package/dist/assets/templates/commands/maxsim/add-phase.md +0 -43
  110. package/dist/assets/templates/commands/maxsim/add-tests.md +0 -41
  111. package/dist/assets/templates/commands/maxsim/add-todo.md +0 -57
  112. package/dist/assets/templates/commands/maxsim/artefakte.md +0 -122
  113. package/dist/assets/templates/commands/maxsim/audit-milestone.md +0 -36
  114. package/dist/assets/templates/commands/maxsim/batch.md +0 -42
  115. package/dist/assets/templates/commands/maxsim/check-drift.md +0 -56
  116. package/dist/assets/templates/commands/maxsim/check-todos.md +0 -46
  117. package/dist/assets/templates/commands/maxsim/cleanup.md +0 -18
  118. package/dist/assets/templates/commands/maxsim/complete-milestone.md +0 -136
  119. package/dist/assets/templates/commands/maxsim/discuss-phase.md +0 -87
  120. package/dist/assets/templates/commands/maxsim/discuss.md +0 -70
  121. package/dist/assets/templates/commands/maxsim/execute-phase.md +0 -41
  122. package/dist/assets/templates/commands/maxsim/health.md +0 -22
  123. package/dist/assets/templates/commands/maxsim/init-existing.md +0 -46
  124. package/dist/assets/templates/commands/maxsim/insert-phase.md +0 -32
  125. package/dist/assets/templates/commands/maxsim/list-phase-assumptions.md +0 -46
  126. package/dist/assets/templates/commands/maxsim/map-codebase.md +0 -71
  127. package/dist/assets/templates/commands/maxsim/new-milestone.md +0 -44
  128. package/dist/assets/templates/commands/maxsim/new-project.md +0 -46
  129. package/dist/assets/templates/commands/maxsim/pause-work.md +0 -38
  130. package/dist/assets/templates/commands/maxsim/plan-milestone-gaps.md +0 -34
  131. package/dist/assets/templates/commands/maxsim/plan-phase.md +0 -44
  132. package/dist/assets/templates/commands/maxsim/realign.md +0 -39
  133. package/dist/assets/templates/commands/maxsim/reapply-patches.md +0 -110
  134. package/dist/assets/templates/commands/maxsim/remove-phase.md +0 -31
  135. package/dist/assets/templates/commands/maxsim/research-phase.md +0 -189
  136. package/dist/assets/templates/commands/maxsim/resume-work.md +0 -40
  137. package/dist/assets/templates/commands/maxsim/roadmap.md +0 -19
  138. package/dist/assets/templates/commands/maxsim/sdd.md +0 -39
  139. package/dist/assets/templates/commands/maxsim/set-profile.md +0 -34
  140. package/dist/assets/templates/commands/maxsim/update.md +0 -37
  141. package/dist/assets/templates/commands/maxsim/verify-work.md +0 -38
  142. package/dist/assets/templates/workflows/add-phase.md +0 -111
  143. package/dist/assets/templates/workflows/add-tests.md +0 -351
  144. package/dist/assets/templates/workflows/add-todo.md +0 -247
  145. package/dist/assets/templates/workflows/audit-milestone.md +0 -297
  146. package/dist/assets/templates/workflows/check-drift.md +0 -248
  147. package/dist/assets/templates/workflows/check-todos.md +0 -261
  148. package/dist/assets/templates/workflows/cleanup.md +0 -153
  149. package/dist/assets/templates/workflows/complete-milestone.md +0 -701
  150. package/dist/assets/templates/workflows/discuss.md +0 -343
  151. package/dist/assets/templates/workflows/insert-phase.md +0 -129
  152. package/dist/assets/templates/workflows/list-phase-assumptions.md +0 -178
  153. package/dist/assets/templates/workflows/map-codebase.md +0 -315
  154. package/dist/assets/templates/workflows/pause-work.md +0 -122
  155. package/dist/assets/templates/workflows/plan-milestone-gaps.md +0 -274
  156. package/dist/assets/templates/workflows/realign.md +0 -288
  157. package/dist/assets/templates/workflows/remove-phase.md +0 -154
  158. package/dist/assets/templates/workflows/resume-project.md +0 -306
  159. package/dist/assets/templates/workflows/roadmap.md +0 -130
  160. package/dist/assets/templates/workflows/set-profile.md +0 -81
  161. package/dist/assets/templates/workflows/transition.md +0 -544
  162. package/dist/assets/templates/workflows/update.md +0 -220
@@ -1,248 +0,0 @@
1
- <purpose>
2
- Orchestrate a drift-checker agent to compare .planning/ spec against the codebase and produce DRIFT-REPORT.md.
3
-
4
- The drift-checker agent writes the report directly. The orchestrator only receives a summary (status + counts) to prevent context bloat. After the report is generated, the orchestrator reads only the YAML frontmatter for key metrics and presents results to the user.
5
-
6
- Output: .planning/DRIFT-REPORT.md with severity-tiered findings and YAML frontmatter.
7
- </purpose>
8
-
9
- <philosophy>
10
- **Agent writes output directly:**
11
- The drift-checker agent writes DRIFT-REPORT.md directly to `.planning/`. The orchestrator does NOT receive the full report content -- it only gets confirmation and counts. This follows the same pattern as maxsim-codebase-mapper (which writes documents directly to `.planning/codebase/`).
12
-
13
- **Why:** The drift report can be large (50+ items with evidence). Passing the full report back to the orchestrator would waste context. Only metadata flows back.
14
-
15
- **Fresh scan every run:**
16
- Every drift check performs a fresh codebase analysis. Previous reports are only used for diff tracking (NEW/RESOLVED/UNCHANGED labels), never as a substitute for current analysis.
17
- </philosophy>
18
-
19
- <process>
20
-
21
- <step name="init_context" priority="first">
22
- Load drift check context:
23
-
24
- ```bash
25
- INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init check-drift)
26
- ```
27
-
28
- Extract from init JSON:
29
- - `drift_model` -- model resolution for the drift-checker agent
30
- - `commit_docs` -- whether to commit the report
31
- - `has_planning` -- whether .planning/ exists
32
- - `has_requirements` -- whether REQUIREMENTS.md exists
33
- - `has_roadmap` -- whether ROADMAP.md exists
34
- - `has_nogos` -- whether NO-GOS.md exists
35
- - `has_conventions` -- whether CONVENTIONS.md exists
36
- - `has_previous_report` -- whether a previous DRIFT-REPORT.md exists
37
- - `spec_files` -- list of all spec file paths found
38
- - `phase_dirs` -- list of active phase directories
39
- - `archived_milestone_dirs` -- list of archived milestone directories
40
- - Paths: `requirements_path`, `roadmap_path`, `nogos_path`, `conventions_path`, `state_path`
41
- </step>
42
-
43
- <step name="validate">
44
- **Gate: Verify project is initialized.**
45
-
46
- If `has_planning` is false:
47
-
48
- ```
49
- No .planning/ directory found.
50
-
51
- Run `/maxsim:new-project` to initialize your project first.
52
- ```
53
-
54
- Stop workflow.
55
-
56
- If `has_requirements` is false AND `has_roadmap` is false:
57
-
58
- ```
59
- No REQUIREMENTS.md or ROADMAP.md found in .planning/.
60
-
61
- At least one spec file is needed for drift detection.
62
- Run `/maxsim:new-project` to create project specification.
63
- ```
64
-
65
- Stop workflow.
66
-
67
- If `has_planning` is true and at least one spec file exists, continue.
68
-
69
- If some spec files are missing (e.g., no NO-GOS.md or CONVENTIONS.md), note this for the agent -- it will include a warning in the report header.
70
- </step>
71
-
72
- <step name="announce">
73
- Display progress to user:
74
-
75
- ```
76
- Scanning codebase for spec drift...
77
-
78
- Spec files: {list of found spec files}
79
- Phase directories: {count} active{, {count} archived if any}
80
- {If previous report exists: "Previous report found -- will track NEW/RESOLVED/UNCHANGED"}
81
- {If no previous report: "First drift check -- all findings will be marked NEW"}
82
-
83
- Spawning drift-checker agent...
84
- ```
85
- </step>
86
-
87
- <step name="spawn_drift_checker">
88
- Spawn the maxsim-drift-checker agent using the Task tool.
89
-
90
- ```
91
- Task(
92
- subagent_type="maxsim-drift-checker",
93
- model="{drift_model}",
94
- description="Check spec-vs-code drift",
95
- prompt="Perform a complete drift analysis of this project.
96
-
97
- <check_drift_context>
98
- {Full CheckDriftContext JSON from init step}
99
- </check_drift_context>
100
-
101
- {If $ARGUMENTS contains a phase number:}
102
- <phase_filter>
103
- Focus analysis on phase {phase_number}. Still check no-gos and conventions globally.
104
- </phase_filter>
105
-
106
- Analyze all spec files against the codebase. Write DRIFT-REPORT.md to .planning/.
107
- Return only your summary (status and counts) -- do NOT return the full report content."
108
- )
109
- ```
110
-
111
- Wait for agent to complete.
112
- </step>
113
-
114
- <step name="read_results">
115
- After the agent returns, read ONLY the frontmatter of the drift report (not the full content):
116
-
117
- ```bash
118
- head -20 .planning/DRIFT-REPORT.md
119
- ```
120
-
121
- Parse the YAML frontmatter for:
122
- - `status` (aligned | drift)
123
- - `critical_count`
124
- - `warning_count`
125
- - `info_count`
126
- - `undocumented_count`
127
- - `total_items`
128
- - `aligned_count`
129
-
130
- If the file was not created, report agent failure and suggest re-running.
131
- </step>
132
-
133
- <step name="commit_report">
134
- If `commit_docs` is true, commit the drift report:
135
-
136
- ```bash
137
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: drift report - {status}" --files .planning/DRIFT-REPORT.md
138
- ```
139
- </step>
140
-
141
- <step name="present_results">
142
- Present the drift check results to the user.
143
-
144
- **If status is "aligned":**
145
-
146
- ```
147
- ## Drift Check Complete
148
-
149
- **Status:** ALIGNED
150
- **Total items checked:** {total_items}
151
- **All {aligned_count} items aligned** -- spec and code are in sync.
152
-
153
- Report: .planning/DRIFT-REPORT.md
154
-
155
- ---
156
-
157
- No realignment needed. Ready to continue development.
158
-
159
- - `/maxsim:execute-phase` -- Continue executing current phase
160
- - `/maxsim:plan-phase` -- Plan next phase
161
- ```
162
-
163
- **If status is "drift":**
164
-
165
- ```
166
- ## Drift Check Complete
167
-
168
- **Status:** DRIFT DETECTED
169
-
170
- | Category | Count |
171
- |----------|-------|
172
- | Aligned | {aligned_count} |
173
- | Critical | {critical_count} |
174
- | Warning | {warning_count} |
175
- | Info | {info_count} |
176
- | Undocumented | {undocumented_count} |
177
-
178
- {If critical_count > 0:}
179
- **Critical findings require attention** -- requirements marked complete but implementation is missing.
180
-
181
- Report: .planning/DRIFT-REPORT.md
182
-
183
- Review the full report, then choose:
184
- ```
185
-
186
- Continue to offer_realignment.
187
- </step>
188
-
189
- <step name="offer_realignment">
190
- Present realignment options:
191
-
192
- ```
193
- ---
194
-
195
- ## Realignment Options
196
-
197
- 1. **Realign to code** -- Update `.planning/` to match what's actually built
198
- Accepts current implementation as source of truth. Updates requirements and roadmap.
199
- `/maxsim:realign to-code`
200
-
201
- 2. **Realign to spec** -- Create new phases to close implementation gaps
202
- Keeps spec as source of truth. Generates fix phases for missing implementations.
203
- `/maxsim:realign to-spec`
204
-
205
- 3. **Done** -- Acknowledge drift, no action needed now
206
- The DRIFT-REPORT.md is saved for future reference.
207
-
208
- ---
209
- ```
210
-
211
- Wait for user response.
212
-
213
- - If user chooses option 1: Direct them to run `/maxsim:realign to-code`
214
- - If user chooses option 2: Direct them to run `/maxsim:realign to-spec`
215
- - If user chooses option 3 or "done": End workflow
216
- </step>
217
-
218
- </process>
219
-
220
- <error_handling>
221
-
222
- **Agent failure:** If the drift-checker agent fails or returns without creating DRIFT-REPORT.md:
223
- ```
224
- Drift check failed. The drift-checker agent did not produce a report.
225
-
226
- Possible causes:
227
- - Insufficient spec files for analysis
228
- - Agent context overload (too many requirements)
229
-
230
- Try: `/maxsim:check-drift {specific_phase}` to narrow the scope.
231
- ```
232
-
233
- **Partial spec:** The agent handles partial specs internally (runs analysis on what exists, warns about missing files). The workflow does not need to handle this specially.
234
-
235
- **Previous report comparison failure:** If `drift previous-hash` fails, the agent runs without diff tracking. All items will be marked `[NEW]`.
236
-
237
- </error_handling>
238
-
239
- <success_criteria>
240
- - [ ] Init context loaded with all spec file existence flags
241
- - [ ] Validation gate prevents running on un-initialized projects
242
- - [ ] Drift-checker agent spawned with full context
243
- - [ ] Report frontmatter read (not full content) for result display
244
- - [ ] Report committed if commit_docs is true
245
- - [ ] Results presented with counts and status
246
- - [ ] Realignment options offered when drift detected
247
- - [ ] Only frontmatter read from report (no context bloat)
248
- </success_criteria>
@@ -1,261 +0,0 @@
1
- <purpose>
2
- List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- @./references/dashboard-bridge.md
8
- </required_reading>
9
-
10
- <process>
11
-
12
- <step name="init_context">
13
- Load todo context:
14
-
15
- ```bash
16
- INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init todos)
17
- ```
18
-
19
- Extract from init JSON: `todo_count`, `todos`, `pending_dir`.
20
-
21
- If `todo_count` is 0:
22
- ```
23
- No pending todos.
24
-
25
- Todos are captured during work sessions with /maxsim:add-todo.
26
-
27
- ---
28
-
29
- Would you like to:
30
-
31
- 1. Continue with current phase (/maxsim:progress)
32
- 2. Add a todo now (/maxsim:add-todo)
33
- ```
34
-
35
- Exit.
36
- </step>
37
-
38
- <step name="parse_filter">
39
- Check for area filter in arguments:
40
- - `/maxsim:check-todos` → show all
41
- - `/maxsim:check-todos api` → filter to area:api only
42
- </step>
43
-
44
- <step name="list_todos">
45
- Use the `todos` array from init context (already filtered by area if specified).
46
-
47
- Parse and display as numbered list:
48
-
49
- ```
50
- Pending Todos:
51
-
52
- 1. Add auth token refresh (api, 2d ago)
53
- 2. Fix modal z-index issue (ui, 1d ago)
54
- 3. Refactor database connection pool (database, 5h ago)
55
-
56
- ---
57
-
58
- Reply with a number to view details, or:
59
- - `/maxsim:check-todos [area]` to filter by area
60
- - `q` to exit
61
- ```
62
-
63
- Format age as relative time from created timestamp.
64
- </step>
65
-
66
- <step name="handle_selection">
67
- Wait for user to reply with a number.
68
-
69
- If valid: load selected todo, proceed.
70
- If invalid: "Invalid selection. Reply with a number (1-[N]) or `q` to exit."
71
- </step>
72
-
73
- <step name="load_context">
74
- Read the todo file completely. Display:
75
-
76
- ```
77
- ## [title]
78
-
79
- **Area:** [area]
80
- **Created:** [date] ([relative time] ago)
81
- **Files:** [list or "None"]
82
-
83
- ### Problem
84
- [problem section content]
85
-
86
- ### Solution
87
- [solution section content]
88
- ```
89
-
90
- If `files` field has entries, read and briefly summarize each.
91
- </step>
92
-
93
- <step name="check_roadmap">
94
- Check for roadmap (can use init progress or directly check file existence):
95
-
96
- If `.planning/ROADMAP.md` exists:
97
- 1. Check if todo's area matches an upcoming phase
98
- 2. Check if todo's files overlap with a phase's scope
99
- 3. Note any match for action options
100
- </step>
101
-
102
- <step name="offer_actions">
103
- **If todo maps to a roadmap phase:**
104
-
105
- Use AskUserQuestion:
106
- - header: "Action"
107
- - question: "This todo relates to Phase [N]: [name]. What would you like to do?"
108
- - options:
109
- - "Work on it now" — move to done, start working
110
- - "Add to phase plan" — include when planning Phase [N]
111
- - "Brainstorm approach" — think through before deciding
112
- - "Put it back" — return to list
113
-
114
- **If no roadmap match:**
115
-
116
- Use AskUserQuestion:
117
- - header: "Action"
118
- - question: "What would you like to do with this todo?"
119
- - options:
120
- - "Work on it now" — move to done, start working
121
- - "Create a phase" — /maxsim:add-phase with this scope
122
- - "Brainstorm approach" — think through before deciding
123
- - "Put it back" — return to list
124
- </step>
125
-
126
- <step name="execute_action">
127
- **Work on it now:**
128
- ```bash
129
- mv ".planning/todos/pending/[filename]" ".planning/todos/done/"
130
- ```
131
- Update STATE.md todo count. Present problem/solution context. Begin work or ask how to proceed.
132
-
133
- **Add to phase plan:**
134
- Note todo reference in phase planning notes. Keep in pending. Return to list or exit.
135
-
136
- **Create a phase:**
137
- Display: `/maxsim:add-phase [description from todo]`
138
- Keep in pending. User runs command in fresh context.
139
-
140
- **Brainstorm approach:**
141
- Keep in pending. Enter structured thinking-partner discussion to clarify and enrich the todo.
142
-
143
- ```
144
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
145
- MAXSIM ► TODO BRAINSTORM
146
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
147
- ```
148
-
149
- Apply thinking-partner behaviors from `@./references/thinking-partner.md` to explore the todo before deciding next steps.
150
-
151
- **Round 1 — Problem clarity (2-3 questions):**
152
-
153
- Use AskUserQuestion to probe:
154
- - What exactly is the problem? (Challenge vagueness — if the todo description is abstract, push for specifics)
155
- - What does "done" look like? (Make abstract concrete — what observable change marks completion?)
156
- - Is this one thing or multiple? (Surface hidden scope — does this todo contain sub-tasks?)
157
-
158
- Build on the todo's existing Problem and Solution sections. Quote specifics from the todo to ground the discussion.
159
-
160
- **Round 2 — Approach exploration (2-3 questions):**
161
-
162
- Use AskUserQuestion to explore:
163
- - What approaches have you considered? (Propose 2-3 alternatives with trade-offs if the user has no strong opinion)
164
- - What constraints exist? (Surface unstated assumptions — time, dependencies, tech debt, team knowledge)
165
- - What could go wrong? (Make consequences visible — breaking changes, performance, migration risk)
166
-
167
- Follow the thread from Round 1. React to the user's energy — if they are excited about an approach, dig into it. If uncertain, help narrow options.
168
-
169
- **Round 3 — Readiness check:**
170
-
171
- Use AskUserQuestion:
172
- - header: "Todo"
173
- - question: "Ready to refine this todo with what we discussed?"
174
- - options:
175
- - "Refine todo" — Update with discussion insights
176
- - "Keep discussing" — Explore more
177
- - "Split into multiple" — This is actually several todos
178
-
179
- If "Keep discussing": ask 2-3 more probing questions focusing on the most important open question, then check readiness again.
180
- If "Split into multiple": help the user define 2-3 separate todos. For each, create a new todo file in `.planning/todos/pending/` using the enriched format below. Commit all new files.
181
- If "Refine todo": continue to enrichment below.
182
-
183
- **After discussion — enrich the todo file:**
184
-
185
- Rewrite the selected todo's markdown file with enriched content:
186
-
187
- ```markdown
188
- ---
189
- created: [preserve original]
190
- title: [preserve or refine from discussion]
191
- area: [preserve or update]
192
- mode: discussed
193
- files:
194
- - [preserve and add any new files surfaced]
195
- ---
196
-
197
- ## Problem
198
-
199
- [Problem description enriched with discussion insights from Round 1]
200
-
201
- ## Scope
202
-
203
- [What is in scope and out of scope — from Round 1 clarity questions]
204
-
205
- ## Approach
206
-
207
- [Chosen approach with trade-offs explored — from Round 2]
208
- [Include alternatives considered and why this approach was chosen]
209
-
210
- ## Risks
211
-
212
- [What could go wrong — from Round 2 consequences discussion]
213
-
214
- ## Solution
215
-
216
- [Concrete next steps or "TBD"]
217
- ```
218
-
219
- Commit the updated todo:
220
-
221
- ```bash
222
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: enrich todo after brainstorm - [title]" --files [todo-file-path] .planning/STATE.md
223
- ```
224
-
225
- **Time budget:** 20-30 minutes max. After 6 rounds of questions, offer to file what you have.
226
-
227
- **Put it back:**
228
- Return to list_todos step.
229
- </step>
230
-
231
- <step name="update_state">
232
- After any action that changes todo count:
233
-
234
- Re-run `init todos` to get updated count, then update STATE.md "### Pending Todos" section if exists.
235
- </step>
236
-
237
- <step name="git_commit">
238
- If todo was moved to done/, commit the change:
239
-
240
- ```bash
241
- git rm --cached .planning/todos/pending/[filename] 2>/dev/null || true
242
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: start work on todo - [title]" --files .planning/todos/done/[filename] .planning/STATE.md
243
- ```
244
-
245
- Tool respects `commit_docs` config and gitignore automatically.
246
-
247
- Confirm: "Committed: docs: start work on todo - [title]"
248
- </step>
249
-
250
- </process>
251
-
252
- <success_criteria>
253
- - [ ] All pending todos listed with title, area, age
254
- - [ ] Area filter applied if specified
255
- - [ ] Selected todo's full context loaded
256
- - [ ] Roadmap context checked for phase match
257
- - [ ] Appropriate actions offered
258
- - [ ] Selected action executed
259
- - [ ] STATE.md updated if todo count changed
260
- - [ ] Changes committed to git (if todo moved to done/)
261
- </success_criteria>
@@ -1,153 +0,0 @@
1
- <purpose>
2
-
3
- Archive accumulated phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`. Identifies which phases belong to each completed milestone, shows a dry-run summary, and moves directories on confirmation.
4
-
5
- </purpose>
6
-
7
- <required_reading>
8
-
9
- 1. `.planning/MILESTONES.md`
10
- 2. `.planning/milestones/` directory listing
11
- 3. `.planning/phases/` directory listing
12
- @./references/dashboard-bridge.md
13
-
14
- </required_reading>
15
-
16
- <process>
17
-
18
- <step name="identify_completed_milestones">
19
-
20
- Read `.planning/MILESTONES.md` to identify completed milestones and their versions.
21
-
22
- ```bash
23
- cat .planning/MILESTONES.md
24
- ```
25
-
26
- Extract each milestone version (e.g., v1.0, v1.1, v2.0).
27
-
28
- Check which milestone archive dirs already exist:
29
-
30
- ```bash
31
- ls -d .planning/milestones/v*-phases 2>/dev/null
32
- ```
33
-
34
- Filter to milestones that do NOT already have a `-phases` archive directory.
35
-
36
- If all milestones already have phase archives:
37
-
38
- ```
39
- All completed milestones already have phase directories archived. Nothing to clean up.
40
- ```
41
-
42
- Stop here.
43
-
44
- </step>
45
-
46
- <step name="determine_phase_membership">
47
-
48
- For each completed milestone without a `-phases` archive, read the archived ROADMAP snapshot to determine which phases belong to it:
49
-
50
- ```bash
51
- cat .planning/milestones/v{X.Y}-ROADMAP.md
52
- ```
53
-
54
- Extract phase numbers and names from the archived roadmap (e.g., Phase 1: Foundation, Phase 2: Auth).
55
-
56
- Check which of those phase directories still exist in `.planning/phases/`:
57
-
58
- ```bash
59
- ls -d .planning/phases/*/ 2>/dev/null
60
- ```
61
-
62
- Match phase directories to milestone membership. Only include directories that still exist in `.planning/phases/`.
63
-
64
- </step>
65
-
66
- <step name="show_dry_run">
67
-
68
- Present a dry-run summary for each milestone:
69
-
70
- ```
71
- ## Cleanup Summary
72
-
73
- ### v{X.Y} — {Milestone Name}
74
- These phase directories will be archived:
75
- - 01-foundation/
76
- - 02-auth/
77
- - 03-core-features/
78
-
79
- Destination: .planning/milestones/v{X.Y}-phases/
80
-
81
- ### v{X.Z} — {Milestone Name}
82
- These phase directories will be archived:
83
- - 04-security/
84
- - 05-hardening/
85
-
86
- Destination: .planning/milestones/v{X.Z}-phases/
87
- ```
88
-
89
- If no phase directories remain to archive (all already moved or deleted):
90
-
91
- ```
92
- No phase directories found to archive. Phases may have been removed or archived previously.
93
- ```
94
-
95
- Stop here.
96
-
97
- AskUserQuestion: "Proceed with archiving?" with options: "Yes — archive listed phases" | "Cancel"
98
-
99
- If "Cancel": Stop.
100
-
101
- </step>
102
-
103
- <step name="archive_phases">
104
-
105
- For each milestone, move phase directories:
106
-
107
- ```bash
108
- mkdir -p .planning/milestones/v{X.Y}-phases
109
- ```
110
-
111
- For each phase directory belonging to this milestone:
112
-
113
- ```bash
114
- mv .planning/phases/{dir} .planning/milestones/v{X.Y}-phases/
115
- ```
116
-
117
- Repeat for all milestones in the cleanup set.
118
-
119
- </step>
120
-
121
- <step name="commit">
122
-
123
- Commit the changes:
124
-
125
- ```bash
126
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "chore: archive phase directories from completed milestones" --files .planning/milestones/ .planning/phases/
127
- ```
128
-
129
- </step>
130
-
131
- <step name="report">
132
-
133
- ```
134
- Archived:
135
- {For each milestone}
136
- - v{X.Y}: {N} phase directories → .planning/milestones/v{X.Y}-phases/
137
-
138
- .planning/phases/ cleaned up.
139
- ```
140
-
141
- </step>
142
-
143
- </process>
144
-
145
- <success_criteria>
146
-
147
- - [ ] All completed milestones without existing phase archives identified
148
- - [ ] Phase membership determined from archived ROADMAP snapshots
149
- - [ ] Dry-run summary shown and user confirmed
150
- - [ ] Phase directories moved to `.planning/milestones/v{X.Y}-phases/`
151
- - [ ] Changes committed
152
-
153
- </success_criteria>