maxsimcli 5.0.6 → 5.1.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 (91) hide show
  1. package/README.md +316 -288
  2. package/dist/assets/CHANGELOG.md +14 -0
  3. package/dist/assets/hooks/maxsim-capture-learnings.cjs +128 -0
  4. package/dist/assets/hooks/maxsim-capture-learnings.cjs.map +1 -0
  5. package/dist/assets/hooks/maxsim-check-update.cjs +126 -88
  6. package/dist/assets/hooks/maxsim-check-update.cjs.map +1 -1
  7. package/dist/assets/hooks/maxsim-notification-sound.cjs +87 -43
  8. package/dist/assets/hooks/maxsim-notification-sound.cjs.map +1 -1
  9. package/dist/assets/hooks/maxsim-statusline.cjs +45 -171
  10. package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
  11. package/dist/assets/hooks/maxsim-stop-sound.cjs +86 -43
  12. package/dist/assets/hooks/maxsim-stop-sound.cjs.map +1 -1
  13. package/dist/assets/hooks/maxsim-sync-reminder.cjs +72 -21
  14. package/dist/assets/hooks/maxsim-sync-reminder.cjs.map +1 -1
  15. package/dist/assets/templates/agents/AGENTS.md +62 -51
  16. package/dist/assets/templates/agents/executor.md +44 -59
  17. package/dist/assets/templates/agents/planner.md +36 -31
  18. package/dist/assets/templates/agents/researcher.md +35 -43
  19. package/dist/assets/templates/agents/verifier.md +29 -31
  20. package/dist/assets/templates/commands/maxsim/debug.md +20 -154
  21. package/dist/assets/templates/commands/maxsim/execute.md +19 -33
  22. package/dist/assets/templates/commands/maxsim/go.md +21 -20
  23. package/dist/assets/templates/commands/maxsim/help.md +5 -14
  24. package/dist/assets/templates/commands/maxsim/init.md +18 -40
  25. package/dist/assets/templates/commands/maxsim/plan.md +22 -37
  26. package/dist/assets/templates/commands/maxsim/progress.md +15 -16
  27. package/dist/assets/templates/commands/maxsim/quick.md +18 -29
  28. package/dist/assets/templates/commands/maxsim/settings.md +18 -26
  29. package/dist/assets/templates/references/continuation-format.md +2 -4
  30. package/dist/assets/templates/references/model-profiles.md +2 -2
  31. package/dist/assets/templates/references/planning-config.md +10 -11
  32. package/dist/assets/templates/references/self-improvement.md +120 -0
  33. package/dist/assets/templates/rules/conventions.md +1 -1
  34. package/dist/assets/templates/rules/verification-protocol.md +1 -1
  35. package/dist/assets/templates/skills/brainstorming/SKILL.md +35 -26
  36. package/dist/assets/templates/skills/code-review/SKILL.md +78 -55
  37. package/dist/assets/templates/skills/commit-conventions/SKILL.md +70 -36
  38. package/dist/assets/templates/skills/github-operations/SKILL.md +142 -0
  39. package/dist/assets/templates/skills/handoff-contract/SKILL.md +62 -28
  40. package/dist/assets/templates/skills/maxsim-batch/SKILL.md +68 -42
  41. package/dist/assets/templates/skills/maxsim-simplify/SKILL.md +65 -40
  42. package/dist/assets/templates/skills/project-memory/SKILL.md +121 -0
  43. package/dist/assets/templates/skills/research/SKILL.md +126 -0
  44. package/dist/assets/templates/skills/roadmap-writing/SKILL.md +71 -68
  45. package/dist/assets/templates/skills/systematic-debugging/SKILL.md +37 -25
  46. package/dist/assets/templates/skills/tdd/SKILL.md +36 -39
  47. package/dist/assets/templates/skills/using-maxsim/SKILL.md +69 -55
  48. package/dist/assets/templates/skills/verification/SKILL.md +167 -0
  49. package/dist/assets/templates/workflows/batch.md +249 -268
  50. package/dist/assets/templates/workflows/diagnose-issues.md +225 -151
  51. package/dist/assets/templates/workflows/execute-plan.md +191 -981
  52. package/dist/assets/templates/workflows/execute.md +350 -309
  53. package/dist/assets/templates/workflows/go.md +119 -138
  54. package/dist/assets/templates/workflows/health.md +71 -114
  55. package/dist/assets/templates/workflows/help.md +85 -147
  56. package/dist/assets/templates/workflows/init-existing.md +180 -1373
  57. package/dist/assets/templates/workflows/init.md +53 -165
  58. package/dist/assets/templates/workflows/new-milestone.md +91 -334
  59. package/dist/assets/templates/workflows/new-project.md +165 -1384
  60. package/dist/assets/templates/workflows/plan-create.md +182 -73
  61. package/dist/assets/templates/workflows/plan-discuss.md +89 -82
  62. package/dist/assets/templates/workflows/plan-research.md +191 -85
  63. package/dist/assets/templates/workflows/plan.md +122 -58
  64. package/dist/assets/templates/workflows/progress.md +76 -310
  65. package/dist/assets/templates/workflows/quick.md +70 -495
  66. package/dist/assets/templates/workflows/sdd.md +231 -221
  67. package/dist/assets/templates/workflows/settings.md +90 -120
  68. package/dist/assets/templates/workflows/verify-phase.md +296 -258
  69. package/dist/cli.cjs +17 -23465
  70. package/dist/cli.cjs.map +1 -1
  71. package/dist/install.cjs +356 -8358
  72. package/dist/install.cjs.map +1 -1
  73. package/package.json +16 -22
  74. package/dist/assets/templates/skills/agent-system-map/SKILL.md +0 -92
  75. package/dist/assets/templates/skills/evidence-collection/SKILL.md +0 -87
  76. package/dist/assets/templates/skills/github-artifact-protocol/SKILL.md +0 -67
  77. package/dist/assets/templates/skills/github-tools-guide/SKILL.md +0 -89
  78. package/dist/assets/templates/skills/input-validation/SKILL.md +0 -51
  79. package/dist/assets/templates/skills/memory-management/SKILL.md +0 -75
  80. package/dist/assets/templates/skills/research-methodology/SKILL.md +0 -137
  81. package/dist/assets/templates/skills/sdd/SKILL.md +0 -91
  82. package/dist/assets/templates/skills/tool-priority-guide/SKILL.md +0 -80
  83. package/dist/assets/templates/skills/verification-before-completion/SKILL.md +0 -71
  84. package/dist/assets/templates/skills/verification-gates/SKILL.md +0 -169
  85. package/dist/assets/templates/workflows/discuss-phase.md +0 -683
  86. package/dist/assets/templates/workflows/research-phase.md +0 -73
  87. package/dist/assets/templates/workflows/verify-work.md +0 -572
  88. package/dist/core-D5zUr9cb.cjs +0 -4305
  89. package/dist/core-D5zUr9cb.cjs.map +0 -1
  90. package/dist/skills-CjFWZIGM.cjs +0 -6824
  91. package/dist/skills-CjFWZIGM.cjs.map +0 -1
@@ -1,1503 +1,284 @@
1
1
  <purpose>
2
- Initialize a new project through unified flow: questioning, research (optional), requirements, roadmap. This is the most leveraged moment in any project deep questioning here means better plans, better execution, better outcomes. One workflow takes you from idea to ready-for-planning.
2
+ Full initialization for a new project. Takes a repo from zero to a GitHub-tracked MAXSIM project with a config, labels, project board, and optional initial roadmap. Proceeds in five phases: scan (if code exists), interview, GitHub setup, local setup, roadmap.
3
3
  </purpose>
4
4
 
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- @~/.claude/maxsim/references/thinking-partner.md
8
- @~/.claude/maxsim/references/questioning.md
9
- </required_reading>
10
-
11
- <auto_mode>
12
- ## Auto Mode Detection
13
-
14
- Check if `--auto` flag is present in $ARGUMENTS.
15
-
16
- **If auto mode:**
17
- - Skip brownfield mapping offer (assume greenfield)
18
- - Skip deep questioning (extract context from provided document)
19
- - Config: YOLO mode is implicit (skip that question), but ask depth/git/agents FIRST (Step 2a)
20
- - After config: run Steps 6-9 automatically with smart defaults:
21
- - Research: Always yes
22
- - Requirements: Include all table stakes + features from provided document
23
- - Requirements approval: Auto-approve
24
- - Roadmap approval: Auto-approve
25
-
26
- **Document requirement:**
27
- Auto mode requires an idea document — either:
28
- - File reference: `/maxsim:init --auto @prd.md`
29
- - Pasted/written text in the prompt
30
-
31
- If no document content provided, error:
32
-
33
- ```
34
- Error: --auto requires an idea document.
35
-
36
- Usage:
37
- /maxsim:init --auto @your-idea.md
38
- /maxsim:init --auto [paste or write your idea here]
39
-
40
- The document should describe what you want to build.
41
- ```
42
- </auto_mode>
43
-
44
5
  <process>
45
6
 
