mindsystem-cc 3.17.1 → 3.18.1

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 (37) hide show
  1. package/agents/ms-consolidator.md +4 -4
  2. package/agents/ms-debugger.md +3 -3
  3. package/agents/ms-designer.md +33 -70
  4. package/agents/ms-executor.md +7 -6
  5. package/agents/ms-plan-writer.md +52 -26
  6. package/agents/ms-researcher.md +13 -13
  7. package/commands/ms/check-phase.md +1 -1
  8. package/commands/ms/complete-milestone.md +47 -54
  9. package/commands/ms/design-phase.md +33 -30
  10. package/commands/ms/review-design.md +106 -395
  11. package/mindsystem/references/principles.md +3 -3
  12. package/mindsystem/references/routing/next-phase-routing.md +1 -1
  13. package/mindsystem/references/scope-estimation.md +22 -35
  14. package/mindsystem/templates/design-iteration.md +13 -13
  15. package/mindsystem/templates/design.md +145 -327
  16. package/mindsystem/templates/knowledge.md +1 -1
  17. package/mindsystem/templates/milestone-archive.md +3 -3
  18. package/mindsystem/templates/phase-prompt.md +6 -7
  19. package/mindsystem/templates/research-subagent-prompt.md +2 -2
  20. package/mindsystem/templates/research.md +7 -7
  21. package/mindsystem/templates/roadmap.md +1 -1
  22. package/mindsystem/templates/verification-report.md +1 -1
  23. package/mindsystem/workflows/complete-milestone.md +52 -227
  24. package/mindsystem/workflows/discuss-phase.md +3 -3
  25. package/mindsystem/workflows/execute-plan.md +1 -1
  26. package/mindsystem/workflows/plan-phase.md +22 -50
  27. package/mindsystem/workflows/verify-phase.md +1 -1
  28. package/package.json +1 -1
  29. package/scripts/archive-milestone-files.sh +68 -0
  30. package/scripts/archive-milestone-phases.sh +138 -0
  31. package/scripts/gather-milestone-stats.sh +179 -0
  32. package/scripts/ms-lookup/ms_lookup/backends/context7.py +17 -5
  33. package/scripts/ms-lookup/ms_lookup/backends/perplexity.py +17 -3
  34. package/scripts/ms-lookup-wrapper.sh +1 -1
  35. package/scripts/scan-planning-context.py +186 -36
  36. package/scripts/validate-execution-order.sh +4 -5
  37. package/scripts/cleanup-phase-artifacts.sh +0 -68
@@ -2,7 +2,7 @@
2
2
 
3
3
  Template for `.planning/phases/XX-name/{phase}-DESIGN.md` - captures visual/UX design specifications for a phase.
4
4
 
5
- **Purpose:** Translate user vision into concrete, implementable design specifications. This is design context, not technical implementation. Technical details come from research and planning.
5
+ **Purpose:** Translate user vision into concrete, implementable design specifications. All values appear exactly once, inline where consumed.
6
6
 
7
7
  ---
8
8
 
@@ -15,225 +15,77 @@ Template for `.planning/phases/XX-name/{phase}-DESIGN.md` - captures visual/UX d
15
15
  **Platform:** [web / mobile / both]
16
16
  **Aesthetic source:** [project UI skill / codebase analysis / fresh design]
17
17
 
