mindsystem-cc 3.20.0 → 3.22.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 (113) hide show
  1. package/README.md +9 -18
  2. package/agents/ms-mockup-designer.md +1 -1
  3. package/agents/ms-plan-checker.md +30 -30
  4. package/agents/ms-plan-writer.md +1 -1
  5. package/agents/ms-product-researcher.md +71 -0
  6. package/agents/ms-research-synthesizer.md +1 -1
  7. package/agents/ms-researcher.md +8 -8
  8. package/agents/ms-roadmapper.md +9 -13
  9. package/agents/ms-verifier.md +25 -117
  10. package/bin/install.js +68 -5
  11. package/commands/ms/add-phase.md +7 -8
  12. package/commands/ms/add-todo.md +3 -4
  13. package/commands/ms/adhoc.md +4 -5
  14. package/commands/ms/audit-milestone.md +15 -14
  15. package/commands/ms/complete-milestone.md +27 -24
  16. package/commands/ms/config.md +229 -0
  17. package/commands/ms/create-roadmap.md +3 -4
  18. package/commands/ms/debug.md +3 -4
  19. package/commands/ms/design-phase.md +11 -13
  20. package/commands/ms/discuss-phase.md +26 -22
  21. package/commands/ms/doctor.md +28 -205
  22. package/commands/ms/execute-phase.md +20 -12
  23. package/commands/ms/help.md +46 -39
  24. package/commands/ms/insert-phase.md +6 -7
  25. package/commands/ms/map-codebase.md +1 -2
  26. package/commands/ms/new-milestone.md +41 -19
  27. package/commands/ms/new-project.md +56 -47
  28. package/commands/ms/plan-milestone-gaps.md +7 -9
  29. package/commands/ms/plan-phase.md +4 -5
  30. package/commands/ms/progress.md +3 -4
  31. package/commands/ms/remove-phase.md +3 -4
  32. package/commands/ms/research-phase.md +11 -16
  33. package/commands/ms/research-project.md +19 -26
  34. package/commands/ms/review-design.md +4 -2
  35. package/commands/ms/verify-work.md +6 -8
  36. package/mindsystem/references/continuation-format.md +3 -3
  37. package/mindsystem/references/principles.md +1 -1
  38. package/mindsystem/references/routing/audit-result-routing.md +12 -11
  39. package/mindsystem/references/routing/between-milestones-routing.md +2 -2
  40. package/mindsystem/references/routing/milestone-complete-routing.md +1 -1
  41. package/mindsystem/references/routing/next-phase-routing.md +4 -2
  42. package/mindsystem/references/verification-patterns.md +0 -37
  43. package/mindsystem/templates/config.json +2 -1
  44. package/mindsystem/templates/context.md +7 -6
  45. package/mindsystem/templates/milestone-archive.md +5 -5
  46. package/mindsystem/templates/milestone-context.md +1 -1
  47. package/mindsystem/templates/milestone.md +9 -9
  48. package/mindsystem/templates/project.md +2 -2
  49. package/mindsystem/templates/research-subagent-prompt.md +3 -3
  50. package/mindsystem/templates/roadmap-milestone.md +14 -14
  51. package/mindsystem/templates/roadmap.md +10 -8
  52. package/mindsystem/templates/state.md +2 -2
  53. package/mindsystem/templates/verification-report.md +3 -26
  54. package/mindsystem/workflows/adhoc.md +1 -1
  55. package/mindsystem/workflows/complete-milestone.md +40 -75
  56. package/mindsystem/workflows/discuss-phase.md +141 -65
  57. package/mindsystem/workflows/doctor-fixes.md +273 -0
  58. package/mindsystem/workflows/execute-phase.md +9 -21
  59. package/mindsystem/workflows/execute-plan.md +3 -0
  60. package/mindsystem/workflows/map-codebase.md +6 -12
  61. package/mindsystem/workflows/mockup-generation.md +47 -23
  62. package/mindsystem/workflows/plan-phase.md +13 -6
  63. package/mindsystem/workflows/transition.md +2 -2
  64. package/mindsystem/workflows/verify-work.md +97 -70
  65. package/package.json +1 -1
  66. package/scripts/__pycache__/ms-tools.cpython-314.pyc +0 -0
  67. package/scripts/__pycache__/test_ms_tools.cpython-314-pytest-9.0.2.pyc +0 -0
  68. package/scripts/fixtures/scan-context/.planning/ROADMAP.md +16 -0
  69. package/scripts/fixtures/scan-context/.planning/adhoc/20260220-fix-token-SUMMARY.md +12 -0
  70. package/scripts/fixtures/scan-context/.planning/config.json +3 -0
  71. package/scripts/fixtures/scan-context/.planning/debug/resolved/token-bug.md +11 -0
  72. package/scripts/fixtures/scan-context/.planning/knowledge/auth.md +11 -0
  73. package/scripts/fixtures/scan-context/.planning/phases/02-infra/02-1-SUMMARY.md +20 -0
  74. package/scripts/fixtures/scan-context/.planning/phases/04-setup/04-1-SUMMARY.md +21 -0
  75. package/scripts/fixtures/scan-context/.planning/phases/05-auth/05-1-SUMMARY.md +28 -0
  76. package/scripts/fixtures/scan-context/.planning/todos/done/setup-db.md +10 -0
  77. package/scripts/fixtures/scan-context/.planning/todos/pending/add-logout.md +10 -0
  78. package/scripts/fixtures/scan-context/expected-output.json +257 -0
  79. package/scripts/ms-tools.py +2884 -0
  80. package/scripts/test_ms_tools.py +1622 -0
  81. package/agents/ms-flutter-code-quality.md +0 -169
  82. package/agents/ms-flutter-reviewer.md +0 -211
  83. package/agents/ms-flutter-simplifier.md +0 -79
  84. package/commands/ms/list-phase-assumptions.md +0 -56
  85. package/mindsystem/workflows/list-phase-assumptions.md +0 -178
  86. package/mindsystem/workflows/verify-phase.md +0 -625
  87. package/scripts/__pycache__/compare_mockups.cpython-314.pyc +0 -0
  88. package/scripts/archive-milestone-files.sh +0 -68
  89. package/scripts/archive-milestone-phases.sh +0 -138
  90. package/scripts/doctor-scan.sh +0 -402
  91. package/scripts/gather-milestone-stats.sh +0 -179
  92. package/scripts/generate-adhoc-patch.sh +0 -79
  93. package/scripts/generate-phase-patch.sh +0 -169
  94. package/scripts/scan-artifact-subsystems.sh +0 -55
  95. package/scripts/scan-planning-context.py +0 -839
  96. package/scripts/update-state.sh +0 -59
  97. package/scripts/validate-execution-order.sh +0 -104
  98. package/skills/flutter-code-quality/SKILL.md +0 -143
  99. package/skills/flutter-code-simplification/SKILL.md +0 -102
  100. package/skills/flutter-senior-review/AGENTS.md +0 -869
  101. package/skills/flutter-senior-review/SKILL.md +0 -205
  102. package/skills/flutter-senior-review/principles/dependencies-data-not-callbacks.md +0 -75
  103. package/skills/flutter-senior-review/principles/dependencies-provider-tree.md +0 -85
  104. package/skills/flutter-senior-review/principles/dependencies-temporal-coupling.md +0 -97
  105. package/skills/flutter-senior-review/principles/pragmatism-consistent-error-handling.md +0 -130
  106. package/skills/flutter-senior-review/principles/pragmatism-speculative-generality.md +0 -91
  107. package/skills/flutter-senior-review/principles/state-data-clumps.md +0 -64
  108. package/skills/flutter-senior-review/principles/state-invalid-states.md +0 -53
  109. package/skills/flutter-senior-review/principles/state-single-source-of-truth.md +0 -68
  110. package/skills/flutter-senior-review/principles/state-type-hierarchies.md +0 -75
  111. package/skills/flutter-senior-review/principles/structure-composition-over-config.md +0 -105
  112. package/skills/flutter-senior-review/principles/structure-shared-visual-patterns.md +0 -107
  113. package/skills/flutter-senior-review/principles/structure-wrapper-pattern.md +0 -90
