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.
@@ -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
- [The ONE thing that matters most. If everything else fails, this must work.
18
- One sentence that drives prioritization when tradeoffs arise.]
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
- - [ ] [Requirement 1]
33
- - [ ] [Requirement 2]
34
- - [ ] [Requirement 3]
19
+ ## Core Problem
20
+ [Why this exists — what pain or desire drives it. 1-2 sentences.]
35
21
 
36
- ### Out of Scope
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
- <!-- Explicit boundaries. Includes reasoning to prevent re-adding. -->
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
- ## Key Decisions
44
+ ## Technical Context
45
+ [Tech stack, integrations, prior work, known issues/debt.]
59
46
 
60
- <!-- Decisions that constrain future work. Add throughout project lifecycle. -->
47
+ ## Validated
48
+ (None yet — ship to validate)
49
+
50
+ ## Key Decisions
61
51
 
62
52
  | Decision | Rationale | Outcome |
63
53
  |----------|-----------|---------|
64
- | [Choice] | [Why] | [✓ Good / ⚠️ Revisit / — Pending] |
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
- **Requirements Validated:**
87
- - Requirements that shipped and proved valuable
88
- - Format: `- [Requirement] [version/phase]`
89
- - These are lockedchanging them requires explicit discussion
90
-
91
- **Requirements — Active:**
92
- - Current scope being built toward
93
- - These are hypotheses until shipped and validated
94
- - Move to Validated when shipped, Out of Scope if invalidated
95
-
96
- **Requirements Out of Scope:**
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. New requirements emerged? → Add to Active
135
- 4. Decisions to log? → Add to Key Decisions
136
- 5. "What This Is" still accurate? → Update if drifted
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. **Gather Active requirements** from user:
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 = includes current codebase state
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 if budget exceeds 45% or multiple subsystems)
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-based grouping (weights within 45%)
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 Active requirements shipped in this milestone → Move to Validated
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. **Context update:**
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
- 5. **Key Decisions audit:**
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
- 6. **Constraints check:**
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
- ## Requirements
237
+ ## Who It's For
237
238
 
238
- ### Validated
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
- ### Active
242
+ ## Validated
243
243
 
244
- - [ ] Canvas drawing tools
245
- - [ ] Real-time sync < 500ms
246
- - [ ] User authentication
247
- - [ ] Export to PNG
244
+ (None yet ship to validate)
248
245
 
249
- ### Out of Scope
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
- ## Requirements
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
- ### Validated
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
- ### Active
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 moved to Validated
298
- - [ ] New requirements added to Active for next milestone
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, Requirements, Key Decisions, Context)
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 update_roadmap |
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 update_roadmap.
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 update_roadmap
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 update_roadmap.
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:**` and `**Type:**` values.
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
- Scan the skill list in your system message for skills matching the plan's technology or domain. Invoke each match via the Skill tool before proceeding skills contain project-specific conventions and patterns that change what you produce during implementation.
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
- - One clear match invoke it directly
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 all 3 directions to user via AskUserQuestion:
43
- > "Here are 3 design directions for [screen]. Generate mockups for all 3?"
44
- >
45
- > **A: {Direction A name}** — {one-sentence philosophy}
46
- > **B: {Direction B name}** — {one-sentence philosophy}
47
- > **C: {Direction C name}** {one-sentence philosophy}
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. **Let me describe different directions** — Replace with your own
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>