18
- ## Visual Identity
19
-
20
- [2-3 sentences describing the design philosophy and feelings evoked. What's the vibe? What should users feel when they see this interface?]
21
-
22
- **Design direction:**
23
- - Overall feel: [e.g., "Professional yet approachable"]
24
- - Key differentiator: [e.g., "Generous whitespace, subtle animations"]
25
- - Inspiration: [e.g., "Linear's clean density, Notion's approachability"]
26
-
27
- ---
28
-
29
- ## Screen Layouts
30
-
31
- ### [Screen 1 Name]
32
-
33
- ```
18
+ ## Design Direction
19
+
20
+ [1-2 sentences: feel, inspiration, what sets this apart. Not generic specific enough to guide decisions.]
21
+
22
+ ## Design Tokens
23
+
24
+ | Token | Value | Note |
25
+ |-------|-------|------|
26
+ | bg-primary | `#[hex]` | [brief context] |
27
+ | bg-surface | `#[hex]` | [brief context] |
28
+ | text-primary | `#[hex]` | |
29
+ | text-secondary | `#[hex]` | |
30
+ | accent | `#[hex]` | [brief context] |
31
+ | error | `#[hex]` | |
32
+ | success | `#[hex]` | |
33
+ | font-heading | [family] | |
34
+ | font-body | [family] | |
35
+ | h1 | [size/weight] | |
36
+ | h2 | [size/weight] | |
37
+ | body | [size/weight] | |
38
+ | caption | [size/weight] | |
39
+ | spacing-base | [value]px | [scale: 4/8/12/16/24/32] |
40
+ | radius | [value]px | |
41
+ | shadow-1 | [values] | [subtle depth] |
42
+ | shadow-2 | [values] | [prominent depth] |
43
+
44
+ ## Screens
45
+
46
+ ### [Screen Name]
47
+
48
+ ` ` `
34
49
  +--------------------------------------------------+
35
- | [Header Area] |
36
- | Logo Nav Items User Avatar |
50
+ | bg-primary |
51
+ | [Header] h1 "Title" |
52
+ | text-secondary caption |
37
53
  +--------------------------------------------------+
38
- | |
39
- | [Main Content Area] |
40
- | |
54
+ | ↕ 24px |
41
55
  | +---------------------+ +-------------------+ |
42
- | | | | | |
43
- | | Primary Card | | Secondary Card | |
44
- | | | | | |
56
+ | | Card ← bg-surface | | Card | |
57
+ | | ↔ 16px padding | | | |
58
+ | | body text-primary | | body | |
59
+ | | radius: 8px | | radius: 8px | |
45
60
  | +---------------------+ +-------------------+ |
46
- | |
47
- | +---------------------------------------------+ |
48
- | | Full-width Section | |
49
- | +---------------------------------------------+ |
50
- | |
61
+ | ↕ 16px gap |
51
62
  +--------------------------------------------------+
52
- | [Footer] |
53
- +--------------------------------------------------+
54
- ```
55
-
56
- **Dimensions:** [width x height or responsive]
57
- **Edge padding:** [value]px
58
- **Component gaps:** [value]px
59
- **Components used:**
60
- - Header: [component names]
61
- - Cards: [component names]
62
- - Footer: [component names]
63
-
64
- **Responsive behavior:**
65
- - Desktop (1024px+): [layout description]
66
- - Tablet (768-1024px): [layout changes]
67
- - Mobile (<768px): [layout changes]
68
-
69
- ### [Screen 2 Name]
70
-
71
- [Repeat structure for each screen]
72
-
73
- ---
74
-
75
- ## Component Specifications
76
-
77
- ### [Component Name]
63
+ ` ` `
78
64
 
79
- **Purpose:** [what this component does]
65
+ **States**
80
66
 
81
- **Visual:**
82
- - Background: [color/gradient]
83
- - Border: [style, color, radius]
84
- - Shadow: [depth level]
85
- - Size: [min/max dimensions]
67
+ | Element | State | Change | Trigger |
68
+ |---------|-------|--------|---------|
69
+ | Card | hover | border → accent | mouse over |
70
+ | Card | loading | skeleton pulse | data fetch |
71
+ | Button | disabled | opacity 0.5 | form invalid |
86
72
 
87
- **States:**
88
- | State | Visual Change | Trigger |
89
- |-------|--------------|---------|
90
- | Default | [base appearance] | Initial |
91
- | Hover | [change description] | Mouse over (web) |
92
- | Active | [change description] | Click/tap |
93
- | Disabled | [change description] | Interaction blocked |
94
- | Loading | [change description] | Async operation |
73
+ **Behavior**
74
+ - [Non-obvious interaction only skip obvious actions like "tap button submits form"]
75
+ - [Animations, transitions, or conditional logic worth noting]
95
76
 
96
- **Content:**
97
- - Typography: [font, size, weight, color]
98
- - Icons: [if any, which ones, sizing]
99
- - Spacing: [internal padding]
100
-
101
- **Platform notes:**
102
- - Web: [specific considerations]
103
- - iOS: [specific considerations]
104
- - Android: [specific considerations]
105
-
106
- ### [Next Component]
107
-
108
- [Repeat for each component]
109
-
110
- ---
111
-
112
- ## UX Flows
113
-
114
- ### [Flow Name]
115
-
116
- **Entry point:** [what triggers this flow]
117
- **Goal:** [what user is trying to accomplish]
118
-
119
- **Steps:**
120
- 1. User sees [initial screen/state]
121
- 2. User [action] on [element]
122
- 3. App responds with [feedback/transition]
123
- 4. User sees [next screen/state]
124
- 5. [Continue as needed]
125
-
126
- **Decision points:**
127
- - At step [N]: If [condition], go to step [X]; else continue
128
- - [Additional branches]
129
-
130
- **Success state:**
131
- - User sees: [what appears]
132
- - System state: [what changed]
133
-
134
- **Error handling:**
135
- - If [error condition]: Show [error message/state]
136
- - Recovery: [how user recovers]
137
-
138
- ### [Next Flow]
139
-
140
- [Repeat for each flow]
141
-
142
- ---
143
-
144
- ## Design System Decisions
145
-
146
- | Category | Decision | Values | Rationale |
147
- |----------|----------|--------|-----------|
148
- | **Colors** | Primary | `#[hex]` | [why this color] |
149
- | | Secondary | `#[hex]` | [why this color] |
150
- | | Background | `#[hex]` | [why this color] |
151
- | | Text | `#[hex]` | [why this color] |
152
- | | Accent | `#[hex]` | [why this color] |
153
- | | Error | `#[hex]` | [standard red variant] |
154
- | | Success | `#[hex]` | [standard green variant] |
155
- | **Typography** | Headings | [font family] | [why chosen] |
156
- | | Body | [font family] | [why chosen] |
157
- | | H1 | [size/weight] | [hierarchy purpose] |
158
- | | H2 | [size/weight] | [hierarchy purpose] |
159
- | | Body | [size/weight] | [hierarchy purpose] |
160
- | | Caption | [size/weight] | [hierarchy purpose] |
161
- | **Spacing** | Base unit | [4px / 8px] | [scaling approach] |
162
- | | Edge padding | [value]px | [breathing room] |
163
- | | Component gap | [value]px | [relationship] |
164
- | | Section gap | [value]px | [separation] |
165
- | **Borders** | Radius | [value]px | [style approach] |
166
- | | Width | [value]px | [visibility] |
167
- | **Shadows** | Elevation 1 | [values] | [subtle depth] |
168
- | | Elevation 2 | [values] | [prominent depth] |
169
-
170
- ---
77
+ **Hints**
78
+ - [Framework-specific reuse: "Extend existing CardWidget", "Use Tailwind group-hover"]
79
+ - [Gotchas: "Safe area inset on iOS", "Focus trap in modal"]
80
+ - [Responsive: "Stack cards vertically below 768px"]
171
81
 
172
- ## Platform-Specific Notes
173
-
174
- ### Web (React + Tailwind)
175
-
176
- **Responsive breakpoints:**
177
- - Mobile: `< 640px`
178
- - Tablet: `640px - 1024px`
179
- - Desktop: `> 1024px`
180
-
181
- **Touch targets:** Minimum 44x44px for interactive elements
182
-
183
- **Keyboard navigation:**
184
- - [Which elements should be focusable]
185
- - [Focus order/flow]
186
-
187
- **Accessibility:**
188
- - Color contrast: WCAG AA (4.5:1 body text, 3:1 large text)
189
- - Screen reader: [aria labels needed]
190
-
191
- ### Mobile (Flutter)
192
-
193
- **iOS considerations:**
194
- - Follow HIG for [specific patterns]
195
- - Safe area insets: Respect notch/home indicator
196
- - Navigation: [pattern - stack, tabs, drawer]
197
-
198
- **Android considerations:**
199
- - Follow Material Design 3 for [specific patterns]
200
- - System bars: [edge-to-edge consideration]
201
- - Back gesture: [handling]
82
+ ### [Screen 2 Name]
202
83
 
203
- **Shared:**
204
- - Touch targets: 48x48dp minimum
205
- - Text sizes: 16sp minimum for body text
84
+ [Repeat: wireframe + states + behavior + hints per screen]
206
85
 
207
86
  ---
208
87
 
209
- ## Verification Criteria
210
-
211
- Observable behaviors that prove this design was implemented correctly:
212
-
213
- ### Visual Verification
214
- - [ ] Color palette matches specification exactly
215
- - [ ] Typography hierarchy is clearly visible
216
- - [ ] Spacing follows specified scale consistently
217
- - [ ] Components match specified states and transitions
218
-
219
- ### Functional Verification
220
- - [ ] [Screen 1]: User can [primary action]
221
- - [ ] [Screen 2]: User can [primary action]
222
- - [ ] [Flow 1]: User can complete [goal]
223
- - [ ] Error states display correctly when [condition]
224
-
225
- ### Platform Verification
226
- - [ ] Web: Responsive layout works at all breakpoints
227
- - [ ] Web: Keyboard navigation functional
228
- - [ ] Mobile: Touch targets meet minimum size
229
- - [ ] Mobile: Safe areas respected
230
-
231
- ### Accessibility Verification
232
- - [ ] Color contrast meets WCAG AA
233
- - [ ] Screen reader can navigate all interactive elements
234
- - [ ] Focus states are visible
235
-
236
- ---
88
+ Validation: passed
237
89
 
238
90
  *Phase: XX-name*
239
91
  *Design created: [date]*
@@ -247,171 +99,137 @@ Observable behaviors that prove this design was implemented correctly:
247
99
  **Platform:** Web (React + Tailwind)
248
100
  **Aesthetic source:** Codebase analysis + fresh design
249
101
 
250
- ## Visual Identity
251
-
252
- Professional analytics dashboard with approachable data visualization. Clean density inspired by Linear, with generous whitespace that doesn't sacrifice information. Dark mode primary (analysts work long hours), with a distinctive deep navy (`#0a0f1a`) instead of generic black. Amber accent (`#F59E0B`) for energy and warmth.
253
-
254
- **Design direction:**
255
- - Overall feel: "Powerful yet approachable"
256
- - Key differentiator: "Data-dense without feeling cluttered"
257
- - Inspiration: Linear's information hierarchy, Stripe's professional polish
258
-
259
- ---
260
-
261
- ## Screen Layouts
102
+ ## Design Direction
103
+
104
+ Professional analytics dashboard with approachable data visualization. Dark mode primary deep navy instead of generic black, amber accent for energy. Inspired by Linear's information hierarchy and Stripe's professional polish.
105
+
106
+ ## Design Tokens
107
+
108
+ | Token | Value | Note |
109
+ |-------|-------|------|
110
+ | bg-primary | `#0a0f1a` | Deep navy, not generic black |
111
+ | bg-surface | `#1a1f2e` | Card backgrounds |
112
+ | text-primary | `#ffffff` | |
113
+ | text-secondary | `#8b95a8` | Labels, captions |
114
+ | accent | `#F59E0B` | Amber — warm, stands out from cool tones |
115
+ | error | `#ef4444` | |
116
+ | success | `#22c55e` | |
117
+ | font-all | Inter | Clean, excellent number rendering |
118
+ | h1 | 32px/600 | Page titles |
119
+ | h2 | 24px/600 | Section headers |
120
+ | body | 14px/400 | General content |
121
+ | caption | 12px/500 | Labels, metadata |
122
+ | spacing-base | 4px | Scale: 4/8/12/16/24/32 |
123
+ | edge-padding | 24px | Breathing room at edges |
124
+ | component-gap | 16px | Related items |
125
+ | section-gap | 32px | Distinct sections |
126
+ | radius | 8px | |
127
+
128
+ ## Screens
262
129
 
263
130
  ### Dashboard Overview
264
131
 
265
132
  ```
266
133
  +------------------------------------------------------------------+
267
- | [Sidebar] | [Header: Page Title Date Picker [Export]] |
268
- | |--------------------------------------------------------|
269
- | [Logo] | |
270
- | | [KPI Card 1] [KPI Card 2] [KPI Card 3] [KPI 4] |
271
- | Dashboard | |
272
- | Campaigns |--------------------------------------------------------|
273
- | Reports | |
274
- | Settings | +--------------------------------------------+ |
275
- | | | | |
276
- | [Avatar] | | Main Chart Area | |
277
- | | | (Trend over time) | |
278
- | | | | |
279
- | | +--------------------------------------------+ |
280
- | | |
281
- | | +---------------------+ +---------------------+ |
282
- | | | Secondary Chart 1 | | Secondary Chart 2 | |
283
- | | | (Funnel) | | (Top Campaigns) | |
284
- | | +---------------------+ +---------------------+ |
134
+ | [Sidebar 240px] | bg-primary |
135
+ | ← bg-surface | [Header] h1 "Dashboard" [DatePicker] [Export]
136
+ | | |
137
+ | Logo | 24px edge-padding |
138
+ | ───────── | |
139
+ | Dashboard ←active| [KPI] [KPI] [KPI] [KPI] ← 16px gap |
140
+ | Campaigns | ↕ 16px min-w:180 h:120 |
141
+ | Reports | |
142
+ | Settings | +--------------------------------------------+
143
+ | | | Main Chart ← bg-surface radius:8px |
144
+ | ───────── | | h2 "Trend" ↔ 16px padding |
145
+ | [Avatar] | | AreaChart |
146
+ | | +--------------------------------------------+
147
+ | | ↕ 16px |
148
+ | | +-------------------+ +-------------------+|
149
+ | | | FunnelChart | | BarChart ||
150
+ | | | ← bg-surface | | bg-surface ||
151
+ | | +-------------------+ +-------------------+|
285
152
  +------------------------------------------------------------------+
286
153
  ```
287
154
 
288
- **Dimensions:** 1440x900 primary, responsive to 1024px
289
- **Edge padding:** 24px
290
- **Component gaps:** 16px
291
- **Sidebar width:** 240px (collapsible to 64px on tablet)
292
-
293
- **Components used:**
294
- - Sidebar: NavSidebar, Logo, UserAvatar
295
- - Header: PageHeader, DateRangePicker, ExportButton
296
- - KPIs: MetricCard (x4)
297
- - Charts: AreaChart, FunnelChart, BarChart
298
-
299
- **Responsive behavior:**
300
- - Desktop (1024px+): Full sidebar, 4 KPI cards in row, 2-column secondary charts
301
- - Tablet (768-1024px): Collapsed sidebar (icons only), 2 KPI cards per row
302
- - Mobile (<768px): Bottom nav replaces sidebar, stacked layout
303
-
304
- ---
305
-
306
- ## Component Specifications
307
-
308
- ### MetricCard
309
-
310
- **Purpose:** Display single KPI with trend indicator
155
+ **States**
311
156
 
312
- **Visual:**
313
- - Background: `#1a1f2e` (dark navy)
314
- - Border: 1px `#2a3142`, 8px radius
315
- - Shadow: none (flat design)
316
- - Size: min 180px width, 120px height
157
+ | Element | State | Change | Trigger |
158
+ |---------|-------|--------|---------|
159
+ | KPI Card | hover | border brightens `#2a3142` `#3a4152` | mouse over |
160
+ | KPI Card | loading | content → skeleton pulse | data fetch |
161
+ | Nav item | active | text-primary + left accent bar | current route |
162
+ | Sidebar | collapsed | 240px → 64px (icons only) | tablet ≤1024px |
317
163
 
318
- **States:**
319
- | State | Visual Change | Trigger |
320
- |-------|--------------|---------|
321
- | Default | Base appearance | Initial |
322
- | Hover | Border brightens to `#3a4152` | Mouse over |
323
- | Loading | Content replaced with skeleton | Data fetching |
164
+ **Behavior**
165
+ - Date picker filters all displayed data (KPIs + charts) simultaneously
166
+ - Chart tooltips appear on hover with exact values and % change
167
+ - Bottom nav replaces sidebar below 768px
324
168
 
325
- **Content:**
326
- - Label: 12px, 500 weight, `#8b95a8`
327
- - Value: 32px, 600 weight, `#ffffff`
328
- - Trend: 14px, `#22c55e` (up) or `#ef4444` (down)
329
- - Spacing: 16px padding all sides
169
+ **Hints**
170
+ - Sidebar collapse: CSS transition 200ms, persist preference in localStorage
171
+ - KPI cards: Use CSS Grid `repeat(auto-fit, minmax(180px, 1fr))` for responsive wrapping
172
+ - Charts: Lazy-load chart library, show skeleton during load
173
+ - Touch targets: All nav items and buttons ≥ 44px
330
174
 
331
175
  ---
332
176
 
333
- ## Design System Decisions
334
-
335
- | Category | Decision | Values | Rationale |
336
- |----------|----------|--------|-----------|
337
- | **Colors** | Primary | `#0a0f1a` | Deep navy instead of pure black - warmer, more sophisticated |
338
- | | Secondary | `#1a1f2e` | Card backgrounds - slight contrast from primary |
339
- | | Text | `#ffffff` | Primary text |
340
- | | Text Secondary | `#8b95a8` | Labels, captions |
341
- | | Accent | `#F59E0B` | Amber - warm, energetic, stands out from cool tones |
342
- | **Typography** | All | Inter | Clean, professional, excellent number rendering |
343
- | | H1 | 32px/600 | Page titles |
344
- | | H2 | 24px/600 | Section headers |
345
- | | Body | 14px/400 | General content |
346
- | | Caption | 12px/500 | Labels, metadata |
347
- | **Spacing** | Base unit | 4px | 4/8/12/16/24/32/48 scale |
348
- | | Edge padding | 24px | Breathing room at edges |
349
- | | Component gap | 16px | Related items |
350
- | | Section gap | 32px | Distinct sections |
351
-
352
- ---
353
-
354
- ## Verification Criteria
355
-
356
- ### Visual Verification
357
- - [ ] Background is deep navy `#0a0f1a`, not generic black
358
- - [ ] Accent color is amber `#F59E0B`, visible in buttons and highlights
359
- - [ ] Cards have consistent 16px internal padding
360
- - [ ] Typography uses Inter font family
361
-
362
- ### Functional Verification
363
- - [ ] Dashboard: All 4 KPI cards display with correct values
364
- - [ ] Dashboard: Main chart shows trend data with interactive tooltips
365
- - [ ] Dashboard: Date picker filters all displayed data
366
-
367
- ### Platform Verification
368
- - [ ] Responsive: Sidebar collapses to icons at 1024px
369
- - [ ] Responsive: Layout stacks vertically below 768px
370
- - [ ] Touch: All interactive elements meet 44px minimum
371
-
372
- ---
177
+ Validation: passed
373
178
 
374
179
  *Phase: 03-user-dashboard*
375
180
  *Design created: 2026-01-19*
376
181
  ```
377
182
  </good_examples>
378
183
 
184
+ <annotation_conventions>
185
+ **Arrows and inline refs in wireframes:**
186
+ - `←` points to a property of the region (e.g., `← bg-surface` means this area uses bg-surface token)
187
+ - `↕` vertical spacing between elements (e.g., `↕ 16px`)
188
+ - `↔` horizontal padding/spacing (e.g., `↔ 16px padding`)
189
+ - Token names reference the Design Tokens table (e.g., `bg-primary`, `accent`, `h1`)
190
+ - Dimensions inline where relevant (e.g., `min-w:180 h:120`, `240px`)
191
+ - Component names in `[brackets]`
192
+ </annotation_conventions>
193
+
379
194
  <guidelines>
380
195
  **This template captures DESIGN, not technical implementation.**
381
196
 
382
197
  The design phase produces:
383
- - How it should look (visual identity, layouts)
384
- - How it should behave (states, transitions)
385
- - How it should feel (UX flows, interactions)
386
- - What proves it's correct (verification criteria)
198
+ - How it should look (wireframe layouts with inline specs)
199
+ - How it should behave (states, non-obvious interactions)
200
+ - How it should feel (design direction)
201
+ - Implementation hints (framework-specific reuse, gotchas)
387
202
 
388
203
  The design phase does NOT produce:
389
204
  - Library choices (that's research)
390
205
  - Task breakdown (that's planning)
391
206
  - Code architecture (that's execution)
207
+ - Verification criteria (plan writer derives from specs)
392
208
 
393
209
  **Content should read like:**
394
210
  - A design specification a developer can implement
395
- - "The card has 16px padding, 8px border radius, and a subtle shadow"
396
- - "On hover, the border brightens from #2a3142 to #3a4152"
397
- - ASCII wireframes showing exact layout structure
211
+ - ASCII wireframes with inline token refs, spacing, and dimensions
212
+ - States tables with concrete triggers and changes
213
+ - Behavior notes for non-obvious interactions only
398
214
 
399
215
  **Content should NOT read like:**
400
216
  - A technical architecture document
401
217
  - A list of npm packages to install
402
218
  - Code snippets or implementation details
403
219
  - Vague descriptions ("make it look nice")
220
+ - Narration of obvious interactions ("user taps button, form submits")
404
221
 
405
222
  **Quality markers:**
406
- - Specific color values (hex codes), not "blue" or "primary"
407
- - Exact spacing values (16px), not "some padding"
408
- - All component states defined (default, hover, active, disabled)
409
- - ASCII wireframes with labeled regions
410
- - Verification criteria that are observable and testable
223
+ - Specific values in tokens (hex, px, font/weight), not "blue" or "primary"
224
+ - All values appear exactly once — in tokens table or inline wireframe annotation
225
+ - All component states defined (default, hover, active, disabled, loading)
226
+ - ASCII wireframes with inline annotations (token refs, spacing, dimensions)
227
+ - Non-obvious behaviors documented, obvious ones omitted
411
228
 
412
229
  **After creation:**
413
230
  - File lives in phase directory: `.planning/phases/XX-name/{phase}-DESIGN.md`
414
231
  - Research phase adds technical details (which libraries enable this design)
415
232
  - Planning phase creates tasks that reference design specs
233
+ - Plan writer derives verification criteria from specs
416
234
  - Execute phase implements to match design exactly
417
235
  </guidelines>
@@ -54,7 +54,7 @@ Template for `.planning/knowledge/{subsystem}.md` — per-subsystem knowledge fi
54
54
  |---------|----------|-----------------|
55
55
  | **Decisions** | Choices with rationale (the "because" part) | CONTEXT.md locked decisions, RESEARCH.md recommendations, PLAN.md approach rationale, SUMMARY.md key-decisions |
56
56
  | **Architecture** | How the subsystem works, structural patterns | RESEARCH.md architecture patterns, PLAN.md implementation details, SUMMARY.md accomplishments |
57
- | **Design** | Visual/UX specs, interaction patterns, design tokens | DESIGN.md component specs, UX flows, color/spacing values |
57
+ | **Design** | Visual/UX specs, interaction patterns, design tokens | DESIGN.md wireframe layouts, states tables, behavior notes, design tokens |
58
58
  | **Pitfalls** | What to watch out for, operational patterns | RESEARCH.md common pitfalls, SUMMARY.md issues/deviations, debug resolutions, adhoc learnings |
59
59
  | **Key Files** | Important file paths for this subsystem | SUMMARY.md key-files, PLAN.md file targets |
60
60
 
@@ -89,7 +89,7 @@ Plans:
89
89
 
90
90
  ---
91
91
 
92
- _For current project status, see .planning/ROADMAP.md_
92
+ _For current project status, see .planning/PROJECT.md_
93
93
 
94
94
  ---
95
95
 
@@ -117,7 +117,7 @@ _For current project status, see .planning/ROADMAP.md_
117
117
 
118
118
  **After archiving:**
119
119
 
120
- - Update ROADMAP.md to collapse completed milestone in `<details>` tag
121
- - Update PROJECT.md to brownfield format with Current State section
120
+ - Delete ROADMAP.md (fresh one created for next milestone via `/ms:create-roadmap`)
121
+ - Update PROJECT.md with full evolution review
122
122
  - Continue phase numbering in next milestone (never restart at 01)
123
123
  </guidelines>
@@ -16,19 +16,18 @@ read `~/.claude/mindsystem/references/plan-format.md`.
16
16
 
17
17
  ## Scope Guidance
18
18
 
19
- **Plan sizing:**
19
+ **Plan sizing — budget-based grouping:**
20
20
 
21
- - 2-3 tasks per plan, ~50% context usage maximum
22
- - Default to 3 tasks for simple-medium work, 2 for complex
23
- - Executor overhead reduction creates headroom for the third task
24
- - Complex phases: Multiple focused plans, not one large plan
21
+ Weight classifications (L: 5%, M: 10%, H: 20%) defined in scope-estimation.md.
22
+
23
+ Grouping rule: `sum(weights) <= 45%`. Target 25-45% per plan. Plans under ~10% consolidate with related same-wave work. Bias toward consolidation.
25
24
 
26
25
  **When to split:**
27
26
 
28
27
  - Different subsystems (auth vs API vs UI)
29
- - More than 3 tasks
28
+ - Budget sum exceeds 45%
30
29
  - Risk of context overflow
31
- - TDD candidates — separate plans
30
+ - TDD candidates — separate plans (inherently heavy-weight)
32
31
 
33
32
  **Vertical slices preferred:**
34
33
 
@@ -22,7 +22,7 @@ Templates for the 3 parallel agents spawned by `/ms:research-phase`. The orchest
22
22
  ## Template 1: External Docs (ms-researcher)
23
23
 
24
24
  **Focus:** Library documentation, APIs, verified code examples
25
- **Tools emphasized:** ms-lookup docs (Context7), ms-lookup deep (Perplexity), WebSearch, WebFetch
25
+ **Tools emphasized:** ms-lookup docs, ms-lookup deep, WebSearch, WebFetch
26
26
  **Returns:** Structured findings (not files)
27
27
 
28
28
  ```markdown
@@ -118,7 +118,7 @@ The agent's built-in `<what_to_scan>` section handles the systematic scan checkl
118
118
  ## Template 3: Best Practices (ms-researcher)
119
119
 
120
120
  **Focus:** Community consensus, pitfalls, SOTA
121
- **Tools emphasized:** ms-lookup deep (Perplexity), WebSearch
121
+ **Tools emphasized:** ms-lookup deep, WebSearch
122
122
  **Returns:** Structured findings (not files)
123
123
 
124
124
  ```markdown