@@ -22,24 +22,25 @@ Output ONLY the reference content below. Do NOT add:
22
22
  ## Start Here
23
23
 
24
24
  - If you already have `.planning/` in this repo: run `/ms:progress`.
25
- - If you’re starting in an existing codebase (brownfield): run `/ms:map-codebase`, then `/ms:new-project`.
26
25
  - Otherwise: run `/ms:new-project`.
27
26
 
28
27
  ## Quick Start
29
28
 
30
29
  ### Greenfield (new project)
31
30
 
32
- 1. `/ms:new-project` - Initialize project with brief
33
- 2. `/ms:research-project` - (optional) Research domain ecosystem
34
- 3. `/ms:create-roadmap` - Define requirements and create roadmap
35
- 4. `/ms:plan-phase 1` - Create detailed plan for first phase
36
- 5. `/ms:execute-phase 1` - Execute with parallel agents
31
+ 1. `/ms:new-project` Initialize project with brief
32
+ 2. `/ms:config` (optional) Configure code reviewers and gitignore
33
+ 3. `/ms:research-project` (optional) Research domain ecosystem
34
+ 4. `/ms:create-roadmap` Define requirements and create roadmap
35
+ 5. `/ms:plan-phase 1` Create detailed plan for first phase
36
+ 6. `/ms:execute-phase 1` — Execute with parallel agents
37
37
 
38
38
  ### Brownfield (existing codebase)
39
39
 
40
- 1. `/ms:map-codebase` - Analyze existing code first
41
- 2. `/ms:new-project` - Questions focus on what you’re adding/changing
42
- 3. Continue with steps 2-5 above (codebase docs load automatically)
40
+ 1. `/ms:new-project` Questions focus on business context and vision
41
+ 2. `/ms:map-codebase` Analyze existing code
42
+ 3. `/ms:config` (optional) Configure code reviewers and gitignore
43
+ 4. Continue with research/roadmap/plan/execute
43
44
 
44
45
  ## Staying Updated
45
46
 
