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.
- package/README.md +9 -18
- package/agents/ms-mockup-designer.md +1 -1
- package/agents/ms-plan-checker.md +30 -30
- package/agents/ms-plan-writer.md +1 -1
- package/agents/ms-product-researcher.md +71 -0
- package/agents/ms-research-synthesizer.md +1 -1
- package/agents/ms-researcher.md +8 -8
- package/agents/ms-roadmapper.md +9 -13
- package/agents/ms-verifier.md +25 -117
- package/bin/install.js +68 -5
- package/commands/ms/add-phase.md +7 -8
- package/commands/ms/add-todo.md +3 -4
- package/commands/ms/adhoc.md +4 -5
- package/commands/ms/audit-milestone.md +15 -14
- package/commands/ms/complete-milestone.md +27 -24
- package/commands/ms/config.md +229 -0
- package/commands/ms/create-roadmap.md +3 -4
- package/commands/ms/debug.md +3 -4
- package/commands/ms/design-phase.md +11 -13
- package/commands/ms/discuss-phase.md +26 -22
- package/commands/ms/doctor.md +28 -205
- package/commands/ms/execute-phase.md +20 -12
- package/commands/ms/help.md +46 -39
- package/commands/ms/insert-phase.md +6 -7
- package/commands/ms/map-codebase.md +1 -2
- package/commands/ms/new-milestone.md +41 -19
- package/commands/ms/new-project.md +56 -47
- package/commands/ms/plan-milestone-gaps.md +7 -9
- package/commands/ms/plan-phase.md +4 -5
- package/commands/ms/progress.md +3 -4
- package/commands/ms/remove-phase.md +3 -4
- package/commands/ms/research-phase.md +11 -16
- package/commands/ms/research-project.md +19 -26
- package/commands/ms/review-design.md +4 -2
- package/commands/ms/verify-work.md +6 -8
- package/mindsystem/references/continuation-format.md +3 -3
- package/mindsystem/references/principles.md +1 -1
- package/mindsystem/references/routing/audit-result-routing.md +12 -11
- package/mindsystem/references/routing/between-milestones-routing.md +2 -2
- package/mindsystem/references/routing/milestone-complete-routing.md +1 -1
- package/mindsystem/references/routing/next-phase-routing.md +4 -2
- package/mindsystem/references/verification-patterns.md +0 -37
- package/mindsystem/templates/config.json +2 -1
- package/mindsystem/templates/context.md +7 -6
- package/mindsystem/templates/milestone-archive.md +5 -5
- package/mindsystem/templates/milestone-context.md +1 -1
- package/mindsystem/templates/milestone.md +9 -9
- package/mindsystem/templates/project.md +2 -2
- package/mindsystem/templates/research-subagent-prompt.md +3 -3
- package/mindsystem/templates/roadmap-milestone.md +14 -14
- package/mindsystem/templates/roadmap.md +10 -8
- package/mindsystem/templates/state.md +2 -2
- package/mindsystem/templates/verification-report.md +3 -26
- package/mindsystem/workflows/adhoc.md +1 -1
- package/mindsystem/workflows/complete-milestone.md +40 -75
- package/mindsystem/workflows/discuss-phase.md +141 -65
- package/mindsystem/workflows/doctor-fixes.md +273 -0
- package/mindsystem/workflows/execute-phase.md +9 -21
- package/mindsystem/workflows/execute-plan.md +3 -0
- package/mindsystem/workflows/map-codebase.md +6 -12
- package/mindsystem/workflows/mockup-generation.md +47 -23
- package/mindsystem/workflows/plan-phase.md +13 -6
- package/mindsystem/workflows/transition.md +2 -2
- package/mindsystem/workflows/verify-work.md +97 -70
- package/package.json +1 -1
- package/scripts/__pycache__/ms-tools.cpython-314.pyc +0 -0
- package/scripts/__pycache__/test_ms_tools.cpython-314-pytest-9.0.2.pyc +0 -0
- package/scripts/fixtures/scan-context/.planning/ROADMAP.md +16 -0
- package/scripts/fixtures/scan-context/.planning/adhoc/20260220-fix-token-SUMMARY.md +12 -0
- package/scripts/fixtures/scan-context/.planning/config.json +3 -0
- package/scripts/fixtures/scan-context/.planning/debug/resolved/token-bug.md +11 -0
- package/scripts/fixtures/scan-context/.planning/knowledge/auth.md +11 -0
- package/scripts/fixtures/scan-context/.planning/phases/02-infra/02-1-SUMMARY.md +20 -0
- package/scripts/fixtures/scan-context/.planning/phases/04-setup/04-1-SUMMARY.md +21 -0
- package/scripts/fixtures/scan-context/.planning/phases/05-auth/05-1-SUMMARY.md +28 -0
- package/scripts/fixtures/scan-context/.planning/todos/done/setup-db.md +10 -0
- package/scripts/fixtures/scan-context/.planning/todos/pending/add-logout.md +10 -0
- package/scripts/fixtures/scan-context/expected-output.json +257 -0
- package/scripts/ms-tools.py +2884 -0
- package/scripts/test_ms_tools.py +1622 -0
- package/agents/ms-flutter-code-quality.md +0 -169
- package/agents/ms-flutter-reviewer.md +0 -211
- package/agents/ms-flutter-simplifier.md +0 -79
- package/commands/ms/list-phase-assumptions.md +0 -56
- package/mindsystem/workflows/list-phase-assumptions.md +0 -178
- package/mindsystem/workflows/verify-phase.md +0 -625
- package/scripts/__pycache__/compare_mockups.cpython-314.pyc +0 -0
- package/scripts/archive-milestone-files.sh +0 -68
- package/scripts/archive-milestone-phases.sh +0 -138
- package/scripts/doctor-scan.sh +0 -402
- package/scripts/gather-milestone-stats.sh +0 -179
- package/scripts/generate-adhoc-patch.sh +0 -79
- package/scripts/generate-phase-patch.sh +0 -169
- package/scripts/scan-artifact-subsystems.sh +0 -55
- package/scripts/scan-planning-context.py +0 -839
- package/scripts/update-state.sh +0 -59
- package/scripts/validate-execution-order.sh +0 -104
- package/skills/flutter-code-quality/SKILL.md +0 -143
- package/skills/flutter-code-simplification/SKILL.md +0 -102
- package/skills/flutter-senior-review/AGENTS.md +0 -869
- package/skills/flutter-senior-review/SKILL.md +0 -205
- package/skills/flutter-senior-review/principles/dependencies-data-not-callbacks.md +0 -75
- package/skills/flutter-senior-review/principles/dependencies-provider-tree.md +0 -85
- package/skills/flutter-senior-review/principles/dependencies-temporal-coupling.md +0 -97
- package/skills/flutter-senior-review/principles/pragmatism-consistent-error-handling.md +0 -130
- package/skills/flutter-senior-review/principles/pragmatism-speculative-generality.md +0 -91
- package/skills/flutter-senior-review/principles/state-data-clumps.md +0 -64
- package/skills/flutter-senior-review/principles/state-invalid-states.md +0 -53
- package/skills/flutter-senior-review/principles/state-single-source-of-truth.md +0 -68
- package/skills/flutter-senior-review/principles/state-type-hierarchies.md +0 -75
- package/skills/flutter-senior-review/principles/structure-composition-over-config.md +0 -105
- package/skills/flutter-senior-review/principles/structure-shared-visual-patterns.md +0 -107
- package/skills/flutter-senior-review/principles/structure-wrapper-pattern.md +0 -90
package/commands/ms/help.md
CHANGED
|
@@ -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`
|
|
33
|
-
2. `/ms:
|
|
34
|
-
3. `/ms:
|
|
35
|
-
4. `/ms:
|
|
36
|
-
5. `/ms:
|
|
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:
|
|
41
|
-
2. `/ms:
|
|
42
|
-
3.
|
|
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`
|
|
66
|
-
- Plan looks wrong: `/ms:
|
|
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`
|
|
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
|
-
|
|
132
|
+
Product-informed collaborative thinking before planning.
|
|
122
133
|
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
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 [
|
|
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
|
|
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 "
|
|
287
|
+
Usage: `/ms:new-milestone "Push Notifications"`
|
|
284
288
|
|
|
285
|
-
**`/ms:complete-milestone
|
|
286
|
-
Archive completed milestone and prepare for next
|
|
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
|
-
-
|
|
292
|
-
-
|
|
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
|
|
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:
|
|
456
|
-
/ms:
|
|
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
|
|
521
|
-
/ms:complete-milestone
|
|
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
|
|
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
|
|
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
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
220
|
-
-
|
|
221
|
-
|
|
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
|
|
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: "[
|
|
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
|
-
-
|
|
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 (
|
|
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
|
|
89
|
+
- Check for previous milestone artifacts:
|
|
66
90
|
- `.planning/knowledge/*.md` (subsystem knowledge files — persist across milestones)
|
|
67
|
-
- `.planning/milestones/
|
|
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
|
-
|
|
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
|
|
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
|
|
161
|
-
-
|
|
162
|
-
-
|
|
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
|
-
**
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
**
|
|
34
|
+
**Run before any user interaction:**
|
|
35
35
|
|
|
36
|
-
1. **
|
|
36
|
+
1. **Detect update mode:**
|
|
37
37
|
```bash
|
|
38
|
-
[ -f .planning/PROJECT.md ] && echo "
|
|
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
|
-
**
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
258
|
-
-
|
|
259
|
-
|
|
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
|
-
- [ ]
|
|
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
|
-
|
|
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
|
-
|
|
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:** {
|
|
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
|
|
193
|
+
`/ms:complete-milestone` — archive when audit passes
|
|
195
194
|
```
|
|
196
195
|
|
|
197
196
|
## 10. Update Last Command
|
|
198
197
|
|
|
199
|
-
|
|
200
|
-
-
|
|
201
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
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)
|