mindsystem-cc 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/agents/ms-browser-verifier.md +95 -40
- package/agents/ms-compounder.md +2 -2
- package/agents/ms-researcher.md +2 -1
- package/agents/ms-roadmapper.md +33 -0
- package/commands/ms/add-todo.md +4 -4
- package/commands/ms/adhoc.md +2 -1
- package/commands/ms/audit-milestone.md +3 -2
- package/commands/ms/complete-milestone.md +2 -3
- package/commands/ms/compound.md +3 -3
- package/commands/ms/config.md +3 -4
- package/commands/ms/create-roadmap.md +25 -14
- package/commands/ms/design-phase.md +13 -14
- package/commands/ms/execute-phase.md +31 -10
- package/commands/ms/help.md +1 -0
- package/commands/ms/map-codebase.md +1 -2
- package/commands/ms/new-milestone.md +3 -7
- package/commands/ms/new-project.md +6 -9
- package/commands/ms/progress.md +8 -62
- package/commands/ms/remove-phase.md +2 -9
- package/commands/ms/research-milestone.md +3 -8
- package/commands/ms/research-phase.md +17 -17
- package/commands/ms/verify-work.md +8 -2
- package/mindsystem/references/browser-verification.md +76 -9
- package/mindsystem/references/prework-status.md +2 -1
- package/mindsystem/references/routing/next-phase-routing.md +6 -5
- package/mindsystem/workflows/adhoc.md +14 -15
- package/mindsystem/workflows/compound.md +28 -17
- package/mindsystem/workflows/define-requirements.md +2 -1
- package/mindsystem/workflows/discuss-phase.md +11 -32
- package/mindsystem/workflows/execute-phase.md +57 -13
- package/mindsystem/workflows/execute-plan.md +3 -1
- package/mindsystem/workflows/map-codebase.md +4 -1
- package/mindsystem/workflows/mockup-generation.md +3 -2
- package/mindsystem/workflows/verify-work.md +21 -2
- package/package.json +1 -1
- package/scripts/ms-tools.py +27 -4
package/README.md
CHANGED
|
@@ -187,11 +187,13 @@ You approve the plan structure and can adjust granularity.
|
|
|
187
187
|
|
|
188
188
|
Runs without intervention. Each plan runs in a fresh subagent with the full context window available. Goal-backward verification checks that the phase achieved its intended outcome, not just that tasks got marked complete.
|
|
189
189
|
|
|
190
|
+
For web projects, browser verification launches a real browser against your dev server, derives a checklist from execution summaries, and verifies each route visually and programmatically. Clear mismatches get fixed inline; issues beyond visual fixes are reported with screenshot evidence for verify-work.
|
|
191
|
+
|
|
190
192
|
Configurable code review produces separate commits for review changes. Patch files are generated for manual inspection.
|
|
191
193
|
|
|
192
194
|
After execution, knowledge consolidation updates subsystem-scoped knowledge files. Future phases touching the same subsystems start with accumulated context: decisions made, patterns established, pitfalls encountered.
|
|
193
195
|
|
|
194
|
-
**Creates:** `SUMMARY.md`, `VERIFICATION.md`, `.patch` files, knowledge file updates.
|
|
196
|
+
**Creates:** `SUMMARY.md`, `VERIFICATION.md`, `.patch` files, screenshots, knowledge file updates.
|
|
195
197
|
|
|
196
198
|
### 9. Verify work
|
|
197
199
|
|
|
@@ -251,6 +253,10 @@ Orchestration metadata (wave grouping, dependencies) lives in `EXECUTION-ORDER.m
|
|
|
251
253
|
|
|
252
254
|
Unnecessary instructions aren't wasted space — they interfere with the ones that matter. Each instruction passes a reliability test: does removing this degrade output in the actual runtime context? Every command, workflow, and agent definition gets audited to cut that interference. Audited agents show 35-39% context reduction with no behavioral regression.
|
|
253
255
|
|
|
256
|
+
### Browser verification
|
|
257
|
+
|
|
258
|
+
During execute-phase, web projects get automatic visual QA via [agent-browser](https://github.com/anthropics/agent-browser). A checklist is derived from execution summaries, then each route is verified with screenshots and programmatic diagnostics (console logs, JS errors, network failures). Clear mismatches get fixed inline; anything deeper is reported with screenshot evidence for verify-work. Enabled by default — disable per-project via `/ms:config`.
|
|
259
|
+
|
|
254
260
|
### Built-in code review
|
|
255
261
|
|
|
256
262
|
Configurable per tier: adhoc, phase, or milestone. Runs after execution and produces separate commits for inspection. Ships with structural analysis (`ms-code-reviewer`) and clarity-focused simplification (`ms-code-simplifier`), but you can point any tier at your own custom reviewer agent via `.planning/config.json`.
|
|
@@ -296,6 +302,11 @@ Requirements you want but haven't shipped yet are tracked in `PROJECT.md` with o
|
|
|
296
302
|
- [uv](https://docs.astral.sh/uv/) — Python package runner used by CLI scripts (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
|
|
297
303
|
- Python 3.10+ (used by uv for scripts)
|
|
298
304
|
|
|
305
|
+
**Optional (for web projects):**
|
|
306
|
+
|
|
307
|
+
- [agent-browser](https://github.com/anthropics/agent-browser) — enables browser verification during execute-phase (`npm install -g agent-browser`)
|
|
308
|
+
- `cwebp` — optimizes verification screenshots to WebP (`brew install webp`)
|
|
309
|
+
|
|
299
310
|
---
|
|
300
311
|
|
|
301
312
|
## Quick start
|
|
@@ -452,6 +463,13 @@ Mindsystem stores project config in `.planning/config.json`. Run `/ms:config` to
|
|
|
452
463
|
// "auto" (default) | "ask" | "off"
|
|
453
464
|
"open_mockups": "auto",
|
|
454
465
|
|
|
466
|
+
// Browser verification during execute-phase (web projects only).
|
|
467
|
+
// Launches a real browser, derives checklist from summaries,
|
|
468
|
+
// screenshots + console/network diagnostics.
|
|
469
|
+
"browser_verification": {
|
|
470
|
+
"enabled": true // default: true for web projects
|
|
471
|
+
},
|
|
472
|
+
|
|
455
473
|
// External task tracker integration (Linear only for now).
|
|
456
474
|
// null → disabled (default)
|
|
457
475
|
"task_tracker": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ms-browser-verifier
|
|
3
|
-
description:
|
|
3
|
+
description: Visual PR review via browser. Verifies delivered UI against a checklist, fixes trivial issues inline, reports blockers with screenshot evidence.
|
|
4
4
|
model: sonnet
|
|
5
5
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
6
|
skills:
|
|
@@ -9,9 +9,9 @@ color: green
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
<role>
|
|
12
|
-
You are a
|
|
12
|
+
You are a senior engineer doing a visual PR review. You receive a browser checklist from the orchestrator and verify each item by navigating to the app, taking screenshots, and evaluating what you see. Fix clear visual mismatches in project source code. Report blockers with screenshot evidence.
|
|
13
13
|
|
|
14
|
-
**Critical mindset:**
|
|
14
|
+
**Critical mindset:** Verify delivered views, not framework internals. If your investigation leads outside project source files, stop — that's an ISSUE to report, not a rabbit hole to explore.
|
|
15
15
|
</role>
|
|
16
16
|
|
|
17
17
|
<process>
|
|
@@ -31,72 +31,127 @@ Auth is handled by the orchestrator before spawning this agent. If the orchestra
|
|
|
31
31
|
Open the app URL headless. If redirected to login, report auth failure and exit — do not attempt to automate auth.
|
|
32
32
|
</step>
|
|
33
33
|
|
|
34
|
-
<step name="
|
|
35
|
-
|
|
34
|
+
<step name="environment_preflight">
|
|
35
|
+
Navigate to the app's main route. Screenshot `00-preflight.png`.
|
|
36
36
|
|
|
37
|
-
Read
|
|
37
|
+
Read diagnostics:
|
|
38
|
+
```bash
|
|
39
|
+
agent-browser console
|
|
40
|
+
agent-browser errors
|
|
41
|
+
agent-browser network requests
|
|
42
|
+
```
|
|
38
43
|
|
|
39
|
-
|
|
44
|
+
Evaluate:
|
|
45
|
+
- Does the app load visually?
|
|
46
|
+
- Console errors or uncaught exceptions?
|
|
47
|
+
- Failed network requests (4xx/5xx)?
|
|
48
|
+
- Blank page?
|
|
40
49
|
|
|
41
|
-
**
|
|
50
|
+
**If systemic issue** (app won't load, white screen, critical error, cascade of failed requests):
|
|
51
|
+
- Screenshot the failure
|
|
52
|
+
- Return `environment_blocked` report to orchestrator with screenshot and diagnostic output
|
|
53
|
+
- Stop — no point testing individual items
|
|
54
|
+
|
|
55
|
+
**If app loads with minor warnings:**
|
|
56
|
+
- Note warnings and proceed to checklist verification
|
|
42
57
|
</step>
|
|
43
58
|
|
|
44
|
-
<step name="
|
|
59
|
+
<step name="verify_checklist">
|
|
60
|
+
Single loop over all checklist items with an integrated decision tree.
|
|
61
|
+
|
|
45
62
|
Create the screenshots directory:
|
|
46
63
|
|
|
47
64
|
```bash
|
|
48
65
|
mkdir -p {screenshots_dir}
|
|
49
66
|
```
|
|
50
67
|
|
|
51
|
-
For each
|
|
52
|
-
1. Navigate to the relevant page/route
|
|
53
|
-
2. Take a screenshot, save to `{screenshots_dir}/{truth-slug}.png`
|
|
54
|
-
3. Interact as needed (click, type, submit)
|
|
55
|
-
4. Wait for `networkidle` before verifying expected state
|
|
56
|
-
5. Verify expected state (element exists, text matches, route changed)
|
|
57
|
-
6. Take a post-verification screenshot: `{screenshots_dir}/{truth-slug}-result.png`
|
|
68
|
+
For each checklist item:
|
|
58
69
|
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
```
|
|
71
|
+
agent-browser errors --clear ← isolate errors per item
|
|
72
|
+
|
|
73
|
+
Navigate to route → Screenshot → Evaluate
|
|
74
|
+
|
|
75
|
+
Match expected?
|
|
76
|
+
YES → PASSED, next item
|
|
77
|
+
NO → Read diagnostics:
|
|
78
|
+
agent-browser errors
|
|
79
|
+
agent-browser console
|
|
80
|
+
agent-browser network requests
|
|
81
|
+
|
|
82
|
+
Environment issue? (uncaught exception, failed API request, 4xx/5xx, empty data)
|
|
83
|
+
YES → ENVIRONMENT_BLOCKED for this item
|
|
84
|
+
Same error on 2+ consecutive items? → stop, return report
|
|
85
|
+
Otherwise → next item
|
|
86
|
+
NO → Investigate in project source files (diagnostics narrow the search)
|
|
87
|
+
→ Hit a stop signal? (see Investigation boundaries + Fix discipline) → ISSUE with screenshot and diagnostic evidence, next item
|
|
88
|
+
→ Root cause found → Fix attempt → re-screenshot
|
|
89
|
+
Fix worked? → FIXED (commit), next item
|
|
90
|
+
Fix failed? → Different root-cause theory available?
|
|
91
|
+
YES → Second fix attempt (same flow)
|
|
92
|
+
NO → revert all changes (git checkout -- {files}), ISSUE, next item
|
|
93
|
+
```
|
|
61
94
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
5. If fixed: commit with `fix({phase}-browser): {description}`
|
|
69
|
-
6. If fix fails after one retry: flag as unresolved, continue to next truth
|
|
95
|
+
**Per-item screenshots:**
|
|
96
|
+
- `{NN}-{item-slug}.webp` — initial state (`.png` if cwebp unavailable)
|
|
97
|
+
- `{NN}-{item-slug}-result.webp` — after interaction (if applicable)
|
|
98
|
+
- `{NN}-{item-slug}-fixed.webp` — after fix (if applicable)
|
|
99
|
+
|
|
100
|
+
**Interactions:** If the checklist item includes an interaction (click, type, submit), perform it and screenshot the result.
|
|
70
101
|
</step>
|
|
71
102
|
|
|
72
103
|
<step name="close_and_report">
|
|
73
|
-
Close the browser
|
|
74
|
-
|
|
75
|
-
Return a structured report to the orchestrator:
|
|
104
|
+
Close the browser. Return a structured report to the orchestrator:
|
|
76
105
|
|
|
77
106
|
```
|
|
78
107
|
## Browser Verification Report
|
|
79
108
|
|
|
80
|
-
**
|
|
109
|
+
**Status:** {all_passed | has_issues | has_fixes | environment_blocked}
|
|
110
|
+
**Tested:** {count} | **Passed:** {count} | **Fixed:** {count} | **Issues:** {count} | **Blocked:** {count}
|
|
111
|
+
|
|
112
|
+
### Screenshots
|
|
113
|
+
|
|
114
|
+
| # | Item | Status | Screenshot |
|
|
115
|
+
|---|------|--------|------------|
|
|
116
|
+
| 1 | {name} | PASSED | {filename} |
|
|
117
|
+
| 2 | {name} | FIXED | {filename} |
|
|
118
|
+
| 3 | {name} | ISSUE | {filename} |
|
|
81
119
|
|
|
82
120
|
### Fixes Applied
|
|
83
|
-
- {what was wrong} → {what was fixed} |
|
|
121
|
+
- {what was wrong} → {what was fixed} | Commit: {hash}
|
|
84
122
|
|
|
85
|
-
###
|
|
86
|
-
- {description} |
|
|
123
|
+
### Issues Found
|
|
124
|
+
- {description} | Screenshot: {filename} | Evidence: {what the screenshot shows} | Diagnostics: {console errors, failed network requests, or "none"}
|
|
87
125
|
|
|
88
|
-
###
|
|
89
|
-
- {
|
|
126
|
+
### Environment Blockers
|
|
127
|
+
- {description} | Screenshot: {filename} | Diagnostics: {error messages, failed requests}
|
|
90
128
|
```
|
|
91
129
|
</step>
|
|
92
130
|
|
|
93
131
|
</process>
|
|
94
132
|
|
|
95
133
|
<rules>
|
|
134
|
+
|
|
135
|
+
## Screenshots
|
|
96
136
|
- Save all screenshots to `{screenshots_dir}` — never to temp or working directory
|
|
97
|
-
- Re-snapshot after every DOM change (refs go stale)
|
|
98
|
-
- Wait for networkidle before
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
137
|
+
- Re-snapshot after every DOM change (element refs go stale)
|
|
138
|
+
- Wait for networkidle before evaluating
|
|
139
|
+
- Convert screenshots to WebP after capture:
|
|
140
|
+
1. Check once during preflight: `which cwebp`
|
|
141
|
+
2. If available, after each screenshot: `cwebp -q 80 {file}.png -o {file}.webp && rm {file}.png`
|
|
142
|
+
3. If unavailable: keep PNGs as-is
|
|
143
|
+
|
|
144
|
+
## Investigation boundaries
|
|
145
|
+
- Only read project source files — never node_modules, dist, build output, or generated directories
|
|
146
|
+
- Never read framework/library source to understand why something doesn't work internally
|
|
147
|
+
- Read `agent-browser errors`, `agent-browser console`, and `agent-browser network requests` before investigating source code — if diagnostics show a failed API call or server error, it's ENVIRONMENT_BLOCKED, not a code fix
|
|
148
|
+
- If 2+ consecutive items show the same failure pattern, identify the shared root cause rather than investigating each individually
|
|
149
|
+
|
|
150
|
+
## Fix discipline
|
|
151
|
+
- Fix the specific visual mismatch — don't restructure, refactor, or "improve" surrounding code
|
|
152
|
+
- A second fix attempt must be based on a different root-cause theory, not a variation of the first
|
|
153
|
+
- After 3 edit-screenshot cycles on one item without resolution, it's an ISSUE regardless
|
|
154
|
+
- Revert all failed fix attempts (`git checkout -- {files}`) before moving on
|
|
155
|
+
- Commit each successful fix atomically with `fix({phase}-browser): {description}` prefix
|
|
156
|
+
|
|
102
157
|
</rules>
|
package/agents/ms-compounder.md
CHANGED
|
@@ -19,7 +19,7 @@ You are a Mindsystem knowledge compounder spawned by the compound workflow to up
|
|
|
19
19
|
## Required Context (provided by compound workflow)
|
|
20
20
|
|
|
21
21
|
- **Input mode:** `git`, `file`, or `description`
|
|
22
|
-
- **Change reference:** Git ref/range (git mode), file path (file mode), or description
|
|
22
|
+
- **Change reference:** Git ref/range (git mode), file path (file mode), or description/conversation summary (description mode)
|
|
23
23
|
- **Affected subsystems:** List confirmed by user in main context
|
|
24
24
|
- **Subsystem vocabulary:** From config.json (for alignment validation)
|
|
25
25
|
|
|
@@ -47,7 +47,7 @@ Retrieve the raw changes based on input mode:
|
|
|
47
47
|
|
|
48
48
|
- **Git mode:** `git show <ref>` for single commit, `git diff <range>` for ranges. Include `--stat` for file overview.
|
|
49
49
|
- **File mode:** Read the file content. Run `git log --oneline -5 -- <path>` for recent history context.
|
|
50
|
-
- **Description mode:** Use the provided exploration
|
|
50
|
+
- **Description mode:** Use the provided summary (from exploration or conversation context) as change context. No additional reads needed.
|
|
51
51
|
|
|
52
52
|
## Step 2: Read Existing Knowledge Files
|
|
53
53
|
|
package/agents/ms-researcher.md
CHANGED
|
@@ -483,7 +483,8 @@ Orchestrator provides:
|
|
|
483
483
|
|
|
484
484
|
```bash
|
|
485
485
|
# For phase research, check for CONTEXT.md from discuss-phase
|
|
486
|
-
|
|
486
|
+
ms-tools find-phase "${PHASE}"
|
|
487
|
+
# Extract PHASE_DIR from the `dir` field of the JSON output
|
|
487
488
|
if [ -n "$PHASE_DIR" ]; then
|
|
488
489
|
cat "${PHASE_DIR}"/*-CONTEXT.md 2>/dev/null
|
|
489
490
|
fi
|
package/agents/ms-roadmapper.md
CHANGED
|
@@ -534,6 +534,19 @@ Verify 100% requirement mapping:
|
|
|
534
534
|
|
|
535
535
|
If gaps found, include in draft for user decision.
|
|
536
536
|
|
|
537
|
+
## Step 6b: Evaluate Subsystem Coverage
|
|
538
|
+
|
|
539
|
+
Compare phase domains against config.json `subsystems` array. Phases may introduce domains not in the current subsystem vocabulary.
|
|
540
|
+
|
|
541
|
+
1. Parse `subsystems` from config.json (provided in planning context)
|
|
542
|
+
2. For each phase, identify its primary domain (e.g., "Payment Processing" maps to `payments`)
|
|
543
|
+
3. Match against existing subsystems — exact or close synonym counts as covered
|
|
544
|
+
4. Collect unmatched domains as proposed additions
|
|
545
|
+
|
|
546
|
+
Include proposals in the return under `### Subsystem Proposals`. Do not modify config.json — the orchestrator handles confirmation and update.
|
|
547
|
+
|
|
548
|
+
If all phase domains map to existing subsystems, omit the section.
|
|
549
|
+
|
|
537
550
|
## Step 7: Write Files Immediately
|
|
538
551
|
|
|
539
552
|
**Write files first, then return.** This ensures artifacts persist even if context is lost.
|
|
@@ -613,6 +626,16 @@ When files are written and returning to orchestrator:
|
|
|
613
626
|
|
|
614
627
|
{For phases with Likely recommendations, include topics/focus}
|
|
615
628
|
|
|
629
|
+
{If new subsystems proposed:}
|
|
630
|
+
|
|
631
|
+
### Subsystem Proposals
|
|
632
|
+
|
|
633
|
+
New domains detected that don't match existing subsystems:
|
|
634
|
+
|
|
635
|
+
| Proposed | Source Phase | Rationale |
|
|
636
|
+
|----------|-------------|-----------|
|
|
637
|
+
| {name} | Phase {N}: {phase-name} | {why this needs its own subsystem} |
|
|
638
|
+
|
|
616
639
|
### Files Ready for Review
|
|
617
640
|
|
|
618
641
|
User can review actual files:
|
|
@@ -644,6 +667,16 @@ After incorporating user feedback and updating files:
|
|
|
644
667
|
- .planning/ROADMAP.md
|
|
645
668
|
- .planning/STATE.md (if needed)
|
|
646
669
|
|
|
670
|
+
{If new subsystems proposed:}
|
|
671
|
+
|
|
672
|
+
### Subsystem Proposals
|
|
673
|
+
|
|
674
|
+
New domains detected that don't match existing subsystems:
|
|
675
|
+
|
|
676
|
+
| Proposed | Source Phase | Rationale |
|
|
677
|
+
|----------|-------------|-----------|
|
|
678
|
+
| {name} | Phase {N}: {phase-name} | {why this needs its own subsystem} |
|
|
679
|
+
|
|
647
680
|
### Updated Summary
|
|
648
681
|
|
|
649
682
|
| Phase | Goal | Requirements |
|
package/commands/ms/add-todo.md
CHANGED
|
@@ -101,12 +101,12 @@ subsystem: [from config.json]
|
|
|
101
101
|
</step>
|
|
102
102
|
|
|
103
103
|
<step name="git_commit">
|
|
104
|
+
|
|
105
|
+
**Update state and commit:**
|
|
106
|
+
|
|
104
107
|
```bash
|
|
105
108
|
git add .planning/todos/[filename]
|
|
106
|
-
git commit -m "
|
|
107
|
-
todo: [title] [subsystem|priority|estimate]
|
|
108
|
-
EOF
|
|
109
|
-
)"
|
|
109
|
+
git commit -m "todo: [title] [subsystem|priority|estimate]"
|
|
110
110
|
```
|
|
111
111
|
</step>
|
|
112
112
|
|
package/commands/ms/adhoc.md
CHANGED
|
@@ -57,7 +57,8 @@ Create execution directory, assemble context, spawn ms-adhoc-planner.
|
|
|
57
57
|
</step>
|
|
58
58
|
|
|
59
59
|
<step name="review_plan">
|
|
60
|
-
Read generated plan, show summary to user
|
|
60
|
+
Read generated plan, show summary to user.
|
|
61
|
+
AskUserQuestion: approve, request edits, or abort.
|
|
61
62
|
</step>
|
|
62
63
|
|
|
63
64
|
<step name="spawn_executor">
|
|
@@ -373,10 +373,11 @@ After code review (all sources now available), generate or update `.planning/TEC
|
|
|
373
373
|
5. **Assign `TD-{N}` IDs** continuing from highest existing ID
|
|
374
374
|
6. **Write/update** `.planning/TECH-DEBT.md` — group items under `## Critical`, `## High`, `## Medium`, `## Low` sections per template. Omit empty sections.
|
|
375
375
|
|
|
376
|
-
## 8.
|
|
376
|
+
## 8. Update state and commit:
|
|
377
377
|
|
|
378
378
|
```bash
|
|
379
|
-
|
|
379
|
+
ms-tools set-last-command "ms:audit-milestone $ARGUMENTS"
|
|
380
|
+
git add .planning/MILESTONE-AUDIT.md .planning/TECH-DEBT.md .planning/STATE.md
|
|
380
381
|
git commit -m "$(cat <<'EOF'
|
|
381
382
|
docs(milestone): complete {name} audit
|
|
382
383
|
|
|
@@ -124,16 +124,15 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved.
|
|
|
124
124
|
- Update project reference with current core value and next focus
|
|
125
125
|
- Reset current position for next milestone
|
|
126
126
|
|
|
127
|
-
10. **
|
|
127
|
+
10. **Update state and commit:**
|
|
128
128
|
|
|
129
|
+
- Run: `ms-tools set-last-command "ms:complete-milestone $ARGUMENTS"`
|
|
129
130
|
- Stage: MILESTONES.md, PROJECT.md, STATE.md, archive files, deletions
|
|
130
131
|
- Commit: `chore: archive {{name}} milestone`
|
|
131
132
|
|
|
132
133
|
11. **Offer next steps:**
|
|
133
134
|
- `/ms:new-milestone` — discover goals and update PROJECT.md
|
|
134
135
|
|
|
135
|
-
12. **Update last command:** `ms-tools set-last-command "ms:complete-milestone $ARGUMENTS"`
|
|
136
|
-
|
|
137
136
|
</process>
|
|
138
137
|
|
|
139
138
|
<success_criteria>
|
package/commands/ms/compound.md
CHANGED
|
@@ -19,7 +19,7 @@ Input modes:
|
|
|
19
19
|
- **Git reference:** SHA, range (`HEAD~3..HEAD`), or any git ref
|
|
20
20
|
- **File path:** Path to a changed file
|
|
21
21
|
- **Description:** Free-text description of changes
|
|
22
|
-
- **No args:**
|
|
22
|
+
- **No args:** Reflect on current conversation context + git data
|
|
23
23
|
</objective>
|
|
24
24
|
|
|
25
25
|
<execution_context>
|
|
@@ -34,7 +34,7 @@ Validate active project: check `.planning/config.json` exists.
|
|
|
34
34
|
</step>
|
|
35
35
|
|
|
36
36
|
<step name="resolve_change_context">
|
|
37
|
-
Gather lightweight change context. Git mode: diff stats. File mode: recent git log. Description mode: spawn Explore agents to find relevant changes.
|
|
37
|
+
Gather lightweight change context. Git mode: diff stats. File mode: recent git log. No-args mode: reflect on conversation context + git diff/log; if context is thin, ask user for intent. Description mode: spawn Explore agents to find relevant changes.
|
|
38
38
|
</step>
|
|
39
39
|
|
|
40
40
|
<step name="determine_subsystems">
|
|
@@ -50,7 +50,7 @@ Spawn ms-compounder with input mode, change reference, confirmed subsystems, and
|
|
|
50
50
|
</step>
|
|
51
51
|
|
|
52
52
|
<step name="finalize">
|
|
53
|
-
Update config.json if new subsystems confirmed. Commit knowledge file changes. Set last command.
|
|
53
|
+
Update config.json if new subsystems confirmed. Commit knowledge file changes. Set last command. Report results.
|
|
54
54
|
</step>
|
|
55
55
|
|
|
56
56
|
</process>
|
package/commands/ms/config.md
CHANGED
|
@@ -268,12 +268,11 @@ Check subsystems in config.json. If empty or missing, note:
|
|
|
268
268
|
|
|
269
269
|
**Skip if no changes made.**
|
|
270
270
|
|
|
271
|
+
**Update state and commit:**
|
|
272
|
+
|
|
271
273
|
```bash
|
|
272
274
|
git add .planning/config.json .gitignore
|
|
273
|
-
git commit -m "
|
|
274
|
-
chore: configure mindsystem preferences
|
|
275
|
-
EOF
|
|
276
|
-
)"
|
|
275
|
+
git commit -m "chore: configure mindsystem preferences"
|
|
277
276
|
```
|
|
278
277
|
|
|
279
278
|
</step>
|
|
@@ -136,8 +136,9 @@ Task(
|
|
|
136
136
|
5. Map every v1 requirement to exactly one phase
|
|
137
137
|
6. Derive 2-5 success criteria per phase (observable user behaviors)
|
|
138
138
|
7. Validate 100% coverage
|
|
139
|
-
8.
|
|
140
|
-
9.
|
|
139
|
+
8. Evaluate subsystem coverage — compare phase domains against config.json subsystems, propose additions for unmatched domains
|
|
140
|
+
9. Write files immediately (REQUIREMENTS.md, ROADMAP.md, STATE.md)
|
|
141
|
+
10. Return ROADMAP CREATED with combined requirements + roadmap summary
|
|
141
142
|
|
|
142
143
|
Write files first, then return. This ensures artifacts persist even if context is lost.
|
|
143
144
|
</instructions>
|
|
@@ -200,6 +201,18 @@ Pre-work: Research [Likely/Unlikely] | Discuss [Likely/Unlikely] | Design [Likel
|
|
|
200
201
|
|
|
201
202
|
[... continue for all phases ...]
|
|
202
203
|
|
|
204
|
+
{If roadmapper returned Subsystem Proposals:}
|
|
205
|
+
|
|
206
|
+
### New Subsystems
|
|
207
|
+
|
|
208
|
+
The roadmap introduces domains not covered by current subsystems:
|
|
209
|
+
|
|
210
|
+
| Proposed | Source Phase | Rationale |
|
|
211
|
+
|----------|-------------|-----------|
|
|
212
|
+
| {name} | Phase {N} | {reason} |
|
|
213
|
+
|
|
214
|
+
These will be added to config.json upon approval.
|
|
215
|
+
|
|
203
216
|
---
|
|
204
217
|
```
|
|
205
218
|
</step>
|
|
@@ -271,10 +284,15 @@ Return ROADMAP REVISED with changes made.
|
|
|
271
284
|
</step>
|
|
272
285
|
|
|
273
286
|
<step name="commit">
|
|
274
|
-
|
|
287
|
+
|
|
288
|
+
**Update state and commit:**
|
|
275
289
|
|
|
276
290
|
```bash
|
|
291
|
+
# For each subsystem proposal the user approved (skip any rejected during revision):
|
|
292
|
+
ms-tools config-set subsystems --append "{subsystem-name}"
|
|
293
|
+
|
|
277
294
|
git add .planning/REQUIREMENTS.md .planning/ROADMAP.md .planning/STATE.md
|
|
295
|
+
git diff --quiet .planning/config.json 2>/dev/null || git add .planning/config.json
|
|
278
296
|
git commit -m "$(cat <<'EOF'
|
|
279
297
|
docs: define requirements and create roadmap
|
|
280
298
|
|
|
@@ -293,14 +311,13 @@ EOF
|
|
|
293
311
|
</step>
|
|
294
312
|
|
|
295
313
|
<step name="create_phase_dirs">
|
|
296
|
-
Create phase directories from the roadmap:
|
|
297
314
|
|
|
298
|
-
|
|
299
|
-
ms-tools create-phase-dirs
|
|
300
|
-
```
|
|
315
|
+
**Update state and commit:**
|
|
301
316
|
|
|
302
317
|
```bash
|
|
303
|
-
|
|
318
|
+
ms-tools create-phase-dirs
|
|
319
|
+
ms-tools set-last-command "ms:create-roadmap"
|
|
320
|
+
git add .planning/phases/ .planning/STATE.md
|
|
304
321
|
git commit -m "chore: create phase directories from roadmap"
|
|
305
322
|
```
|
|
306
323
|
</step>
|
|
@@ -318,12 +335,6 @@ Requirements and roadmap created:
|
|
|
318
335
|
Read `~/.claude/mindsystem/references/routing/next-phase-routing.md` and follow its instructions to present "Next Up" with pre-work context for Phase $START_PHASE.
|
|
319
336
|
</step>
|
|
320
337
|
|
|
321
|
-
<step name="update_last_command">
|
|
322
|
-
```bash
|
|
323
|
-
ms-tools set-last-command "ms:create-roadmap"
|
|
324
|
-
```
|
|
325
|
-
</step>
|
|
326
|
-
|
|
327
338
|
</process>
|
|
328
339
|
|
|
329
340
|
<success_criteria>
|
|
@@ -30,9 +30,14 @@ Create design specifications for a phase. Spawns ms-designer agent with phase co
|
|
|
30
30
|
<context>
|
|
31
31
|
Phase number: $ARGUMENTS (required)
|
|
32
32
|
|
|
33
|
+
Resolve phase directory:
|
|
34
|
+
```bash
|
|
35
|
+
ms-tools find-phase "$ARGUMENTS"
|
|
36
|
+
```
|
|
37
|
+
|
|
33
38
|
Check for existing design:
|
|
34
39
|
```bash
|
|
35
|
-
ls
|
|
40
|
+
ls ${PHASE_DIR}/*DESIGN.md 2>/dev/null
|
|
36
41
|
```
|
|
37
42
|
</context>
|
|
38
43
|
|
|
@@ -52,8 +57,7 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
52
57
|
## 2. Check Existing Design
|
|
53
58
|
|
|
54
59
|
```bash
|
|
55
|
-
#
|
|
56
|
-
PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
|
|
60
|
+
# PHASE_DIR already resolved from find-phase in <context>
|
|
57
61
|
ls "${PHASE_DIR}"/*-DESIGN.md 2>/dev/null
|
|
58
62
|
```
|
|
59
63
|
|
|
@@ -119,7 +123,7 @@ Extract from ROADMAP.md:
|
|
|
119
123
|
**4b. Optional context - CONTEXT.md (from discuss-phase):**
|
|
120
124
|
|
|
121
125
|
```bash
|
|
122
|
-
cat
|
|
126
|
+
cat ${PHASE_DIR}/*-CONTEXT.md 2>/dev/null
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
If exists, extract:
|
|
@@ -373,10 +377,11 @@ Task(
|
|
|
373
377
|
|
|
374
378
|
**`## DESIGN COMPLETE`:**
|
|
375
379
|
|
|
376
|
-
|
|
380
|
+
**Update state and commit:**
|
|
377
381
|
|
|
378
382
|
```bash
|
|
379
|
-
|
|
383
|
+
ms-tools set-last-command "ms:design-phase $ARGUMENTS"
|
|
384
|
+
git add ${PHASE_DIR}/*-DESIGN.md .planning/STATE.md
|
|
380
385
|
git commit -m "docs: create design for phase ${PHASE}"
|
|
381
386
|
```
|
|
382
387
|
|
|
@@ -386,12 +391,12 @@ Display summary from agent response:
|
|
|
386
391
|
- Screens designed
|
|
387
392
|
- Key design decisions
|
|
388
393
|
|
|
389
|
-
Then present pre-work status: Read `~/.claude/mindsystem/references/prework-status.md` and show what's done vs still needed for this phase.
|
|
390
|
-
|
|
391
394
|
Also offer:
|
|
392
395
|
- **Refine design** — Discuss changes conversationally
|
|
393
396
|
- **View full design** — Display DESIGN.md
|
|
394
397
|
|
|
398
|
+
Read `~/.claude/mindsystem/references/prework-status.md` and present what's done vs still needed for this phase.
|
|
399
|
+
|
|
395
400
|
**`## DESIGN NEEDS CLARIFICATION`:**
|
|
396
401
|
|
|
397
402
|
Present the question to user. Get response. Spawn continuation with the clarification.
|
|
@@ -431,12 +436,6 @@ Read `~/.claude/mindsystem/templates/design-iteration.md` and use the iteration
|
|
|
431
436
|
- Verify "what needs improvement" was addressed
|
|
432
437
|
- Update design version in DESIGN.md frontmatter
|
|
433
438
|
|
|
434
|
-
## 9. Update Last Command
|
|
435
|
-
|
|
436
|
-
```bash
|
|
437
|
-
ms-tools set-last-command "ms:design-phase $ARGUMENTS"
|
|
438
|
-
```
|
|
439
|
-
|
|
440
439
|
</process>
|
|
441
440
|
|
|
442
441
|
<success_criteria>
|
|
@@ -113,8 +113,8 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
113
113
|
- Write updated REQUIREMENTS.md
|
|
114
114
|
- Skip if: REQUIREMENTS.md doesn't exist, or phase has no Requirements line
|
|
115
115
|
|
|
116
|
-
13. **
|
|
117
|
-
|
|
116
|
+
13. **Update state and commit:**
|
|
117
|
+
- Run: `ms-tools set-last-command "ms:execute-phase $ARGUMENTS"`
|
|
118
118
|
- Stage: `git add .planning/ROADMAP.md .planning/STATE.md`
|
|
119
119
|
- Stage knowledge files: `git add .planning/knowledge/*.md`
|
|
120
120
|
- Stage PLAN.md deletions: `git add -u .planning/phases/{phase_dir}/*-PLAN.md`
|
|
@@ -123,8 +123,6 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
123
123
|
|
|
124
124
|
14. **Offer next steps**
|
|
125
125
|
- Route to next action (see `<offer_next>`)
|
|
126
|
-
|
|
127
|
-
15. **Update last command:** `ms-tools set-last-command "ms:execute-phase $ARGUMENTS"`
|
|
128
126
|
</process>
|
|
129
127
|
|
|
130
128
|
<offer_next>
|
|
@@ -147,8 +145,10 @@ Then route based on status:
|
|
|
147
145
|
| Status | Route |
|
|
148
146
|
|--------|-------|
|
|
149
147
|
| `gaps_found` | Route C (gap closure) |
|
|
150
|
-
| `passed` + more phases | Route A (next phase) |
|
|
151
|
-
| `passed` + last phase | Route B (milestone complete) |
|
|
148
|
+
| `passed` + more phases | Route A (verify + next phase) |
|
|
149
|
+
| `passed` + last phase | Route B (verify + milestone complete) |
|
|
150
|
+
|
|
151
|
+
Thoroughness by default: verify-work is the primary "Next Up" in both routes. Assess skip context per workflow `offer_next` step.
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
@@ -161,19 +161,40 @@ Then route based on status:
|
|
|
161
161
|
All {Y} plans finished. Phase goal verified.
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
2.
|
|
164
|
+
2. Assess skip context (see workflow `offer_next` step for criteria).
|
|
165
|
+
|
|
166
|
+
3. Present verify-work as "Next Up":
|
|
167
|
+
```
|
|
168
|
+
## ▶ Next Up
|
|
169
|
+
|
|
170
|
+
`/ms:verify-work {Z}` — validate {phase name} through manual acceptance testing
|
|
171
|
+
|
|
172
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
165
173
|
|
|
166
|
-
|
|
174
|
+
{If skip context: "Phase involved only {description} with no user-facing changes — skip if structural verification is sufficient."}
|
|
167
175
|
```
|
|
176
|
+
|
|
177
|
+
4. Read `~/.claude/mindsystem/references/routing/next-phase-routing.md` to determine the most appropriate command for Phase {Z+1}. Present next phase context and options:
|
|
178
|
+
```
|
|
179
|
+
**Phase {Z+1}: {Name}** — {Goal}
|
|
180
|
+
{If pre-work flagged: brief note about recommendations}
|
|
181
|
+
|
|
168
182
|
**Also available:**
|
|
169
|
-
- `/ms:
|
|
183
|
+
- `/ms:{suggested} {Z+1}` — {reason}
|
|
184
|
+
- `/ms:plan-phase {Z+1}` — skip pre-work, plan directly
|
|
170
185
|
```
|
|
171
186
|
|
|
172
187
|
---
|
|
173
188
|
|
|
174
189
|
**Route B: Phase verified, milestone complete**
|
|
175
190
|
|
|
176
|
-
|
|
191
|
+
Follow Route A steps 1-3, then present milestone options:
|
|
192
|
+
```
|
|
193
|
+
**Also available:**
|
|
194
|
+
- `/ms:audit-milestone` — verify requirements, cross-phase integration, E2E flows
|
|
195
|
+
- `/ms:complete-milestone` — skip audit, archive directly
|
|
196
|
+
- `/ms:add-phase <description>` — add another phase first
|
|
197
|
+
```
|
|
177
198
|
|
|
178
199
|
---
|
|
179
200
|
|