@@ -62,8 +63,8 @@ Initialize → (Optional Research) → Roadmap → Plan → Execute → Verify
62
63
  ```
63
64
 
64
65
  Common deviations:
65
- - Existing repo: `/ms:map-codebase` before `/ms:new-project`
66
- - Plan looks wrong: `/ms:list-phase-assumptions <phase>` or `/ms:check-phase <phase>`
66
+ - Existing repo: `/ms:map-codebase` after `/ms:new-project` (or before — either works)
67
+ - Plan looks wrong: `/ms:discuss-phase <phase>` or `/ms:check-phase <phase>`
67
68
  - Unknown domain: `/ms:research-project` or `/ms:research-phase <phase>`
68
69
  - Phase prep: `/ms:discuss-phase` → `/ms:design-phase` → `/ms:research-phase` → `/ms:plan-phase` (all optional before plan)
69
70
  - Execution gaps: `/ms:plan-phase <phase> --gaps` then `/ms:execute-phase <phase>`
@@ -82,6 +83,16 @@ Initialize new project with brief and configuration.
82
83
 
83
84
  Usage: `/ms:new-project`
84
85
 
86
+ **`/ms:config`**
87
+ Configure Mindsystem preferences — code reviewers, mockup preferences, gitignore patterns, git remote.
88
+
89
+ - Use when: you want to set up code review agents, mockup open behavior, manage which .planning/ artifacts are git-ignored, or push your repo to GitHub.
90
+ - Edits `.planning/config.json` and `.gitignore`
91
+ - Suggests code reviewers based on tech stack (needs PROJECT.md)
92
+ - Idempotent — run anytime to reconfigure
93
+
94
+ Usage: `/ms:config`
95
+
85
96
  **`/ms:research-project`**
86
97
  Research domain ecosystem before creating roadmap.
87
98
 
@@ -111,18 +122,20 @@ Map an existing codebase for brownfield projects.
111
122
  - Analyzes codebase with parallel Explore agents
112
123
  - Creates `.planning/codebase/` with 7 focused documents
113
124
  - Covers stack, architecture, structure, conventions, testing, integrations, concerns
114
- - Use before `/ms:new-project` on existing codebases
125
+ - Use on existing codebases (before or after `/ms:new-project`)
115
126
 
116
127
  Usage: `/ms:map-codebase`
117
128
 
118
129
  ### Phase Planning
119
130
 
120
131
  **`/ms:discuss-phase <number>`**
121
- Help articulate your vision for a phase before planning.
132
+ Product-informed collaborative thinking before planning.
122
133
 
123
- - Captures how you imagine this phase working
124
- - Creates CONTEXT.md with your vision, essentials, and boundaries
125
- - Use when you have ideas about how something should look/feel
134
+ - Loads milestone artifacts (PROJECT.md, REQUIREMENTS.md) for product context
135
+ - Surfaces Claude's assumptions and validates before deep questioning
136
+ - Offers competitor/UX research for user-facing phases
137
+ - Grounds every question in target audience, industry patterns, and tradeoffs
138
+ - Creates CONTEXT.md with your vision, essentials, and reasoning-backed decisions
126
139
 
127
140
  Usage: `/ms:discuss-phase 2`
128
141
 
@@ -160,15 +173,6 @@ Comprehensive ecosystem research for niche/complex domains.
160
173
 
161
174
  Usage: `/ms:research-phase 3`
162
175
 
163
- **`/ms:list-phase-assumptions <number>`**
164
- See what Claude is planning to do before it starts.
165
-
166
- - Shows Claude's intended approach for a phase
167
- - Lets you course-correct if Claude misunderstood your vision
168
- - No files created - conversational output only
169
-
170
- Usage: `/ms:list-phase-assumptions 3`
171
-
172
176
  **`/ms:plan-phase [number] [--gaps]`**
173
177
  Create detailed execution plan for a specific phase.
174
178
 
@@ -221,7 +225,7 @@ User acceptance testing of phase or plan.
221
225
 
222
226
  Usage: `/ms:verify-work 5`
223
227
 
224
- **`/ms:audit-milestone [version]`**
228
+ **`/ms:audit-milestone [name]`**
225
229
  Audit milestone completion against original intent.
226
230
 
227
231
  - Use when: you think you’re “done” and want cross-phase integration + requirements coverage checked before archiving.
@@ -230,7 +234,7 @@ Audit milestone completion against original intent.
230
234
  - Maintains TECH-DEBT.md as single source of truth for debt items
231
235
  - Creates MILESTONE-AUDIT.md with gaps and tech debt
232
236
 
233
- Usage: `/ms:audit-milestone 1.0.0`
237
+ Usage: `/ms:audit-milestone`
234
238
 
235
239
  ### Roadmap Management
236
240
 
@@ -280,18 +284,19 @@ Discover what to build next and start a new milestone.
280
284
  - Routes to create-roadmap or research-project
281
285
 
282
286
  Usage: `/ms:new-milestone`
283
- Usage: `/ms:new-milestone "v2.0 Features"`
287
+ Usage: `/ms:new-milestone "Push Notifications"`
284
288
 
285
- **`/ms:complete-milestone <version>`**
286
- Archive completed milestone and prepare for next version.
289
+ **`/ms:complete-milestone [name]`**
290
+ Archive completed milestone and prepare for next.
287
291
 
288
292
  - Creates MILESTONES.md entry with stats
289
293
  - Extracts curated learnings for future milestone planning
290
294
  - Archives full details to milestones/ directory
291
- - Creates git tag for the release
292
- - Prepares workspace for next version
295
+ - Prepares workspace for next milestone
296
+ - Auto-detects current milestone from PROJECT.md if no argument provided
293
297
 
294
- Usage: `/ms:complete-milestone 1.0.0`
298
+ Usage: `/ms:complete-milestone`
299
+ Usage: `/ms:complete-milestone "MVP"`
295
300
 
296
301
  **`/ms:plan-milestone-gaps`**
297
302
  Create phases to close gaps identified by milestone audit.
@@ -443,6 +448,7 @@ Usage: `/ms:release-notes`
443
448
 
444
449
  ```