46
- ## 1. Setup
47
-
48
- **MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
49
-
50
- **If `INIT_CONTEXT` was already loaded by the router** (the init.md workflow runs this before delegating), use that JSON directly — do NOT re-run the CLI command.
51
-
52
- **Otherwise**, run:
53
-
54
- ```bash
55
- INIT=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs init new-project)
56
- ```
57
-
58
- Parse JSON for: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `project_exists`, `has_codebase_map`, `planning_exists`, `has_existing_code`, `has_package_file`, `is_brownfield`, `needs_codebase_map`, `has_git`, `project_path`, `github_ready`, `has_github_remote`, `gh_authenticated`.
59
-
60
- **If `project_exists` is true:** Error — project already initialized. Use `/maxsim:progress`.
61
-
62
- **If `has_git` is false:** Initialize git:
63
- ```bash
64
- git init
65
- ```
66
-
67
- ## 1b. GitHub Prerequisites Gate
68
-
69
- **This gate is MANDATORY. Do not proceed if it fails.**
70
-
71
- Parse init context for `has_github_remote` and `gh_authenticated`:
72
-
73
- 1. If `has_github_remote` is false:
74
- - STOP. Tell user:
75
- ```
76
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
77
- MAXSIM ► NO GITHUB REMOTE FOUND
78
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
79
-
80
- MAXSIM requires a GitHub remote to track phases as Issues.
81
-
82
- To fix: git remote add origin <your-repo-url>
83
-
84
- Then re-run /maxsim:init.
85
- ```
86
- - Do NOT proceed with project setup.
87
-
88
- 2. If `gh_authenticated` is false:
89
- - STOP. Tell user:
90
- ```
91
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
- MAXSIM ► GITHUB CLI NOT AUTHENTICATED
93
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
94
-
95
- MAXSIM requires GitHub CLI authentication to create phase issues.
96
-
97
- To fix: gh auth login
98
-
99
- Then re-run /maxsim:init.
100
- ```
101
- - Do NOT proceed with project setup.
102
-
103
- 3. Both checks passed — run `github setup` with the project name as the milestone title:
104
- ```bash
105
- node ~/.claude/maxsim/bin/maxsim-tools.cjs github setup --milestone-title "[project name]"
106
- ```
107
-
108
- 4. If `github setup` fails:
109
- - STOP with the error message returned by the tool.
110
- - Do not fall back to local-only mode.
111
-
112
- 5. Record the `project_number` and board details returned by `github setup` for use in the Phase Issue Creation step.
113
-
114
- ## 2. Brownfield Offer
115
-
116
- **If auto mode:** Skip to Step 4 (assume greenfield, synthesize PROJECT.md from provided document).
117
-
118
- **If `needs_codebase_map` is true** (from init — existing code detected but no codebase map):
119
-
120
- Use AskUserQuestion:
121
- - header: "Codebase"
122
- - question: "I detected existing code in this directory. Would you like to map the codebase first?"
123
- - options:
124
- - "Map codebase first" — Run /maxsim:init (codebase mapping stage) to understand existing architecture (Recommended)
125
- - "Skip mapping" — Proceed with project initialization
126
-
127
- **If "Map codebase first":**
128
- ```
129
- Run `/maxsim:init (codebase mapping stage)` first, then return to `/maxsim:init`
130
- ```
131
- Exit command.
132
-
133
- **If "Skip mapping" OR `needs_codebase_map` is false:** Continue to Step 3.
134
-
135
- ## 2a. Auto Mode Config (auto mode only)
136
-
137
- **If auto mode:** Collect config settings upfront before processing the idea document.
138
-
139
- YOLO mode is implicit (auto = YOLO). Ask remaining config questions:
140
-
141
- **Round 1 — Core settings (3 questions, no Mode question):**
142
-
143
- ```
144
- AskUserQuestion([
145
- {
146
- header: "Depth",
147
- question: "How thorough should planning be?",
148
- multiSelect: false,
149
- options: [
150
- { label: "Quick (Recommended)", description: "Ship fast (3-5 phases, 1-3 plans each)" },
151
- { label: "Standard", description: "Balanced scope and speed (5-8 phases, 3-5 plans each)" },
152
- { label: "Comprehensive", description: "Thorough coverage (8-12 phases, 5-10 plans each)" }
153
- ]
154
- },
155
- {
156
- header: "Execution",
157
- question: "Run plans in parallel?",
158
- multiSelect: false,
159
- options: [
160
- { label: "Parallel (Recommended)", description: "Independent plans run simultaneously" },
161
- { label: "Sequential", description: "One plan at a time" }
162
- ]
163
- },
164
- {
165
- header: "Git Tracking",
166
- question: "Commit planning docs to git?",
167
- multiSelect: false,
168
- options: [
169
- { label: "Yes (Recommended)", description: "Planning docs tracked in version control" },
170
- { label: "No", description: "Keep .planning/ local-only (add to .gitignore)" }
171
- ]
172
- }
173
- ])
174
- ```
175
-
176
- **Round 2 — Workflow agents (same as Step 5):**
177
-
178
- ```
179
- AskUserQuestion([
180
- {
181
- header: "Research",
182
- question: "Research before planning each phase? (adds tokens/time)",
183
- multiSelect: false,
184
- options: [
185
- { label: "Yes (Recommended)", description: "Investigate domain, find patterns, surface gotchas" },
186
- { label: "No", description: "Plan directly from requirements" }
187
- ]
188
- },
189
- {
190
- header: "Plan Check",
191
- question: "Verify plans will achieve their goals? (adds tokens/time)",
192
- multiSelect: false,
193
- options: [
194
- { label: "Yes (Recommended)", description: "Catch gaps before execution starts" },
195
- { label: "No", description: "Execute plans without verification" }
196
- ]
197
- },
198
- {
199
- header: "Verifier",
200
- question: "Verify work satisfies requirements after each phase? (adds tokens/time)",
201
- multiSelect: false,
202
- options: [
203
- { label: "Yes (Recommended)", description: "Confirm deliverables match phase goals" },
204
- { label: "No", description: "Trust execution, skip verification" }
205
- ]
206
- },
207
- {
208
- header: "AI Models",
209
- question: "Which AI models for planning agents?",
210
- multiSelect: false,
211
- options: [
212
- { label: "Balanced (Recommended)", description: "Sonnet for most agents — good quality/cost ratio" },
213
- { label: "Quality", description: "Opus for research/roadmap — higher cost, deeper analysis" },
214
- { label: "Budget", description: "Haiku where possible — fastest, lowest cost" }
215
- ]
216
- }
217
- ])
218
- ```
219
-
220
- Create `.planning/config.json` with mode set to "yolo":
221
-
222
- ```json
223
- {
224
- "mode": "yolo",
225
- "depth": "[selected]",
226
- "parallelization": true|false,
227
- "commit_docs": true|false,
228
- "model_profile": "quality|balanced|budget",
229
- "workflow": {
230
- "research": true|false,
231
- "plan_checker": true|false,
232
- "verifier": true|false,
233
- "auto_advance": true
234
- }
235
- }
236
- ```
7
+ ## Phase 1: Prerequisites Gate
237
8
 
238
- **If commit_docs = No:** Add `.planning/` to `.gitignore`.
239
-
240
- **Commit config.json:**
9
+ Before any user interaction, verify GitHub is accessible.
241
10
 
242
11
  ```bash
243
- mkdir -p .planning
244
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "chore: add project config" --files .planning/config.json
12
+ gh auth status 2>/dev/null && echo "AUTH_OK" || echo "AUTH_FAIL"
13
+ git remote get-url origin 2>/dev/null && echo "REMOTE_OK" || echo "REMOTE_FAIL"
245
14
  ```
246
15
 
247
- **Persist auto-advance to config (survives context compaction):**
248
-
249
- ```bash
250
- node ~/.claude/maxsim/bin/maxsim-tools.cjs config-set workflow.auto_advance true
251
- ```
252
-
253
- Proceed to Step 4 (skip Steps 3 and 5).
254
-
255
- ## 3. Deep Questioning
256
-
257
- **If auto mode:** Skip (already handled in Step 2a). Extract project context from provided document instead and proceed to Step 4.
258
-
259
- **Display stage banner:**
16
+ **If AUTH_FAIL:**
260
17
 
261
18
  ```
262
19
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
263
- MAXSIM ► QUESTIONING
20
+ MAXSIM ► GITHUB CLI NOT AUTHENTICATED
264
21
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
265
- ```
266
-
267
- **Open the conversation:**
268
-
269
- Ask inline (freeform, NOT AskUserQuestion):
270
-
271
- "What do you want to build?"
272
-
273
- Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
274
-
275
- **Follow the thread (thinking-partner mode):**
276
-
277
- 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.
278
-
279
- Apply thinking-partner behaviors from `thinking-partner.md`:
280
- - **Challenge vague answers** — "Good UX" means what? Push for specifics.
281
- - **Surface unstated assumptions** — Name assumptions the user didn't realize they were making.
282
- - **Propose alternatives with trade-offs** — Don't just accept the first approach. Offer 2-3 paths.
283
- - **Suggest directions** — "Have you considered...?" Frame as possibilities, not mandates.
284
- - **Make consequences visible** — "If we go with X, that means Y will need to change."
285
- - **Disagree constructively** — If you see a risk, say so.
286
-
287
- Keep following threads. Each answer opens new threads to explore. Ask about:
288
- - What excited them
289
- - What problem sparked this
290
- - What they mean by vague terms
291
- - What it would actually look like
292
- - What's already decided
293
-
294
- Consult `questioning.md` for techniques:
295
- - Challenge vagueness
296
- - Make abstract concrete
297
- - Surface assumptions
298
- - Find edges
299
- - Reveal motivation
300
-
301
- **Track context with domain checklist (background, not out loud):**
302
-
303
- Follow the `<domain_checklist>` from `questioning.md`. Silently track which domains have been COVERED, marked N/A, or remain UNCOVERED as the conversation progresses. Do NOT show the checklist or switch to checklist mode. Weave uncovered domains naturally when the conversation allows.
304
-
305
- Also follow the `<nogos_tracking>` from `questioning.md`:
306
- - Watch for rejection signals, past failures, and strong opinions throughout
307
- - Silently accumulate no-gos — do NOT confirm each one as it comes up
308
- - After 5+ rounds, weave challenge-based probing naturally ("What would make this project fail?")
309
- - After understanding the domain, suggest common anti-patterns for their project type
310
-
311
- **Count questioning rounds internally.** Each AskUserQuestion call counts as one round. Do NOT show the count to the user.
312
22
 
