maxsimcli 3.11.0 → 4.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 (197) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapters/index.d.ts +0 -11
  3. package/dist/adapters/index.d.ts.map +1 -1
  4. package/dist/adapters/index.js +4 -40
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/assets/CHANGELOG.md +36 -0
  7. package/dist/assets/dashboard/client/assets/{index-CZ8WC97G.js → index-C_eAetZJ.js} +66 -66
  8. package/dist/assets/dashboard/client/assets/index-CmiJKqOU.css +32 -0
  9. package/dist/assets/dashboard/client/index.html +2 -2
  10. package/dist/assets/dashboard/server.js +467 -271
  11. package/dist/assets/templates/agents/AGENTS.md +94 -0
  12. package/dist/assets/templates/agents/maxsim-debugger.md +2 -2
  13. package/dist/assets/templates/agents/maxsim-executor.md +5 -5
  14. package/dist/assets/templates/agents/maxsim-phase-researcher.md +2 -2
  15. package/dist/assets/templates/agents/maxsim-plan-checker.md +2 -2
  16. package/dist/assets/templates/agents/maxsim-planner.md +3 -3
  17. package/dist/assets/templates/commands/maxsim/add-todo.md +15 -5
  18. package/dist/assets/templates/commands/maxsim/discuss-phase.md +1 -0
  19. package/dist/assets/templates/commands/maxsim/init-existing.md +4 -0
  20. package/dist/assets/templates/commands/maxsim/new-project.md +4 -0
  21. package/dist/assets/templates/commands/maxsim/settings.md +1 -1
  22. package/dist/assets/templates/references/thinking-partner.md +41 -0
  23. package/dist/assets/templates/skills/batch-worktree/SKILL.md +137 -0
  24. package/dist/assets/templates/skills/brainstorming/SKILL.md +159 -0
  25. package/dist/assets/templates/skills/code-review/SKILL.md +151 -0
  26. package/dist/assets/templates/skills/memory-management/SKILL.md +174 -0
  27. package/dist/assets/templates/skills/roadmap-writing/SKILL.md +198 -0
  28. package/dist/assets/templates/skills/sdd/SKILL.md +175 -0
  29. package/dist/assets/templates/skills/simplify/SKILL.md +185 -0
  30. package/dist/assets/templates/skills/using-maxsim/SKILL.md +120 -0
  31. package/dist/assets/templates/templates/acceptance-criteria.md +10 -0
  32. package/dist/assets/templates/templates/config.json +1 -1
  33. package/dist/assets/templates/templates/decisions.md +10 -0
  34. package/dist/assets/templates/templates/no-gos.md +9 -0
  35. package/dist/assets/templates/workflows/add-tests.md +3 -3
  36. package/dist/assets/templates/workflows/add-todo.md +89 -0
  37. package/dist/assets/templates/workflows/complete-milestone.md +1 -1
  38. package/dist/assets/templates/workflows/discuss-phase.md +85 -1
  39. package/dist/assets/templates/workflows/execute-phase.md +26 -16
  40. package/dist/assets/templates/workflows/execute-plan.md +166 -0
  41. package/dist/assets/templates/workflows/init-existing.md +123 -3
  42. package/dist/assets/templates/workflows/new-milestone.md +4 -0
  43. package/dist/assets/templates/workflows/new-project.md +111 -3
  44. package/dist/assets/templates/workflows/plan-phase.md +5 -5
  45. package/dist/assets/templates/workflows/quick.md +2 -2
  46. package/dist/assets/templates/workflows/settings.md +8 -4
  47. package/dist/assets/templates/workflows/verify-work.md +1 -1
  48. package/dist/cli.cjs +1512 -1026
  49. package/dist/cli.cjs.map +1 -1
  50. package/dist/cli.js +170 -278
  51. package/dist/cli.js.map +1 -1
  52. package/dist/core/artefakte.d.ts +12 -0
  53. package/dist/core/artefakte.d.ts.map +1 -0
  54. package/dist/core/artefakte.js +136 -0
  55. package/dist/core/artefakte.js.map +1 -0
  56. package/dist/core/commands.d.ts +13 -13
  57. package/dist/core/commands.d.ts.map +1 -1
  58. package/dist/core/commands.js +48 -58
  59. package/dist/core/commands.js.map +1 -1
  60. package/dist/core/config.d.ts +4 -3
  61. package/dist/core/config.d.ts.map +1 -1
  62. package/dist/core/config.js +14 -18
  63. package/dist/core/config.js.map +1 -1
  64. package/dist/core/context-loader.d.ts +20 -0
  65. package/dist/core/context-loader.d.ts.map +1 -0
  66. package/dist/core/context-loader.js +154 -0
  67. package/dist/core/context-loader.js.map +1 -0
  68. package/dist/core/core.d.ts +26 -2
  69. package/dist/core/core.d.ts.map +1 -1
  70. package/dist/core/core.js +90 -24
  71. package/dist/core/core.js.map +1 -1
  72. package/dist/core/dashboard-launcher.d.ts +56 -0
  73. package/dist/core/dashboard-launcher.d.ts.map +1 -0
  74. package/dist/core/dashboard-launcher.js +246 -0
  75. package/dist/core/dashboard-launcher.js.map +1 -0
  76. package/dist/core/frontmatter.d.ts +5 -5
  77. package/dist/core/frontmatter.d.ts.map +1 -1
  78. package/dist/core/frontmatter.js +21 -26
  79. package/dist/core/frontmatter.js.map +1 -1
  80. package/dist/core/index.d.ts +10 -3
  81. package/dist/core/index.d.ts.map +1 -1
  82. package/dist/core/index.js +40 -2
  83. package/dist/core/index.js.map +1 -1
  84. package/dist/core/init.d.ts +14 -15
  85. package/dist/core/init.d.ts.map +1 -1
  86. package/dist/core/init.js +93 -155
  87. package/dist/core/init.js.map +1 -1
  88. package/dist/core/milestone.d.ts +3 -3
  89. package/dist/core/milestone.d.ts.map +1 -1
  90. package/dist/core/milestone.js +9 -9
  91. package/dist/core/milestone.js.map +1 -1
  92. package/dist/core/phase.d.ts +9 -9
  93. package/dist/core/phase.d.ts.map +1 -1
  94. package/dist/core/phase.js +65 -63
  95. package/dist/core/phase.js.map +1 -1
  96. package/dist/core/roadmap.d.ts +4 -3
  97. package/dist/core/roadmap.d.ts.map +1 -1
  98. package/dist/core/roadmap.js +46 -108
  99. package/dist/core/roadmap.js.map +1 -1
  100. package/dist/core/skills.d.ts +19 -0
  101. package/dist/core/skills.d.ts.map +1 -0
  102. package/dist/core/skills.js +145 -0
  103. package/dist/core/skills.js.map +1 -0
  104. package/dist/core/start.d.ts +15 -0
  105. package/dist/core/start.d.ts.map +1 -0
  106. package/dist/core/start.js +80 -0
  107. package/dist/core/start.js.map +1 -0
  108. package/dist/core/state.d.ts +13 -13
  109. package/dist/core/state.d.ts.map +1 -1
  110. package/dist/core/state.js +125 -130
  111. package/dist/core/state.js.map +1 -1
  112. package/dist/core/template.d.ts +3 -3
  113. package/dist/core/template.d.ts.map +1 -1
  114. package/dist/core/template.js +12 -14
  115. package/dist/core/template.js.map +1 -1
  116. package/dist/core/types.d.ts +15 -4
  117. package/dist/core/types.d.ts.map +1 -1
  118. package/dist/core/types.js +9 -2
  119. package/dist/core/types.js.map +1 -1
  120. package/dist/core/verify.d.ts +10 -9
  121. package/dist/core/verify.d.ts.map +1 -1
  122. package/dist/core/verify.js +38 -48
  123. package/dist/core/verify.js.map +1 -1
  124. package/dist/core-TFSlUjV1.cjs +4312 -0
  125. package/dist/core-TFSlUjV1.cjs.map +1 -0
  126. package/dist/install/adapters.d.ts +6 -0
  127. package/dist/install/adapters.d.ts.map +1 -0
  128. package/dist/install/adapters.js +65 -0
  129. package/dist/install/adapters.js.map +1 -0
  130. package/dist/install/copy.d.ts +6 -0
  131. package/dist/install/copy.d.ts.map +1 -0
  132. package/dist/install/copy.js +71 -0
  133. package/dist/install/copy.js.map +1 -0
  134. package/dist/install/dashboard.d.ts +16 -0
  135. package/dist/install/dashboard.d.ts.map +1 -0
  136. package/dist/install/dashboard.js +273 -0
  137. package/dist/install/dashboard.js.map +1 -0
  138. package/dist/install/hooks.d.ts +31 -0
  139. package/dist/install/hooks.d.ts.map +1 -0
  140. package/dist/install/hooks.js +260 -0
  141. package/dist/install/hooks.js.map +1 -0
  142. package/dist/install/index.d.ts +2 -0
  143. package/dist/install/index.d.ts.map +1 -0
  144. package/dist/install/index.js +535 -0
  145. package/dist/install/index.js.map +1 -0
  146. package/dist/install/manifest.d.ts +23 -0
  147. package/dist/install/manifest.d.ts.map +1 -0
  148. package/dist/install/manifest.js +129 -0
  149. package/dist/install/manifest.js.map +1 -0
  150. package/dist/install/patches.d.ts +10 -0
  151. package/dist/install/patches.d.ts.map +1 -0
  152. package/dist/install/patches.js +124 -0
  153. package/dist/install/patches.js.map +1 -0
  154. package/dist/install/shared.d.ts +56 -0
  155. package/dist/install/shared.d.ts.map +1 -0
  156. package/dist/install/shared.js +172 -0
  157. package/dist/install/shared.js.map +1 -0
  158. package/dist/install/uninstall.d.ts +5 -0
  159. package/dist/install/uninstall.d.ts.map +1 -0
  160. package/dist/install/uninstall.js +222 -0
  161. package/dist/install/uninstall.js.map +1 -0
  162. package/dist/install.cjs +793 -1648
  163. package/dist/install.cjs.map +1 -1
  164. package/dist/mcp-server.cjs +38 -14
  165. package/dist/mcp-server.cjs.map +1 -1
  166. package/dist/skills-BOSxYUzf.cjs +6812 -0
  167. package/dist/skills-BOSxYUzf.cjs.map +1 -0
  168. package/package.json +1 -1
  169. package/dist/adapters/codex.d.ts +0 -19
  170. package/dist/adapters/codex.d.ts.map +0 -1
  171. package/dist/adapters/codex.js +0 -94
  172. package/dist/adapters/codex.js.map +0 -1
  173. package/dist/adapters/gemini.d.ts +0 -19
  174. package/dist/adapters/gemini.d.ts.map +0 -1
  175. package/dist/adapters/gemini.js +0 -96
  176. package/dist/adapters/gemini.js.map +0 -1
  177. package/dist/adapters/opencode.d.ts +0 -17
  178. package/dist/adapters/opencode.d.ts.map +0 -1
  179. package/dist/adapters/opencode.js +0 -111
  180. package/dist/adapters/opencode.js.map +0 -1
  181. package/dist/adapters/transforms/content.d.ts +0 -39
  182. package/dist/adapters/transforms/content.d.ts.map +0 -1
  183. package/dist/adapters/transforms/content.js +0 -125
  184. package/dist/adapters/transforms/content.js.map +0 -1
  185. package/dist/adapters/transforms/frontmatter.d.ts +0 -42
  186. package/dist/adapters/transforms/frontmatter.d.ts.map +0 -1
  187. package/dist/adapters/transforms/frontmatter.js +0 -204
  188. package/dist/adapters/transforms/frontmatter.js.map +0 -1
  189. package/dist/adapters/transforms/tool-maps.d.ts +0 -20
  190. package/dist/adapters/transforms/tool-maps.d.ts.map +0 -1
  191. package/dist/adapters/transforms/tool-maps.js +0 -64
  192. package/dist/adapters/transforms/tool-maps.js.map +0 -1
  193. package/dist/assets/dashboard/client/assets/index-DzJChB-D.css +0 -32
  194. package/dist/install.d.ts +0 -2
  195. package/dist/install.d.ts.map +0 -1
  196. package/dist/install.js +0 -1841
  197. package/dist/install.js.map +0 -1