445
450
  /ms:new-project # Extract your idea through questions
451
+ /ms:config # (optional) Configure code reviewers and gitignore
446
452
  /ms:research-project # (recommended) Research domain ecosystem
447
453
  /ms:create-roadmap # Define requirements and create phases
448
454
  /ms:plan-phase 1 # Create detailed plan
@@ -452,8 +458,9 @@ Usage: `/ms:release-notes`
452
458
  **Starting with existing code (brownfield):**
453
459
 
454
460
  ```
455
- /ms:map-codebase # Step 1: Analyze existing code
456
- /ms:new-project # Step 2: Questions focus on what you're adding/changing
461
+ /ms:new-project # Step 1: Questions focus on business context and vision
462
+ /ms:map-codebase # Step 2: Analyze existing code
463
+ /ms:config # (optional) Configure code reviewers and gitignore
457
464
  /ms:research-project # (optional) Research new domain areas
458
465
  /ms:create-roadmap # Define requirements and create roadmap
459
466
  /ms:plan-phase 1 # Codebase docs load automatically
@@ -517,19 +524,19 @@ Common options:
517
524
  **Completing a milestone:**
518
525
 
519
526
  ```
520
- /ms:audit-milestone 1.0.0 # Verify before completing
521
- /ms:complete-milestone 1.0.0 # Archive and tag
527
+ /ms:audit-milestone # Verify before completing
528
+ /ms:complete-milestone # Archive milestone
522
529
  /ms:new-milestone # Discover and start next milestone
523
530
  ```
524
531
 
525
532
  **Closing gaps from audit:**
526
533
 
527
534
  ```
528
- /ms:audit-milestone 1.0.0 # Finds gaps
535
+ /ms:audit-milestone # Finds gaps
529
536
  /ms:plan-milestone-gaps # Creates phases to fix them
530
537
  /ms:plan-phase 6 # Plan first gap closure phase
531
538
  /ms:execute-phase 6
