maxsimcli 4.0.0 → 4.0.2

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.
package/README.md CHANGED
@@ -23,7 +23,7 @@ MAXSIM solves this by offloading work to fresh-context subagents, each with a si
23
23
  npx maxsimcli@latest
24
24
  ```
25
25
 
26
- **Works with Claude Code, OpenCode, Gemini CLI, and Codex — on Mac, Windows, and Linux.**
26
+ **Works with Claude Code — on Mac, Windows, and Linux.**
27
27
 
28
28
  > ⚠️ **Early Alpha** — APIs, commands, and workflows may change between releases. Expect rough edges.
29
29
 
@@ -75,7 +75,7 @@ That's the loop. Discuss → Plan → Execute → Verify. Each phase is isolated
75
75
 
76
76
  ## How It Works
77
77
 
78
- MAXSIM installs 30+ slash commands into your AI runtime. Each command is a structured workflow that spawns specialized subagents with fresh context.
78
+ MAXSIM installs 32 slash commands, 11 skills, and an MCP server into Claude Code. Each command is a structured workflow that spawns specialized subagents with fresh context.
79
79
 
80
80
  ### The Core Loop
81
81
 
@@ -251,27 +251,18 @@ npx maxsimcli@latest
251
251
  ```
252
252
 
253
253
  The installer prompts you to choose:
254
- 1. **Runtime** — Claude Code, OpenCode, Gemini, Codex, or all
255
- 2. **Location** — Global (all projects) or local (current project only)
254
+ 1. **Location** — Global (all projects) or local (current project only)
256
255
 
257
- Verify with:
258
- - Claude Code / Gemini: `/maxsim:help`
259
- - OpenCode: `/maxsim-help`
260
- - Codex: `$maxsim-help`
256
+ Verify with: `/maxsim:help`
261
257
 
262
258
  <details>
263
259
  <summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
264
260
 
265
261
  ```bash
266
- npx maxsimcli --claude --global # Claude Code → ~/.claude/
267
- npx maxsimcli --opencode --global # OpenCode~/.config/opencode/
268
- npx maxsimcli --gemini --global # Gemini CLI → ~/.gemini/
269
- npx maxsimcli --codex --global # Codex → ~/.codex/
270
- npx maxsimcli --all --global # All runtimes
262
+ npx maxsimcli --claude --global # Global install → ~/.claude/
263
+ npx maxsimcli --claude --local # Project-scoped install ./.claude/
271
264
  ```
272
265
 
273
- Add `--local` instead of `--global` for project-scoped installs.
274
-
275
266
  </details>
276
267
 
277
268
  ---