313
- **Decision gate (with coverage gate):**
23
+ MAXSIM requires GitHub CLI authentication.
314
24
 
315
- The "Ready?" option ONLY appears when BOTH conditions are met:
316
- 1. Round count >= 10 (at least 10 questioning rounds completed)
317
- 2. Domain coverage >= 80% (at least 80% of relevant domains are COVERED or N/A)
25
+ Fix: gh auth login
318
26
 
319
- If either condition is not met, continue questioning — weave uncovered domains naturally.
320
-
321
- When both conditions are met, **first display a coverage summary** (this IS shown to the user):
322
-
323
- ```
324
- ## Domain Coverage Summary
325
-
326
- **Core:** Auth (COVERED), Data Model (COVERED), API Style (N/A), Deployment (COVERED), Error Handling (UNCOVERED), Testing (COVERED)
327
- **Infrastructure:** Caching (N/A), Search (N/A), Monitoring (COVERED), CI/CD (COVERED), Environments (COVERED)
328
- **UX/Product:** Roles (COVERED), Notifications (N/A), File Uploads (N/A), i18n (N/A), Accessibility (N/A)
329
- **Scale/Ops:** Performance (COVERED), Concurrency (N/A), Migration (N/A), Backup (N/A), Rate Limiting (N/A)
330
-
331
- Coverage: [X]% ([covered + na] / [total]) — [X] rounds completed
27
+ Then re-run /maxsim:init.
332
28
  ```
333
29
 
334
- Then use AskUserQuestion:
335
-
336
- - header: "Ready?"
337
- - question: "I think I understand what you're after. Ready to create PROJECT.md?"
338
- - options:
339
- - "Create PROJECT.md" — Let's move forward
340
- - "Keep exploring" — I want to share more / ask me more
341
-
342
- If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
343
-
344
- **No-Gos Confirmation (after user selects "Create PROJECT.md"):**
30
+ Stop. Do not proceed.
345
31
 
346
- Before writing any documents, present ALL accumulated no-gos for user confirmation:
32
+ **If REMOTE_FAIL:**
347
33
 
348
34
  ```
349
- ## No-Gos Collected
350
-
351
- During our conversation, I captured these boundaries:
352
-
353
- ### Hard Constraints
354
- - [constraint 1]
355
-
356
- ### Anti-Patterns
357
- - [pattern to avoid 1]
35
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+ MAXSIM ► NO GITHUB REMOTE FOUND
37
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
358
38
 
359
- ### Previous Failures
360
- - [past failure 1]
39
+ MAXSIM requires a GitHub remote to track phases as Issues.
361
40
 
362
- ### Domain-Specific Risks
363
- - [risk 1]
41
+ Options:
42
+ Create a new repo: gh repo create --private
43
+ Link existing repo: git remote add origin <url>
364
44
 
365
- Anything to add, remove, or change before these become locked?
45
+ Then re-run /maxsim:init.
366
46
  ```
367
47
 
368
- Use AskUserQuestion:
369
- - header: "No-Gos"
370
- - question: "Confirm these no-gos?"
371
- - options:
372
- - "Confirmed" — Lock these no-gos
373
- - "Adjust" — I want to add/remove/change some
374
-
375
- If "Adjust": capture changes via freeform, update the list, re-confirm.
376
-
377
- Loop until "Confirmed" selected. These confirmed no-gos flow into NO-GOS.md using the structured template from `templates/no-gos.md`.
378
-
379
- ## 4. Write PROJECT.md
380
-
381
- **If auto mode:** Synthesize from provided document. No "Ready?" gate was shown — proceed directly to commit.
382
-
383
- Synthesize all context into `.planning/PROJECT.md` using the template from `templates/project.md`.
384
-
385
- **For greenfield projects:**
386
-
387
- Initialize requirements as hypotheses:
48
+ Stop. Do not proceed.
388
49
 
389
- ```markdown
390
- ## Requirements
50
+ ## Phase 2: Scan (if code exists)
391
51
 
392
- ### Validated
52
+ Check for existing code:
393
53
 
394
- (None yet — ship to validate)
395
-
396
- ### Active
397
-
398
- - [ ] [Requirement 1]
399
- - [ ] [Requirement 2]
400
- - [ ] [Requirement 3]
401
-
402
- ### Out of Scope
403
-
404
- - [Exclusion 1] — [why]
405
- - [Exclusion 2] — [why]
54
+ ```bash
55
+ HAS_CODE=$(find . -maxdepth 2 -not -path './.git/*' -not -name '.gitignore' -type f 2>/dev/null | head -5 | wc -l)
406
56
  ```
407
57
 
408
- All Active requirements are hypotheses until shipped and validated.
58
+ If `HAS_CODE > 0`, spawn parallel Research agents to analyze the repo. Use the Agent tool with `isolation: "worktree"` and `run_in_background: true`.
409
59
 
410
- **For brownfield projects (codebase map exists):**
60
+ Spawn these agents simultaneously (adjust count to repo size, 5–10 agents):
411
61
 
412
- Infer Validated requirements from existing code:
62
+ **Agent 1 README and docs:**
63
+ Prompt: "Read the README.md, CONTRIBUTING.md, and any docs/ directory in this repo. Summarize: project purpose, target users, key features described, setup instructions, and any stated non-goals. Return a JSON object with keys: purpose, target_users, key_features (array), stack_mentioned (array), non_goals (array)."
413
64
 
414
- 1. Read `.planning/codebase/ARCHITECTURE.md` and `STACK.md`
415
- 2. Identify what the codebase already does
416
- 3. These become the initial Validated set
65
+ **Agent 2 Package manifest and dependencies:**
66
+ Prompt: "Read package.json, pyproject.toml, Cargo.toml, go.mod, or equivalent manifest files in this repo. Summarize: project name, version, runtime dependencies (top 10), dev dependencies (top 10), defined scripts/tasks. Return JSON with keys: project_name, version, runtime_deps (array), dev_deps (array), scripts (object)."
417
67
 
418
- ```markdown
419
- ## Requirements
68
+ **Agent 3 — CI/CD configuration:**
69
+ Prompt: "Read .github/workflows/, .circleci/, .gitlab-ci.yml, Jenkinsfile, or equivalent CI config in this repo. Summarize: CI provider, workflow triggers, test commands, build commands, deploy targets. Return JSON with keys: ci_provider, triggers (array), test_commands (array), build_commands (array), deploy_targets (array)."
420
70
 
421
- ### Validated
71
+ **Agent 4 — Test setup:**
72
+ Prompt: "Find test files in this repo (*.test.*, *.spec.*, tests/, __tests__/). Summarize: test framework(s) used, approximate test count, test coverage tooling if any, test patterns observed. Return JSON with keys: frameworks (array), approx_test_count, coverage_tool, patterns (array)."
422
73
 
423
- - [Existing capability 1] existing
424
- - [Existing capability 2] existing
425
- - ✓ [Existing capability 3] — existing
74
+ **Agent 5 File structure and architecture:**
75
+ Prompt: "List the top-level directories and key files in this repo (exclude .git, node_modules, vendor). Identify the architectural pattern: monorepo, monolith, microservices, library, CLI tool, etc. Return JSON with keys: top_level_dirs (array), architecture_pattern, entry_points (array), config_files (array)."
426
76
 
427
- ### Active
77
+ **Agents 6–10 (spawn if repo is large or complex):**
428
78
 
429
- - [ ] [New requirement 1]
430
- - [ ] [New requirement 2]
79
+ **Agent 6 Linting and formatting:**
80
+ Prompt: "Read .eslintrc*, .prettierrc*, pyproject.toml [tool.ruff], .rubocop.yml, or equivalent lint/format config. Summarize: linter, formatter, key rules enforced. Return JSON with keys: linter, formatter, key_rules (array)."
431
81
 
432
- ### Out of Scope
82
+ **Agent 7 Environment and secrets:**
83
+ Prompt: "Read .env.example, .env.sample, or any documented environment variable files (do NOT read actual .env files). List all required environment variables and their purpose. Return JSON with keys: env_vars (array of {name, purpose})."
433
84
 
