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.
- package/agents/ms-consolidator.md +4 -4
- package/agents/ms-debugger.md +3 -3
- package/agents/ms-designer.md +33 -70
- package/agents/ms-executor.md +7 -6
- package/agents/ms-plan-writer.md +52 -26
- package/agents/ms-researcher.md +13 -13
- package/commands/ms/check-phase.md +1 -1
- package/commands/ms/complete-milestone.md +47 -54
- package/commands/ms/design-phase.md +33 -30
- package/commands/ms/review-design.md +106 -395
- package/mindsystem/references/principles.md +3 -3
- package/mindsystem/references/routing/next-phase-routing.md +1 -1
- package/mindsystem/references/scope-estimation.md +22 -35
- package/mindsystem/templates/design-iteration.md +13 -13
- package/mindsystem/templates/design.md +145 -327
- package/mindsystem/templates/knowledge.md +1 -1
- package/mindsystem/templates/milestone-archive.md +3 -3
- package/mindsystem/templates/phase-prompt.md +6 -7
- package/mindsystem/templates/research-subagent-prompt.md +2 -2
- package/mindsystem/templates/research.md +7 -7
- package/mindsystem/templates/roadmap.md +1 -1
- package/mindsystem/templates/verification-report.md +1 -1
- package/mindsystem/workflows/complete-milestone.md +52 -227
- package/mindsystem/workflows/discuss-phase.md +3 -3
- package/mindsystem/workflows/execute-plan.md +1 -1
- package/mindsystem/workflows/plan-phase.md +22 -50
- package/mindsystem/workflows/verify-phase.md +1 -1
- package/package.json +1 -1
- package/scripts/archive-milestone-files.sh +68 -0
- package/scripts/archive-milestone-phases.sh +138 -0
- package/scripts/gather-milestone-stats.sh +179 -0
- package/scripts/ms-lookup/ms_lookup/backends/context7.py +17 -5
- package/scripts/ms-lookup/ms_lookup/backends/perplexity.py +17 -3
- package/scripts/ms-lookup-wrapper.sh +1 -1
- package/scripts/scan-planning-context.py +186 -36
- package/scripts/validate-execution-order.sh +4 -5
- 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.
|
|
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
|
-
##
|
|
19
|
-
|
|
20
|
-
[2
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
|
36
|
-
|
|
|
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
|
-
| |
|
|
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
|
-
|
|
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
|
-
**
|
|
65
|
+
**States**
|
|
80
66
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
**
|
|
88
|
-
|
|
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
|
-
**
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
251
|
-
|
|
252
|
-
Professional analytics dashboard with approachable data visualization.
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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] |
|
|
268
|
-
|
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
|
|
|
272
|
-
|
|
|
273
|
-
|
|
|
274
|
-
|
|
|
275
|
-
|
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
|
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
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
|
-
**
|
|
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
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
-
|
|
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
|
-
**
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
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
|
-
**
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
-
|
|
329
|
-
-
|
|
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
|
-
|
|
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 (
|
|
384
|
-
- How it should behave (states,
|
|
385
|
-
- How it should feel (
|
|
386
|
-
-
|
|
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
|
-
-
|
|
396
|
-
-
|
|
397
|
-
-
|
|
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
|
|
407
|
-
-
|
|
408
|
-
- All component states defined (default, hover, active, disabled)
|
|
409
|
-
- ASCII wireframes with
|
|
410
|
-
-
|
|
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
|
|
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/
|
|
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
|
-
-
|
|
121
|
-
- Update PROJECT.md
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
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
|
-
-
|
|
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
|
|
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
|
|
121
|
+
**Tools emphasized:** ms-lookup deep, WebSearch
|
|
122
122
|
**Returns:** Structured findings (not files)
|
|
123
123
|
|
|
124
124
|
```markdown
|