@@ -306,7 +297,7 @@ Project settings live in `.planning/config.json`, created during `/maxsim:new-pr
306
297
 
307
298
  ### Model Profiles
308
299
 
309
- MAXSIM has **4 model profiles** that control which Claude model each of the 11 specialized agents uses:
300
+ MAXSIM has **4 model profiles** that control which Claude model each of the 13 specialized agents uses:
310
301
 
311
302
  | Profile | Planners & Executors | Researchers | Orchestrators |
312
303
  |---------|---------------------|-------------|---------------|
@@ -356,7 +347,7 @@ The context bar shows a 10-segment indicator that turns red and blinks above 95%
356
347
 
357
348
  ## Agents
358
349
 
359
- 11 specialized subagents, each with fresh context and a single responsibility:
350
+ 13 specialized subagents, each with fresh context and a single responsibility:
360
351
 
361
352
  | Agent | Role |
362
353
  |-------|------|
@@ -367,6 +358,8 @@ The context bar shows a 10-segment indicator that turns red and blinks above 95%
367
358
  | `maxsim-roadmapper` | Creates project roadmaps with phase breakdown |
368
359
  | `maxsim-plan-checker` | Verifies plans will achieve the phase goal |
369
360
  | `maxsim-executor` | Implements plans with atomic commits |
361
+ | `maxsim-spec-reviewer` | Reviews implementation for spec compliance after execution |
362
+ | `maxsim-code-reviewer` | Reviews implementation for code quality and patterns |
370
363
  | `maxsim-verifier` | Goal-backward verification after execution |
371
364
  | `maxsim-debugger` | Scientific-method debugging with persistent state |
372
365
  | `maxsim-integration-checker` | Verifies cross-phase integration and E2E flows |
@@ -374,6 +367,39 @@ The context bar shows a 10-segment indicator that turns red and blinks above 95%
374
367
 
375
368
  ---
376
369
 
370
+ ## Skills
371
+
372
+ MAXSIM includes 11 built-in skills that enforce workflow constraints and best practices. Skills auto-trigger based on context — they're not optional guidelines, they're active workflow enforcement.
373
+
374
+ | Skill | Description |
375
+ |-------|-------------|
376
+ | `batch-worktree` | Run parallel tasks in isolated git worktrees |
377
+ | `brainstorming` | Structured ideation and feature exploration |
378
+ | `code-review` | Automated code review with quality checks |
379
+ | `memory-management` | Persistent memory across sessions |
380
+ | `roadmap-writing` | Guided roadmap and requirements authoring |
381
+ | `sdd` | Spec-driven development workflow |
382
+ | `simplify` | Review changed code for reuse, quality, and efficiency |
383
+ | `systematic-debugging` | Root-cause investigation before attempting fixes |
384
+ | `tdd` | Test-driven development — failing test before implementation |
385
+ | `using-maxsim` | Guide for effective MAXSIM usage |
386
+ | `verification-before-completion` | Verify work before claiming completion |
387
+
388
+ ---
389
+
390
+ ## MCP Server
391
+
392
+ MAXSIM installs an MCP (Model Context Protocol) server that exposes project tools directly to Claude Code. The server is auto-configured during installation via `.mcp.json`.
393
+
394
+ **Exposed tools:**
395
+ - **Phase operations** — list, add, complete, and remove phases
396
+ - **State management** — read/update STATE.md (decisions, blockers, metrics)
397
+ - **Todo operations** — create, list, and complete todos
398
+
399
+ The MCP server runs as a stdio process managed by Claude Code — no manual startup needed.
400
+
401
+ ---
402
+
377
403
  ## Contributing
378
404
 
379
405
  MAXSIM is open source and contributions are welcome.
@@ -1,3 +1,63 @@
1
+ ## [4.0.1](https://github.com/maystudios/maxsimcli/compare/v4.0.0...v4.0.1) (2026-03-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **mcp:** bundle MCP server dependencies and update README with skills/MCP docs ([7724966](https://github.com/maystudios/maxsimcli/commit/772496696167d8723873b6645826327472824560))
7
+
8
+ # [4.0.0](https://github.com/maystudios/maxsimcli/compare/v3.12.0...v4.0.0) (2026-03-02)
9
+
10
+
11
+ * feat!: remove non-Claude adapters and simplify install to Claude-only ([e640107](https://github.com/maystudios/maxsimcli/commit/e640107bc7d66fd6b6a22778fc3f5aa2f720f1ae))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **core:** add actionable context to catch blocks across core modules ([3bda2eb](https://github.com/maystudios/maxsimcli/commit/3bda2eb3767500a2500cd4ce394af90a79ef1c8a))
17
+ * **core:** replace Unix find with cross-platform fs walk ([#22](https://github.com/maystudios/maxsimcli/issues/22)) ([8dddae4](https://github.com/maystudios/maxsimcli/commit/8dddae4f2af7fa2c0e398025779c4fcc85389244))
18
+ * **core:** replace Unix find with cross-platform fs walk for Windows compatibility ([b121ae6](https://github.com/maystudios/maxsimcli/commit/b121ae68d5d38733960e9ff72c2f7a982f54d739))
19
+ * **dashboard:** increase health check timeout to 10s and verify multi-project isolation ([bee185c](https://github.com/maystudios/maxsimcli/commit/bee185c91e730896040afef63eaac5d782cefc28))
20
+ * **install:** add .mcp.json backup and install recovery safety ([77eb4fe](https://github.com/maystudios/maxsimcli/commit/77eb4feeafd141eca94349f19615fcee97bb6718))
21
+ * **install:** move skills install path from agents/skills/ to skills/ ([436712a](https://github.com/maystudios/maxsimcli/commit/436712a4adee7c86ae9480a6aa93e52ff017338a))
22
+ * **install:** remove dead isCodex reference and reject deprecated runtime flags ([#21](https://github.com/maystudios/maxsimcli/issues/21)) ([9a4af80](https://github.com/maystudios/maxsimcli/commit/9a4af80c5543fcd69970fbac4f9c71c9f5821388))
23
+ * resolve duplicate CmdResult and update tests for CmdResult pattern ([1e02d4b](https://github.com/maystudios/maxsimcli/commit/1e02d4b7df95d3833fd92f3413870a18ff1be3d4))
24
+ * **state:** harden STATE.md parsing for format drift resilience ([9881d1c](https://github.com/maystudios/maxsimcli/commit/9881d1c9f6b1810aa5838f651aa16f9bd87cdf5d))
25
+
26
+
27
+ ### Features
28
+
29
+ * add artefakte system, context loader, and start command (Units 1, 9, 10) ([dbbc2b4](https://github.com/maystudios/maxsimcli/commit/dbbc2b4d35412f9b51e100a9aa2bd027dcd4e398))
30
+ * add brainstorming and roadmap-writing skills (Units 7, 8) ([1b8c64c](https://github.com/maystudios/maxsimcli/commit/1b8c64c2c5dec6f2873df1cc79a5002b176f7e96))
31
+ * async I/O for hot-path commands and phase-list pagination (Phase 10) ([19e7741](https://github.com/maystudios/maxsimcli/commit/19e7741c8df1567a08f59282235b217855d4cd85))
32
+ * **execution:** wire Execute-Review-Simplify-Review cycle into execution pipeline ([7a6a998](https://github.com/maystudios/maxsimcli/commit/7a6a998aeb707288930d99e36c06ba0cac23dfae))
33
+ * **mcp:** complete E2E Q&A routing between Claude Code and dashboard ([ac3115a](https://github.com/maystudios/maxsimcli/commit/ac3115a7e120ae9b1e597ae6f9afe664449640a2))
34
+ * rewrite workflows with thinking-partner behavior and artefakte integration (Units 2-6) ([f44b4f4](https://github.com/maystudios/maxsimcli/commit/f44b4f4589df9f94fc3b927a88e5683c2b5bbf2d))
35
+ * **skills:** add batch-worktree and sdd skill templates ([84997be](https://github.com/maystudios/maxsimcli/commit/84997be21443de3213636f862c480ca32caed254))
36
+ * **skills:** add skill-list, skill-install, skill-update CLI commands ([d848acd](https://github.com/maystudios/maxsimcli/commit/d848acd678e19a4eb1bf947e15a972786a801ef0))
37
+ * **skills:** register using-maxsim skill for auto-trigger at conversation start ([d5f0a50](https://github.com/maystudios/maxsimcli/commit/d5f0a50ab625655cf1d3e53eebbb86661b011bf3))
38
+ * unified dashboard mode with enhanced MCP Q&A and multi-project support (Units 11-14) ([b26205e](https://github.com/maystudios/maxsimcli/commit/b26205ebffb1770daa6f2bbb82ced801af8800eb))
39
+
40
+
41
+ ### BREAKING CHANGES
42
+
43
+ * Remove OpenCode, Gemini, and Codex runtime support.
44
+ MAXSIM v2.0 is Claude Code-only.
45
+
46
+ - Delete adapter files: opencode.ts, gemini.ts, codex.ts
47
+ - Delete transforms/: tool-maps.ts, frontmatter.ts, content.ts
48
+ - Simplify adapter registry to export only claudeAdapter
49
+ - Narrow RuntimeName type to 'claude' literal
50
+ - Narrow AdapterConfig.commandStructure to 'nested' only
51
+ - Remove --opencode, --gemini, --codex, --both, --all CLI flags
52
+ - Remove promptRuntime() multi-runtime selector
53
+ - Remove copyFlattenedCommands() and copyCommandsAsCodexSkills()
54
+ - Remove configureOpencodePermissions() and parseJsonc()
55
+ - Remove non-Claude branches from install, uninstall, hooks, manifest
56
+ - Simplify shared.ts to use claudeAdapter directly (no adapter map)
57
+ - Update help text and banner for Claude-only messaging
58
+
59
+ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60
+
1
61
  # [3.12.0](https://github.com/maystudios/maxsimcli/compare/v3.11.0...v3.12.0) (2026-03-01)
2
62
 
3
63
 
@@ -1,123 +1,76 @@
1
1
  ---
2
2
  name: batch-worktree
3
- description: Orchestrate parallel work across isolated git worktrees with independent PRs
3
+ description: >-
4
+ Decomposes large tasks into independent units and executes each in an isolated
5
+ git worktree with its own branch and PR. Use when parallelizing work across
6
+ 5-30 independent units or orchestrating worktree-based parallel execution. Not
7
+ for sequential dependencies or fewer than 3 units.
4
8
  ---
5
9
 
6
10
  # Batch Worktree
7
11
 
8
12
  Decompose large tasks into independent units, execute each in an isolated worktree, and produce one PR per unit.
9
13
 
10
- **If units share overlapping files, you cannot parallelize them. Serialize or redesign.**
11
-
12
- ## When to Use
13
-
14
- - The task is decomposable into 5-30 independent units
15
- - Each unit can be implemented, tested, and merged independently
16
- - Units touch non-overlapping files (no merge conflicts between units)
17
- - You want parallel execution with isolated git state per unit
18
-
19
- Do NOT use this skill when:
20
- - Units have sequential dependencies (use SDD instead)
21
- - The task has fewer than 3 units (overhead is not worth it)
22
- - Units modify the same files (merge conflicts will block you)
23
-
24
- ## The Iron Law
25
-
26
- <HARD-GATE>
27
- EVERY UNIT MUST BE INDEPENDENTLY MERGEABLE.
28
- If merging unit A would break the build without unit B, they are not independent — combine them or serialize them.
29
- No exceptions. No "we'll merge them in order." No "it'll probably be fine."
30
- Violating this rule produces unmergeable PRs — wasted work.
31
- </HARD-GATE>
14
+ **HARD GATE: Every unit must be independently mergeable. If merging unit A would break the build without unit B, they are not independent. Combine them or serialize them. No exceptions.**
32
15
 
33
16
  ## Process
34
17
 
35
- ### 1. DECOMPOSE Split Task into Independent Units
36
-
37
- - List all units with a clear one-line description each
38
- - For each unit, list the files it will create or modify
39
- - Verify NO file appears in more than one unit
40
- - If overlap exists: merge the overlapping units into one, or extract shared code into a prerequisite unit that runs first
41
-
42
- ```bash
43
- # Document the decomposition
44
- node .claude/maxsim/bin/maxsim-tools.cjs state-add-decision "Batch decomposition: N units identified, no file overlap confirmed"
45
- ```
18
+ ### 1. Research -- Analyze and Decompose
46
19
 
47
- ### 2. VALIDATE Confirm Independence
20
+ List all units with a one-line description each. For each unit, list the files it will create or modify. Verify no file appears in more than one unit. If overlap exists, merge the overlapping units into one or extract shared code into a prerequisite unit that runs first.
48
21
 
49
- For each pair of units, verify:
22
+ For each pair of units, confirm:
50
23
  - No shared file modifications
51
- - No runtime dependency (unit A's output is not unit B's input)
24
+ - No runtime dependency (unit A output is not unit B input)
52
25
  - Each unit's tests pass without the other unit's changes
53
26
 
54
- If validation fails: redesign the decomposition. Do not proceed with overlapping units.
27
+ If validation fails, redesign the decomposition before proceeding.
55
28
 
56
- ### 3. SPAWN Create Worktree Per Unit
29
+ ### 2. Plan -- Define Unit Specifications
57
30
 
58
- For each unit, create an isolated worktree and spawn an agent:
31
+ For each unit, prepare a specification containing:
32
+ - Unit description and acceptance criteria
33
+ - The list of files it owns (and only those files)
34
+ - The base branch to branch from
35
+ - Instructions to implement, test, commit, push, and create a PR
59
36
 
60
- ```bash
61
- # Create worktree branch for each unit
62
- git worktree add .claude/worktrees/unit-NN unit/NN-description -b unit/NN-description
63
- ```
37
+ Record the decomposition decision:
64
38
 
65
- Spawn one agent per unit with `isolation: "worktree"`. Each agent receives:
66
- - The unit description and acceptance criteria
67
- - The list of files it owns (and ONLY those files)
68
- - The base branch to branch from
69
- - Instructions to: implement, test, commit, push, create PR
39
+ ```
40
+ node .claude/maxsim/bin/maxsim-tools.cjs state-add-decision "Batch decomposition: N units identified, no file overlap confirmed"
41
+ ```
70
42
 
71
- ### 4. EXECUTE Each Agent Works Independently
43
+ ### 3. Spawn -- Create Worktree Per Unit
72
44
 
73
- Each spawned agent follows this sequence:
74
- 1. Read the unit description and relevant source files
75
- 2. Implement the changes (apply TDD or simplify skills as configured)
76
- 3. Run tests — all must pass
77
- 4. Commit with a descriptive message referencing the unit
78
- 5. Push the branch
79
- 6. Create a PR with unit description as the body
45
+ For each unit, create an isolated worktree and spawn an agent with `isolation: "worktree"`. Each agent receives its unit specification and works independently through: read relevant source, implement changes, run tests, commit, push, create PR.
80
46
 
81
- ### 5. TRACK Monitor Progress
47
+ ### 4. Track -- Monitor Progress
82
48
 
83
49
  Maintain a status table and update it as agents report back:
84
50
 
85
- ```markdown
86
51
  | # | Unit | Status | PR |