@@ -36,20 +36,8 @@ Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelizat
36
36
  When `parallelization` is false, plans within a wave execute sequentially.
37
37
  </step>
38
38
 
39
- <step name="launch_dashboard">
40
- Launch the live project dashboard (if not already running):
41
-
42
- ```bash
43
- node ~/.claude/maxsim/bin/maxsim-tools.cjs dashboard 2>/dev/null || true
44
- ```
45
-
46
- This is idempotent: if the dashboard is already running, it prints the URL. If not, it spawns a detached subprocess that survives the execute-phase session.
47
-
48
- The dashboard provides a real-time visual companion showing phase progress, plan tasks, and blockers as execution proceeds.
49
-
50
- **Best-effort:** If the dashboard fails to start (e.g., not installed, build missing), execution continues without it. Do NOT gate phase execution on dashboard availability.
51
-
52
- **Dashboard MCP probe:** After the dashboard launch attempt, probe for MCP availability (see @dashboard-bridge). If `DASHBOARD_ACTIVE`, emit:
39
+ <step name="probe_dashboard">
40
+ Probe for MCP dashboard availability (see @dashboard-bridge). If `DASHBOARD_ACTIVE`, emit:
53
41
  ```
54
42
  mcp__maxsim-dashboard__submit_lifecycle_event(
55
43
  event_type: "phase-started",
@@ -57,6 +45,8 @@ mcp__maxsim-dashboard__submit_lifecycle_event(
57
45
  phase_number: PHASE_NUMBER
58
46
  )
59
47
  ```