532
- /ms:audit-milestone 1.0.0 # Re-audit when done
539
+ /ms:audit-milestone # Re-audit when done
533
540
  ```
534
541
 
535
542
  **Capturing ideas during work:**
@@ -136,9 +136,9 @@ Insert the new phase entry into the roadmap:
136
136
 
137
137
  2. Before writing the phase entry, analyze the description to determine pre-work flags:
138
138
 
139
- **Discuss**: Likely when description mentions user-facing features, UX decisions,
140
- experiential qualities, or novel features. Unlikely for backend/infra, bug fixes,
141
- technical debt, or clear-cut work.
139
+ **Discuss**: Default Likely enumerate 2-4 assumptions or open questions specific
140
+ to the phase. Unlikely only for fully mechanical zero-decision work (version bump,
141
+ rename-only refactor, config-only change, pure deletion/cleanup).
142
142
 
143
143
  **Design**: Likely when description involves UI work, visual elements, forms,
144
144
  dashboards, or multi-screen flows. Unlikely for backend-only, API, infrastructure,
@@ -216,10 +216,9 @@ After the "Next Up" section, add:
216
216
  </step>
217
217
 
218
218
  <step name="update_last_command">
219
- Update `.planning/STATE.md` Last Command field:
220
- - Find line starting with `Last Command:` in Current Position section
221
- - Replace with: `Last Command: ms:insert-phase $ARGUMENTS | YYYY-MM-DD HH:MM`
222
- - If line doesn't exist, add it after `Status:` line
219
+ ```bash
220
+ ms-tools set-last-command "ms:insert-phase $ARGUMENTS"
221
+ ```
223
222
  </step>
224
223
 
225
224
  </process>
@@ -60,8 +60,7 @@ Check for .planning/STATE.md - loads context if project already initialized
60
60
  5. Verify all 7 documents exist with line counts
61
61
  6. Commit codebase map
62
62
  7. Offer next steps (typically: /ms:new-project or /ms:plan-phase)
63
- 8. Update `.planning/STATE.md` Last Command field (if STATE.md exists):
64
- - Format: `Last Command: ms:map-codebase $ARGUMENTS | YYYY-MM-DD HH:MM`
63
+ 8. **Update last command:** `ms-tools set-last-command "ms:map-codebase $ARGUMENTS"`
65
64
  </process>
66
65
 
67
66
  <success_criteria>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ms:new-milestone
3
3
  description: Start a new milestone — discover what to build, update PROJECT.md, create context for downstream
4
- argument-hint: "[milestone name, e.g., 'v1.1 Notifications']"
4
+ argument-hint: "[name, e.g., 'Notifications']"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -39,12 +39,36 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
39
39
 
40
40
  ## Phase 1: Orient
41
41
 
42
+ 0. **Validate PROJECT.md exists:**
43
+
44
+ ```bash
45
+ [ -f .planning/PROJECT.md ] || { echo "NO_PROJECT"; exit 0; }
46
+ ```
47
+
48
+ **If `NO_PROJECT`:** Present message and stop:
49
+
50
+ ```
51
+ No PROJECT.md found. Initialize the project first to capture business context, target audience, and project vision.
52
+
53
+ ---
54
+
55
+ ## ▶ Next Up
56
+
57
+ `/ms:new-project` — Initialize project with business context and vision
58
+
59
+ <sub>`/clear` first → fresh context window</sub>
60
+
61
+ ---
62
+ ```
63
+
64
+ **You MUST run the bash command above using the Bash tool before proceeding.**
65
+
42
66
  1. **Load context:**
43
67
  - Read PROJECT.md (existing project, validated requirements, decisions)
44
68
  - Read MILESTONES.md (what shipped previously)
45
69
  - Read STATE.md (pending todos, blockers)
46
70
  - Read config.json (project settings)
47
- - Calculate previous milestone version from MILESTONES.md (e.g., if last shipped was v1.0, previous=1.0)
71
+ - Identify previous milestone name from MILESTONES.md (e.g., last shipped was "MVP")
48
72
 
49
73
  2. **Check for active milestone:**
50
74
 
@@ -52,7 +76,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
52
76
 
53
77
  Use AskUserQuestion:
54
78
  - header: "Active milestone"
55
- - question: "There's a milestone in progress (v[X.Y]). What do you want to do?"
79
+ - question: "There's a milestone in progress ([Name]). What do you want to do?"
56
80
  - options:
57
81
  - "Complete it first" — run /ms:complete-milestone
58
82
  - "Add phases to it" — run /ms:add-phase
@@ -62,9 +86,9 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
62
86
  If "Continue anyway": proceed.
63
87
 
64
88
  3. **Strategic assessment (silent — do not output this step):**
65
- - Check for previous milestone artifacts using calculated version:
89
+ - Check for previous milestone artifacts:
66
90
  - `.planning/knowledge/*.md` (subsystem knowledge files — persist across milestones)
67
- - `.planning/milestones/v{VERSION}/MILESTONE-AUDIT.md` (if exists)
91
+ - `.planning/milestones/{slug}/MILESTONE-AUDIT.md` (if exists, for last completed milestone)
68
92
  - `.planning/TECH-DEBT.md` (if exists)
69
93
  - Identify: outstanding tech debt, untested assumptions, high-impact gaps, unaddressed requirements
70
94
  - This is background analysis — synthesize silently, surface through suggestions in step 4
@@ -74,7 +98,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
74
98
  ```
75
99
  ## Last Milestone
76
100
 
77
- v[X.Y] [Name] — [key accomplishments, 1-2 lines]
101
+ [Name] — [key accomplishments, 1-2 lines]
78
102
 
79
103
  ## Suggested Directions
80
104
 
@@ -91,7 +115,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
91
115
  - Strategic features inferred from PROJECT.md: Who It's For, Core Problem, How It's Different
92
116
  - Pending todos from STATE.md
93
117
 
94
- If no meaningful artifacts exist (first milestone after v1.0), base suggestions purely on PROJECT.md.
118
+ If no meaningful artifacts exist (first milestone), base suggestions purely on PROJECT.md.
95
119
 
96
120
  5. **Freeform opening:**
97
121
 
@@ -157,17 +181,17 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
157
181
 
158
182
  ## Phase 3: Commit
159
183
 
160
- 12. **Determine milestone version:**
161
- - Parse last version from MILESTONES.md
162
- - Suggest next version (v1.0 → v1.1, or v2.0 for major shifts)
163
- - Confirm with user via AskUserQuestion
184
+ 12. **Determine milestone name:**
185
+ - Derive milestone name from the conversation (e.g., "Push Notifications", "Security Hardening")
186
+ - Generate slug from name (e.g., "push-notifications", "security-hardening")
187
+ - Confirm name with user via AskUserQuestion
164
188
 
165
189
  13. **Present milestone summary:**
166
190
 
167
191
  ```
168
192
  ## Milestone Summary
169
193
 
170
- **Version:** v[X.Y] [Name]
194
+ **Name:** [Name]
171
195
  **Goal:** [One sentence]
172
196
  **Target features:**
173
197
  - [Feature 1]
@@ -189,7 +213,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
189
213
  Add/update these sections:
190
214
 
191
215
  ```markdown
192
- ## Current Milestone: v[X.Y] [Name]
216
+ ## Current Milestone: [Name]
193
217
 
194
218
  **Goal:** [One sentence describing milestone focus]
195
219
 
@@ -222,7 +246,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
222
246
  Phase: Not started (run /ms:create-roadmap)
223
247
  Plan: —
224
248
  Status: Defining requirements
225
- Last activity: [today] — Milestone v[X.Y] started
249
+ Last activity: [today] — Milestone [Name] started
226
250
 
227
251
  Progress: ░░░░░░░░░░ 0%
228
252
  ```
@@ -234,7 +258,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
234
258
  ```bash
235
259
  git add .planning/PROJECT.md .planning/STATE.md .planning/MILESTONE-CONTEXT.md
236
260
  git commit -m "$(cat <<'EOF'
237
- docs: start milestone v[X.Y] [Name]
261
+ docs: start milestone [Name]
238
262
  EOF
239
263
  )"
240
264
  ```
@@ -256,7 +280,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
256
280
  Based on the conversation, recommend ONE path. If unfamiliar domains or open questions surfaced during discovery, recommend `/ms:research-project`. Otherwise recommend `/ms:create-roadmap`.
257
281
 
258
282
  ```
259
- Milestone v[X.Y] [Name] initialized.
283
+ Milestone [Name] initialized.
260
284
 
261
285
  PROJECT.md updated with new goals.
262
286
  Context saved to MILESTONE-CONTEXT.md
@@ -277,9 +301,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
277
301
  ---
278
302
  ```
279
303
 
280
- 20. **Update last command:**
281
- - Update `.planning/STATE.md` Last Command field
282
- - Format: `Last Command: ms:new-milestone $ARGUMENTS | YYYY-MM-DD HH:MM`
304
+ 20. **Update last command:** `ms-tools set-last-command "ms:new-milestone $ARGUMENTS"`
283
305
 
284
306
  </process>
285
307
 
@@ -12,7 +12,7 @@ allowed-tools:
12
12
 
13
13
  Initialize a new project through comprehensive context gathering.
14
14
 
15
- This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. The quality of PROJECT.md determines the quality of everything downstream.
15
+ Questioning depth determines PROJECT.md quality, which determines everything downstream. Invest disproportionate effort here the other steps are mechanical.
16
16
 
17
17
  Creates `.planning/` with PROJECT.md and config.json.
18
18
 
@@ -31,11 +31,11 @@ Creates `.planning/` with PROJECT.md and config.json.
31
31
 
32
32
  <step name="setup">
33
33
 
34
- **MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
34
+ **Run before any user interaction:**
35
35
 
36
- 1. **Abort if project exists:**
36
+ 1. **Detect update mode:**
37
37
  ```bash
38
- [ -f .planning/PROJECT.md ] && echo "ERROR: Project already initialized. Use /ms:progress" && exit 1
38
+ [ -f .planning/PROJECT.md ] && echo "IS_UPDATE=true" || echo "IS_UPDATE=false"
39
39
  ```
40
40
 
41
41
  2. **Initialize git repo in THIS directory** (required even if inside a parent repo):
@@ -54,37 +54,11 @@ Creates `.planning/` with PROJECT.md and config.json.
54
54
  # Check for existing code files
55
55
  CODE_FILES=$(find . -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.rs" -o -name "*.swift" -o -name "*.java" 2>/dev/null | grep -v node_modules | grep -v .git | head -20)
56
56
  HAS_PACKAGE=$([ -f package.json ] || [ -f requirements.txt ] || [ -f Cargo.toml ] || [ -f go.mod ] || [ -f Package.swift ] && echo "yes")
57
+ IS_BROWNFIELD=$( ([ -n "$CODE_FILES" ] || [ "$HAS_PACKAGE" = "yes" ]) && echo "yes" || echo "no")
57
58
  HAS_CODEBASE_MAP=$([ -d .planning/codebase ] && echo "yes")
58
59
  ```
59
60
 
60
- **You MUST run all bash commands above using the Bash tool before proceeding.**
61
-
62
- </step>
63
-
64
- <step name="brownfield_offer">
65
-
66
- **If existing code detected and .planning/codebase/ doesn't exist:**
67
-
68
- Check the results from setup step:
69
- - If `CODE_FILES` is non-empty OR `HAS_PACKAGE` is "yes"
70
- - AND `HAS_CODEBASE_MAP` is NOT "yes"
71
-
72
- Use AskUserQuestion:
73
- - header: "Existing Code"
74
- - question: "I detected existing code in this directory. Would you like to map the codebase first?"
75
- - options:
76
- - "Map codebase first" — Run /ms:map-codebase to understand existing architecture (Recommended)
77
- - "Skip mapping" — Proceed with project initialization
78
-
79
- **If "Map codebase first":**
80
- ```
81
- Run `/ms:map-codebase` first, then return to `/ms:new-project`
82
- ```
83
- Exit command.
84
-
85
- **If "Skip mapping":** Continue to question step.
86
-
87
- **If no existing code detected OR codebase already mapped:** Continue to question step.
61
+ **Run all commands above before proceeding.**
88
62
 
89
63
  </step>
90
64
 
@@ -92,6 +66,14 @@ Exit command.
92
66
 
93
67
  **Open the conversation:**
94
68
 
69
+ **If IS_UPDATE=true (update mode):**
70
+ - Read existing `.planning/PROJECT.md`
71
+ - Present a brief summary of the current project context
72
+ - Ask inline (freeform, NOT AskUserQuestion): "What do you want to update?"
73
+ - Follow the same questioning principles below, but focused on what changed
74
+
75
+ **If IS_UPDATE=false (first run):**
76
+
95
77
  Ask inline (freeform, NOT AskUserQuestion):
96
78
 
97
79
  - **Greenfield** (no existing code): "What do you want to build?"
@@ -119,21 +101,22 @@ Use grounding questions from `questioning.md` instead of template-shaped questio
119
101
 
120
102
  When the conversation pauses and sections are still fuzzy, use success-backward: "Imagine this is wildly successful in a year. What does that look like?"
121
103
 
122
- Consult `questioning.md` for techniques — challenge vagueness, derive before asking, use grounding questions over template-shaped questions.
104
+ Consult `questioning.md` for techniques — challenge vagueness, derive before asking.
123
105
 
124
106
  **Decision gate:**
125
107
 
126
108
  When you could write a clear PROJECT.md, use AskUserQuestion:
127
109
 
128
110
  - header: "Ready?"
129
- - question: "I think I understand what you're after. Ready to create PROJECT.md?"
111
+ - question (first run): "I think I understand what you're after. Ready to create PROJECT.md?"
112
+ - question (update mode): "Ready to update PROJECT.md with these changes?"
130
113
  - options:
131
- - "Create PROJECT.md" — Let's move forward
114
+ - "Create PROJECT.md" / "Update PROJECT.md" — Let's move forward
132
115
  - "Keep exploring" — I want to share more / ask me more
133
116
 
134
117
  If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
135
118
 
136
- Loop until "Create PROJECT.md" selected.
119
+ Loop until create/update selected.
137
120
 
138
121
  </step>
139
122
 
@@ -195,7 +178,7 @@ Do not compress. Capture everything gathered.
195
178
 
196
179
  <step name="config">
197
180
 
198
- Create `.planning/config.json` with subsystems and code_review using `templates/config.json` structure.
181
+ Create or update `.planning/config.json` with subsystems and code_review using `templates/config.json` structure.
199
182
 
200
183
  **Subsystems:** Derive 5-10 initial subsystems from the project context gathered during questioning. These are short, lowercase identifiers for the major functional areas of the project.
201
184
 
@@ -206,10 +189,13 @@ Examples by project type:
206
189
 
207
190
  These values are used throughout the system for consistent categorization of summaries, debug docs, and adhoc work.
208
191
 
192
+ **Update mode (config.json already exists):** Re-derive subsystems from updated context. Preserve any existing `code_review` values — do not overwrite configured reviewers with nulls.
193
+
209
194
  </step>
210
195
 
211
196
  <step name="commit">
212
197
 
198
+ **First run:**
213
199
  ```bash
214
200
  git add .planning/PROJECT.md .planning/config.json
215
201
  git commit -m "$(cat <<'EOF'
@@ -222,19 +208,43 @@ EOF
222
208
  )"
223
209
  ```
224
210
 
211
+ **Update mode:**
212
+ ```bash
213
+ git add .planning/PROJECT.md .planning/config.json
214
+ git commit -m "$(cat <<'EOF'
215
+ docs: update [project-name] project context
216
+
217
+ [Brief description of what changed]
218
+ EOF
219
+ )"
220
+ ```
221
+
225
222
  </step>
226
223
 
227
224
  <step name="done">
228
225
 
229
226
  Present completion with next steps (see ~/.claude/mindsystem/references/continuation-format.md):
230
227
 
228
+ **First run:**
231
229
  ```
232
230
  Project initialized:
233
231
 
234
232
  - Project: .planning/PROJECT.md
235
233
  - Config: .planning/config.json
236
234
  [If .planning/codebase/ exists:] - Codebase: .planning/codebase/ (7 documents)
235
+ ```
237
236
 
237
+ **Update mode:**
238
+ ```
239
+ Project updated:
240
+
241
+ - Project: .planning/PROJECT.md
242
+ - Config: .planning/config.json
243
+ ```
244
+
245
+ **Routing (both modes):**
246
+
247
+ ```
238
248
  ---
239
249
 
240
250
  ## ▶ Next Up
@@ -246,7 +256,8 @@ Project initialized:
246
256
  ---
247
257
 
248
258
  **Also available:**
249
- - `/ms:create-roadmap` — Skip milestone discovery, define requirements and roadmap directly
259
+ - `/ms:config` — Configure code reviewers, gitignore, and other preferences
260
+ [If brownfield detected and no codebase map:] - `/ms:map-codebase` — Analyze existing codebase for technical context
250
261
 
251
262
  ---
252
263
  ```
@@ -254,11 +265,9 @@ Project initialized:
254
265
  </step>
255
266
 
256
267
  <step name="update_last_command">
257
- Update `.planning/STATE.md` Last Command field (if STATE.md exists):
258
- - Find line starting with `Last Command:` in Current Position section
259
- - Replace with: `Last Command: ms:new-project | YYYY-MM-DD HH:MM`
260
- - If line doesn't exist, add it after `Status:` line
261
- - Note: STATE.md may not exist yet if this is the first command
268
+ ```bash
269
+ ms-tools set-last-command "ms:new-project"
270
+ ```
262
271
  </step>
263
272
 
264
273
  </process>
@@ -272,12 +281,12 @@ Update `.planning/STATE.md` Last Command field (if STATE.md exists):
272
281
 
273
282
  <success_criteria>
274
283
 
275
- - [ ] Deep questioning completed with business context extracted
284
+ - [ ] All committed to git
285
+ - [ ] config.json has subsystems and code_review settings (existing code_review preserved in update mode)
286
+ - [ ] Validated requirements initialized (empty for greenfield, inferred for brownfield)
287
+ - [ ] Deep questioning completed with business context extracted (or update conversation completed)
276
288
  - [ ] PROJECT.md captures product identity (What/Value/Audience/Problem/Differentiation/Flows)
277
289
  - [ ] PROJECT.md captures boundaries (Out of Scope, Constraints, Technical Context)
278
- - [ ] Validated requirements initialized (empty for greenfield, inferred for brownfield)
279
290
  - [ ] Key Decisions table initialized
280
- - [ ] config.json has subsystems and code_review settings
281
- - [ ] All committed to git
282
291
 
283
292
  </success_criteria>
@@ -25,7 +25,7 @@ One command creates all fix phases — no manual `/ms:add-phase` per gap.
25
25
 
26
26
  <context>
27
27
  **Audit results:**
28
- Glob: .planning/v*-MILESTONE-AUDIT.md (use most recent)
28
+ @.planning/MILESTONE-AUDIT.md
29
29
 
30
30
  **Original intent (for prioritization):**
31
31
  @.planning/PROJECT.md
@@ -41,8 +41,7 @@ Glob: .planning/v*-MILESTONE-AUDIT.md (use most recent)
41
41
  ## 1. Load Audit Results
42
42
 
43
43
  ```bash
44
- # Find the most recent audit file
45
- ls -t .planning/v*-MILESTONE-AUDIT.md 2>/dev/null | head -1
44
+ cat .planning/MILESTONE-AUDIT.md
46
45
  ```
47
46
 
48
47
  Parse YAML frontmatter to extract structured gaps:
@@ -105,7 +104,7 @@ New phases continue from there:
105
104
  ```markdown
106
105
  ## Gap Closure Plan
107
106
 
108
- **Milestone:** {version}
107
+ **Milestone:** {name}
109
108
  **Gaps to close:** {N} requirements, {M} integration, {K} flows
110
109
 
111
110
  ### Proposed Phases
@@ -191,15 +190,14 @@ git commit -m "docs(roadmap): add gap closure phases {N}-{M}"
191
190
  **After all gap phases complete:**
192
191
 
193
192
  `/ms:audit-milestone` — re-audit to verify gaps closed
194
- `/ms:complete-milestone {version}` — archive when audit passes
193
+ `/ms:complete-milestone` — archive when audit passes
195
194
  ```
196
195
 
197
196
  ## 10. Update Last Command
198
197
 
199
- Update `.planning/STATE.md` Last Command field:
200
- - Find line starting with `Last Command:` in Current Position section
201
- - Replace with: `Last Command: ms:plan-milestone-gaps | YYYY-MM-DD HH:MM`
202
- - If line doesn't exist, add it after `Status:` line
198
+ ```bash
199
+ ms-tools set-last-command "ms:plan-milestone-gaps"
200
+ ```
203
201
 
204
202
  </process>
205
203
 
@@ -34,11 +34,12 @@ When invoked with `--gaps`, plans address gaps identified by the verifier. Load
34
34
  Phase number: $ARGUMENTS (optional - auto-detects next unplanned phase if not provided)
35
35
  Gap closure mode: `--gaps` flag triggers gap closure workflow
36
36
 
37
- **Normalize phase number if provided:**
37
+ **Resolve phase if provided:**
38
38
  ```bash
39
+ # ms-tools is on PATH — invoke directly, not as a script path
39
40
  PHASE_ARG=$(echo "$ARGUMENTS" | grep -oE '^[0-9]+' | head -1)
40
41
  if [ -n "$PHASE_ARG" ]; then
41
- PHASE=$(printf "%02d" "$PHASE_ARG" 2>/dev/null || echo "$PHASE_ARG")
42
+ ms-tools find-phase "$PHASE_ARG"
42
43
  fi
43
44
  ```
44
45
 
@@ -104,9 +105,7 @@ Check for `.planning/codebase/` and load relevant documents based on phase type.
104
105
  - Number plans sequentially after existing (if 01-03 exist, create 04, 05...)
105
106
  - Create PLAN.md file(s) focused on closing specific gaps
106
107
 
107
- 6. **Update last command**
108
- - Update `.planning/STATE.md` Last Command field
109
- - Format: `Last Command: ms:plan-phase $ARGUMENTS | YYYY-MM-DD HH:MM`
108
+ 6. **Update last command:** `ms-tools set-last-command "ms:plan-phase $ARGUMENTS"`
110
109
 
111
110
  7. **Risk assessment** (skip if `--gaps` flag present)
112
111
  - Calculate risk score from context already loaded (task count, plan count, external services, CONTEXT.md, cross-cutting concerns, new deps, complex domains)