mindsystem-cc 3.20.0 → 3.21.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 +5 -6
- package/agents/ms-mockup-designer.md +1 -1
- package/agents/ms-product-researcher.md +69 -0
- package/agents/ms-research-synthesizer.md +1 -1
- package/agents/ms-researcher.md +8 -8
- package/agents/ms-roadmapper.md +9 -13
- package/bin/install.js +68 -5
- package/commands/ms/add-phase.md +4 -4
- package/commands/ms/adhoc.md +1 -1
- package/commands/ms/audit-milestone.md +12 -12
- package/commands/ms/complete-milestone.md +25 -22
- package/commands/ms/config.md +202 -0
- package/commands/ms/design-phase.md +3 -8
- package/commands/ms/discuss-phase.md +26 -22
- package/commands/ms/doctor.md +22 -202
- package/commands/ms/execute-phase.md +18 -7
- package/commands/ms/help.md +46 -39
- package/commands/ms/insert-phase.md +3 -3
- package/commands/ms/new-milestone.md +40 -16
- package/commands/ms/new-project.md +53 -42
- package/commands/ms/plan-milestone-gaps.md +4 -5
- package/commands/ms/plan-phase.md +2 -2
- package/commands/ms/progress.md +2 -4
- package/commands/ms/research-phase.md +7 -12
- package/commands/ms/research-project.md +12 -12
- package/mindsystem/references/continuation-format.md +3 -3
- package/mindsystem/references/principles.md +1 -1
- package/mindsystem/references/routing/audit-result-routing.md +12 -11
- package/mindsystem/references/routing/between-milestones-routing.md +2 -2
- package/mindsystem/references/routing/milestone-complete-routing.md +1 -1
- package/mindsystem/references/routing/next-phase-routing.md +4 -2
- package/mindsystem/templates/context.md +7 -6
- package/mindsystem/templates/milestone-archive.md +5 -5
- package/mindsystem/templates/milestone-context.md +1 -1
- package/mindsystem/templates/milestone.md +9 -9
- package/mindsystem/templates/project.md +2 -2
- package/mindsystem/templates/research-subagent-prompt.md +3 -3
- package/mindsystem/templates/roadmap-milestone.md +14 -14
- package/mindsystem/templates/roadmap.md +9 -7
- package/mindsystem/workflows/adhoc.md +1 -1
- package/mindsystem/workflows/complete-milestone.md +40 -75
- package/mindsystem/workflows/discuss-phase.md +137 -65
- package/mindsystem/workflows/doctor-fixes.md +273 -0
- package/mindsystem/workflows/execute-phase.md +7 -3
- package/mindsystem/workflows/execute-plan.md +3 -0
- package/mindsystem/workflows/map-codebase.md +2 -2
- package/mindsystem/workflows/mockup-generation.md +1 -1
- package/mindsystem/workflows/plan-phase.md +1 -1
- package/mindsystem/workflows/transition.md +2 -2
- package/mindsystem/workflows/verify-work.md +1 -1
- package/package.json +1 -1
- package/scripts/__pycache__/ms-tools.cpython-314.pyc +0 -0
- package/scripts/__pycache__/test_ms_tools.cpython-314-pytest-9.0.2.pyc +0 -0
- package/scripts/fixtures/scan-context/.planning/ROADMAP.md +16 -0
- package/scripts/fixtures/scan-context/.planning/adhoc/20260220-fix-token-SUMMARY.md +12 -0
- package/scripts/fixtures/scan-context/.planning/config.json +3 -0
- package/scripts/fixtures/scan-context/.planning/debug/resolved/token-bug.md +11 -0
- package/scripts/fixtures/scan-context/.planning/knowledge/auth.md +11 -0
- package/scripts/fixtures/scan-context/.planning/phases/02-infra/02-1-SUMMARY.md +20 -0
- package/scripts/fixtures/scan-context/.planning/phases/04-setup/04-1-SUMMARY.md +21 -0
- package/scripts/fixtures/scan-context/.planning/phases/05-auth/05-1-SUMMARY.md +28 -0
- package/scripts/fixtures/scan-context/.planning/todos/done/setup-db.md +10 -0
- package/scripts/fixtures/scan-context/.planning/todos/pending/add-logout.md +10 -0
- package/scripts/fixtures/scan-context/expected-output.json +257 -0
- package/scripts/ms-tools.py +2139 -0
- package/scripts/test_ms_tools.py +836 -0
- package/commands/ms/list-phase-assumptions.md +0 -56
- package/mindsystem/workflows/list-phase-assumptions.md +0 -178
- package/scripts/__pycache__/compare_mockups.cpython-314.pyc +0 -0
- package/scripts/archive-milestone-files.sh +0 -68
- package/scripts/archive-milestone-phases.sh +0 -138
- package/scripts/doctor-scan.sh +0 -402
- package/scripts/gather-milestone-stats.sh +0 -179
- package/scripts/generate-adhoc-patch.sh +0 -79
- package/scripts/generate-phase-patch.sh +0 -169
- package/scripts/scan-artifact-subsystems.sh +0 -55
- package/scripts/scan-planning-context.py +0 -839
- package/scripts/update-state.sh +0 -59
- package/scripts/validate-execution-order.sh +0 -104
package/README.md
CHANGED
|
@@ -262,14 +262,14 @@ Replace `<N>` with the phase number you're working on.
|
|
|
262
262
|
**Run:**
|
|
263
263
|
|
|
264
264
|
```
|
|
265
|
-
/ms:audit-milestone
|
|
266
|
-
/ms:complete-milestone
|
|
267
|
-
/ms:new-milestone
|
|
265
|
+
/ms:audit-milestone
|
|
266
|
+
/ms:complete-milestone
|
|
267
|
+
/ms:new-milestone
|
|
268
268
|
```
|
|
269
269
|
|
|
270
270
|
**What you'll get:**
|
|
271
271
|
|
|
272
|
-
- `.planning/milestones/
|
|
272
|
+
- `.planning/milestones/mvp/` — archived milestone (ROADMAP, REQUIREMENTS, DECISIONS, research)
|
|
273
273
|
- Active docs stay lean; full detail lives in the version folder
|
|
274
274
|
|
|
275
275
|
**Tip:** Milestone review can be **report-only** (e.g., Flutter structural review) so you stay in control. Create a quality phase, or accept tech debt explicitly — your call.
|
|
@@ -338,11 +338,10 @@ Full docs live in `/ms:help` (same content as `commands/ms/help.md`).
|
|
|
338
338
|
| `/ms:map-codebase` | Document existing repo's stack, structure, and conventions |
|
|
339
339
|
| `/ms:research-project` | Do domain research and save findings to `.planning/research/` |
|
|
340
340
|
| `/ms:create-roadmap` | Define requirements and create phases mapped to them |
|
|
341
|
-
| `/ms:discuss-phase <number>` |
|
|
341
|
+
| `/ms:discuss-phase <number>` | Product-informed collaborative thinking before planning |
|
|
342
342
|
| `/ms:design-phase <number>` | Generate UI/UX spec for UI-heavy work |
|
|
343
343
|
| `/ms:review-design [scope]` | Audit and improve existing UI quality |
|
|
344
344
|
| `/ms:research-phase <number>` | Do deep research for niche phase domains |
|
|
345
|
-
| `/ms:list-phase-assumptions <number>` | Show what Mindsystem assumes before planning |
|
|
346
345
|
| `/ms:plan-phase [number] [--gaps]` | Create small, verifiable plans with optional risk-based verification |
|
|
347
346
|
| `/ms:check-phase <number>` | Sanity-check plans before execution |
|
|
348
347
|
| `/ms:execute-phase <phase-number>` | Run all unexecuted plans in fresh subagents |
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ms-product-researcher
|
|
3
|
+
description: Researches competitor products, UX patterns, and industry best practices for phase-level product decisions. Spawned by /ms:discuss-phase.
|
|
4
|
+
model: sonnet
|
|
5
|
+
tools: WebSearch, WebFetch
|
|
6
|
+
color: cyan
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<input>
|
|
10
|
+
You receive: `<product_context>` (Who It's For, Core Value, How It's Different), `<phase_requirements>` (phase goal + mapped requirements), `<research_focus>` (specific product questions to investigate).
|
|
11
|
+
</input>
|
|
12
|
+
|
|
13
|
+
<role>
|
|
14
|
+
You are a Mindsystem product researcher. Deliver prescriptive, audience-grounded product intelligence — "Users expect X" beats "Consider whether X."
|
|
15
|
+
|
|
16
|
+
**Prescriptive, not exploratory.** "Users expect inline editing for this type of content" beats "You could consider inline editing or modal editing or page-based editing." Make a recommendation, explain why, let the user override.
|
|
17
|
+
|
|
18
|
+
**Audience-grounded.** Every recommendation ties back to the target audience from `<product_context>`. "Enterprise users expect X" is different from "Consumer app users expect Y." Never give generic advice.
|
|
19
|
+
|
|
20
|
+
**Competitor-aware, not competitor-driven.** Know what exists. Recommend what fits THIS product's positioning. "Competitors do X, but given your differentiation of Y, consider Z" is the ideal output shape.
|
|
21
|
+
|
|
22
|
+
**Concise and structured.** Target 2000-3000 tokens max. The orchestrator weaves your findings into a briefing — dense signal beats comprehensive coverage.
|
|
23
|
+
</role>
|
|
24
|
+
|
|
25
|
+
<tool_strategy>
|
|
26
|
+
|
|
27
|
+
| Need | Tool | Why |
|
|
28
|
+
|------|------|-----|
|
|
29
|
+
| Competitor features | WebSearch | Discover what exists |
|
|
30
|
+
| UX pattern details | WebFetch | Read specific articles/docs |
|
|
31
|
+
| Industry best practices | WebSearch | Current standards |
|
|
32
|
+
| Product comparisons | WebSearch | Side-by-side analysis |
|
|
33
|
+
|
|
34
|
+
**Include current year** in search queries for freshness.
|
|
35
|
+
|
|
36
|
+
**Budget:** 5-8 searches max. Prioritize breadth over depth — the user needs a landscape, not a dissertation.
|
|
37
|
+
</tool_strategy>
|
|
38
|
+
|
|
39
|
+
<output>
|
|
40
|
+
Return structured text (do NOT write files). Use this format:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## PRODUCT RESEARCH COMPLETE
|
|
44
|
+
|
|
45
|
+
### Competitor Landscape
|
|
46
|
+
[How 3-5 relevant competitors handle this. Specific features, not vague descriptions.]
|
|
47
|
+
|
|
48
|
+
### UX Patterns Users Expect
|
|
49
|
+
[Industry conventions for this type of feature. What feels "right" to the target audience.]
|
|
50
|
+
|
|
51
|
+
### Audience Expectations
|
|
52
|
+
[What the target audience specifically expects, grounded in Who It's For from `<product_context>`.]
|
|
53
|
+
|
|
54
|
+
### Key Tradeoffs
|
|
55
|
+
[2-3 decision points with pros/cons and recommendation for each.]
|
|
56
|
+
|
|
57
|
+
### Recommendations
|
|
58
|
+
[Prescriptive recommendations tied to this product's positioning. "Do X because Y."]
|
|
59
|
+
```
|
|
60
|
+
</output>
|
|
61
|
+
|
|
62
|
+
<success_criteria>
|
|
63
|
+
- Findings grounded in target audience, not generic
|
|
64
|
+
- Competitor analysis names specific products and features
|
|
65
|
+
- Recommendations are prescriptive with reasoning
|
|
66
|
+
- Total output 2000-3000 tokens
|
|
67
|
+
- No technical implementation details
|
|
68
|
+
- Every recommendation connects to product positioning
|
|
69
|
+
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ms-research-synthesizer
|
|
3
3
|
description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /ms:research-project after 4 researcher agents complete.
|
|
4
|
-
model:
|
|
4
|
+
model: sonnet
|
|
5
5
|
tools: Read, Write, Bash
|
|
6
6
|
color: purple
|
|
7
7
|
---
|
package/agents/ms-researcher.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ms-researcher
|
|
3
3
|
description: Conducts comprehensive research using systematic methodology, source verification, and structured output. Spawned by /ms:research-phase and /ms:research-project orchestrators.
|
|
4
|
-
model:
|
|
4
|
+
model: opus
|
|
5
5
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
|
|
6
6
|
color: cyan
|
|
7
7
|
---
|
|
@@ -195,18 +195,18 @@ When researching "best library for X":
|
|
|
195
195
|
|
|
196
196
|
## ms-lookup CLI
|
|
197
197
|
|
|
198
|
-
The CLI is
|
|
198
|
+
The CLI is available as `ms-lookup`.
|
|
199
199
|
|
|
200
200
|
### Library Documentation
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
|
-
|
|
203
|
+
ms-lookup docs <library> "<query>"
|
|
204
204
|
```
|
|
205
205
|
|
|
206
206
|
Example:
|
|
207
207
|
```bash
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
ms-lookup docs nextjs "app router file conventions"
|
|
209
|
+
ms-lookup docs "react-three-fiber" "physics setup"
|
|
210
210
|
```
|
|
211
211
|
|
|
212
212
|
**When to use:** Library APIs, framework features, configuration options, version-specific behavior. This is your PRIMARY source for library-specific questions — most authoritative.
|
|
@@ -216,13 +216,13 @@ Example:
|
|
|
216
216
|
### Deep Research
|
|
217
217
|
|
|
218
218
|
```bash
|
|
219
|
-
|
|
219
|
+
ms-lookup deep "<query>"
|
|
220
220
|
```
|
|
221
221
|
|
|
222
222
|
Example:
|
|
223
223
|
```bash
|
|
224
|
-
|
|
225
|
-
|
|
224
|
+
ms-lookup deep "authentication patterns for SaaS applications"
|
|
225
|
+
ms-lookup deep "WebGPU browser support and production readiness 2026"
|
|
226
226
|
```
|
|
227
227
|
|
|
228
228
|
**When to use:** Architecture decisions, technology comparisons, comprehensive ecosystem surveys, best practices synthesis. Use for HIGH-VALUE research questions — this costs money.
|
package/agents/ms-roadmapper.md
CHANGED
|
@@ -222,20 +222,16 @@ All use binary Likely/Unlikely with parenthetical reason. These are hints to use
|
|
|
222
222
|
|
|
223
223
|
### Discussion Indicators
|
|
224
224
|
|
|
225
|
-
**Problem it solves:**
|
|
225
|
+
**Problem it solves:** Claude plans based on assumptions about user intent. Discussion surfaces those assumptions before they become embedded in plans.
|
|
226
226
|
|
|
227
|
-
**Likely
|
|
228
|
-
- Phase goal mentions "user can [verb]" without specifying HOW
|
|
229
|
-
- Success criteria have multiple valid interpretations
|
|
230
|
-
- Phase involves UX decisions (not just backend)
|
|
231
|
-
- Requirements mention experiential qualities ("should feel", "intuitive")
|
|
232
|
-
- Novel feature not based on existing patterns
|
|
227
|
+
**Default: Likely.** Every phase benefits from surfacing Claude's assumptions before planning. Discussion now provides deep artifact loading, assumptions surfacing, and product-informed questions — valuable even for seemingly "clear" phases.
|
|
233
228
|
|
|
234
|
-
**
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
229
|
+
**When Likely**, the rationale enumerates 2-4 phase-specific assumptions or open questions (not generic labels like "ambiguous user flow"). Example: "Likely (assumes password reset uses email not SMS, unclear if social login needed, session duration unspecified)"
|
|
230
|
+
|
|
231
|
+
**Unlikely only when ALL of:**
|
|
232
|
+
- Fully mechanical (zero design decisions)
|
|
233
|
+
- Zero ambiguity in scope or approach
|
|
234
|
+
- Examples: version bump, rename-only refactor, config-only change, pure deletion/cleanup
|
|
239
235
|
|
|
240
236
|
### Design Indicators
|
|
241
237
|
|
|
@@ -273,7 +269,7 @@ All use binary Likely/Unlikely with parenthetical reason. These are hints to use
|
|
|
273
269
|
For each phase in ROADMAP.md:
|
|
274
270
|
|
|
275
271
|
```markdown
|
|
276
|
-
**Discuss**: Likely (
|
|
272
|
+
**Discuss**: Likely (assumes X, unclear if Y, Z unspecified) | Unlikely (mechanical change, zero decisions)
|
|
277
273
|
**Discuss topics**: [What to clarify] (only if Likely)
|
|
278
274
|
**Design**: Likely (significant new UI) | Unlikely (backend only)
|
|
279
275
|
**Design focus**: [What to design] (only if Likely)
|
package/bin/install.js
CHANGED
|
@@ -404,6 +404,65 @@ function cleanupOrphanedFiles(claudeDir, filesToRemove) {
|
|
|
404
404
|
}
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
+
/**
|
|
408
|
+
* Generate CLI wrapper scripts and configure PATH hook
|
|
409
|
+
*/
|
|
410
|
+
function generateWrappers(claudeDir) {
|
|
411
|
+
const binDir = path.join(claudeDir, 'bin');
|
|
412
|
+
fs.mkdirSync(binDir, { recursive: true });
|
|
413
|
+
|
|
414
|
+
const wrappers = {
|
|
415
|
+
'ms-tools': '#!/usr/bin/env bash\nexec uv run "$(dirname "$0")/../mindsystem/scripts/ms-tools.py" "$@"\n',
|
|
416
|
+
'ms-lookup': '#!/usr/bin/env bash\nexec "$(dirname "$0")/../mindsystem/scripts/ms-lookup-wrapper.sh" "$@"\n',
|
|
417
|
+
'ms-compare-mockups': '#!/usr/bin/env bash\nexec uv run "$(dirname "$0")/../mindsystem/scripts/compare_mockups.py" "$@"\n',
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
for (const [name, content] of Object.entries(wrappers)) {
|
|
421
|
+
fs.writeFileSync(path.join(binDir, name), content);
|
|
422
|
+
fs.chmodSync(path.join(binDir, name), '755');
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
console.log(` ${green}✓${reset} Generated CLI wrappers (${Object.keys(wrappers).join(', ')})`);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
function ensurePathHook(claudeDir, isGlobal, configDir) {
|
|
429
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
430
|
+
let settings = {};
|
|
431
|
+
if (fs.existsSync(settingsPath)) {
|
|
432
|
+
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
if (!settings.hooks) settings.hooks = {};
|
|
436
|
+
if (!Array.isArray(settings.hooks.SessionStart))
|
|
437
|
+
settings.hooks.SessionStart = [];
|
|
438
|
+
|
|
439
|
+
// Idempotent — skip if already present
|
|
440
|
+
const marker = 'mindsystem/bin';
|
|
441
|
+
if (settings.hooks.SessionStart.some(e => JSON.stringify(e).includes(marker)))
|
|
442
|
+
return;
|
|
443
|
+
|
|
444
|
+
// Build PATH expression
|
|
445
|
+
let binExpr;
|
|
446
|
+
if (isGlobal) {
|
|
447
|
+
binExpr = configDir
|
|
448
|
+
? `${claudeDir}/bin`
|
|
449
|
+
: '$HOME/.claude/bin';
|
|
450
|
+
} else {
|
|
451
|
+
binExpr = '$CLAUDE_PROJECT_DIR/.claude/bin';
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
settings.hooks.SessionStart.push({
|
|
455
|
+
matcher: '',
|
|
456
|
+
hooks: [{
|
|
457
|
+
type: 'command',
|
|
458
|
+
command: `echo 'export PATH="${binExpr}:$PATH"' >> "$CLAUDE_ENV_FILE"`
|
|
459
|
+
}]
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
463
|
+
console.log(` ${green}✓${reset} Configured PATH hook`);
|
|
464
|
+
}
|
|
465
|
+
|
|
407
466
|
/**
|
|
408
467
|
* Recursively copy directory, replacing paths in .md files
|
|
409
468
|
*/
|
|
@@ -466,8 +525,8 @@ function installFile(srcPath, destPath, pathPrefix) {
|
|
|
466
525
|
fs.copyFileSync(srcPath, destPath);
|
|
467
526
|
}
|
|
468
527
|
|
|
469
|
-
// Make
|
|
470
|
-
if (srcPath.endsWith('.sh')) {
|
|
528
|
+
// Make scripts executable
|
|
529
|
+
if (srcPath.endsWith('.sh') || srcPath.endsWith('.py')) {
|
|
471
530
|
fs.chmodSync(destPath, '755');
|
|
472
531
|
}
|
|
473
532
|
}
|
|
@@ -563,7 +622,11 @@ async function install(isGlobal) {
|
|
|
563
622
|
fs.writeFileSync(versionDest, pkg.version);
|
|
564
623
|
console.log(` ${green}✓${reset} Wrote VERSION (${pkg.version})`);
|
|
565
624
|
|
|
566
|
-
// Phase 7:
|
|
625
|
+
// Phase 7: Generate CLI wrappers and PATH hook
|
|
626
|
+
generateWrappers(claudeDir);
|
|
627
|
+
ensurePathHook(claudeDir, isGlobal, configDir);
|
|
628
|
+
|
|
629
|
+
// Phase 8: Check Python for ms-lookup
|
|
567
630
|
const msLookupPath = path.join(claudeDir, 'mindsystem', 'scripts', 'ms-lookup');
|
|
568
631
|
if (fs.existsSync(msLookupPath)) {
|
|
569
632
|
try {
|
|
@@ -583,13 +646,13 @@ async function install(isGlobal) {
|
|
|
583
646
|
}
|
|
584
647
|
}
|
|
585
648
|
|
|
586
|
-
// Phase
|
|
649
|
+
// Phase 9: Cleanup orphaned files
|
|
587
650
|
if (orphans.length > 0) {
|
|
588
651
|
console.log('');
|
|
589
652
|
cleanupOrphanedFiles(claudeDir, orphans);
|
|
590
653
|
}
|
|
591
654
|
|
|
592
|
-
// Phase
|
|
655
|
+
// Phase 10: Write new manifest
|
|
593
656
|
const newManifest = {
|
|
594
657
|
version: pkg.version,
|
|
595
658
|
installedAt: new Date().toISOString(),
|
package/commands/ms/add-phase.md
CHANGED
|
@@ -66,7 +66,7 @@ Parse the roadmap to find the current milestone section:
|
|
|
66
66
|
Example structure:
|
|
67
67
|
|
|
68
68
|
```
|
|
69
|
-
## Current Milestone:
|
|
69
|
+
## Current Milestone: Foundation
|
|
70
70
|
|
|
71
71
|
### Phase 4: Focused Command System
|
|
72
72
|
### Phase 5: Path Routing & Validation
|
|
@@ -121,9 +121,9 @@ Add the new phase entry to the roadmap:
|
|
|
121
121
|
|
|
122
122
|
2. Before writing the phase entry, analyze the description to determine pre-work flags:
|
|
123
123
|
|
|
124
|
-
**Discuss**: Likely
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
**Discuss**: Default Likely — enumerate 2-4 assumptions or open questions specific
|
|
125
|
+
to the phase. Unlikely only for fully mechanical zero-decision work (version bump,
|
|
126
|
+
rename-only refactor, config-only change, pure deletion/cleanup).
|
|
127
127
|
|
|
128
128
|
**Design**: Likely when description involves UI work, visual elements, forms,
|
|
129
129
|
dashboards, or multi-screen flows. Unlikely for backend-only, API, infrastructure,
|
package/commands/ms/adhoc.md
CHANGED
|
@@ -71,7 +71,7 @@ Single git commit with all changes (code + code review changes + PLAN.md + SUMMA
|
|
|
71
71
|
|
|
72
72
|
<step name="generate_patch">
|
|
73
73
|
Generate patch file from adhoc commit.
|
|
74
|
-
Run generate-adhoc-patch
|
|
74
|
+
Run `ms-tools generate-adhoc-patch` with commit hash and output path.
|
|
75
75
|
</step>
|
|
76
76
|
|
|
77
77
|
<step name="completion">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ms:audit-milestone
|
|
3
3
|
description: Audit milestone completion against original intent before archiving
|
|
4
|
-
argument-hint: "[
|
|
4
|
+
argument-hint: "[name]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Glob
|
|
@@ -22,7 +22,7 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
|
|
|
22
22
|
</execution_context>
|
|
23
23
|
|
|
24
24
|
<context>
|
|
25
|
-
|
|
25
|
+
Milestone: $ARGUMENTS (optional — defaults to current milestone from PROJECT.md)
|
|
26
26
|
|
|
27
27
|
**Original Intent:**
|
|
28
28
|
@.planning/PROJECT.md
|
|
@@ -130,13 +130,13 @@ For each requirement in REQUIREMENTS.md mapped to this milestone:
|
|
|
130
130
|
- Check phase verification status
|
|
131
131
|
- Determine: satisfied | partial | unsatisfied
|
|
132
132
|
|
|
133
|
-
## 6. Aggregate into
|
|
133
|
+
## 6. Aggregate into MILESTONE-AUDIT.md
|
|
134
134
|
|
|
135
|
-
Create `.planning/
|
|
135
|
+
Create `.planning/MILESTONE-AUDIT.md` with:
|
|
136
136
|
|
|
137
137
|
```yaml
|
|
138
138
|
---
|
|
139
|
-
milestone: {
|
|
139
|
+
milestone: {name}
|
|
140
140
|
audited: {timestamp}
|
|
141
141
|
status: passed | gaps_found | tech_debt
|
|
142
142
|
scores:
|
|
@@ -231,7 +231,7 @@ For agents with `mode: analyze-only` (e.g., `ms-flutter-reviewer`):
|
|
|
231
231
|
Task(
|
|
232
232
|
prompt="
|
|
233
233
|
<objective>
|
|
234
|
-
Analyze code from milestone {
|
|
234
|
+
Analyze code from milestone {name} for structural issues.
|
|
235
235
|
Report findings only — do NOT make changes.
|
|
236
236
|
</objective>
|
|
237
237
|
|
|
@@ -341,7 +341,7 @@ Findings are already tracked in `.planning/TECH-DEBT.md` via Step 8.5. Continue
|
|
|
341
341
|
|
|
342
342
|
### Path B: Simplifier Agents (default)
|
|
343
343
|
|
|
344
|
-
For agents without `mode: analyze-only` (e.g., `ms-code-simplifier`, `ms-flutter-
|
|
344
|
+
For agents without `mode: analyze-only` (e.g., `ms-code-simplifier`, `ms-flutter-code-quality`):
|
|
345
345
|
|
|
346
346
|
**B1. Spawn code review agent:**
|
|
347
347
|
|
|
@@ -349,7 +349,7 @@ For agents without `mode: analyze-only` (e.g., `ms-code-simplifier`, `ms-flutter
|
|
|
349
349
|
Task(
|
|
350
350
|
prompt="
|
|
351
351
|
<objective>
|
|
352
|
-
Review code from milestone {
|
|
352
|
+
Review code from milestone {name}.
|
|
353
353
|
Focus on architectural patterns, cross-phase consistency, and structural improvements.
|
|
354
354
|
Preserve all functionality. Make changes that improve clarity and maintainability.
|
|
355
355
|
</objective>
|
|
@@ -402,9 +402,9 @@ After code review (all sources now available), generate or update `.planning/TEC
|
|
|
402
402
|
## 9. Commit Audit Report
|
|
403
403
|
|
|
404
404
|
```bash
|
|
405
|
-
git add .planning/
|
|
405
|
+
git add .planning/MILESTONE-AUDIT.md .planning/TECH-DEBT.md
|
|
406
406
|
git commit -m "$(cat <<'EOF'
|
|
407
|
-
docs(milestone): complete
|
|
407
|
+
docs(milestone): complete {name} audit
|
|
408
408
|
|
|
409
409
|
Status: {status}
|
|
410
410
|
Scores: Requirements {N}/{M} | Phases {N}/{M} | Integration {N}/{M} | Flows {N}/{M}
|
|
@@ -425,11 +425,11 @@ Read `~/.claude/mindsystem/references/routing/audit-result-routing.md` and follo
|
|
|
425
425
|
- [ ] Tech debt collected into .planning/TECH-DEBT.md (de-duplicated, TD-{N} IDs assigned)
|
|
426
426
|
- [ ] Assumptions aggregated by phase
|
|
427
427
|
- [ ] Integration checker spawned for cross-phase wiring
|
|
428
|
-
- [ ]
|
|
428
|
+
- [ ] MILESTONE-AUDIT.md created with assumptions section
|
|
429
429
|
- [ ] Code review completed (or skipped if config says "skip")
|
|
430
430
|
- [ ] If analyze-only reviewer: YAML findings parsed and added to report
|
|
431
431
|
- [ ] If analyze-only reviewer: Binary decision presented (quality phase vs tech debt)
|
|
432
432
|
- [ ] If quality phase chosen: Phase directory created, ROADMAP updated with TECH-DEBT.md scope
|
|
433
|
-
- [ ] MILESTONE-AUDIT.md committed to git
|
|
433
|
+
- [ ] MILESTONE-AUDIT.md and TECH-DEBT.md committed to git
|
|
434
434
|
- [ ] Results presented with actionable next steps
|
|
435
435
|
</success_criteria>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: prompt
|
|
3
3
|
name: ms:complete-milestone
|
|
4
|
-
description: Archive completed milestone and prepare for next
|
|
5
|
-
argument-hint:
|
|
4
|
+
description: Archive completed milestone and prepare for next milestone
|
|
5
|
+
argument-hint: "[name]"
|
|
6
6
|
allowed-tools:
|
|
7
7
|
- Read
|
|
8
8
|
- Write
|
|
@@ -11,10 +11,10 @@ allowed-tools:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
<objective>
|
|
14
|
-
Mark milestone
|
|
14
|
+
Mark milestone complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.
|
|
15
15
|
|
|
16
|
-
Purpose: Create historical record of shipped
|
|
17
|
-
Output: Milestone archived (roadmap + requirements), PROJECT.md evolved
|
|
16
|
+
Purpose: Create historical record of shipped milestone, archive milestone artifacts (roadmap + requirements), and prepare for next milestone.
|
|
17
|
+
Output: Milestone archived (roadmap + requirements), PROJECT.md evolved.
|
|
18
18
|
</objective>
|
|
19
19
|
|
|
20
20
|
<execution_context>
|
|
@@ -33,16 +33,22 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
33
33
|
|
|
34
34
|
**User input:**
|
|
35
35
|
|
|
36
|
-
-
|
|
36
|
+
- Milestone: $ARGUMENTS (optional — auto-detect from PROJECT.md `## Current Milestone:` header)
|
|
37
37
|
</context>
|
|
38
38
|
|
|
39
39
|
<process>
|
|
40
40
|
|
|
41
41
|
**Follow complete-milestone.md workflow:**
|
|
42
42
|
|
|
43
|
-
0. **
|
|
43
|
+
0. **Resolve milestone identity:**
|
|
44
44
|
|
|
45
|
-
-
|
|
45
|
+
- If argument provided: use as milestone name, generate slug
|
|
46
|
+
- If no argument: parse milestone name from PROJECT.md `## Current Milestone:` header, generate slug
|
|
47
|
+
- If neither found: error — ask user for milestone name
|
|
48
|
+
|
|
49
|
+
0.5. **Check for audit:**
|
|
50
|
+
|
|
51
|
+
- Look for `.planning/MILESTONE-AUDIT.md`
|
|
46
52
|
- If missing or stale: recommend `/ms:audit-milestone` first
|
|
47
53
|
- If audit status is `gaps_found`: recommend `/ms:plan-milestone-gaps` first
|
|
48
54
|
- If audit status is `passed`: proceed to step 1
|
|
@@ -50,7 +56,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
50
56
|
```markdown
|
|
51
57
|
## Pre-flight Check
|
|
52
58
|
|
|
53
|
-
{If no
|
|
59
|
+
{If no MILESTONE-AUDIT.md:}
|
|
54
60
|
⚠ No milestone audit found. Run `/ms:audit-milestone` first to verify
|
|
55
61
|
requirements coverage, cross-phase integration, and E2E flows.
|
|
56
62
|
|
|
@@ -65,7 +71,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
65
71
|
1. **Verify readiness and gather stats:**
|
|
66
72
|
|
|
67
73
|
```bash
|
|
68
|
-
|
|
74
|
+
ms-tools gather-milestone-stats $PHASE_START $PHASE_END
|
|
69
75
|
```
|
|
70
76
|
|
|
71
77
|
- If NOT READY: stop and report incomplete plans
|
|
@@ -89,26 +95,26 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
89
95
|
|
|
90
96
|
5. **Archive milestone:**
|
|
91
97
|
|
|
92
|
-
- Create `.planning/milestones/
|
|
93
|
-
- Create `.planning/milestones/
|
|
98
|
+
- Create `.planning/milestones/{{slug}}/` directory
|
|
99
|
+
- Create `.planning/milestones/{{slug}}/ROADMAP.md` from template
|
|
94
100
|
- Delete ROADMAP.md
|
|
95
101
|
|
|
96
102
|
6. **Archive requirements:**
|
|
97
103
|
|
|
98
|
-
- Create `.planning/milestones/
|
|
104
|
+
- Create `.planning/milestones/{{slug}}/REQUIREMENTS.md`
|
|
99
105
|
- Mark all requirements as complete with outcomes
|
|
100
106
|
- Delete `.planning/REQUIREMENTS.md`
|
|
101
107
|
|
|
102
108
|
7. **Archive milestone files:**
|
|
103
109
|
|
|
104
110
|
```bash
|
|
105
|
-
|
|
111
|
+
ms-tools archive-milestone-files {{slug}}
|
|
106
112
|
```
|
|
107
113
|
|
|
108
114
|
8. **Archive and cleanup phases:**
|
|
109
115
|
|
|
110
116
|
```bash
|
|
111
|
-
|
|
117
|
+
ms-tools archive-milestone-phases $PHASE_START $PHASE_END {{slug}}
|
|
112
118
|
```
|
|
113
119
|
|
|
114
120
|
9. **Update STATE.md:**
|
|
@@ -116,12 +122,10 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
116
122
|
- Update project reference with current core value and next focus
|
|
117
123
|
- Reset current position for next milestone
|
|
118
124
|
|
|
119
|
-
10. **Commit
|
|
125
|
+
10. **Commit:**
|
|
120
126
|
|
|
121
127
|
- Stage: MILESTONES.md, PROJECT.md, STATE.md, archive files, deletions
|
|
122
|
-
- Commit: `chore: archive
|
|
123
|
-
- Tag: `git tag -a v{{version}} -m "[milestone summary]"`
|
|
124
|
-
- Ask about pushing tag
|
|
128
|
+
- Commit: `chore: archive {{name}} milestone`
|
|
125
129
|
|
|
126
130
|
11. **Offer next steps:**
|
|
127
131
|
- `/ms:new-milestone` — discover goals and update PROJECT.md
|
|
@@ -136,10 +140,9 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
136
140
|
- PROJECT.md full evolution review completed (What This Is, Core Value, Requirements, Key Decisions, Context)
|
|
137
141
|
- All shipped requirements moved to Validated in PROJECT.md
|
|
138
142
|
- Key Decisions updated with outcomes
|
|
139
|
-
- Milestone archived to `.planning/milestones/
|
|
140
|
-
- Requirements archived to `.planning/milestones/
|
|
143
|
+
- Milestone archived to `.planning/milestones/{{slug}}/ROADMAP.md`
|
|
144
|
+
- Requirements archived to `.planning/milestones/{{slug}}/REQUIREMENTS.md`
|
|
141
145
|
- `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
|
|
142
|
-
- Git tag v{{version}} created
|
|
143
146
|
</success_criteria>
|
|
144
147
|
|
|
145
148
|
<critical_rules>
|