48
+
49
+ **Note:** The dashboard is NOT auto-launched. Users start it explicitly via `maxsim dashboard`. This step only checks if a running dashboard is reachable via MCP.
60
50
  </step>
61
51
 
62
52
  <step name="handle_branching">
@@ -162,7 +152,7 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
162
152
  - .planning/STATE.md (State)
163
153
  - .planning/config.json (Config, if exists)
164
154
  - ./CLAUDE.md (Project instructions, if exists — follow project-specific guidelines and coding conventions)
165
- - .agents/skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
155
+ - .skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
166
156
  </files_to_read>
167
157
 
168
158
  <success_criteria>
@@ -178,15 +168,18 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
178
168
 
179
169
  3. **Wait for all agents in wave to complete.**
180
170
 
181
- 4. **Report completion — spot-check claims first:**
171
+ 4. **Report completion — spot-check claims and review cycle:**
182
172
 
183
173
  For each SUMMARY.md:
184
174
  - Verify first 2 files from `key-files.created` exist on disk
185
175
  - Check `git log --oneline --all --grep="{phase}-{plan}"` returns ≥1 commit
186
176
  - Check for `## Self-Check: FAILED` marker
177
+ - **Check for `## Review Cycle` section** — verify all review stages show PASS/APPROVED/CLEAN/FIXED (not BLOCKED or FAIL)
187
178
 
188
179
  If ANY spot-check fails: report which plan failed, route to failure handler — ask "Retry plan?" or "Continue with remaining waves?"
189
180
 