434
- - [Exclusion 1] [why]
435
- ```
436
-
437
- **Key Decisions:**
438
-
439
- Initialize with any decisions made during questioning:
440
-
441
- ```markdown
442
- ## Key Decisions
443
-
444
- | Decision | Rationale | Outcome |
445
- |----------|-----------|---------|
446
- | [Choice from questioning] | [Why] | — Pending |
447
- ```
85
+ **Agent 8Database and data layer:**
86
+ Prompt: "Look for ORM configs, migration files, schema files, or database connection setup in this repo. Summarize: database type, ORM/query builder, migration tool, schema highlights. Return JSON with keys: db_type, orm, migration_tool, schema_notes."
448
87
 
449
- **Last updated footer:**
88
+ **Agent 9 — Deployment and infrastructure:**
89
+ Prompt: "Look for Dockerfile, docker-compose.yml, Kubernetes manifests, Terraform, CDK, or serverless configs. Summarize: containerization approach, orchestration, cloud provider, infrastructure-as-code tool. Return JSON with keys: containerized, orchestration, cloud_provider, iac_tool."
450
90
 
451
- ```markdown
452
- ---
453
- *Last updated: [date] after initialization*
454
- ```
91
+ **Agent 10 — Open issues and tech debt:**
92
+ Prompt: "Search for TODO, FIXME, HACK, and DEPRECATED comments across source files. List the top 10 by frequency of occurrence. Also check if there are open GitHub issues via: gh issue list --state open --json number,title,labels. Return JSON with keys: todo_hotspots (array of {file, count}), open_issues (array of {number, title})."
455
93
 
456
- Do not compress. Capture everything gathered.
94
+ After all agents complete, synthesize their JSON outputs into a single findings object. This feeds into the interview phase to pre-fill answers and skip redundant questions.
457
95
 
458
- **Commit PROJECT.md:**
96
+ ## Phase 3: Interview
459
97
 
460
- ```bash
461
- mkdir -p .planning
462
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: initialize project" --files .planning/PROJECT.md
463
- ```
98
+ Use AskUserQuestion to gather project context. Maximum 4 questions per call. Skip any question for which the scan already produced a confident answer.
464
99
 
465
- ## 4b. Generate Artefakte
100
+ **Batch 1 Core identity (always ask):**
466
101
 
467
- After PROJECT.md is committed, generate artefakte documents that capture structured insights from questioning.
102
+ Use AskUserQuestion:
103
+ - header: "New Project Setup (1/3)"
104
+ - questions:
105
+ 1. "What is the project name?" (prefill from scan: `project_name` if found)
106
+ 2. "Describe the project in one sentence — what does it do and for whom?"
107
+ 3. "What are the 3 most important goals for this project?" (freeform)
108
+ 4. "What is the primary tech stack?" (prefill from scan: `stack_mentioned` if found)
468
109
 
469
- **DECISIONS.md**Key decisions made during questioning with rationale:
110
+ **Batch 2 Conventions and constraints:**
470
111
 
471
- ```bash
472
- node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write decisions
473
- ```
112
+ Use AskUserQuestion:
113
+ - header: "New Project Setup (2/3)"
114
+ - questions:
115
+ 1. "What testing strategy will you use? (unit, integration, e2e, TDD, etc.)" (prefill from scan if found)
116
+ 2. "What are the coding conventions or style rules to enforce?" (prefill from scan lint findings)
117
+ 3. "What are the acceptance criteria for the first milestone?" (freeform)
118
+ 4. "What are the explicit no-gos — things MAXSIM agents must never do?" (freeform)
474
119
 
475
- Write content:
120
+ **Batch 3 — Optional context:**
476
121
 
477
- ```markdown
478
- # Key Decisions
122
+ Use AskUserQuestion:
123
+ - header: "New Project Setup (3/3)"
124
+ - questions:
125
+ 1. "Are there any external APIs or services this project depends on?" (prefill from scan env_vars if found)
126
+ 2. "Any additional context agents should know? (team size, deadlines, constraints)" (freeform, optional)
479
127
 
480
- **Generated:** [date]
481
- **Source:** Project initialization questioning
128
+ Collect and store all answers as `PROJECT_CONTEXT`.
482
129
 
483
- | # | Decision | Rationale | Alternatives Considered | Status |
484
- |---|----------|-----------|------------------------|--------|
485
- | 1 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
486
- | 2 | [Choice from questioning] | [Why this was chosen] | [What else was discussed] | Locked |
130
+ ## Phase 4: GitHub Setup
487
131
 
488
- ---
489
- *Decisions captured during /maxsim:init initialization*
490
- ```
132
+ Execute in sequence:
491
133
 
492
- **ACCEPTANCE-CRITERIA.md** Measurable success criteria derived from user's vision:
134
+ **4a. Ensure labels:**
493
135
 
494
136
  ```bash
495
- node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write acceptance-criteria
137
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs github ensure-labels
496
138
  ```
497
139
 
498
- Write content:
499
-
500
- ```markdown
501
- # Acceptance Criteria
502
-
503
- **Generated:** [date]
504
- **Source:** Project initialization
140
+ This creates the standard MAXSIM label set (phase:N, status:*, priority:*, bug, etc.).
505
141
 
