mindsystem-cc 3.18.1 → 3.20.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/agents/ms-designer.md +5 -2
- package/agents/ms-plan-writer.md +58 -53
- package/commands/ms/add-phase.md +29 -17
- package/commands/ms/check-phase.md +1 -1
- package/commands/ms/design-phase.md +31 -21
- package/commands/ms/doctor.md +208 -80
- package/commands/ms/execute-phase.md +8 -8
- package/commands/ms/help.md +5 -5
- package/commands/ms/insert-phase.md +29 -17
- package/commands/ms/new-milestone.md +2 -3
- package/commands/ms/new-project.md +42 -68
- package/commands/ms/plan-phase.md +4 -1
- package/commands/ms/release-notes.md +32 -49
- package/mindsystem/references/plan-format.md +11 -1
- package/mindsystem/references/prework-status.md +1 -1
- package/mindsystem/references/principles.md +2 -2
- package/mindsystem/references/questioning.md +50 -8
- package/mindsystem/references/scope-estimation.md +12 -13
- package/mindsystem/templates/phase-prompt.md +5 -6
- package/mindsystem/templates/project.md +69 -63
- package/mindsystem/templates/roadmap.md +1 -1
- package/mindsystem/templates/verification-report.md +1 -1
- package/mindsystem/workflows/complete-milestone.md +27 -33
- package/mindsystem/workflows/execute-phase.md +70 -70
- package/mindsystem/workflows/execute-plan.md +3 -5
- package/mindsystem/workflows/mockup-generation.md +24 -8
- package/mindsystem/workflows/plan-phase.md +80 -18
- package/mindsystem/workflows/transition.md +18 -23
- package/mindsystem/workflows/verify-phase.md +1 -1
- package/package.json +1 -1
- package/scripts/doctor-scan.sh +402 -0
|
@@ -8,60 +8,50 @@ Template for `.planning/PROJECT.md` — the living project context document.
|
|
|
8
8
|
# [Project Name]
|
|
9
9
|
|
|
10
10
|
## What This Is
|
|
11
|
-
|
|
12
|
-
[Current accurate description — 2-3 sentences. What does this product do and who is it for?
|
|
13
|
-
Use the user's language and framing. Update whenever reality drifts from this description.]
|
|
11
|
+
[2-3 sentences. Product identity in plain language.]
|
|
14
12
|
|
|
15
13
|
## Core Value
|
|
14
|
+
[Single sentence: the ONE thing that cannot fail.]
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Requirements
|
|
21
|
-
|
|
22
|
-
### Validated
|
|
23
|
-
|
|
24
|
-
<!-- Shipped and confirmed valuable. -->
|
|
25
|
-
|
|
26
|
-
(None yet — ship to validate)
|
|
27
|
-
|
|
28
|
-
### Active
|
|
29
|
-
|
|
30
|
-
<!-- Current scope. Building toward these. -->
|
|
16
|
+
## Who It's For
|
|
17
|
+
[Target audience — who they are, their context, how they work today. 2-4 sentences.]
|
|
31
18
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- [ ] [Requirement 3]
|
|
19
|
+
## Core Problem
|
|
20
|
+
[Why this exists — what pain or desire drives it. 1-2 sentences.]
|
|
35
21
|
|
|
36
|
-
|
|
22
|
+
## How It's Different
|
|
23
|
+
[What makes this not another [category]. Include competitive context if relevant.]
|
|
24
|
+
- [Differentiator 1]
|
|
25
|
+
- [Differentiator 2]
|
|
26
|
+
- [Differentiator 3]
|
|
37
27
|
|
|
38
|
-
|
|
28
|
+
## Key User Flows
|
|
29
|
+
[The 2-3 core interactions users perform.]
|
|
30
|
+
- [Flow 1]
|
|
31
|
+
- [Flow 2]
|
|
32
|
+
- [Flow 3]
|
|
39
33
|
|
|
34
|
+
## Out of Scope
|
|
40
35
|
- [Exclusion 1] — [why]
|
|
41
36
|
- [Exclusion 2] — [why]
|
|
42
37
|
|
|
43
|
-
## Context
|
|
44
|
-
|
|
45
|
-
[Background information that informs implementation:
|
|
46
|
-
- Technical environment or ecosystem
|
|
47
|
-
- Relevant prior work or experience
|
|
48
|
-
- User research or feedback themes
|
|
49
|
-
- Known issues to address]
|
|
50
|
-
|
|
51
38
|
## Constraints
|
|
52
|
-
|
|
53
39
|
- **[Type]**: [What] — [Why]
|
|
54
40
|
- **[Type]**: [What] — [Why]
|
|
55
41
|
|
|
56
42
|
Common types: Tech stack, Timeline, Budget, Dependencies, Compatibility, Performance, Security
|
|
57
43
|
|
|
58
|
-
##
|
|
44
|
+
## Technical Context
|
|
45
|
+
[Tech stack, integrations, prior work, known issues/debt.]
|
|
59
46
|
|
|
60
|
-
|
|
47
|
+
## Validated
|
|
48
|
+
(None yet — ship to validate)
|
|
49
|
+
|
|
50
|
+
## Key Decisions
|
|
61
51
|
|
|
62
52
|
| Decision | Rationale | Outcome |
|
|
63
53
|
|----------|-----------|---------|
|
|
64
|
-
| [Choice] | [Why] |
|
|
54
|
+
| [Choice] | [Why] | — Pending |
|
|
65
55
|
|
|
66
56
|
---
|
|
67
57
|
*Last updated: [date] after [trigger]*
|
|
@@ -83,32 +73,51 @@ Common types: Tech stack, Timeline, Budget, Dependencies, Compatibility, Perform
|
|
|
83
73
|
- Drives prioritization when tradeoffs arise
|
|
84
74
|
- Rarely changes; if it does, it's a significant pivot
|
|
85
75
|
|
|
86
|
-
**
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
76
|
+
**Who It's For:**
|
|
77
|
+
- Specific enough to find 10 of these people
|
|
78
|
+
- Include their context: what they do today, what tools they use, what frustrates them
|
|
79
|
+
- Avoid broad categories ("developers", "small businesses") — narrow to who needs this MOST
|
|
80
|
+
- Update as real user data replaces assumptions
|
|
81
|
+
|
|
82
|
+
**Core Problem:**
|
|
83
|
+
- The pain or desire that makes this product necessary
|
|
84
|
+
- Should explain why existing alternatives don't suffice
|
|
85
|
+
- One sentence is better than two — forces precision
|
|
86
|
+
- If you can't articulate the problem, the product isn't ready to build
|
|
87
|
+
|
|
88
|
+
**How It's Different:**
|
|
89
|
+
- 2-3 concrete differentiators, not marketing language
|
|
90
|
+
- Include what people use today instead (even manual workarounds)
|
|
91
|
+
- "Nothing else does this" is almost always wrong — probe alternatives
|
|
92
|
+
- Competitive context folds in here — no standalone section needed
|
|
93
|
+
|
|
94
|
+
**Key User Flows:**
|
|
95
|
+
- The 2-3 core interactions that make the product valuable
|
|
96
|
+
- One line each — verb-driven ("Log workout → view history → track progress")
|
|
97
|
+
- Bridges abstract identity and concrete architecture
|
|
98
|
+
- Update as flows are validated or new ones emerge
|
|
99
|
+
|
|
100
|
+
**Out of Scope:**
|
|
97
101
|
- Explicit boundaries on what we're not building
|
|
98
102
|
- Always include reasoning (prevents re-adding later)
|
|
99
103
|
- Includes: considered and rejected, deferred to future, explicitly excluded
|
|
100
104
|
|
|
101
|
-
**Context:**
|
|
102
|
-
- Background that informs implementation decisions
|
|
103
|
-
- Technical environment, prior work, user feedback
|
|
104
|
-
- Known issues or technical debt to address
|
|
105
|
-
- Update as new context emerges
|
|
106
|
-
|
|
107
105
|
**Constraints:**
|
|
108
106
|
- Hard limits on implementation choices
|
|
109
107
|
- Tech stack, timeline, budget, compatibility, dependencies
|
|
110
108
|
- Include the "why" — constraints without rationale get questioned
|
|
111
109
|
|
|
110
|
+
**Technical Context:**
|
|
111
|
+
- Background that informs implementation decisions
|
|
112
|
+
- Tech stack, integrations, prior work, known issues/debt
|
|
113
|
+
- Update as new technical context emerges
|
|
114
|
+
- Purely technical — business context lives in Layer 1 sections
|
|
115
|
+
|
|
116
|
+
**Validated:**
|
|
117
|
+
- Requirements that shipped and proved valuable
|
|
118
|
+
- Format: `- ✓ [Requirement] — [version/phase]`
|
|
119
|
+
- These are locked — changing them requires explicit discussion
|
|
120
|
+
|
|
112
121
|
**Key Decisions:**
|
|
113
122
|
- Significant choices that affect future work
|
|
114
123
|
- Add decisions as they're made throughout the project
|
|
@@ -131,15 +140,17 @@ PROJECT.md evolves throughout the project lifecycle.
|
|
|
131
140
|
**After each phase transition:**
|
|
132
141
|
1. Requirements invalidated? → Move to Out of Scope with reason
|
|
133
142
|
2. Requirements validated? → Move to Validated with phase reference
|
|
134
|
-
3.
|
|
135
|
-
4.
|
|
136
|
-
5.
|
|
143
|
+
3. Decisions to log? → Add to Key Decisions
|
|
144
|
+
4. "What This Is" still accurate? → Update if drifted
|
|
145
|
+
5. Has understanding of audience, problem, or differentiation evolved? → Update Who It's For, Core Problem, or How It's Different
|
|
146
|
+
6. New key flows emerged? → Update Key User Flows
|
|
137
147
|
|
|
138
148
|
**After each milestone:**
|
|
139
|
-
1. Full review of all sections
|
|
149
|
+
1. Full review of all sections including business context (Who It's For, Core Problem, How It's Different)
|
|
140
150
|
2. Core Value check — still the right priority?
|
|
141
151
|
3. Audit Out of Scope — reasons still valid?
|
|
142
|
-
4. Update Context with current state (users, feedback, metrics)
|
|
152
|
+
4. Update Technical Context with current state (users, feedback, metrics)
|
|
153
|
+
5. Key User Flows — validated against what users actually do?
|
|
143
154
|
|
|
144
155
|
</evolution>
|
|
145
156
|
|
|
@@ -154,15 +165,10 @@ For existing codebases:
|
|
|
154
165
|
- What patterns are established?
|
|
155
166
|
- What's clearly working and relied upon?
|
|
156
167
|
|
|
157
|
-
3. **
|
|
158
|
-
- Present inferred current state
|
|
159
|
-
- Ask what they want to build next
|
|
160
|
-
|
|
161
|
-
4. **Initialize:**
|
|
168
|
+
3. **Initialize:**
|
|
162
169
|
- Validated = inferred from existing code
|
|
163
|
-
- Active = user's goals for this work
|
|
164
170
|
- Out of Scope = boundaries user specifies
|
|
165
|
-
- Context =
|
|
171
|
+
- Technical Context = populated from codebase map
|
|
166
172
|
|
|
167
173
|
</brownfield>
|
|
168
174
|
|
|
@@ -123,7 +123,7 @@ Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
|
123
123
|
**Initial planning (v1.0):**
|
|
124
124
|
- Phase count derived from actual work (not a target number)
|
|
125
125
|
- Each phase delivers something coherent
|
|
126
|
-
- Phases can have 1+ plans (split
|
|
126
|
+
- Phases can have 1+ plans (split by orchestrator judgment — multiple subsystems, context budget, vertical slices)
|
|
127
127
|
- Plans use naming: {phase}-{plan}-PLAN.md (e.g., 01-02-PLAN.md)
|
|
128
128
|
- No time estimates (this isn't enterprise PM)
|
|
129
129
|
- Progress table updated by execute workflow
|
|
@@ -180,7 +180,7 @@ None — all verifiable items checked programmatically.
|
|
|
180
180
|
**Fix plan generation:**
|
|
181
181
|
- Only generate if gaps_found
|
|
182
182
|
- Group related fixes into single plans
|
|
183
|
-
- Budget-
|
|
183
|
+
- Budget-aware grouping (target 25-45% per plan)
|
|
184
184
|
- Include verification task in each plan
|
|
185
185
|
|
|
186
186
|
---
|
|
@@ -184,30 +184,31 @@ cat .planning/phases/*-*/*-SUMMARY.md
|
|
|
184
184
|
3. **Requirements audit:**
|
|
185
185
|
|
|
186
186
|
**Validated section:**
|
|
187
|
-
- All
|
|
187
|
+
- All requirements shipped in this milestone → Add to Validated
|
|
188
188
|
- Format: `- ✓ [Requirement] — v[X.Y]`
|
|
189
189
|
|
|
190
|
-
**Active section:**
|
|
191
|
-
- Remove requirements that moved to Validated
|
|
192
|
-
- Add any new requirements for next milestone
|
|
193
|
-
- Keep requirements that weren't addressed yet
|
|
194
|
-
|
|
195
190
|
**Out of Scope audit:**
|
|
196
191
|
- Review each item — is the reasoning still valid?
|
|
197
192
|
- Remove items that are no longer relevant
|
|
198
193
|
- Add any requirements invalidated during this milestone
|
|
199
194
|
|
|
200
|
-
4. **
|
|
195
|
+
4. **Business context review:**
|
|
196
|
+
- Who It's For — has understanding of audience evolved?
|
|
197
|
+
- Core Problem — still the right framing?
|
|
198
|
+
- How It's Different — new competitors or differentiators?
|
|
199
|
+
- Key User Flows — validated against what users actually do?
|
|
200
|
+
|
|
201
|
+
5. **Technical Context update:**
|
|
201
202
|
- Current codebase state (LOC, tech stack)
|
|
202
203
|
- User feedback themes (if any)
|
|
203
204
|
- Known issues or technical debt to address
|
|
204
205
|
|
|
205
|
-
|
|
206
|
+
6. **Key Decisions audit:**
|
|
206
207
|
- Extract all decisions from milestone phase summaries
|
|
207
208
|
- Add to Key Decisions table with outcomes where known
|
|
208
209
|
- Mark ✓ Good, ⚠️ Revisit, or — Pending for each
|
|
209
210
|
|
|
210
|
-
|
|
211
|
+
7. **Constraints check:**
|
|
211
212
|
- Any constraints that changed during development?
|
|
212
213
|
- Update as needed
|
|
213
214
|
|
|
@@ -233,20 +234,16 @@ A real-time collaborative whiteboard for remote teams.
|
|
|
233
234
|
|
|
234
235
|
Real-time sync that feels instant.
|
|
235
236
|
|
|
236
|
-
##
|
|
237
|
+
## Who It's For
|
|
237
238
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
(None yet — ship to validate)
|
|
239
|
+
Remote teams who need to brainstorm visually during meetings.
|
|
240
|
+
Currently using Miro or physical whiteboards.
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
## Validated
|
|
243
243
|
|
|
244
|
-
|
|
245
|
-
- [ ] Real-time sync < 500ms
|
|
246
|
-
- [ ] User authentication
|
|
247
|
-
- [ ] Export to PNG
|
|
244
|
+
(None yet — ship to validate)
|
|
248
245
|
|
|
249
|
-
|
|
246
|
+
## Out of Scope
|
|
250
247
|
|
|
251
248
|
- Mobile app — web-first approach
|
|
252
249
|
- Video chat — use external tools
|
|
@@ -263,27 +260,24 @@ A real-time collaborative whiteboard for remote teams with instant sync and draw
|
|
|
263
260
|
|
|
264
261
|
Real-time sync that feels instant.
|
|
265
262
|
|
|
266
|
-
##
|
|
263
|
+
## Who It's For
|
|
264
|
+
|
|
265
|
+
Remote teams (2-8 people) who brainstorm visually during meetings.
|
|
266
|
+
Currently using Miro but frustrated by complexity and latency.
|
|
267
267
|
|
|
268
|
-
|
|
268
|
+
## Validated
|
|
269
269
|
|
|
270
270
|
- ✓ Canvas drawing tools — v1.0
|
|
271
271
|
- ✓ Real-time sync < 500ms — v1.0 (achieved 200ms avg)
|
|
272
272
|
- ✓ User authentication — v1.0
|
|
273
273
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
- [ ] Export to PNG
|
|
277
|
-
- [ ] Undo/redo history
|
|
278
|
-
- [ ] Shape tools (rectangles, circles)
|
|
279
|
-
|
|
280
|
-
### Out of Scope
|
|
274
|
+
## Out of Scope
|
|
281
275
|
|
|
282
276
|
- Mobile app — web-first approach, PWA works well
|
|
283
277
|
- Video chat — use external tools
|
|
284
278
|
- Offline mode — real-time is core value
|
|
285
279
|
|
|
286
|
-
## Context
|
|
280
|
+
## Technical Context
|
|
287
281
|
|
|
288
282
|
Shipped v1.0 with 2,400 LOC TypeScript.
|
|
289
283
|
Tech stack: Next.js, Supabase, Canvas API.
|
|
@@ -294,10 +288,10 @@ Initial user testing showed demand for shape tools.
|
|
|
294
288
|
|
|
295
289
|
- [ ] "What This Is" reviewed and updated if needed
|
|
296
290
|
- [ ] Core Value verified as still correct
|
|
297
|
-
- [ ] All shipped requirements
|
|
298
|
-
- [ ]
|
|
291
|
+
- [ ] All shipped requirements added to Validated
|
|
292
|
+
- [ ] Business context reviewed (Who It's For, Core Problem, How It's Different, Key User Flows)
|
|
299
293
|
- [ ] Out of Scope reasoning audited
|
|
300
|
-
- [ ] Context updated with current state
|
|
294
|
+
- [ ] Technical Context updated with current state
|
|
301
295
|
- [ ] All milestone decisions added to Key Decisions
|
|
302
296
|
- [ ] "Last updated" footer reflects milestone completion
|
|
303
297
|
|
|
@@ -626,7 +620,7 @@ Tag: v[X.Y]
|
|
|
626
620
|
|
|
627
621
|
Milestone completion is successful when (ordered by skip risk):
|
|
628
622
|
|
|
629
|
-
- [ ] PROJECT.md full evolution review completed (What This Is, Core Value,
|
|
623
|
+
- [ ] PROJECT.md full evolution review completed (What This Is, Core Value, business context, Validated, Key Decisions, Technical Context)
|
|
630
624
|
- [ ] All shipped requirements moved to Validated in PROJECT.md
|
|
631
625
|
- [ ] Key Decisions updated with outcomes
|
|
632
626
|
- [ ] MILESTONES.md entry created with stats and accomplishments
|
|
@@ -245,72 +245,6 @@ After all waves complete, aggregate results:
|
|
|
245
245
|
```
|
|
246
246
|
</step>
|
|
247
247
|
|
|
248
|
-
<step name="code_review">
|
|
249
|
-
Read code review agent name from config:
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
CODE_REVIEW=$(cat .planning/config.json 2>/dev/null | jq -r '.code_review.phase // empty')
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**If CODE_REVIEW = "skip":**
|
|
256
|
-
Report: "Code review skipped (config: skip)"
|
|
257
|
-
Proceed to verify_phase_goal.
|
|
258
|
-
|
|
259
|
-
**If CODE_REVIEW = empty/null:**
|
|
260
|
-
Use default: `CODE_REVIEW="ms-code-simplifier"`
|
|
261
|
-
|
|
262
|
-
**Otherwise:**
|
|
263
|
-
Use CODE_REVIEW value directly as agent name.
|
|
264
|
-
|
|
265
|
-
1. **Gather changed files:**
|
|
266
|
-
```bash
|
|
267
|
-
# Get all files changed in this phase's commits
|
|
268
|
-
PHASE_COMMITS=$(git log --oneline --grep="(${PHASE_NUMBER}-" --format="%H")
|
|
269
|
-
CHANGED_FILES=$(git diff --name-only $(echo "$PHASE_COMMITS" | tail -1)^..HEAD | grep -E '\.(dart|ts|tsx|js|jsx|swift|kt|py|go|rs)$')
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
2. **Spawn code review agent (from config):**
|
|
273
|
-
```
|
|
274
|
-
Task(
|
|
275
|
-
prompt="
|
|
276
|
-
<objective>
|
|
277
|
-
Review code modified in phase {phase_number}.
|
|
278
|
-
Preserve all functionality. Improve clarity and consistency.
|
|
279
|
-
</objective>
|
|
280
|
-
|
|
281
|
-
<scope>
|
|
282
|
-
Files to analyze:
|
|
283
|
-
{CHANGED_FILES}
|
|
284
|
-
</scope>
|
|
285
|
-
|
|
286
|
-
<output>
|
|
287
|
-
After review and simplifications, run static analysis and tests.
|
|
288
|
-
Report what was improved and verification results.
|
|
289
|
-
</output>
|
|
290
|
-
",
|
|
291
|
-
subagent_type="{CODE_REVIEW}"
|
|
292
|
-
)
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
3. **Handle result:**
|
|
296
|
-
- If changes made: Stage and commit
|
|
297
|
-
- If no changes: Report "No improvements needed"
|
|
298
|
-
|
|
299
|
-
4. **Commit review changes (if any):**
|
|
300
|
-
```bash
|
|
301
|
-
git add [modified files]
|
|
302
|
-
git commit -m "$(cat <<'EOF'
|
|
303
|
-
refactor({phase}): code review improvements
|
|
304
|
-
|
|
305
|
-
Reviewer: {agent_type}
|
|
306
|
-
Files reviewed: {count}
|
|
307
|
-
EOF
|
|
308
|
-
)"
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
Report: "Code review complete. Proceeding to verification."
|
|
312
|
-
</step>
|
|
313
|
-
|
|
314
248
|
<step name="verify_phase_goal">
|
|
315
249
|
Verify phase achieved its GOAL, not just completed its TASKS.
|
|
316
250
|
|
|
@@ -339,13 +273,13 @@ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
|
339
273
|
|
|
340
274
|
| Status | Action |
|
|
341
275
|
|--------|--------|
|
|
342
|
-
| `passed` | Continue to
|
|
276
|
+
| `passed` | Continue to code_review |
|
|
343
277
|
| `human_needed` | Present items to user, get approval or feedback |
|
|
344
278
|
| `gaps_found` | Present gap summary, offer `/ms:plan-phase {phase} --gaps` |
|
|
345
279
|
|
|
346
280
|
**If passed:**
|
|
347
281
|
|
|
348
|
-
Phase goal verified. Proceed to
|
|
282
|
+
Phase goal verified. Proceed to code_review.
|
|
349
283
|
|
|
350
284
|
**If human_needed:**
|
|
351
285
|
|
|
@@ -361,11 +295,11 @@ All automated checks passed. {N} items need human testing:
|
|
|
361
295
|
---
|
|
362
296
|
|
|
363
297
|
**After testing:**
|
|
364
|
-
- "approved" → continue to
|
|
298
|
+
- "approved" → continue to code_review
|
|
365
299
|
- Report issues → will route to gap closure planning
|
|
366
300
|
```
|
|
367
301
|
|
|
368
|
-
If user approves → continue to
|
|
302
|
+
If user approves → continue to code_review.
|
|
369
303
|
If user reports issues → treat as gaps_found.
|
|
370
304
|
|
|
371
305
|
**If gaps_found:**
|
|
@@ -407,6 +341,72 @@ User runs `/ms:plan-phase {X} --gaps` which:
|
|
|
407
341
|
User stays in control at each decision point.
|
|
408
342
|
</step>
|
|
409
343
|
|
|
344
|
+
<step name="code_review">
|
|
345
|
+
Read code review agent name from config:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
CODE_REVIEW=$(cat .planning/config.json 2>/dev/null | jq -r '.code_review.phase // empty')
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
**If CODE_REVIEW = "skip":**
|
|
352
|
+
Report: "Code review skipped (config: skip)"
|
|
353
|
+
Proceed to generate_phase_patch.
|
|
354
|
+
|
|
355
|
+
**If CODE_REVIEW = empty/null:**
|
|
356
|
+
Use default: `CODE_REVIEW="ms-code-simplifier"`
|
|
357
|
+
|
|
358
|
+
**Otherwise:**
|
|
359
|
+
Use CODE_REVIEW value directly as agent name.
|
|
360
|
+
|
|
361
|
+
1. **Gather changed files:**
|
|
362
|
+
```bash
|
|
363
|
+
# Get all files changed in this phase's commits
|
|
364
|
+
PHASE_COMMITS=$(git log --oneline --grep="(${PHASE_NUMBER}-" --format="%H")
|
|
365
|
+
CHANGED_FILES=$(git diff --name-only $(echo "$PHASE_COMMITS" | tail -1)^..HEAD | grep -E '\.(dart|ts|tsx|js|jsx|swift|kt|py|go|rs)$')
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
2. **Spawn code review agent (from config):**
|
|
369
|
+
```
|
|
370
|
+
Task(
|
|
371
|
+
prompt="
|
|
372
|
+
<objective>
|
|
373
|
+
Review code modified in phase {phase_number}.
|
|
374
|
+
Preserve all functionality. Improve clarity and consistency.
|
|
375
|
+
</objective>
|
|
376
|
+
|
|
377
|
+
<scope>
|
|
378
|
+
Files to analyze:
|
|
379
|
+
{CHANGED_FILES}
|
|
380
|
+
</scope>
|
|
381
|
+
|
|
382
|
+
<output>
|
|
383
|
+
After review and simplifications, run static analysis and tests.
|
|
384
|
+
Report what was improved and verification results.
|
|
385
|
+
</output>
|
|
386
|
+
",
|
|
387
|
+
subagent_type="{CODE_REVIEW}"
|
|
388
|
+
)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
3. **Handle result:**
|
|
392
|
+
- If changes made: Stage and commit
|
|
393
|
+
- If no changes: Report "No improvements needed"
|
|
394
|
+
|
|
395
|
+
4. **Commit review changes (if any):**
|
|
396
|
+
```bash
|
|
397
|
+
git add [modified files]
|
|
398
|
+
git commit -m "$(cat <<'EOF'
|
|
399
|
+
refactor({phase}): code review improvements
|
|
400
|
+
|
|
401
|
+
Reviewer: {agent_type}
|
|
402
|
+
Files reviewed: {count}
|
|
403
|
+
EOF
|
|
404
|
+
)"
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
Report: "Code review complete. Proceeding to patch generation."
|
|
408
|
+
</step>
|
|
409
|
+
|
|
410
410
|
<step name="generate_phase_patch">
|
|
411
411
|
Generate a patch file with all implementation changes from this phase.
|
|
412
412
|
|
|
@@ -28,7 +28,7 @@ cat .planning/STATE.md 2>/dev/null
|
|
|
28
28
|
<step name="load_plan">
|
|
29
29
|
Read the plan file provided in your prompt context.
|
|
30
30
|
|
|
31
|
-
Parse inline metadata from header: `**Subsystem
|
|
31
|
+
Parse inline metadata from header: `**Subsystem:**`, `**Type:**`, and `**Skills:**` values.
|
|
32
32
|
|
|
33
33
|
Parse plan sections:
|
|
34
34
|
- Context (files to read, @-references)
|
|
@@ -44,11 +44,9 @@ Parse plan sections:
|
|
|
44
44
|
</step>
|
|
45
45
|
|
|
46
46
|
<step name="load_skills">
|
|
47
|
-
|
|
47
|
+
**If `**Skills:**` is present in plan metadata:** Invoke each listed skill via the Skill tool before proceeding. These were confirmed by the user during planning — load them without further confirmation.
|
|
48
48
|
|
|
49
|
-
-
|
|
50
|
-
- Multiple candidates → use AskUserQuestion to let the user choose
|
|
51
|
-
- No match → proceed without
|
|
49
|
+
**If `**Skills:**` is absent:** Proceed without loading skills. Skill discovery happens during `/ms:plan-phase` — absence means no skills were relevant.
|
|
52
50
|
</step>
|
|
53
51
|
|
|
54
52
|
<step name="execute">
|
|
@@ -39,16 +39,32 @@ Read `~/.claude/mindsystem/references/design-directions.md`. Follow the 3-step d
|
|
|
39
39
|
2. **Pick most valuable exploration axes** from feature context
|
|
40
40
|
3. **Generate 3 directions** — each with name, one-sentence philosophy, and 2-3 concrete layout/component choices
|
|
41
41
|
|
|
42
|
-
Present
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
Present directions as text output first, then collect the choice separately. Do NOT put direction details inside AskUserQuestion — text output has no truncation limits and renders full markdown.
|
|
43
|
+
|
|
44
|
+
**Output format** (as regular text, before the question):
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Here are 3 design directions for the {screen}:
|
|
48
|
+
|
|
49
|
+
**A: {name}** — {philosophy}
|
|
50
|
+
{2-3 concrete layout/component choices as flowing text, ~1-2 lines}
|
|
51
|
+
→ Optimized for: {what this direction prioritizes — one phrase}
|
|
52
|
+
|
|
53
|
+
**B: {name}** — {philosophy}
|
|
54
|
+
{2-3 concrete layout/component choices as flowing text, ~1-2 lines}
|
|
55
|
+
→ Optimized for: {what this direction prioritizes — one phrase}
|
|
56
|
+
|
|
57
|
+
**C: {name}** — {philosophy}
|
|
58
|
+
{2-3 concrete layout/component choices as flowing text, ~1-2 lines}
|
|
59
|
+
→ Optimized for: {what this direction prioritizes — one phrase}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Then** use AskUserQuestion with short options only — no direction details repeated:
|
|
63
|
+
|
|
64
|
+
> "Generate mockups for all 3 directions?"
|
|
49
65
|
> 1. **Generate mockups** — Spawn 3 parallel agents, one per direction
|
|
50
66
|
> 2. **Tweak directions first** — Adjust before generating
|
|
51
|
-
> 3. **
|
|
67
|
+
> 3. **Describe different directions** — Replace with your own ideas
|
|
52
68
|
|
|
53
69
|
If user picks option 2 or 3, incorporate their input, re-derive or adjust directions, and present again.
|
|
54
70
|
</step>
|