181
+ If review cycle is missing or has unresolved issues: flag the plan as **review-incomplete** — ask "Run review cycle for this plan?" or "Continue (review will block phase completion)?"
182
+
190
183
  If pass — **emit plan-complete lifecycle event** (if `DASHBOARD_ACTIVE`):
191
184
  ```
192
185
  mcp__maxsim-dashboard__submit_lifecycle_event(
@@ -285,9 +278,26 @@ After all waves:
285
278
  1. **03-01**: [one-liner from SUMMARY.md]
286
279
  2. **03-02**: [one-liner from SUMMARY.md]
287
280
 
281
+ ### Review Cycle Summary
282
+ | Plan | Spec Review | Code Review | Simplify | Final Review |
283
+ |------|-------------|-------------|----------|--------------|
284
+ | 03-01 | PASS | APPROVED | CLEAN | — |
285
+ | 03-02 | PASS | APPROVED | FIXED | APPROVED |
286
+
287
+ [Aggregate review findings from each plan's SUMMARY.md `## Review Cycle` section.
288
+ If any plan has no Review Cycle section: mark as "NOT RUN" and flag for attention.
289
+ If any plan has unresolved BLOCKED/FAIL status: list the blocking issues below.]
290
+
291
+ ### Unresolved Review Issues
292
+ [List any plans with BLOCKED or FAIL review stages. These MUST be resolved before phase completion.]
293
+
288
294
  ### Issues Encountered
289
295
  [Aggregate from SUMMARYs, or "None"]
290
296
  ```
297
+
298
+ **Phase completion gate:** If any plan has unresolved review issues (BLOCKED or FAIL in any review stage), the phase CANNOT proceed to `verify_phase_goal`. Present unresolved issues and offer:
299
+ - "Fix review issues now" — re-run the review cycle for affected plans
300
+ - "Override and continue" — mark as acknowledged, proceed (adds warning to VERIFICATION.md)
291
301
  </step>
292
302
 
293
303
  <step name="close_parent_artifacts">
@@ -343,6 +343,172 @@ Include: duration, start/end times, task count, file count.
343
343
  Next: more plans → "Ready for {next-plan}" | last → "Phase complete, ready for transition".
344
344
  </step>
345
345
 
346
+ <step name="review_cycle">
347
+ ## Execute-Review-Simplify-Review Cycle
348
+
349
+ After implementation is complete and SUMMARY.md is created, run the full review cycle before proceeding. All four stages must pass before the plan is considered done.
350
+
351
+ **Stage 1: Spec Review** — Verify implementation matches plan spec.
352
+
353
+ ```
354
+ Task(
355
+ subagent_type="maxsim-spec-reviewer",
356
+ prompt="
357
+ <objective>
358
+ Review plan {phase}-{plan} for spec compliance.
359
+ </objective>
360
+
361
+ <plan_spec>
362
+ Plan file: {phase_dir}/{phase}-{plan}-PLAN.md
363
+ Summary file: {phase_dir}/{phase}-{plan}-SUMMARY.md
364
+ </plan_spec>
365
+
366
+ <task_specs>
367
+ {For each task in the plan: task number, name, done criteria, files modified}
368
+ </task_specs>
369
+
370
+ <files_modified>
371
+ {List all files created/modified during execution from SUMMARY.md key-files}
372
+ </files_modified>
373
+
374
+ <instructions>
375
+ 1. Read the plan file and extract every task requirement
376
+ 2. For each requirement, verify the implementation exists and matches the spec
377
+ 3. Check that nothing was added beyond scope
378
+ 4. Report: PASS (all requirements met) or FAIL (list unmet requirements)
379
+ </instructions>
380
+ "
381
+ )
382
+ ```
383
+
384
+ **If spec review FAILS:** Fix unmet requirements, re-run verification, update SUMMARY.md, then re-run spec review. Do not proceed until PASS.
385
+
386
+ **Stage 2: Code Review** — Check code quality, security, error handling.
387
+
388
+ ```
389
+ Task(
390
+ subagent_type="maxsim-code-reviewer",
391
+ prompt="
392
+ <objective>
393
+ Review plan {phase}-{plan} code quality. Spec compliance already verified.
394
+ </objective>
395
+
396
+ <files_modified>
397
+ {List all files created/modified during execution from SUMMARY.md key-files}
398
+ </files_modified>
399
+
400
+ <instructions>
401
+ 1. Read CLAUDE.md for project conventions
402
+ 2. Review every modified file for: correctness, conventions, error handling, security, maintainability
403
+ 3. Categorize findings: BLOCKER (must fix), HIGH (should fix), MEDIUM (file for follow-up)
404
+ 4. Report: APPROVED (no blockers/high) or BLOCKED (list blocking issues)
405
+ </instructions>
406
+ "
407
+ )
408
+ ```
409
+
410
+ **If code review is BLOCKED:** Fix all blocker and high-severity issues. Re-run code review. Do not proceed until APPROVED.
411
+
412
+ **Stage 3: Simplify** — Spawn 3 parallel reviewers to catch reuse opportunities, quality issues, and inefficiencies.
413
+
414
+ ```
415
+ Task(
416
+ subagent_type="maxsim-executor",
417
+ prompt="
418
+ <objective>
419
+ Run simplification review on plan {phase}-{plan} with 3 parallel reviewers.
420
+ </objective>
421
+
422
+ <instructions>
423
+ Spawn 3 parallel review agents for the files modified in this plan:
424
+
425
+ Agent 1 — Code Reuse:
426
+ - Find duplicated logic across the codebase
427
+ - Identify copy-paste from other files that should be extracted
428
+ - Suggest shared helpers for patterns appearing 3+ times
429
+ - Check if existing utilities could replace new code
430
+
431
+ Agent 2 — Code Quality:
432
+ - Check naming consistency with codebase conventions
433
+ - Verify error handling covers all external calls
434
+ - Look for dead code: unused imports, unreachable branches, commented-out code
435
+ - Check for unnecessary abstractions or premature generalizations
436
+
437
+ Agent 3 — Efficiency:
438
+ - Find O(n^2) operations where O(n) is straightforward
439
+ - Identify repeated computations that could be cached or hoisted
440
+ - Check for unnecessary allocations in hot paths
441
+ - Look for redundant data transformations
442
+
443
+ After all 3 agents report:
444
+ 1. Consolidate findings into a single list
445
+ 2. Apply fixes for all actionable items (skip speculative optimizations)
446
+ 3. Run tests to confirm fixes do not break anything
447
+ 4. Report: CLEAN (no issues found), FIXED (issues found and resolved), or BLOCKED (issues found but cannot fix without architectural change)
448
+ </instructions>
449
+
450
+ <files_to_review>
451
+ {List all files created/modified during execution from SUMMARY.md key-files}
452
+ </files_to_review>
453
+ "
454
+ )
455
+ ```
456
+
457
+ **If simplify is BLOCKED:** Present architectural issues to user via checkpoint protocol. Do not proceed until resolved.
458
+
459
+ **Stage 4: Final Review** — If simplify made changes, one more code review pass.
460
+
461
+ Run this stage ONLY if Stage 3 reported FIXED (i.e., simplify found and applied fixes).
462
+
463
+ ```
464
+ Task(
465
+ subagent_type="maxsim-code-reviewer",
466
+ prompt="
467
+ <objective>
468
+ Final review pass after simplification changes on plan {phase}-{plan}.
469
+ Verify simplification fixes did not introduce regressions.
470
+ </objective>
471
+
472
+ <context>
473
+ Previous code review: APPROVED
474
+ Simplification: FIXED — changes were applied
475
+ This is a focused re-review of simplification changes only.
476
+ </context>
477
+
478
+ <files_modified>
479
+ {List files changed by simplification stage}
480
+ </files_modified>
481
+
482
+ <instructions>
483
+ 1. Review only the changes made during simplification
484
+ 2. Verify no regressions were introduced
485
+ 3. Check that simplification changes follow project conventions
486
+ 4. Report: APPROVED or BLOCKED (list issues)
487
+ </instructions>
488
+ "
489
+ )
490
+ ```
491
+
492
+ **If final review is BLOCKED:** Fix issues, re-run final review. Do not proceed until APPROVED.
493
+
494
+ **Review cycle tracking:** Record review results in SUMMARY.md under a `## Review Cycle` section:
495
+ ```markdown
496
+ ## Review Cycle
497
+
498
+ | Stage | Result | Findings |
499
+ |-------|--------|----------|
500
+ | Spec Review | PASS | All requirements met |
501
+ | Code Review | APPROVED | No blocking issues |
502
+ | Simplify | FIXED | Extracted shared helper for X, removed unused import Y |
503
+ | Final Review | APPROVED | Simplification changes verified |
504
+ ```
505
+
506
+ Update the SUMMARY.md commit after the review cycle completes:
507
+ ```bash
508
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs({phase}-{plan}): add review cycle results" --files {phase_dir}/{phase}-{plan}-SUMMARY.md
509
+ ```
510
+ </step>
511
+
346
512
  <step name="update_current_position">