506
- ## Project-Level Criteria
507
-
508
- These define what "done" looks like for the entire project:
509
-
510
- - [ ] [Observable outcome from user's vision]
511
- - [ ] [Observable outcome from user's vision]
512
- - [ ] [Observable outcome from user's vision]
513
-
514
- ## Phase-Level Criteria
515
-
516
- Populated per-phase during /maxsim:plan.
517
-
518
- ---
519
- *Criteria derived from project initialization*
520
- ```
521
-
522
- **NO-GOS.md** — Explicit exclusions and anti-patterns:
142
+ **4b. Create GitHub Project Board:**
523
143
 
524
144
  ```bash
525
- node ~/.claude/maxsim/bin/maxsim-tools.cjs artefakte-write no-gos
526
- ```
527
-
528
- Write content:
529
-
530
- ```markdown
531
- # No-Gos
532
-
533
- **Generated:** [date]
534
- **Source:** Project initialization
145
+ REPO=$(gh repo view --json owner,name -q '"\(.owner.login)/\(.name)"')
146
+ OWNER=$(gh repo view --json owner -q '.owner.login')
147
+ PROJECT_NAME="{project_name} — MAXSIM"
535
148
 
536
- ## Excluded Features
537
-
538
- - [Feature explicitly excluded] — [why]
539
-
540
- ## Anti-Patterns
541
-
542
- - [Approach to avoid] — [why]
543
-
544
- ## Scope Boundaries
545
-
546
- - [What this project is NOT]
547
-
548
- ---
549
- *No-gos captured during /maxsim:init initialization*
149
+ gh project create --owner "$OWNER" --title "$PROJECT_NAME"
550
150
  ```
551
151
 
552
- **CONVENTIONS.md** Coding conventions for agents to follow:
152
+ Capture the project number from the output.
553
153
 
554
- Generate `.planning/CONVENTIONS.md` using the template from `templates/conventions.md`.
154
+ **4c. Store project board number in config:**
555
155
 
556
- **If research has already run (Step 6 completed):**
557
- Populate from research recommendations + questioning confirmations:
558
- - Tech Stack: from locked decisions in research synthesis
559
- - File Layout: from recommended framework conventions
560
- - Error Handling: from user's stated preference during questioning
561
- - Testing: from user's stated testing strategy during questioning
562
- - Set `{{source}}` to "new-project init (research-informed)"
563
- - Set `{{generated_or_confirmed}}` to "generated"
564
-
565
- **If no research (Step 6 was skipped):**
566
- Populate from questioning context + reasonable defaults:
567
- - Tech Stack: from any technology choices mentioned during questioning
568
- - File Layout: from framework conventions (infer from chosen framework)
569
- - Error Handling: from user's stated preference or framework default
570
- - Testing: from user's stated strategy or framework default
571
- - Set `{{source}}` to "new-project init (questioning-derived)"
572
- - Set `{{generated_or_confirmed}}` to "generated"
573
-
574
- Write content using the 4 must-have sections (Tech Stack, File Layout, Error Handling, Testing). Remove HTML comment examples and replace with actual project-specific conventions.
575
-
576
- Write `.planning/CONVENTIONS.md` directly using the Write tool (CONVENTIONS.md is not a valid artefakt type):
577
156
  ```bash
578
- # Use the Write tool to create .planning/CONVENTIONS.md with the content above
157
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs github set-project --number {PROJECT_NUMBER}
579
158
  ```
580
159
 
581
- **Commit artefakte:**
160
+ **4d. Create initial milestone:**
582
161
 
583
162
  ```bash
584
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: generate initialization artefakte" --files .planning/DECISIONS.md .planning/ACCEPTANCE-CRITERIA.md .planning/NO-GOS.md .planning/CONVENTIONS.md
585
- ```
586
-
587
- **If auto mode:** Generate artefakte from the provided document with reasonable inferences. Mark uncertain entries with `(inferred)`.
588
-
589
- ## 5. Workflow Preferences
590
-
591
- **If auto mode:** Skip — config was collected in Step 2a. Proceed to Step 5.5.
592
-
593
- **Check for global defaults** at `~/.maxsim/defaults.json`. If the file exists, offer to use saved defaults:
594
-
595
- ```
596
- AskUserQuestion([
597
- {
598
- question: "Use your saved default settings? (from ~/.maxsim/defaults.json)",
599
- header: "Defaults",
600
- multiSelect: false,
601
- options: [
602
- { label: "Yes (Recommended)", description: "Use saved defaults, skip settings questions" },
603
- { label: "No", description: "Configure settings manually" }
604
- ]
605
- }
606
- ])
607
- ```
608
-
609
- If "Yes": read `~/.maxsim/defaults.json`, use those values for config.json, and skip directly to **Commit config.json** below.
610
-
611
- If "No" or `~/.maxsim/defaults.json` doesn't exist: proceed with the questions below.
612
-
613
- **Round 1 — Core workflow settings (4 questions):**
614
-
615
- ```
616
- questions: [
617
- {
618
- header: "Mode",
619
- question: "How do you want to work?",
620
- multiSelect: false,
621
- options: [
622
- { label: "YOLO (Recommended)", description: "Auto-approve, just execute" },
623
- { label: "Interactive", description: "Confirm at each step" }
624
- ]
625
- },
626
- {
627
- header: "Depth",
628
- question: "How thorough should planning be?",
629
- multiSelect: false,
630
- options: [
631
- { label: "Quick", description: "Ship fast (3-5 phases, 1-3 plans each)" },
632
- { label: "Standard", description: "Balanced scope and speed (5-8 phases, 3-5 plans each)" },
633
- { label: "Comprehensive", description: "Thorough coverage (8-12 phases, 5-10 plans each)" }
634
- ]
635
- },
636
- {
637
- header: "Execution",
638
- question: "Run plans in parallel?",
639
- multiSelect: false,
640
- options: [
641
- { label: "Parallel (Recommended)", description: "Independent plans run simultaneously" },
642
- { label: "Sequential", description: "One plan at a time" }
643
- ]
644
- },
645
- {
646
- header: "Git Tracking",
647
- question: "Commit planning docs to git?",
648
- multiSelect: false,
649
- options: [
650
- { label: "Yes (Recommended)", description: "Planning docs tracked in version control" },
651
- { label: "No", description: "Keep .planning/ local-only (add to .gitignore)" }
652
- ]
653
- }
654
- ]
163
+ gh api repos/$REPO/milestones \
164
+ --method POST \
165
+ --field title="Milestone 1 — {project_name}" \
166
+ --field description="Initial milestone created by MAXSIM" \
167
+ --field state="open"
655
168
  ```
656
169
 
657
- **Round 2 Workflow agents:**
658
-
659
- These spawn additional agents during planning/execution. They add tokens and time but improve quality.
660
-
661
- | Agent | When it runs | What it does |
662
- |-------|--------------|--------------|
663
- | **Researcher** | Before planning each phase | Investigates domain, finds patterns, surfaces gotchas |
664
- | **Plan Checker** | After plan is created | Verifies plan actually achieves the phase goal |
665
- | **Verifier** | After phase execution | Confirms must-haves were delivered |
666
-
667
- All recommended for important projects. Skip for quick experiments.
170
+ ## Phase 5: Local Setup
668
171
 
669
- ```
670
- questions: [
671
- {
672
- header: "Research",
673
- question: "Research before planning each phase? (adds tokens/time)",
674
- multiSelect: false,
675
- options: [
676
- { label: "Yes (Recommended)", description: "Investigate domain, find patterns, surface gotchas" },
677
- { label: "No", description: "Plan directly from requirements" }
678
- ]
679
- },
680
- {
681
- header: "Plan Check",
682
- question: "Verify plans will achieve their goals? (adds tokens/time)",
683
- multiSelect: false,
684
- options: [
685
- { label: "Yes (Recommended)", description: "Catch gaps before execution starts" },
686
- { label: "No", description: "Execute plans without verification" }
687
- ]
688
- },
689
- {
690
- header: "Verifier",
691
- question: "Verify work satisfies requirements after each phase? (adds tokens/time)",
692
- multiSelect: false,
693
- options: [
694
- { label: "Yes (Recommended)", description: "Confirm deliverables match phase goals" },
695
- { label: "No", description: "Trust execution, skip verification" }
696
- ]
697
- },
698
- {
699
- header: "AI Models",
700
- question: "Which AI models for planning agents?",
701
- multiSelect: false,
702
- options: [
703
- { label: "Balanced (Recommended)", description: "Sonnet for most agents — good quality/cost ratio" },
704
- { label: "Quality", description: "Opus for research/roadmap — higher cost, deeper analysis" },
705
- { label: "Budget", description: "Haiku where possible — fastest, lowest cost" }
706
- ]
707
- }
708
- ]
709
- ```
172
+ **5a. Write .claude/maxsim/config.json:**
710
173
 
711
- Create `.planning/config.json` with all settings:
174
+ Create `.claude/maxsim/config.json` with:
712
175
 
713
176
  ```json
714
177
  {
715
- "mode": "yolo|interactive",
716
- "depth": "quick|standard|comprehensive",
717
- "parallelization": true|false,
718
- "commit_docs": true|false,
719
- "model_profile": "quality|balanced|budget",
720
- "workflow": {
721
- "research": true|false,
722
- "plan_checker": true|false,
723
- "verifier": true|false
724
- }
178
+ "version": "6",
179
+ "project_name": "{project_name}",
180
+ "description": "{one_sentence_description}",
181
+ "tech_stack": ["{stack items}"],
182
+ "testing_strategy": "{testing_strategy}",
183
+ "conventions": "{conventions}",
184
+ "no_gos": ["{no_go items}"],
185
+ "acceptance_criteria": "{acceptance_criteria}",
186
+ "github": {
187
+ "repo": "{owner/repo}",
188
+ "project_number": {PROJECT_NUMBER},
189
+ "milestone_number": {MILESTONE_NUMBER}
190
+ },
191
+ "initialized_at": "{ISO timestamp}"
725
192
  }
726
193
  ```
727
194
 
728
- **If commit_docs = No:**
729
- - Set `commit_docs: false` in config.json
730
- - Add `.planning/` to `.gitignore` (create if needed)
731
-
732
- **If commit_docs = Yes:**
733
- - No additional gitignore entries needed
195
+ **5b. Write or update CLAUDE.md:**
734
196
 
735
- **Commit config.json:**
197
+ Use the install system to write project-level CLAUDE.md context:
736
198
 
737
199
  ```bash
738
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "chore: add project config" --files .planning/config.json
739
- ```
740
-
741
- **Note:** Run `/maxsim:settings` anytime to update these preferences.
742
-
743
- ## 5.5. Resolve Model Profile
744
-
745
- Use models from init: `researcher_model`, `synthesizer_model`, `roadmapper_model`.
746
-
747
- ## 6. Research Decision
748
-
749
- **If auto mode:** Default to "Research first" without asking.
750
-
751
- Use AskUserQuestion:
752
- - header: "Research"
753
- - question: "Research the domain ecosystem before defining requirements?"
754
- - options:
755
- - "Research first (Recommended)" — Discover standard stacks, expected features, architecture patterns
756
- - "Skip research" — I know this domain well, go straight to requirements
757
-
758
- **If "Research first":**
759
-
760
- Display stage banner:
761
- ```
762
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
763
- MAXSIM ► RESEARCHING
764
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
765
-
766
- Researching [domain] ecosystem...
767
- ```
768
-
769
- Create research directory:
770
- ```bash
771
- mkdir -p .planning/research
772
- ```
773
-
774
- **Determine milestone context:**
775
-
776
- Check if this is greenfield or subsequent milestone:
777
- - If no "Validated" requirements in PROJECT.md → Greenfield (building from scratch)
778
- - If "Validated" requirements exist → Subsequent milestone (adding to existing app)
779
-
780
- Display spawning indicator:
781
- ```
782
- ◆ Spawning 4 researchers in parallel...
783
- → Stack research
784
- → Features research
785
- → Architecture research
786
- → Pitfalls research
787
- ```
788
-
789
- Spawn 4 parallel researcher agents with path references:
790
-
791
- ```
792
- Task(prompt="
793
-
794
- <research_type>
795
- Project Research — Stack dimension for [domain].
796
- </research_type>
797
-
798
- <milestone_context>
799
- [greenfield OR subsequent]
800
-
801
- Greenfield: Research the standard stack for building [domain] from scratch.
802
- Subsequent: Research what's needed to add [target features] to an existing [domain] app. Don't re-research the existing system.
803
- </milestone_context>
804
-
805
- <question>
806
- What's the standard 2025 stack for [domain]?
807
- </question>
808
-
809
- <files_to_read>
810
- - {project_path} (Project context and goals)
811
- </files_to_read>
812
-
813
- <downstream_consumer>
814
- Your STACK.md feeds into roadmap creation. Be prescriptive:
815
- - Specific libraries with versions
816
- - Clear rationale for each choice
817
- - What NOT to use and why
818
- </downstream_consumer>
819
-
820
- <quality_gate>
821
- - [ ] Versions are current (verify with Context7/official docs, not training data)
822
- - [ ] Rationale explains WHY, not just WHAT
823
- - [ ] Confidence levels assigned to each recommendation
824
- </quality_gate>
825
-
826
- <output>
827
- Write to: .planning/research/STACK.md
828
- Use template: ~/.claude/maxsim/templates/research-project/STACK.md
829
- </output>
830
- ", subagent_type="researcher", model="{researcher_model}", description="Stack research")
831
-
832
- Task(prompt="
833
-
834
- <research_type>
835
- Project Research — Features dimension for [domain].
836
- </research_type>
837
-
838
- <milestone_context>
839
- [greenfield OR subsequent]
840
-
841
- Greenfield: What features do [domain] products have? What's table stakes vs differentiating?
842
- Subsequent: How do [target features] typically work? What's expected behavior?
843
- </milestone_context>
844
-
845
- <question>
846
- What features do [domain] products have? What's table stakes vs differentiating?
847
- </question>
848
-
849
- <files_to_read>
850
- - {project_path} (Project context)
851
- </files_to_read>
852
-
853
- <downstream_consumer>
854
- Your FEATURES.md feeds into requirements definition. Categorize clearly:
855
- - Table stakes (must have or users leave)
856
- - Differentiators (competitive advantage)
857
- - Anti-features (things to deliberately NOT build)
858
- </downstream_consumer>
859
-
860
- <quality_gate>
861
- - [ ] Categories are clear (table stakes vs differentiators vs anti-features)
862
- - [ ] Complexity noted for each feature
863
- - [ ] Dependencies between features identified
864
- </quality_gate>
865
-
866
- <output>
867
- Write to: .planning/research/FEATURES.md
868
- Use template: ~/.claude/maxsim/templates/research-project/FEATURES.md
869
- </output>
870
- ", subagent_type="researcher", model="{researcher_model}", description="Features research")
871
-
872
- Task(prompt="
873
-
874
- <research_type>
875
- Project Research — Architecture dimension for [domain].
876
- </research_type>
877
-
878
- <milestone_context>
879
- [greenfield OR subsequent]
880
-
881
- Greenfield: How are [domain] systems typically structured? What are major components?
882
- Subsequent: How do [target features] integrate with existing [domain] architecture?
883
- </milestone_context>
884
-
885
- <question>
886
- How are [domain] systems typically structured? What are major components?
887
- </question>
888
-
889
- <files_to_read>
890
- - {project_path} (Project context)
891
- </files_to_read>
892
-
893
- <downstream_consumer>
894
- Your ARCHITECTURE.md informs phase structure in roadmap. Include:
895
- - Component boundaries (what talks to what)
896
- - Data flow (how information moves)
897
- - Suggested build order (dependencies between components)
898
- </downstream_consumer>
899
-
900
- <quality_gate>
901
- - [ ] Components clearly defined with boundaries
902
- - [ ] Data flow direction explicit
903
- - [ ] Build order implications noted
904
- </quality_gate>
905
-
906
- <output>
907
- Write to: .planning/research/ARCHITECTURE.md
908
- Use template: ~/.claude/maxsim/templates/research-project/ARCHITECTURE.md
909
- </output>
910
- ", subagent_type="researcher", model="{researcher_model}", description="Architecture research")
911
-
912
- Task(prompt="
913
-
914
- <research_type>
915
- Project Research — Pitfalls dimension for [domain].
916
- </research_type>
917
-
918
- <milestone_context>
919
- [greenfield OR subsequent]
920
-
921
- Greenfield: What do [domain] projects commonly get wrong? Critical mistakes?
922
- Subsequent: What are common mistakes when adding [target features] to [domain]?
923
- </milestone_context>
924
-
925
- <question>
926
- What do [domain] projects commonly get wrong? Critical mistakes?
927
- </question>
928
-
929
- <files_to_read>
930
- - {project_path} (Project context)
931
- </files_to_read>
932
-
933
- <downstream_consumer>
934
- Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
935
- - Warning signs (how to detect early)
936
- - Prevention strategy (how to avoid)
937
- - Which phase should address it
938
- </downstream_consumer>
939
-
940
- <quality_gate>
941
- - [ ] Pitfalls are specific to this domain (not generic advice)
942
- - [ ] Prevention strategies are actionable
943
- - [ ] Phase mapping included where relevant
944
- </quality_gate>
945
-
946
- <output>
947
- Write to: .planning/research/PITFALLS.md
948
- Use template: ~/.claude/maxsim/templates/research-project/PITFALLS.md
949
- </output>
950
- ", subagent_type="researcher", model="{researcher_model}", description="Pitfalls research")
951
- ```
952
-
953
- After all 4 agents complete, spawn synthesizer to create SUMMARY.md:
954
-
955
- ```
956
- Task(prompt="
957
- <task>
958
- Synthesize research outputs into SUMMARY.md.
959
- </task>
960
-
961
- <files_to_read>
962
- - .planning/research/STACK.md
963
- - .planning/research/FEATURES.md
964
- - .planning/research/ARCHITECTURE.md
965
- - .planning/research/PITFALLS.md
966
- </files_to_read>
967
-
968
- <output>
969
- Write to: .planning/research/SUMMARY.md
970
- Use template: ~/.claude/maxsim/templates/research-project/SUMMARY.md
971
- Commit after writing.
972
- </output>
973
- ", subagent_type="researcher", model="{synthesizer_model}", description="Synthesize research")
974
- ```
975
-
976
- **Locked Decisions Approval Gate:**
977
-
978
- After synthesis completes, read `.planning/research/SUMMARY.md` and extract the "Locked Decisions" section. Present these to the user for approval:
979
-
980
- ```
981
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
982
- MAXSIM ► RESEARCH COMPLETE ✓
983
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
984
-
985
- ## Key Findings
986
-
987
- **Stack:** [from SUMMARY.md]
988
- **Table Stakes:** [from SUMMARY.md]
989
- **Watch Out For:** [from SUMMARY.md]
990
-
991
- Files: `.planning/research/`
992
-
993
- ## Locked Decisions (Approval Required)
994
-
995
- These decisions will flow to the planner as constraints:
996
-
997
- | # | Decision | Rationale | Alternatives Rejected | Effort |
998
- |---|----------|-----------|----------------------|--------|
999
- | 1 | [from SUMMARY.md] | ... | ... | ... |
1000
- | 2 | [from SUMMARY.md] | ... | ... | ... |
200
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs install write-claude-md \
201
+ --project-name "{project_name}" \
202
+ --description "{description}"
1001
203
  ```
1002
204
 
1003
- Use AskUserQuestion:
1004
- - header: "Decisions"
1005
- - question: "Approve these locked decisions? You can override any of them."
1006
- - options:
1007
- - "Approve all" — Lock these decisions as-is
1008
- - "Override some" — I want to change some decisions
1009
- - "Reject all" — Start fresh on decisions
1010
-
1011
- If "Override some": ask which decisions to change, capture overrides, update the locked decisions list.
1012
- If "Reject all": remove locked decisions section from SUMMARY.md; decisions will emerge during requirements/roadmap instead.
1013
-
1014
- **After approval, update PROJECT.md** with the "Tech Stack Decisions" section (from template `templates/project.md`):
1015
-
1016
- Read the current `.planning/PROJECT.md` and append the Tech Stack Decisions section populated from the approved locked decisions. Use the format from the project.md template.
205
+ If the command is unavailable, write `.claude/maxsim/PROJECT.md` directly with the full project context gathered in the interview phase.
1017
206
 
1018
- ```bash
1019
- # PROJECT.md already exists from Step 4 — update it with tech stack decisions
1020
- ```
207
+ **5c. Commit initialization files:**
1021
208
 
1022
- Commit the updated PROJECT.md:
1023
209
  ```bash
1024
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: add tech stack decisions from research" --files .planning/PROJECT.md
1025
- ```
1026
-
1027
- **If "Skip research":** Continue to Step 7.
1028
-
1029
- ## 7. Define Requirements
1030
-
1031
- Display stage banner:
210
+ git add .claude/
211
+ git commit -m "chore: initialize MAXSIM v6"
1032
212
  ```
1033
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1034
- MAXSIM ► DEFINING REQUIREMENTS
1035
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1036
- ```
1037
-
1038
- **Load context:**
1039
-
1040
- Read PROJECT.md and extract:
1041
- - Core value (the ONE thing that must work)
1042
- - Stated constraints (budget, timeline, tech limitations)
1043
- - Any explicit scope boundaries
1044
-
1045
- **If research exists:** Read research/FEATURES.md and extract feature categories.
1046
-
1047
- **If auto mode:**
1048
- - Auto-include all table stakes features (users expect these)
1049
- - Include features explicitly mentioned in provided document
1050
- - Auto-defer differentiators not mentioned in document
1051
- - Skip per-category AskUserQuestion loops
1052
- - Skip "Any additions?" question
1053
- - Skip requirements approval gate
1054
- - Generate REQUIREMENTS.md and commit directly
1055
-
1056
- **Present features by category (interactive mode only):**
1057
-
1058
- ```
1059
- Here are the features for [domain]:
1060
-
1061
- ## Authentication
1062
- **Table stakes:**
1063
- - Sign up with email/password
1064
- - Email verification
1065
- - Password reset
1066
- - Session management
1067
213
 
1068
- **Differentiators:**
1069
- - Magic link login
1070
- - OAuth (Google, GitHub)
1071
- - 2FA
1072
-
1073
- **Research notes:** [any relevant notes]
1074
-
1075
- ---
1076
-
1077
- ## [Next Category]
1078
- ...
1079
- ```
1080
-
1081
- **If no research:** Gather requirements through conversation instead.
1082
-
1083
- Ask: "What are the main things users need to be able to do?"
1084
-
1085
- For each capability mentioned:
1086
- - Ask clarifying questions to make it specific
1087
- - Probe for related capabilities
1088
- - Group into categories
1089
-
1090
- **Scope each category:**
1091
-
1092
- For each category, use AskUserQuestion:
1093
-
1094
- - header: "[Category]" (max 12 chars)
1095
- - question: "Which [category] features are in v1?"
1096
- - multiSelect: true
1097
- - options:
1098
- - "[Feature 1]" — [brief description]
1099
- - "[Feature 2]" — [brief description]
1100
- - "[Feature 3]" — [brief description]
1101
- - "None for v1" — Defer entire category
1102
-
1103
- Track responses:
1104
- - Selected features → v1 requirements
1105
- - Unselected table stakes → v2 (users expect these)
1106
- - Unselected differentiators → out of scope
1107
-
1108
- **Identify gaps:**
214
+ ## Phase 6: Roadmap (Optional)
1109
215
 
1110
216
  Use AskUserQuestion:
1111
- - header: "Additions"
1112
- - question: "Any requirements research missed? (Features specific to your vision)"
217
+ - header: "Initial Roadmap"
218
+ - question: "Would you like to create an initial roadmap now? I'll generate phase issues on GitHub based on your project goals."
1113
219
  - options:
1114
- - "No, research covered it" — Proceed
1115
- - "Yes, let me add some" — Capture additions
1116
-
1117
- **Validate core value:**
220
+ - "Yes, create roadmap" — create phase issues
221
+ - "No, I'll plan phases later with /maxsim:plan" — skip
1118
222
 
1119
- Cross-check requirements against Core Value from PROJECT.md. If gaps detected, surface them.
223
+ **If "No":** Print the completion message below and exit.
1120
224
 
1121
- **Generate REQUIREMENTS.md:**
225
+ **If "Yes":**
1122
226
 
1123
- Create `.planning/REQUIREMENTS.md` with:
1124
- - v1 Requirements grouped by category (checkboxes, REQ-IDs)
1125
- - v2 Requirements (deferred)
1126
- - Out of Scope (explicit exclusions with reasoning)
1127
- - Traceability section (empty, filled by roadmap)
227
+ Use the Agent tool with `run_in_background: false` to spawn a single Roadmap agent with this prompt:
1128
228
 
1129
- **REQ-ID format:** `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02)
229
+ "You are creating an initial GitHub roadmap for a MAXSIM v6 project. The project details are:
1130
230
 
1131
- **Requirement quality criteria:**
231
+ Name: {project_name}
232
+ Description: {description}
233
+ Goals: {goals}
234
+ Tech stack: {tech_stack}
235
+ Acceptance criteria: {acceptance_criteria}
1132
236
 
1133
- Good requirements are:
1134
- - **Specific and testable:** "User can reset password via email link" (not "Handle password reset")
1135
- - **User-centric:** "User can X" (not "System does Y")
1136
- - **Atomic:** One capability per requirement (not "User can login and manage profile")
1137
- - **Independent:** Minimal dependencies on other requirements
237
+ Create 3–7 phase GitHub Issues on the repo {owner/repo}. Each phase issue should:
238
+ 1. Have title format: 'Phase N: {phase_name}'
239
+ 2. Have label 'phase:{N}'
240
+ 3. Have a body describing the phase goal and 5–10 acceptance criteria as a task list (- [ ] item)
241
+ 4. Be added to milestone #{MILESTONE_NUMBER}
1138
242
 
1139
- Reject vague requirements. Push for specificity:
1140
- - "Handle authentication" → "User can log in with email/password and stay logged in across sessions"
1141
- - "Support sharing" → "User can share post via link that opens in recipient's browser"
243
+ Use: gh issue create --title 'Phase N: {name}' --label 'phase:{N}' --milestone {MILESTONE_NUMBER} --body '{body}'
1142
244
 
1143
- **Present full requirements list (interactive mode only):**
1144
-
1145
- Show every requirement (not counts) for user confirmation:
1146
-
1147
- ```
1148
- ## v1 Requirements
245
+ After creating all issues, add each one to the GitHub Project Board:
246
+ gh project item-add {PROJECT_NUMBER} --owner {OWNER} --url {issue_url}
1149
247
 
1150
- ### Authentication
1151
- - [ ] **AUTH-01**: User can create account with email/password
1152
- - [ ] **AUTH-02**: User can log in and stay logged in across sessions
1153
- - [ ] **AUTH-03**: User can log out from any page
248
+ Set each issue status to 'To Do' on the board using:
249
+ node ~/.claude/maxsim/bin/maxsim-tools.cjs github set-status --issue-number {N} --status 'To Do'
1154
250
 
1155
- ### Content
1156
- - [ ] **CONT-01**: User can create posts with text
1157
- - [ ] **CONT-02**: User can edit their own posts
251
+ Return the list of created issue numbers and titles."
1158
252
 
1159
- [... full list ...]
253
+ After the agent completes, display the phase list.
1160
254
 
1161
- ---
255
+ ## Completion
1162
256
 
1163
- Does this capture what you're building? (yes / adjust)
1164
- ```
1165
-
1166
- If "adjust": Return to scoping.
1167
-
1168
- **Commit requirements:**
1169
-
1170
- ```bash
1171
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: define v1 requirements" --files .planning/REQUIREMENTS.md
1172
- ```
1173
-
1174
- ## 8. Create Roadmap
1175
-
1176
- Display stage banner:
1177
257
  ```
1178
258
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1179
- MAXSIM ► CREATING ROADMAP
259
+ MAXSIM ► PROJECT INITIALIZED
1180
260
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1181
261
 
1182
- ◆ Spawning roadmapper...
1183
- ```
1184
-
1185
- Spawn planner (roadmap mode) with path references:
1186
-
1187
- ```
1188
- Task(prompt="
1189
- <planning_context>
1190
-
1191
- <files_to_read>
1192
- - .planning/PROJECT.md (Project context)
1193
- - .planning/REQUIREMENTS.md (v1 Requirements)
1194
- - .planning/research/SUMMARY.md (Research findings - if exists)
1195
- - .planning/config.json (Depth and mode settings)
1196
- </files_to_read>
1197
-
1198
- </planning_context>
1199
-
1200
- <instructions>
1201
- Create roadmap:
1202
- 1. Derive phases from requirements (don't impose structure)
1203
- 2. Map every v1 requirement to exactly one phase
1204
- 3. Derive 2-5 success criteria per phase (observable user behaviors)
1205
- 4. Validate 100% coverage
1206
- 5. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
1207
- 6. Return ROADMAP CREATED with summary
1208
-
1209
- Write files first, then return. This ensures artifacts persist even if context is lost.
1210
- </instructions>
1211
- ", subagent_type="planner", model="{roadmapper_model}", description="Create roadmap")
1212
- ```
1213
-
1214
- **Handle roadmapper return:**
1215
-
1216
- **If `## ROADMAP BLOCKED`:**
1217
- - Present blocker information
1218
- - Work with user to resolve
1219
- - Re-spawn when resolved
1220
-
1221
- **If `## ROADMAP CREATED`:**
1222
-
1223
- Read the created ROADMAP.md and present it nicely inline:
1224
-
1225
- ```
1226
- ---
1227
-
1228
- ## Proposed Roadmap
1229
-
1230
- **[N] phases** | **[X] requirements mapped** | All v1 requirements covered ✓
1231
-
1232
- | # | Phase | Goal | Requirements | Success Criteria |
1233
- |---|-------|------|--------------|------------------|
1234
- | 1 | [Name] | [Goal] | [REQ-IDs] | [count] |
1235
- | 2 | [Name] | [Goal] | [REQ-IDs] | [count] |
1236
- | 3 | [Name] | [Goal] | [REQ-IDs] | [count] |
1237
- ...
1238
-
1239
- ### Phase Details
1240
-
1241
- **Phase 1: [Name]**
1242
- Goal: [goal]
1243
- Requirements: [REQ-IDs]
1244
- Success criteria:
1245
- 1. [criterion]
1246
- 2. [criterion]
1247
- 3. [criterion]
1248
-
1249
- **Phase 2: [Name]**
1250
- Goal: [goal]
1251
- Requirements: [REQ-IDs]
1252
- Success criteria:
1253
- 1. [criterion]
1254
- 2. [criterion]
1255
-
1256
- [... continue for all phases ...]
1257
-
1258
- ---
1259
- ```
1260
-
1261
- **If auto mode:** Skip approval gate — auto-approve and commit directly.
1262
-
1263
- **CRITICAL: Ask for approval before committing (interactive mode only):**
1264
-
1265
- Use AskUserQuestion:
1266
- - header: "Roadmap"
1267
- - question: "Does this roadmap structure work for you?"
1268
- - options:
1269
- - "Approve" — Commit and continue
1270
- - "Adjust phases" — Tell me what to change
1271
- - "Review full file" — Show raw ROADMAP.md
1272
-
1273
- **If "Approve":** Continue to commit.
1274
-
1275
- **If "Adjust phases":**
1276
- - Get user's adjustment notes
1277
- - Re-spawn roadmapper with revision context:
1278
- ```
1279
- Task(prompt="
1280
- <revision>
1281
- User feedback on roadmap:
1282
- [user's notes]
1283
-
1284
- <files_to_read>
1285
- - .planning/ROADMAP.md (Current roadmap to revise)
1286
- </files_to_read>
1287
-
1288
- Update the roadmap based on feedback. Edit files in place.
1289
- Return ROADMAP REVISED with changes made.
1290
- </revision>
1291
- ", subagent_type="planner", model="{roadmapper_model}", description="Revise roadmap")
1292
- ```
1293
- - Present revised roadmap
1294
- - Loop until user approves
1295
-
1296
- **If "Review full file":** Display raw `cat .planning/ROADMAP.md`, then re-ask.
1297
-
1298
- **Commit roadmap (after approval or auto mode):**
1299
-
1300
- ```bash
1301
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: create roadmap ([N] phases)" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md
1302
- ```
1303
-
1304
- ## 8b. Create Phase Issues on GitHub
1305
-
1306
- After the roadmap is finalized and committed, create a GitHub Issue for each phase. This is a mandatory step — phase tracking lives in GitHub, not in local `.planning/phases/` files (per WIRE-02).
1307
-
1308
- Display banner:
1309
- ```
1310
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1311
- MAXSIM ► CREATING GITHUB PHASE ISSUES
1312
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1313
- ```
1314
-
1315
- 1. Parse `.planning/ROADMAP.md` to extract all phases. For each phase, collect:
1316
- - `phase_number` (e.g., `01`, `02`)
1317
- - `phase_name` (e.g., "Foundation")
1318
- - `goal` (the phase goal statement)
1319
- - `requirements` (list of REQ-IDs mapped to this phase)
1320
- - `success_criteria` (list of observable outcomes)
1321
-
1322
- 2. For each phase, run `github create-phase`:
1323
- ```bash
1324
- node ~/.claude/maxsim/bin/maxsim-tools.cjs github create-phase \
1325
- --phase-number "[phase_number]" \
1326
- --phase-name "[phase_name]" \
1327
- --goal "[goal]"
1328
- ```
1329
- The tool auto-adds each issue to the project board with "To Do" status.
1330
-
1331
- 3. Track results per phase. If any phase issue creation fails:
1332
- - Log which phases succeeded and which failed.
1333
- - Offer targeted retry for failed phases only (do not re-create successful ones).
1334
-
1335
- 4. Report completion:
1336
- ```
1337
- ✓ Created {N} phase issues on GitHub Project Board #{project_number}
1338
- ```
1339
-
1340
- **Note:** Per WIRE-02, phase-level artifact files (PLAN.md, SUMMARY.md, RESEARCH.md, CONTEXT.md) are NOT created in `.planning/phases/` during init. These live exclusively as GitHub Issue comments and bodies. The following local files are still created and committed: PROJECT.md, REQUIREMENTS.md, config.json, STATE.md, ROADMAP.md.
1341
-
1342
- ## 8c. Agent Dry-Run Validation
1343
-
1344
- **Always runs after all documents are generated — this is the quality gate for init output.**
1345
-
1346
- Spawn a test agent to validate that all generated docs contain enough information for a fresh agent to start Phase 1 without asking clarifying questions.
1347
-
1348
- ```
1349
- Task(prompt="
1350
- You are a fresh agent about to start Phase 1 of this project.
1351
- Read the following files and report what you would need to ask before starting work.
1352
-
1353
- Do NOT infer missing information. If a specific library version is not stated, report it as a gap.
1354
- If the error handling pattern is not described, report it as a gap.
1355
- Your job is to find what is NOT written, not to demonstrate you could figure it out.
1356
-
1357
- <files_to_read>
1358
- - .planning/PROJECT.md
1359
- - .planning/REQUIREMENTS.md
1360
- - .planning/CONVENTIONS.md
1361
- - .planning/NO-GOS.md
1362
- - .planning/ROADMAP.md
1363
- </files_to_read>
1364
-
1365
- Report format:
1366
-
1367
- ## DRY-RUN RESULT
1368
-
1369
- ### Can Start: YES/NO
1370
-
1371
- ### Gaps Found:
1372
- - [What information is missing]
1373
- - [What is ambiguous]
1374
- - [What would need clarification]
1375
-
1376
- ### Quality Score: [1-10]
1377
- (10 = could start immediately with zero questions, 1 = need major clarifications)
1378
- ", model="{planner_model}", description="Agent readiness dry-run")
1379
- ```
1380
-
1381
- **Handle dry-run results:**
1382
-
1383
- **If gaps found (Can Start = NO or Quality Score < 7):**
1384
- - For each gap, update the relevant document to fill it:
1385
- - Missing tech versions → update CONVENTIONS.md Tech Stack
1386
- - Missing error handling → update CONVENTIONS.md Error Handling
1387
- - Ambiguous requirements → update REQUIREMENTS.md
1388
- - Missing constraints → update NO-GOS.md
1389
- - Commit the fixes:
1390
- ```bash
1391
- node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs: fill gaps from agent dry-run validation" --files .planning/PROJECT.md .planning/REQUIREMENTS.md .planning/CONVENTIONS.md .planning/NO-GOS.md
1392
- ```
1393
-
1394
- **If no gaps (Can Start = YES and Quality Score >= 7):**
1395
- - Continue to Step 9.
1396
-
1397
- ## 9. Done
1398
-
1399
- Present completion summary:
1400
-
1401
- ```
1402
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1403
- MAXSIM ► PROJECT INITIALIZED ✓
1404
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1405
-
1406
- **[Project Name]**
1407
-
1408
- | Artifact | Location |
1409
- |----------------|-----------------------------|
1410
- | Project | `.planning/PROJECT.md` |
1411
- | Config | `.planning/config.json` |
1412
- | Conventions | `.planning/CONVENTIONS.md` |
1413
- | Research | `.planning/research/` |
1414
- | Requirements | `.planning/REQUIREMENTS.md` |
1415
- | Roadmap | `.planning/ROADMAP.md` |
1416
- | Phase Issues | GitHub Project Board #{project_number} |
1417
-
1418
- **[N] phases** | **[X] requirements** | **[N] GitHub issues created** | Ready to build ✓
1419
- ```
1420
-
1421
- **If auto mode:**
1422
-
1423
- ```
1424
- ╔══════════════════════════════════════════╗
1425
- ║ AUTO-ADVANCING → DISCUSS PHASE 1 ║
1426
- ╚══════════════════════════════════════════╝
1427
- ```
1428
-
1429
- Exit skill and invoke SlashCommand("/maxsim:plan 1 --auto")
1430
-
1431
- **If interactive mode:**
1432
-
1433
- ```
1434
- ───────────────────────────────────────────────────────────────
1435
-
1436
- ## ▶ Next Up
1437
-
1438
- **Phase 1: [Phase Name]** — [Goal from ROADMAP.md]
1439
-
1440
- /maxsim:plan 1 — gather context and clarify approach
1441
-
1442
- <sub>/clear first → fresh context window</sub>
1443
-
1444
- ---
1445
-
1446
- **Also available:**
1447
- - /maxsim:plan 1 — skip discussion, plan directly
262
+ Project: {project_name}
263
+ GitHub: {owner/repo}
264
+ Board: {project_name} — MAXSIM (#{PROJECT_NUMBER})
265
+ Milestone: Milestone 1 (#{MILESTONE_NUMBER})
266
+ Phases: {N} phases created (or "none yet")
1448
267
 
1449
- ───────────────────────────────────────────────────────────────
268
+ Next step: /maxsim:go
1450
269
  ```
1451
270
 
1452
271
  </process>
1453
272
 
1454
- <output>
1455
-
1456
- - `.planning/PROJECT.md`
1457
- - `.planning/config.json`
1458
- - `.planning/CONVENTIONS.md`
1459
- - `.planning/NO-GOS.md`
1460
- - `.planning/DECISIONS.md`
1461
- - `.planning/ACCEPTANCE-CRITERIA.md`
1462
- - `.planning/research/` (if research selected)
1463
- - `STACK.md`
1464
- - `FEATURES.md`
1465
- - `ARCHITECTURE.md`
1466
- - `PITFALLS.md`
1467
- - `SUMMARY.md`
1468
- - `.planning/REQUIREMENTS.md`
1469
- - `.planning/ROADMAP.md`
1470
- - `.planning/STATE.md`
1471
-
1472
- </output>
1473
-
1474
- <success_criteria>
1475
-
1476
- - [ ] .planning/ directory created
1477
- - [ ] Git repo initialized
1478
- - [ ] Brownfield detection completed
1479
- - [ ] Deep questioning completed (threads followed, not rushed)
1480
- - [ ] PROJECT.md captures full context → **committed**
1481
- - [ ] config.json has workflow mode, depth, parallelization → **committed**
1482
- - [ ] Research completed (if selected) — 4 parallel agents spawned → **committed**
1483
- - [ ] Requirements gathered (from research or conversation)
1484
- - [ ] User scoped each category (v1/v2/out of scope)
1485
- - [ ] REQUIREMENTS.md created with REQ-IDs → **committed**
1486
- - [ ] GitHub remote detected (gate passed)
1487
- - [ ] GitHub CLI authenticated (gate passed)
1488
- - [ ] `github setup` called successfully — project_number recorded
1489
- - [ ] planner (roadmap mode) spawned with context
1490
- - [ ] Roadmap files written immediately (not draft)
1491
- - [ ] User feedback incorporated (if any)
1492
- - [ ] ROADMAP.md created with phases, requirement mappings, success criteria
1493
- - [ ] STATE.md initialized
1494
- - [ ] REQUIREMENTS.md traceability updated
1495
- - [ ] CONVENTIONS.md generated with 4 must-have sections (Tech Stack, File Layout, Error Handling, Testing)
1496
- - [ ] NO-GOS.md populated from confirmed no-gos during questioning
1497
- - [ ] `github create-phase` called for every phase — all issues on board with "To Do" status
1498
- - [ ] Agent dry-run validation passed (Quality Score >= 7)
1499
- - [ ] User knows next step is `/maxsim:plan 1`
1500
-
1501
- **Atomic commits:** Each phase commits its artifacts immediately. If context is lost, artifacts persist.
1502
-
1503
- </success_criteria>
273
+ <constraints>
274
+ - Tool name is Agent (NOT Task)
275
+ - No SlashCommand tool
276
+ - GitHub Issues is the SOLE source of truth — no local .planning/ directory
277
+ - Use `node ~/.claude/maxsim/bin/maxsim-tools.cjs` for CLI operations
278
+ - EnterPlanMode must be used before any code-modifying execution steps
279
+ - Agent spawning uses: Agent tool with isolation:"worktree", run_in_background:true (for parallel research) or run_in_background:false (for sequential work)
280
+ - Self-contained agent prompts — include all context the agent needs inline
281
+ - Maximum 4 questions per AskUserQuestion call
282
+ - Skip interview questions already answered by scan findings
283
+ - Do not read actual .env files — only .env.example or documented equivalents
284
+ </constraints>