87
52
  |---|------|--------|----|
88
53
  | 1 | description | done | #123 |
89
- | 2 | description | in-progress | |
90
- | 3 | description | failed | |
91
- ```
54
+ | 2 | description | in-progress | -- |
55
+ | 3 | description | failed | -- |
92
56
 
93
57
  Statuses: `pending`, `in-progress`, `done`, `failed`, `needs-review`
94
58
 
95
- ### 6. REPORT — Collect Results
96
-
97
- When all units complete:
98
- - List all created PRs
99
- - Flag any failed units with error summaries
100
- - If any unit failed: spawn a fix agent for that unit only
101
-
102
- ## Handling Failures
59
+ Failure handling:
60
+ - Unit fails tests: spawn a fix agent in the same worktree
61
+ - Merge conflict: decomposition was wrong, fix overlap and re-run unit
62
+ - Agent times out: re-spawn with the same unit description
63
+ - 3+ failures on same unit: stop and escalate to user
103
64
 
104
- | Situation | Action |
105
- |-----------|--------|
106
- | Unit fails tests | Spawn a fix agent in the same worktree |
107
- | Unit has merge conflict | The decomposition was wrong — fix overlap, re-run unit |
108
- | Agent times out | Re-spawn with the same unit description |
109
- | 3+ failures on same unit | Stop and escalate to user — likely an architectural issue |
65
+ When all units complete, list all created PRs and flag any failed units with error summaries. If any unit failed, spawn a fix agent for that unit only.
110
66
 
111
- ## Common Rationalizations — REJECT THESE
67
+ ## Common Pitfalls
112
68
 
113
- | Excuse | Why It Violates the Rule |
114
- |--------|--------------------------|
115
- | "The overlap is minor" | Minor overlap = merge conflicts. Split the shared code into a prerequisite unit. |
116
- | "We'll merge in the right order" | Order-dependent merges are not independent. Serialize those units. |
117
- | "It's faster to do them all in one branch" | One branch means one context window. Worktrees give each unit fresh context. |
118
- | "Only 2 units, let's still use worktrees" | Worktree overhead is not worth it for <3 units. Use sequential execution. |
69
+ - "The overlap is minor" -- Minor overlap causes merge conflicts. Split shared code into a prerequisite unit.
70
+ - "We'll merge in the right order" -- Order-dependent merges are not independent. Serialize those units.
71
+ - "Only 2 units, let's still use worktrees" -- Worktree overhead is not worth it for fewer than 3 units. Use sequential execution.
119
72
 
120
- ## Verification Checklist
73
+ ## Verification
121
74
 
122
75
  Before reporting completion, confirm:
123
76
 
@@ -128,7 +81,7 @@ Before reporting completion, confirm:
128
81
  - [ ] No PR depends on another PR being merged first
129
82
  - [ ] Status table is complete with all PR links
130
83
 
131
- ## In MAXSIM Plan Execution
84
+ ## MAXSIM Integration
132
85
 
133
86
  When a plan specifies `skill: "batch-worktree"`:
134
87
  - The orchestrator decomposes the plan's tasks into independent units
@@ -1,159 +1,89 @@
1
1
  ---
2
2
  name: brainstorming
3
- description: Use before implementing any significant feature or design — requires exploring multiple approaches and getting explicit design approval before writing code
3
+ description: >-
4
+ Explores multiple implementation approaches with trade-off analysis before
5
+ committing to a design direction. Use when starting a significant feature,
6
+ making architectural decisions, or choosing between design alternatives.
4
7
  ---
5
8
 
6
9
  # Brainstorming
7
10
 
8
11
  The first idea is rarely the best idea. Explore the space before committing to a direction.
9
12
 
10
- **If you have not considered alternatives, you are building the first thing that came to mind.**
13
+ **HARD GATE** -- No implementation without design approval. If you have not presented approaches, discussed trade-offs, and received explicit user approval, you cannot write implementation code. This is not a judgment call.
11
14
 
12
- ## The Iron Law
15
+ ## Process
13
16
 
14
- <HARD-GATE>
15
- NO IMPLEMENTATION WITHOUT DESIGN APPROVAL.
16
- If you have not presented approaches, discussed trade-offs, and received explicit approval, you CANNOT write implementation code.
17
- "I already know the best approach" is an assumption, not a conclusion.
18
- Violating this rule is a violation — not a judgment call.
19
- </HARD-GATE>
17
+ ### 1. Frame the Problem
20
18
 
21
- ## The Gate Function
22
-
23
- Follow these steps IN ORDER before implementing any significant feature, architecture change, or design decision.
24
-
25
- ### 1. FRAME — Define the Problem
26
-
27
- Ask the user ONE question at a time to understand the problem space. Do not bundle multiple questions — each response informs the next question.
19
+ Ask the user ONE question at a time to understand the problem space. Each answer informs the next question.
28
20
 
29
21
  - What is the goal? What does success look like?
30
22
  - What are the constraints (performance, compatibility, timeline)?
31
- - What has already been tried or considered?
23
+ - What has been tried or considered already?
32
24
  - What are the non-negotiables vs. nice-to-haves?
33
25
 
34
- **Rule: ONE question at a time. Wait for the answer before asking the next.**
35
-
36
- ### 2. RESEARCH — Understand the Context
37
-
38
- Before proposing solutions, gather evidence:
26
+ ### 2. Research Context
39
27
 
40
- - Read the relevant code and understand current architecture
41
- - Check `.planning/` for existing decisions and constraints
42
- - Review ROADMAP.md for phase dependencies and scope
43
- - Identify related patterns already in the codebase
28
+ Before proposing solutions, gather evidence from the codebase and any existing planning artifacts. Read relevant code, check for prior decisions, and identify patterns already in use.
44
29
 
45
- ```bash
46
- # Check existing decisions
47
- node ~/.claude/maxsim/bin/maxsim-tools.cjs state read --raw
48
-
49
- # Check current roadmap context
50
- node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap read --raw
51
- ```
52
-
53
- ### 3. PROPOSE — Present 2-3 Approaches
30
+ ### 3. Present 2-3 Approaches
54
31
 
55
32
  For each approach, provide:
56
33
 
57
- | Aspect | What to Include |
58
- |--------|----------------|
59
- | **Summary** | One-sentence description of the approach |
60
- | **How it works** | Key implementation steps (3-5 bullets) |
61
- | **Pros** | Concrete advantages not vague ("simpler" is vague, "200 fewer lines" is concrete) |
62
- | **Cons** | Honest drawbacks do not hide weaknesses to sell a preferred option |
63
- | **Effort** | Relative complexity (low / medium / high) |
64
- | **Risk** | What could go wrong and how recoverable is it |
65
-
66
- **Present exactly 2-3 approaches.** One option is not brainstorming. Four or more creates decision paralysis.
67
-
68
- If one approach is clearly superior, say so — but still present alternatives so the user can validate your reasoning.
34
+ | Aspect | Content |
35
+ |--------|---------|
36
+ | **Summary** | One sentence |
37
+ | **How it works** | 3-5 implementation bullets |
38
+ | **Pros** | Concrete advantages (not vague -- "200 fewer lines" beats "simpler") |
39
+ | **Cons** | Honest drawbacks -- do not hide weaknesses |
40
+ | **Effort** | Low / Medium / High |
41
+ | **Risk** | What could go wrong and how recoverable |
69
42
 
70
- ### 4. DISCUSS Refine with the User
43
+ Present exactly 2-3 approaches. If one is clearly superior, say so -- but still present alternatives so the user can validate your reasoning.
71
44
 
72
- - Ask the user which approach they prefer (or if they want a hybrid)
73
- - Answer follow-up questions honestly — do not advocate for a single approach
74
- - If the user raises concerns, address them specifically
75
- - If no approach fits, propose new ones informed by the discussion
45
+ ### 4. Discuss and Refine
76
46
 
77
- **Continue ONE question at a time. Do not assume consensus until stated.**
47
+ Ask the user which approach they prefer or whether they want a hybrid. Answer follow-up questions honestly. If no approach fits, propose new ones informed by the discussion. Continue one question at a time -- do not assume consensus.
78
48
 
79
- ### 5. DECIDE — Get Explicit Approval
49
+ ### 5. Get Explicit Approval
80
50
 
81
- The user must explicitly approve the chosen approach. Acceptable approvals:
51
+ The user must explicitly approve one approach (e.g., "Go with A", "Approved", "Ship it"). Vague responses like "Sounds good" or "Interesting" are not approval. If ambiguous, ask: "To confirm -- should I proceed with [specific approach]?"
82
52
 
83
- - "Go with approach A"
84
- - "Let's do option 2"
85
- - "Approved" / "LGTM" / "Ship it"
53
+ ### 6. Document the Decision
86
54
 
87
- Not acceptable as approval:
55
+ Record the chosen approach, rejected alternatives with reasons, key implementation decisions, and risks. Use MAXSIM state tooling if available.
88
56
 
89
- - "Sounds good" (too vague — clarify which approach)
90
- - "Interesting" (not a decision)
91
- - Silence (not consent)
57
+ ### 7. Implement the Approved Design
92
58
 
93
- **If approval is ambiguous, ask: "To confirm should I proceed with [specific approach]?"**
59
+ Only after steps 1-6. Follow the approved design. If implementation reveals a design flaw, stop and return to step 4.
94
60
 
95
- ### 6. DOCUMENT — Record the Decision
61
+ ## Common Pitfalls
96
62
 
97
- After approval, write a design doc and record the decision:
98
-
99
- ```bash
100
- # Record the decision in STATE.md
101
- node ~/.claude/maxsim/bin/maxsim-tools.cjs add-decision \
102
- --phase "current-phase" \
103
- --summary "Chose approach X for [feature] because [reason]" \
104
- --rationale "Evaluated 3 approaches: A (rejected — too complex), B (rejected — performance risk), C (approved — best trade-off of simplicity and extensibility)"
105
- ```
106
-
107
- The design doc should include:
108
- - **Chosen approach** and why
109
- - **Rejected alternatives** and why they were rejected
110
- - **Key implementation decisions** that flow from the choice
111
- - **Risks** and mitigation strategies
112
-
113
- ### 7. IMPLEMENT — Build the Approved Design
114
-
115
- Only after steps 1-6 are complete:
116
- - Follow the approved design — do not deviate without re-discussion
117
- - If implementation reveals a flaw in the design, STOP and return to step 4
118
- - Reference the design doc in commit messages
119
-
120
- ## Common Rationalizations — REJECT THESE
121
-
122
- | Excuse | Why It Violates the Rule |
123
- |--------|--------------------------|
124
- | "I already know the best approach" | You know YOUR preferred approach. Alternatives may be better. |
125
- | "There's only one way to do this" | There is almost never only one way. You have not looked hard enough. |
126
- | "The user won't care about the design" | Users care about the outcome. Bad design leads to bad outcomes. |
63
+ | Excuse | Reality |
64
+ |--------|---------|
65
+ | "I already know the best approach" | You know your preferred approach. Alternatives may be better. |
66
+ | "There's only one way to do this" | There is almost never only one way. |
127
67
  | "Brainstorming slows us down" | Building the wrong thing is slower. 30 minutes of design saves days of rework. |
128
- | "I'll refactor if the first approach is wrong" | Refactoring is expensive. Choosing well upfront is cheaper. |
129
- | "The scope is too small for brainstorming" | If it touches architecture, it needs brainstorming regardless of size. |
130
-
131
- ## Red Flags — STOP If You Catch Yourself:
132
68
 
133
- - Writing implementation code before presenting approaches to the user
134
- - Presenting only one approach and calling it "brainstorming"
135
- - Asking multiple questions at once instead of one at a time
136
- - Assuming approval without an explicit statement
137
- - Skipping the documentation step because "we'll remember"
138
- - Deviating from the approved design without discussion
69
+ Stop immediately if you catch yourself: writing code before presenting approaches, presenting only one option, asking multiple questions at once, assuming approval without explicit confirmation, or skipping documentation.
139
70
 
140
- **If any red flag triggers: STOP. Return to the appropriate step.**
141
-
142
- ## Verification Checklist
71
+ ## Verification
143
72
 
144
73
  Before starting implementation, confirm:
145
74
 
146
75
  - [ ] Problem has been framed with user input (not assumptions)
147
76
  - [ ] Relevant code and context have been researched
148
- - [ ] 2-3 approaches have been presented with concrete trade-offs
77
+ - [ ] 2-3 approaches presented with concrete trade-offs
149
78
  - [ ] User has explicitly approved one specific approach
150
- - [ ] Decision has been recorded in STATE.md
79
+ - [ ] Decision has been recorded
151
80
  - [ ] Design doc captures chosen approach, rejected alternatives, and risks
152
81
 
153
- ## In MAXSIM Plan Execution
82
+ ## MAXSIM Integration
83
+
84
+ Brainstorming applies before significant implementation work within MAXSIM workflows:
154
85
 
155
- Brainstorming applies before significant implementation work:
156
86
  - Use during phase planning when design choices affect multiple tasks
157
- - Use before any task that introduces new architecture, patterns, or external dependencies
158
- - The decision record in STATE.md persists across sessions future agents inherit context
159
- - If a brainstorming session spans multiple interactions, record partial progress in STATE.md blockers
87
+ - Use before any task introducing new architecture, patterns, or external dependencies
88
+ - Decision records in STATE.md persist across sessions -- future agents inherit context
89
+ - If a session spans multiple interactions, record partial progress in STATE.md blockers