347
513
  Update STATE.md using maxsim-tools:
348
514
 
@@ -7,8 +7,13 @@ Output: `.planning/` directory with config.json, PROJECT.md, REQUIREMENTS.md, RO
7
7
  <required_reading>
8
8
  Read all files referenced by the invoking prompt's execution_context before starting.
9
9
  @./references/dashboard-bridge.md
10
+ @./references/thinking-partner.md
10
11
  </required_reading>
11
12
 
13
+ <tool_mandate>
14
+ **Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
15
+ </tool_mandate>
16
+
12
17
  <auto_mode>
13
18
  ## Auto Mode Detection
14
19
 
@@ -258,7 +263,7 @@ Print per-agent completion status:
258
263
  After all agents complete, also create a file tree overview:
259
264
 
260
265
  ```bash
261
- find . -type f | grep -v node_modules | grep -v .git | grep -v .planning | grep -v __pycache__ | grep -v .next | grep -v dist/ | grep -v build/ | head -200 > .planning/codebase/STRUCTURE.md
266
+ git ls-files --others --cached --exclude-standard | grep -v node_modules | grep -v __pycache__ | grep -v .next | grep -v dist/ | grep -v build/ | head -200 > .planning/codebase/STRUCTURE.md
262
267
  ```
263
268
 
264
269
  Then wrap it with a header:
@@ -321,7 +326,7 @@ Store discrepancy notes in a variable for use in Steps 6 and 9.
321
326
  "model_profile": "balanced",
322
327
  "workflow": {
323
328
  "research": true,
324
- "plan_check": true,
329
+ "plan_checker": true,
325
330
  "verifier": true
326
331
  }
327
332
  }
@@ -461,7 +466,7 @@ AskUserQuestion([
461
466
  "model_profile": "[quality|balanced|budget]",
462
467
  "workflow": {
463
468
  "research": [true|false],
464
- "plan_check": [true|false],
469
+ "plan_checker": [true|false],
465
470
  "verifier": [true|false]
466
471
  }
467
472
  }
@@ -525,6 +530,11 @@ Ask user to confirm or correct via AskUserQuestion:
525
530
 
526
531
  If "Some corrections": ask "What needs correcting?" (freeform), capture corrections, apply to working context.
527
532
 
533
+ Apply thinking-partner behaviors when presenting findings:
534
+ - **Surface unstated assumptions** — "The scan assumes X is your primary framework — is that accurate?"
535
+ - **Make consequences visible** — "Your architecture pattern means Y for future phases."
536
+ - **Propose alternatives** — If concerns were found, suggest approaches: "The scan found tech debt in Z. We could address it early or defer — here are the trade-offs."
537
+
528
538
  ## Step 7: Future Direction Questions
529
539
 
530
540
  **If auto mode:** Skip. Generate generic "continue development" goals. Proceed to Step 9.
@@ -624,6 +634,15 @@ Ask inline (freeform, NOT AskUserQuestion):
624
634
 
625
635
  Wait for response.
626
636
 
637
+ **Thinking-partner follow-up on vision:**
638
+
639
+ After the user shares their vision, apply thinking-partner behaviors:
640
+ - Challenge vague statements: "You said 'improve performance' — improve which operations, for which users?"
641
+ - Surface assumptions: "That assumes users will migrate from X — is that the plan?"
642
+ - Propose alternatives if the vision seems narrow: "Have you considered approaching it from Y angle instead?"
643
+
644
+ Use 1-2 follow-up AskUserQuestion prompts to sharpen the vision if needed. Don't over-question — 1-2 rounds max.
645
+
627
646
  ## Step 8: Milestone Suggestion
628
647
 
629
648
  **If auto mode:** Generate a milestone name from the inferred project purpose. Proceed to Step 9.
@@ -987,6 +1006,104 @@ Pre-populate:
987
1006
 
988
1007
  Already written in Step 5. If merge mode and config.json existed, it was preserved (unless user chose overwrite).
989
1008
 
1009
+ ### 9f: Artefakte Generation
1010
+
1011
+ Generate structured artefakte documents from gathered context.
1012
+
1013
+ **DECISIONS.md:**
1014
+
1015
+ ```bash
1016
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/DECISIONS.md
1017
+ ```
1018
+
1019
+ Write content:
1020
+
1021
+ ```markdown
1022
+ # Key Decisions
1023
+
1024
+ **Generated:** [date]
1025
+ **Source:** Init-existing initialization
1026
+
1027
+ | # | Decision | Rationale | Alternatives Considered | Status |
1028
+ |---|----------|-----------|------------------------|--------|
1029
+ | 1 | [Config choice: mode] | [Why] | [Other options] | Locked |
1030
+ | 2 | [Stage assessment] | [Evidence from scan] | [Other stages considered] | Locked |
1031
+ | 3 | [Any constraint decisions from Step 7] | [Why] | [Alternatives] | Locked |
1032
+
1033
+ ---
1034
+ *Decisions captured during /maxsim:init-existing initialization*
1035
+ ```
1036
+
1037
+ **ACCEPTANCE-CRITERIA.md:**
1038
+
1039
+ ```bash
1040
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/ACCEPTANCE-CRITERIA.md
1041
+ ```
1042
+
1043
+ Write content:
1044
+
1045
+ ```markdown
1046
+ # Acceptance Criteria
1047
+
1048
+ **Generated:** [date]
1049
+ **Source:** Init-existing initialization
1050
+
1051
+ ## Project-Level Criteria
1052
+
1053
+ - [ ] [Observable outcome from user's vision]
1054
+ - [ ] [Observable outcome from user's vision]
1055
+ - [ ] [Stability guard from production constraints, if applicable]
1056
+
1057
+ ## Phase-Level Criteria
1058
+
1059
+ Populated per-phase during /maxsim:discuss-phase.
1060
+
1061
+ ---
1062
+ *Criteria derived from init-existing initialization*
1063
+ ```
1064
+
1065
+ **NO-GOS.md:**
1066
+
1067
+ ```bash
1068
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/NO-GOS.md
1069
+ ```
1070
+
1071
+ Write content:
1072
+
1073
+ ```markdown
1074
+ # No-Gos
1075
+
1076
+ **Generated:** [date]
1077
+ **Source:** Init-existing initialization
1078
+
1079
+ ## Must Not Break
1080
+
1081
+ [From production constraints / GUARD requirements in REQUIREMENTS.md]
1082
+
1083
+ - [Critical thing that cannot break] -- [why]
1084
+
1085
+ ## Anti-Patterns
1086
+
1087
+ [From CONCERNS.md and user input]
1088
+
1089
+ - [Approach to avoid] -- [why]
1090
+
1091
+ ## Scope Boundaries
1092
+
1093
+ - [What this milestone is NOT trying to achieve]
1094
+
1095
+ ---
1096
+ *No-gos captured during /maxsim:init-existing initialization*
1097
+ ```
1098
+
1099
+ **If auto mode:** Generate artefakte from scan findings with reasonable inferences. Mark uncertain entries with `(inferred)`.
1100
+
1101
+ **Commit artefakte:**
1102
+
1103
+ ```bash
1104
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: generate initialization artefakte" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md
1105
+ ```
1106
+
990
1107
  ## Step 10: Git Stage and Summary
991
1108
 
992
1109
  Stage all changed files:
@@ -1053,6 +1170,9 @@ Print next steps:
1053
1170
  - `.planning/REQUIREMENTS.md`
1054
1171
  - `.planning/ROADMAP.md`
1055
1172
  - `.planning/STATE.md`
1173
+ - `.planning/DECISIONS.md`
1174
+ - `.planning/ACCEPTANCE-CRITERIA.md`
1175
+ - `.planning/NO-GOS.md`
1056
1176
  - `.planning/codebase/STACK.md`
1057
1177
  - `.planning/codebase/ARCHITECTURE.md`
1058
1178
  - `.planning/codebase/CONVENTIONS.md`
@@ -11,6 +11,10 @@ Read all files referenced by the invoking prompt's execution_context before star
11
11
 
12
12
  </required_reading>
13
13
 
14
+ <tool_mandate>
15
+ **Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
16
+ </tool_mandate>
17
+
14
18
  <process>
15
19
 
16
20
  ## 1. Load Context
@@ -5,8 +5,13 @@ Initialize a new project through unified flow: questioning, research (optional),
5
5
  <required_reading>
6
6
  Read all files referenced by the invoking prompt's execution_context before starting.
7
7
  @./references/dashboard-bridge.md
8
+ @./references/thinking-partner.md
8
9
  </required_reading>
9
10
 
11
+ <tool_mandate>
12
+ **Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
13
+ </tool_mandate>
14
+
10
15
  <auto_mode>
11
16
  ## Auto Mode Detection
12
17
 
@@ -176,7 +181,7 @@ Create `.planning/config.json` with mode set to "yolo":
176
181
  "model_profile": "quality|balanced|budget",
177
182
  "workflow": {
178
183
  "research": true|false,
179
- "plan_check": true|false,
184
+ "plan_checker": true|false,
180
185
  "verifier": true|false,
181
186
  "auto_advance": true
182
187
  }
@@ -220,10 +225,18 @@ Ask inline (freeform, NOT AskUserQuestion):
220
225
 
221
226
  Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
222
227
 
223
- **Follow the thread:**
228
+ **Follow the thread (thinking-partner mode):**
224
229
 
225
230
  Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
226
231
 
232
+ Apply thinking-partner behaviors from `thinking-partner.md`:
233
+ - **Challenge vague answers** — "Good UX" means what? Push for specifics.
234
+ - **Surface unstated assumptions** — Name assumptions the user didn't realize they were making.
235
+ - **Propose alternatives with trade-offs** — Don't just accept the first approach. Offer 2-3 paths.
236
+ - **Suggest directions** — "Have you considered...?" Frame as possibilities, not mandates.
237
+ - **Make consequences visible** — "If we go with X, that means Y will need to change."
238
+ - **Disagree constructively** — If you see a risk, say so.
239
+
227
240
  Keep following threads. Each answer opens new threads to explore. Ask about:
228
241
  - What excited them
229
242
  - What problem sparked this
@@ -342,6 +355,101 @@ mkdir -p .planning
342
355
  node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: initialize project" --files .planning/PROJECT.md
343
356
  ```
344
357
 
358
+ ## 4b. Generate Artefakte
359
+
360
+ After PROJECT.md is committed, generate artefakte documents that capture structured insights from questioning.
361
+
362
+ **DECISIONS.md** — Key decisions made during questioning with rationale:
363
+
364
+ ```bash
365
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/DECISIONS.md
366
+ ```
367
+
368
+ Write content:
369
+
370
+ ```markdown
371
+ # Key Decisions
372
+
373
+ **Generated:** [date]
374
+ **Source:** Project initialization questioning
375
+
376
+ | # | Decision | Rationale | Alternatives Considered | Status |
377
+ |---|----------|-----------|------------------------|--------|
378
+ | 1 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
379
+ | 2 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
380
+
381
+ ---
382
+ *Decisions captured during /maxsim:new-project initialization*
383
+ ```
384
+
385
+ **ACCEPTANCE-CRITERIA.md** — Measurable success criteria derived from user's vision:
386
+
387
+ ```bash
388
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/ACCEPTANCE-CRITERIA.md
389
+ ```
390
+
391
+ Write content:
392
+
393
+ ```markdown
394
+ # Acceptance Criteria
395
+
396
+ **Generated:** [date]
397
+ **Source:** Project initialization
398
+
399
+ ## Project-Level Criteria
400
+
401
+ These define what "done" looks like for the entire project:
402
+
403
+ - [ ] [Observable outcome from user's vision]
404
+ - [ ] [Observable outcome from user's vision]
405
+ - [ ] [Observable outcome from user's vision]
406
+
407
+ ## Phase-Level Criteria
408
+
409
+ Populated per-phase during /maxsim:discuss-phase.
410
+
411
+ ---
412
+ *Criteria derived from project initialization*
413
+ ```
414
+
415
+ **NO-GOS.md** — Explicit exclusions and anti-patterns:
416
+
417
+ ```bash
418
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write .planning/NO-GOS.md
419
+ ```
420
+
421
+ Write content:
422
+
423
+ ```markdown
424
+ # No-Gos
425
+
426
+ **Generated:** [date]
427
+ **Source:** Project initialization
428
+
429
+ ## Excluded Features
430
+
431
+ - [Feature explicitly excluded] — [why]
432
+
433
+ ## Anti-Patterns
434
+
435
+ - [Approach to avoid] — [why]
436
+
437
+ ## Scope Boundaries
438
+
439
+ - [What this project is NOT]
440
+
441
+ ---
442
+ *No-gos captured during /maxsim:new-project initialization*
443
+ ```
444
+
445
+ **Commit artefakte:**
446
+
447
+ ```bash
448
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: generate initialization artefakte" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md
449
+ ```
450
+
451
+ **If auto mode:** Generate artefakte from the provided document with reasonable inferences. Mark uncertain entries with `(inferred)`.
452
+
345
453
  ## 5. Workflow Preferences
346
454
 
347
455
  **If auto mode:** Skip — config was collected in Step 2a. Proceed to Step 5.5.
@@ -475,7 +583,7 @@ Create `.planning/config.json` with all settings:
475
583
  "model_profile": "quality|balanced|budget",
476
584
  "workflow": {
477
585
  "research": true|false,
478
- "plan_check": true|false,
586
+ "plan_checker": true|false,
479
587
  "verifier": true|false
480
588
  }
481
589
  }
@@ -25,7 +25,7 @@ Load all context in one call (paths only to minimize orchestrator context):
25
25
  INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init plan-phase "$PHASE")
26
26
  ```
27
27
 
28
- Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `nyquist_validation_enabled`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `phase_req_ids`.
28
+ Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `phase_req_ids`.
29
29
 
30
30
  **File paths (for <files_to_read> blocks):** `state_path`, `roadmap_path`, `requirements_path`, `context_path`, `research_path`, `verification_path`, `uat_path`. These are null if files don't exist.
31
31
 
@@ -112,7 +112,7 @@ Answer: "What do I need to know to PLAN this phase well?"
112
112
  **Phase requirement IDs (MUST address):** {phase_req_ids}
113
113
 
114
114
  **Project instructions:** Read ./CLAUDE.md if exists — follow project-specific guidelines
115
- **Project skills:** Check .agents/skills/ directory (if exists) — read SKILL.md files, research should account for project skill patterns
115
+ **Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, research should account for project skill patterns
116
116
  </additional_context>
117
117
 
118
118
  <output>
@@ -136,7 +136,7 @@ Task(
136
136
 
137
137
  ## 5.5. Create Validation Strategy (if Nyquist enabled)
138
138
 
139
- **Skip if:** `nyquist_validation_enabled` is false from INIT JSON.
139
+ **Skip if:** `workflow.nyquist_validation` is false in `.planning/config.json`.
140
140
 
141
141
  After researcher completes, check if RESEARCH.md contains a Validation Architecture section:
142
142
 
@@ -212,7 +212,7 @@ Planner prompt:
212
212
  **Phase requirement IDs (every ID MUST appear in a plan's `requirements` field):** {phase_req_ids}
213
213
 
214
214
  **Project instructions:** Read ./CLAUDE.md if exists — follow project-specific guidelines
215
- **Project skills:** Check .agents/skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
215
+ **Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
216
216
  </planning_context>
217
217
 
218
218
  <downstream_consumer>
@@ -277,7 +277,7 @@ Checker prompt:
277
277
  **Phase requirement IDs (MUST ALL be covered):** {phase_req_ids}
278
278
 
279
279
  **Project instructions:** Read ./CLAUDE.md if exists — verify plans honor project guidelines
280
- **Project skills:** Check .agents/skills/ directory (if exists) — verify plans account for project skill rules
280
+ **Project skills:** Check .skills/ directory (if exists) — verify plans account for project skill rules
281
281
  </verification_context>
282
282
 
283
283
  <expected_output>
@@ -108,7 +108,7 @@ Task(
108
108
  - ./CLAUDE.md (if exists — follow project-specific guidelines)
109
109
  </files_to_read>
110
110
 
111
- **Project skills:** Check .agents/skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
111
+ **Project skills:** Check .skills/ directory (if exists) — read SKILL.md files, plans should account for project skill rules
112
112
 
113
113
  </planning_context>
114
114
 
@@ -259,7 +259,7 @@ Execute quick task ${next_num}.
259
259
  - ${QUICK_DIR}/${next_num}-PLAN.md (Plan)
260
260
  - .planning/STATE.md (Project state)
261
261
  - ./CLAUDE.md (Project instructions, if exists)
262
- - .agents/skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
262
+ - .skills/ (Project skills, if exists — list skills, read SKILL.md for each, follow relevant rules during implementation)
263
263
  </files_to_read>
264
264
 
265
265
  <constraints>