maestro-flow 0.3.8 → 0.3.9

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 (211) hide show
  1. package/.claude/commands/learn-decompose.md +3 -3
  2. package/.claude/commands/learn-follow.md +5 -5
  3. package/.claude/commands/learn-investigate.md +3 -3
  4. package/.claude/commands/learn-retro.md +6 -6
  5. package/.claude/commands/learn-second-opinion.md +3 -3
  6. package/.claude/commands/maestro-analyze.md +123 -99
  7. package/.claude/commands/maestro-brainstorm.md +2 -2
  8. package/.claude/commands/maestro-execute.md +137 -97
  9. package/.claude/commands/maestro-fork.md +111 -0
  10. package/.claude/commands/maestro-init.md +6 -6
  11. package/.claude/commands/maestro-merge.md +77 -0
  12. package/.claude/commands/maestro-milestone-audit.md +72 -60
  13. package/.claude/commands/maestro-milestone-complete.md +67 -59
  14. package/.claude/commands/maestro-milestone-release.md +6 -6
  15. package/.claude/commands/maestro-plan.md +151 -130
  16. package/.claude/commands/maestro-quick.md +4 -4
  17. package/.claude/commands/maestro-roadmap.md +5 -5
  18. package/.claude/commands/maestro-spec-generate.md +5 -5
  19. package/.claude/commands/maestro-ui-design.md +3 -3
  20. package/.claude/commands/maestro-verify.md +106 -87
  21. package/.claude/commands/maestro.md +10 -4
  22. package/.claude/commands/manage-codebase-rebuild.md +4 -4
  23. package/.claude/commands/manage-codebase-refresh.md +1 -1
  24. package/.claude/commands/manage-harvest.md +5 -5
  25. package/.claude/commands/manage-issue-discover.md +1 -1
  26. package/.claude/commands/manage-issue-execute.md +6 -6
  27. package/.claude/commands/manage-issue.md +6 -6
  28. package/.claude/commands/manage-learn.md +2 -2
  29. package/.claude/commands/manage-memory-capture.md +4 -4
  30. package/.claude/commands/manage-memory.md +2 -2
  31. package/.claude/commands/manage-status.md +24 -24
  32. package/.claude/commands/quality-business-test.md +5 -5
  33. package/.claude/commands/quality-debug.md +4 -4
  34. package/.claude/commands/quality-integration-test.md +4 -4
  35. package/.claude/commands/quality-refactor.md +3 -3
  36. package/.claude/commands/quality-retrospective.md +2 -2
  37. package/.claude/commands/quality-review.md +4 -4
  38. package/.claude/commands/quality-sync.md +3 -3
  39. package/.claude/commands/quality-test-gen.md +4 -4
  40. package/.claude/commands/quality-test.md +9 -9
  41. package/.claude/commands/spec-add.md +2 -2
  42. package/.claude/commands/spec-load.md +1 -1
  43. package/.claude/commands/spec-setup.md +5 -5
  44. package/.claude/commands/wiki-connect.md +3 -3
  45. package/.claude/commands/wiki-digest.md +4 -4
  46. package/.codex/skills/maestro-analyze/SKILL.md +52 -14
  47. package/.codex/skills/maestro-execute/SKILL.md +27 -26
  48. package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
  49. package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
  50. package/.codex/skills/maestro-plan/SKILL.md +47 -17
  51. package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
  52. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
  53. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
  54. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
  55. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
  56. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
  57. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
  58. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
  59. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
  60. package/README.md +19 -14
  61. package/README.zh-CN.md +16 -12
  62. package/bin/maestro-mcp.js +1 -1
  63. package/chains/_intent-map.json +21 -9
  64. package/chains/_router.json +30 -77
  65. package/chains/brainstorm-driven.json +17 -6
  66. package/chains/full-lifecycle.json +22 -23
  67. package/chains/milestone-close.json +20 -7
  68. package/chains/milestone-fork-merge.json +50 -0
  69. package/chains/roadmap-driven.json +17 -6
  70. package/chains/spec-driven.json +17 -6
  71. package/dashboard/dist/assets/{ArtifactsPage-BmPOu8sO.js → ArtifactsPage-DZNCi6tn.js} +12 -7
  72. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
  73. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
  74. package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
  75. package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
  76. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
  77. package/dashboard/dist/assets/{MarkdownRenderer-BjZ43aSa.js → MarkdownRenderer-X4af_WNb.js} +1 -1
  78. package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
  79. package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
  80. package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
  81. package/dashboard/dist/assets/{RequirementBoardPage-B7yRL0s_.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
  82. package/dashboard/dist/assets/{RequirementPage-D8J_-b6O.js → RequirementPage-Bllxe2XI.js} +10 -5
  83. package/dashboard/dist/assets/{SpecsPage-6lO8v8_C.js → SpecsPage-9lwxKT27.js} +2 -2
  84. package/dashboard/dist/assets/{SupervisorPage-Ds5N378a.js → SupervisorPage-SusdfHFq.js} +1 -1
  85. package/dashboard/dist/assets/{TeamsPage-DrkKr17T.js → TeamsPage-DsuM6OwC.js} +2 -2
  86. package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
  87. package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
  88. package/dashboard/dist/assets/{arrow-left-CadP5YgU.js → arrow-left-Bqtb2hle.js} +1 -1
  89. package/dashboard/dist/assets/{check-5xufDzS8.js → check-u6fGOwQO.js} +1 -1
  90. package/dashboard/dist/assets/{chevron-right-CYbpR4ev.js → chevron-right-Csu22t58.js} +1 -1
  91. package/dashboard/dist/assets/{circle-Bm-5Q-Yh.js → circle-CMrkbRNg.js} +1 -1
  92. package/dashboard/dist/assets/{circle-alert-BqcYuT7x.js → circle-alert-c3tH1P4z.js} +1 -1
  93. package/dashboard/dist/assets/{circle-check-big-yyzAFysU.js → circle-check-big-TDSeWstm.js} +1 -1
  94. package/dashboard/dist/assets/{circle-check-DEVzW_lm.js → circle-check-gYxxSYuH.js} +1 -1
  95. package/dashboard/dist/assets/{code-BBdC8Wmw.js → code-CFN2uX9V.js} +1 -1
  96. package/dashboard/dist/assets/{columns-3-CQ9Trztr.js → columns-3-38xIDlzy.js} +1 -1
  97. package/dashboard/dist/assets/{download-DayuF-sn.js → download-DC7KkKyP.js} +1 -1
  98. package/dashboard/dist/assets/{folder-CqXeSKeC.js → folder-CWq_lAnf.js} +1 -1
  99. package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
  100. package/dashboard/dist/assets/{index-Dru5HYy0.js → index-Do71weNR.js} +1 -1
  101. package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
  102. package/dashboard/dist/assets/{list-DBOD6IUt.js → list-CgIP_2A-.js} +1 -1
  103. package/dashboard/dist/assets/{minus-fQI1Syn2.js → minus-DYoN5UGk.js} +1 -1
  104. package/dashboard/dist/assets/{pen-line-Bkbbngl5.js → pen-line-Bh_WKYHm.js} +1 -1
  105. package/dashboard/dist/assets/{proxy-teW12DdZ.js → proxy-BKxDAKTj.js} +1 -1
  106. package/dashboard/dist/assets/{search-Bq3ygFUW.js → search-SieXnOgr.js} +1 -1
  107. package/dashboard/dist/assets/{shallow-22ZN8sFt.js → shallow-Bme1JY57.js} +1 -1
  108. package/dashboard/dist/assets/{table-BEYtdWc4.js → table-llyEtj-7.js} +1 -1
  109. package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
  110. package/dashboard/dist/assets/{trash-2-DMqGBgcF.js → trash-2-C8f4vFFM.js} +1 -1
  111. package/dashboard/dist/assets/{zap-9DVkGVtt.js → zap-4uwlzVm0.js} +1 -1
  112. package/dashboard/dist/index.html +2 -2
  113. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
  114. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  115. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
  116. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
  117. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
  118. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
  119. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  120. package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
  121. package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
  122. package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
  123. package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
  124. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  125. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
  126. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
  127. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +43 -3
  128. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
  129. package/dashboard/package.json +59 -59
  130. package/dist/src/cli.js +3 -1
  131. package/dist/src/cli.js.map +1 -1
  132. package/dist/src/commands/{team.d.ts → collab.d.ts} +2 -2
  133. package/dist/src/commands/collab.d.ts.map +1 -0
  134. package/dist/src/commands/{team.js → collab.js} +391 -24
  135. package/dist/src/commands/collab.js.map +1 -0
  136. package/dist/src/commands/msg.d.ts.map +1 -1
  137. package/dist/src/commands/msg.js +4 -3
  138. package/dist/src/commands/msg.js.map +1 -1
  139. package/dist/src/hooks/team-monitor.d.ts.map +1 -1
  140. package/dist/src/hooks/team-monitor.js +16 -0
  141. package/dist/src/hooks/team-monitor.js.map +1 -1
  142. package/dist/src/tools/collab-adapter.d.ts +85 -0
  143. package/dist/src/tools/collab-adapter.d.ts.map +1 -0
  144. package/dist/src/tools/collab-adapter.js +320 -0
  145. package/dist/src/tools/collab-adapter.js.map +1 -0
  146. package/dist/src/tools/namespace-guard.d.ts +2 -0
  147. package/dist/src/tools/namespace-guard.d.ts.map +1 -1
  148. package/dist/src/tools/namespace-guard.js +12 -0
  149. package/dist/src/tools/namespace-guard.js.map +1 -1
  150. package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
  151. package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
  152. package/dist/src/tools/phase-gate-evaluator.js +42 -0
  153. package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
  154. package/dist/src/tools/team-members.d.ts +18 -0
  155. package/dist/src/tools/team-members.d.ts.map +1 -1
  156. package/dist/src/tools/team-members.js +50 -0
  157. package/dist/src/tools/team-members.js.map +1 -1
  158. package/dist/src/tools/team-tasks.d.ts +120 -0
  159. package/dist/src/tools/team-tasks.d.ts.map +1 -0
  160. package/dist/src/tools/team-tasks.js +365 -0
  161. package/dist/src/tools/team-tasks.js.map +1 -0
  162. package/dist/src/tools/transition-recorder.d.ts +3 -0
  163. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  164. package/dist/src/tools/transition-recorder.js +52 -1
  165. package/dist/src/tools/transition-recorder.js.map +1 -1
  166. package/dist/src/utils/get-version.d.ts.map +1 -1
  167. package/dist/src/utils/get-version.js +15 -4
  168. package/dist/src/utils/get-version.js.map +1 -1
  169. package/package.json +1 -1
  170. package/templates/config.json +7 -0
  171. package/templates/worktree-scope.json +10 -0
  172. package/templates/worktrees.json +27 -0
  173. package/workflows/analyze.md +86 -36
  174. package/workflows/brainstorm.md +17 -37
  175. package/workflows/execute.md +94 -28
  176. package/workflows/fork.md +309 -0
  177. package/workflows/init.md +10 -1
  178. package/workflows/issue.md +66 -7
  179. package/workflows/maestro-coordinate.md +23 -16
  180. package/workflows/maestro.md +52 -35
  181. package/workflows/merge.md +285 -0
  182. package/workflows/milestone-audit.md +89 -70
  183. package/workflows/milestone-complete.md +89 -156
  184. package/workflows/plan.md +122 -17
  185. package/workflows/retrospective.md +3 -3
  186. package/workflows/roadmap.md +11 -3
  187. package/workflows/spec-generate.md +9 -0
  188. package/workflows/status.md +76 -27
  189. package/workflows/ui-design.md +14 -12
  190. package/workflows/verify.md +44 -8
  191. package/.claude/commands/maestro-phase-add.md +0 -63
  192. package/.claude/commands/maestro-phase-transition.md +0 -75
  193. package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
  194. package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
  195. package/chains/singles/phase-add.json +0 -31
  196. package/chains/singles/phase-transition.json +0 -23
  197. package/dashboard/dist/assets/ChatInput-CL8YDfOU.js +0 -67
  198. package/dashboard/dist/assets/ChatPage-CT-ozBK2.js +0 -8
  199. package/dashboard/dist/assets/CollabPage-C0rWMden.js +0 -1
  200. package/dashboard/dist/assets/KanbanPage-C6WbAlwI.js +0 -16
  201. package/dashboard/dist/assets/McpPage-BPIXADQi.js +0 -16
  202. package/dashboard/dist/assets/TreeBrowser-g_QUKemL.js +0 -11
  203. package/dashboard/dist/assets/WorkflowPage-X8aNkDEr.js +0 -6
  204. package/dashboard/dist/assets/git-branch-SqFf4Ru5.js +0 -6
  205. package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
  206. package/dashboard/dist/assets/index-nufWop4p.js +0 -231
  207. package/dashboard/dist/assets/wrench-B84-zdLI.js +0 -11
  208. package/dist/src/commands/team.d.ts.map +0 -1
  209. package/dist/src/commands/team.js.map +0 -1
  210. package/workflows/phase-add.md +0 -252
  211. package/workflows/phase-transition.md +0 -399
@@ -1,130 +1,151 @@
1
- ---
2
- name: maestro-plan
3
- description: Explore, clarify, plan, check, and confirm a phase execution plan
4
- argument-hint: "<phase> [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--dir <path>]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Create a verified execution plan (plan.json + .task/TASK-*.json) for a roadmap phase through a 5-stage pipeline: Exploration, Clarification, Planning, Plan Checking, and Confirmation. Invoked when a phase is ready to be planned after init/brainstorm. Produces plan.json with waves, task definitions, and user-confirmed execution strategy.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/plan.md
21
- </required_reading>
22
-
23
- <deferred_reading>
24
- - [plan.json](~/.maestro/templates/plan.json) — read when generating plan output
25
- - [task.json](~/.maestro/templates/task.json) — read when generating task files
26
- - [index.json](~/.maestro/templates/index.json) — read when updating phase index
27
- </deferred_reading>
28
-
29
- <context>
30
- Phase: $ARGUMENTS (required -- phase number or slug)
31
-
32
- **Flags:**
33
- - `--collab` -- Multi-planner collaborative mode (spawn N workflow-collab-planner agents with pre-allocated TASK ID ranges)
34
- - `--spec SPEC-xxx` -- Reference a task-spec for requirements input
35
- - `--auto` -- Skip interactive clarification (P2), use defaults
36
- - `--gaps` -- Gap closure mode: load verification.json gaps, skip exploration, plan only gap fixes
37
- - `--dir <path>` -- Use arbitrary directory instead of phase resolution (scratch mode, skip roadmap validation)
38
-
39
- Context files resolved from `.workflow/phases/{NN}-{slug}/` (or `--dir` path):
40
- - context.md (user decisions from Skill({ skill: "maestro-analyze" }))
41
- - index.json (phase metadata)
42
- - spec-ref from index.json (if set)
43
- - codebase/doc-index.json (if exists)
44
- - Wiki prior knowledge via `maestro wiki search` (offline, graceful degradation)
45
- </context>
46
-
47
- <execution>
48
- ### Pre-flight: team conflict check
49
-
50
- Before starting the plan pipeline, run:
51
- ```
52
- Bash("maestro team preflight --phase <phase-number>")
53
- ```
54
- If exit code is 1, the command prints warnings about teammates active on the same phase. Present the warnings to the user and ask whether to proceed. If the user confirms or says "force", continue. If they decline, abort with a clear message.
55
-
56
- If exit code is 0, or `maestro team preflight` is unavailable (e.g., team mode not enabled), continue normally.
57
-
58
- Follow '~/.maestro/workflows/plan.md' completely.
59
-
60
- ### Wiki Knowledge Search (P1 addition)
61
-
62
- During P1 Context Collection, after loading context files and before parallel exploration (step 5), search the wiki for prior knowledge related to the phase:
63
-
64
- ```
65
- // Extract search keywords from phase goal/title in index.json
66
- phase_keywords = extract key terms from index.json goal + title (2-5 terms)
67
-
68
- // Run wiki search (offline mode, no --live flag)
69
- wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
70
-
71
- IF wiki_result exit code != 0 OR wiki_result is empty OR parse fails:
72
- display "W003: Wiki search unavailable, continuing without prior knowledge"
73
- wiki_context = ""
74
- ELSE:
75
- entries = JSON.parse(wiki_result).entries (limit to first 10)
76
- IF entries.length == 0:
77
- wiki_context = "## Wiki Prior Knowledge\nNo related wiki entries found."
78
- ELSE:
79
- wiki_context = "## Wiki Prior Knowledge\n"
80
- FOR each entry in entries:
81
- wiki_context += "- [${entry.type}] ${entry.id}: ${entry.title}"
82
- IF entry.summary:
83
- wiki_context += " — ${entry.summary}"
84
- wiki_context += "\n"
85
-
86
- // Inject wiki_context into exploration context alongside other P1 outputs
87
- ```
88
-
89
- This step uses offline mode by default (no `--live` flag) so it works without the dashboard running. The structured `## Wiki Prior Knowledge` block is passed to downstream planning stages as additional context.
90
-
91
- **Report format on completion:**
92
-
93
- ```
94
- === PLAN READY ===
95
- Phase: {phase_name}
96
- Tasks: {task_count} tasks in {wave_count} waves
97
- Check: {checker_status} (iteration {check_count}/{max_checks})
98
-
99
- Plan: {phase_dir}/plan.json
100
- Tasks: {phase_dir}/.task/TASK-*.json
101
-
102
- Next steps:
103
- Skill({ skill: "maestro-execute", args: "{phase}" }) -- Execute the plan
104
- Skill({ skill: "maestro-plan", args: "{phase}" }) -- Re-plan with modifications
105
-
106
- Note: If this was a --gaps plan, after execute run Skill({ skill: "maestro-verify", args: "{phase}" }) to confirm gaps are closed.
107
- ```
108
- </execution>
109
-
110
- <error_codes>
111
- | Code | Severity | Condition | Recovery |
112
- |------|----------|-----------|----------|
113
- | E001 | error | Phase argument required | Check arguments format, re-run with correct input |
114
- | E002 | error | Phase directory not found | Check arguments format, re-run with correct input |
115
- | E003 | error | --gaps requires verification.json to exist | Check arguments format, re-run with correct input |
116
- | W001 | warning | Exploration agent returned incomplete results | Retry exploration or proceed with available context |
117
- | W002 | warning | Plan-checker found minor issues, continuing | Review plan-checker feedback, adjust plan if needed |
118
- | W003 | warning | Wiki search unavailable or returned no results | Continue without prior knowledge context |
119
- </error_codes>
120
-
121
- <success_criteria>
122
- - [ ] plan.json written to phase directory with summary, approach, task_ids, waves
123
- - [ ] .task/TASK-*.json files created for each task
124
- - [ ] Every task has `read_first[]` with at least the file being modified + source of truth files
125
- - [ ] Every task has `convergence.criteria[]` with grep-verifiable conditions (no subjective language)
126
- - [ ] Every task `action` and `implementation` contain concrete values (no "align X with Y")
127
- - [ ] Plan-checker passed (or minor issues acknowledged)
128
- - [ ] User confirmation captured (execute/modify/cancel)
129
- - [ ] index.json updated with plan status and timestamps
130
- </success_criteria>
1
+ ---
2
+ name: maestro-plan
3
+ description: Explore, clarify, plan, check, and confirm a phase execution plan
4
+ argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--dir <path>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Create a verified execution plan (plan.json + .task/TASK-*.json) through a 5-stage pipeline: Exploration, Clarification, Planning, Plan Checking, and Confirmation. Produces plan.json with waves, task definitions, and user-confirmed execution strategy.
17
+
18
+ All plan output goes to `.workflow/scratch/plan-{slug}-{date}/`. Registers PLN artifact in state.json. Performs collision detection against other plans in same milestone.
19
+ </purpose>
20
+
21
+ <required_reading>
22
+ @~/.maestro/workflows/plan.md
23
+ </required_reading>
24
+
25
+ <deferred_reading>
26
+ - [plan.json](~/.maestro/templates/plan.json) — read when generating plan output
27
+ - [task.json](~/.maestro/templates/task.json) — read when generating task files
28
+ - [state.json](~/.maestro/templates/state.json) — read when registering artifact
29
+ </deferred_reading>
30
+
31
+ <context>
32
+ $ARGUMENTS — phase number, or no args for milestone-wide planning, with optional flags.
33
+
34
+ **Flags:**
35
+ - `--collab` -- Multi-planner collaborative mode (spawn N workflow-collab-planner agents with pre-allocated TASK ID ranges)
36
+ - `--spec SPEC-xxx` -- Reference a task-spec for requirements input
37
+ - `--auto` -- Skip interactive clarification (P2), use defaults
38
+ - `--gaps` -- Gap closure mode: load verification/issue gaps, skip exploration, plan only gap fixes
39
+ - `--dir <path>` -- Use arbitrary scratch directory as context source (e.g., from analyze session)
40
+
41
+ **Scope routing:**
42
+
43
+ | Invocation | Precondition | Scope | Behavior |
44
+ |-----------|-------------|-------|----------|
45
+ | `plan` (no args) | init + roadmap | milestone | Plan all phases in current milestone |
46
+ | `plan 1` | init + roadmap | phase | Plan phase 1 only |
47
+ | `plan --dir scratch/analyze-xxx` | none | inherited | Plan against specified analyze session |
48
+
49
+ **Upstream context:**
50
+ - Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
51
+ - Reads `conclusions.json` if available (implementation_scope seeds task generation)
52
+
53
+ **Output directory**: `scratch/plan-{slug}-{date}/` (relative to `.workflow/`)
54
+
55
+ **Output structure:**
56
+ ```
57
+ scratch/plan-{slug}-{date}/
58
+ ├── plan.json # summary, task_ids[], waves[] with phase labels
59
+ └── .task/
60
+ ├── TASK-001.json # { phase: 1, phase_slug: "auth", ... }
61
+ ├── TASK-002.json
62
+ └── ...
63
+ ```
64
+
65
+ **Collision detection**: After plan generation, before user confirmation, check for file overlaps with existing plans in same milestone. Non-blocking warning only.
66
+
67
+ **Artifact registration**: On completion, register in `state.json.artifacts[]`:
68
+ ```jsonc
69
+ {
70
+ "id": "PLN-{NNN}",
71
+ "type": "plan",
72
+ "milestone": "{current_milestone or null}",
73
+ "phase": "{phase_number or null}",
74
+ "scope": "{milestone|phase|adhoc|standalone}",
75
+ "path": "scratch/plan-{slug}-{date}",
76
+ "status": "completed",
77
+ "depends_on": "{ANL-NNN or null}",
78
+ "harvested": false,
79
+ "created_at": "...",
80
+ "completed_at": "..."
81
+ }
82
+ ```
83
+ </context>
84
+
85
+ <execution>
86
+ ### Pre-flight: team conflict check
87
+
88
+ Before starting the plan pipeline, run:
89
+ ```
90
+ Bash("maestro collab preflight --phase <phase-number>")
91
+ ```
92
+ If exit code is 1, present warnings and ask whether to proceed.
93
+
94
+ Follow '~/.maestro/workflows/plan.md' completely.
95
+
96
+ ### Wiki Knowledge Search (P1 addition)
97
+
98
+ During P1 Context Collection, after loading context files and before parallel exploration (step 5), search the wiki for prior knowledge related to the phase:
99
+
100
+ ```
101
+ phase_keywords = extract key terms from goal/title (2-5 terms)
102
+ wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
103
+
104
+ IF wiki_result exit code != 0 OR empty:
105
+ display "W003: Wiki search unavailable, continuing without prior knowledge"
106
+ ELSE:
107
+ entries = JSON.parse(wiki_result).entries (limit to first 10)
108
+ wiki_context = structured block for downstream stages
109
+ ```
110
+
111
+ **Report format on completion:**
112
+
113
+ ```
114
+ === PLAN READY ===
115
+ Phase: {phase_name}
116
+ Tasks: {task_count} tasks in {wave_count} waves
117
+ Check: {checker_status} (iteration {check_count}/{max_checks})
118
+ Collision: {collision_status}
119
+
120
+ Plan: {scratch_dir}/plan.json
121
+ Tasks: {scratch_dir}/.task/TASK-*.json
122
+
123
+ Next steps:
124
+ /maestro-execute -- Execute the plan
125
+ /maestro-execute --dir {dir} -- Execute specific plan
126
+ /maestro-plan {phase} -- Re-plan with modifications
127
+ ```
128
+ </execution>
129
+
130
+ <error_codes>
131
+ | Code | Severity | Condition | Recovery |
132
+ |------|----------|-----------|----------|
133
+ | E001 | error | No args and no roadmap (cannot determine scope) | Provide phase number or topic, or create roadmap |
134
+ | E003 | error | --gaps requires prior verification/issues to exist | Run maestro-verify first |
135
+ | W001 | warning | Exploration agent returned incomplete results | Retry exploration or proceed with available context |
136
+ | W002 | warning | Plan-checker found minor issues, continuing | Review plan-checker feedback, adjust plan if needed |
137
+ | W003 | warning | Wiki search unavailable or returned no results | Continue without prior knowledge context |
138
+ | W004 | warning | Collision detected with existing plan | Review colliding files, confirm or adjust scope |
139
+ </error_codes>
140
+
141
+ <success_criteria>
142
+ - [ ] plan.json written to scratch directory with summary, approach, task_ids, waves (with phase labels)
143
+ - [ ] .task/TASK-*.json files created for each task
144
+ - [ ] Every task has `read_first[]` with at least the file being modified + source of truth files
145
+ - [ ] Every task has `convergence.criteria[]` with grep-verifiable conditions (no subjective language)
146
+ - [ ] Every task `action` and `implementation` contain concrete values (no "align X with Y")
147
+ - [ ] Collision detection executed against same-milestone plans (non-blocking)
148
+ - [ ] Plan-checker passed (or minor issues acknowledged)
149
+ - [ ] User confirmation captured (execute/modify/cancel)
150
+ - [ ] Artifact registered in state.json with correct scope/milestone/phase/depends_on
151
+ </success_criteria>
@@ -33,10 +33,10 @@ Parse for:
33
33
  Follow '~/.maestro/workflows/quick.md' completely.
34
34
 
35
35
  **Next-step routing on completion:**
36
- - Task done, --full verification passed → Skill({ skill: "manage-status" })
37
- - Task done, verification found gaps → Skill({ skill: "quality-debug", args: "{issue}" })
38
- - Task done, want to sync docs → Skill({ skill: "quality-sync" })
39
- - Need a full phase workflow instead → Skill({ skill: "maestro-plan", args: "{phase}" })
36
+ - Task done, --full verification passed → /manage-status
37
+ - Task done, verification found gaps → /quality-debug {issue}
38
+ - Task done, want to sync docs → /quality-sync
39
+ - Need a full phase workflow instead → /maestro-plan {phase}
40
40
  </execution>
41
41
 
42
42
  <error_codes>
@@ -66,10 +66,10 @@ Auto-selection: ≥3 high uncertainty factors → Progressive, ≥3 low → Dire
66
66
  Follow '~/.maestro/workflows/roadmap.md' completely.
67
67
 
68
68
  **Next-step routing on completion:**
69
- - Roadmap approved → Skill({ skill: "maestro-analyze", args: "1" })
70
- - Simple project, skip analysis → Skill({ skill: "maestro-plan", args: "1" })
71
- - Need UI design first → Skill({ skill: "maestro-ui-design", args: "1" })
72
- - View project dashboard → Skill({ skill: "manage-status" })
69
+ - Roadmap approved → /maestro-analyze 1
70
+ - Simple project, skip analysis → /maestro-plan 1
71
+ - Need UI design first → /maestro-ui-design 1
72
+ - View project dashboard → /manage-status
73
73
  </execution>
74
74
 
75
75
  <error_codes>
@@ -91,5 +91,5 @@ Follow '~/.maestro/workflows/roadmap.md' completely.
91
91
  - [ ] No circular dependencies in phase ordering
92
92
  - [ ] User approved roadmap (or auto-approved with -y)
93
93
  - [ ] `.workflow/roadmap.md` written with phase details, scope decisions, and progress table
94
- - [ ] Phase directories created under `.workflow/phases/`
94
+ - [ ] No phase directories created (phases are labels in roadmap, not directories)
95
95
  </success_criteria>
@@ -38,7 +38,7 @@ $ARGUMENTS -- idea text, @file reference to requirements document, or brainstorm
38
38
  **Input types:**
39
39
  - Direct text: `"Build a real-time collaboration platform"`
40
40
  - File reference: `@requirements.md` or `@design-brief.txt`
41
- - Brainstorm import: `--from-brainstorm WFS-xxx` (reads `.workflow/scratch/brainstorm-*/` or `.workflow/phases/*/`)
41
+ - Brainstorm import: `--from-brainstorm WFS-xxx` (reads `.workflow/scratch/brainstorm-*/`)
42
42
 
43
43
  **Output location:** `.workflow/.spec/SPEC-{slug}-{YYYY-MM-DD}/`
44
44
 
@@ -62,10 +62,10 @@ maestro-init → maestro-roadmap → roadmap.md directly
62
62
  Follow '~/.maestro/workflows/spec-generate.md' completely.
63
63
 
64
64
  **Next-step routing on completion:**
65
- - Roadmap generated, ready to plan → Skill({ skill: "maestro-plan", args: "1" })
66
- - Need UI design first → Skill({ skill: "maestro-ui-design", args: "1" })
67
- - Need analysis before planning → Skill({ skill: "maestro-analyze", args: "1" })
68
- - View project dashboard → Skill({ skill: "manage-status" })
65
+ - Roadmap generated, ready to plan → /maestro-plan 1
66
+ - Need UI design first → /maestro-ui-design 1
67
+ - Need analysis before planning → /maestro-analyze 1
68
+ - View project dashboard → /manage-status
69
69
  </execution>
70
70
 
71
71
  <error_codes>
@@ -109,9 +109,9 @@ Design System:
109
109
  Compare: {phase_dir}/design-ref/prototypes/compare.html
110
110
 
111
111
  Next steps:
112
- Skill({ skill: "maestro-plan", args: "{phase}" }) -- Plan with design reference
113
- Skill({ skill: "maestro-ui-design", args: "{phase} --refine" }) -- Refine selected design
114
- Skill({ skill: "maestro-analyze", args: "{phase}" }) -- Analyze before planning
112
+ /maestro-plan {phase} -- Plan with design reference
113
+ /maestro-ui-design {phase} --refine -- Refine selected design
114
+ /maestro-analyze {phase} -- Analyze before planning
115
115
  ```
116
116
  </execution>
117
117
 
@@ -1,87 +1,106 @@
1
- ---
2
- name: maestro-verify
3
- description: Goal-Backward verification with 3-layer must-have checks, anti-pattern scan, Nyquist test coverage validation, and gap-fix plan generation
4
- argument-hint: "<phase> [--skip-tests] [--skip-antipattern]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Verify phase execution results through three complementary methods:
17
- 1. **Goal-Backward verification** — 3-layer check (Truths → Artifacts → Wiring) that validates goals are actually achieved, not just tasks completed
18
- 2. **Anti-pattern scan** — detect stubs, placeholders, TODO/FIXME, empty returns in modified files
19
- 3. **Nyquist test coverage validation** — requirement-to-test mapping with gap classification (COVERED/PARTIAL/MISSING)
20
-
21
- Core principle: **Task completion ≠ Goal achievement**. A task "create chat component" can be marked complete when the component is a placeholder. This verifier checks that the goal "working chat interface" is actually achieved.
22
-
23
- Produces verification.json with must-have checks, gaps, anti-patterns, and fix plans. Optionally produces validation.json with test coverage analysis.
24
- </purpose>
25
-
26
- <required_reading>
27
- @~/.maestro/workflows/verify.md
28
- </required_reading>
29
-
30
- <deferred_reading>
31
- - [verification.json](~/.maestro/templates/verification.json) — read when generating verification output
32
- - [validation.json](~/.maestro/templates/validation.json) — read when generating validation output
33
- - [index.json](~/.maestro/templates/index.json) — read when updating phase index
34
- </deferred_reading>
35
-
36
- <context>
37
- Phase: $ARGUMENTS (required -- phase number or slug)
38
-
39
- **Flags:**
40
- - `--skip-tests` -- Skip Nyquist test coverage validation (V2), only run Goal-Backward verification
41
- - `--skip-antipattern` -- Skip anti-pattern scan
42
-
43
- Context files resolved from `.workflow/phases/{NN}-{slug}/`:
44
- - index.json (phase metadata, success_criteria, plan, execution results)
45
- - plan.json (task overview)
46
- - .task/TASK-{NNN}.json (task definitions with convergence.criteria)
47
- - .summaries/TASK-{NNN}-summary.md (execution results)
48
- </context>
49
-
50
- <execution>
51
- Follow '~/.maestro/workflows/verify.md' completely.
52
-
53
- **Next-step routing on completion:**
54
- - All checks pass, no gaps → Skill({ skill: "quality-review", args: "{phase}" })
55
- - Gaps found (must-have failures or anti-pattern blockers) → Skill({ skill: "maestro-plan", args: "{phase} --gaps" })
56
- - Low test coverage (Nyquist gaps) → Skill({ skill: "quality-test-gen", args: "{phase}" })
57
-
58
- **Gap-fix closure loop:**
59
- Gaps found → maestro-plan --gaps → maestro-execute → maestro-verify (re-run)
60
- </execution>
61
-
62
- <error_codes>
63
- | Code | Severity | Condition | Recovery |
64
- |------|----------|-----------|----------|
65
- | E001 | error | Phase argument required | Check arguments format, re-run with correct input |
66
- | E002 | error | Phase directory not found | Check arguments format, re-run with correct input |
67
- | E003 | error | No execution results found (missing summaries) | Check arguments format, re-run with correct input |
68
- | W001 | warning | Test coverage below configured threshold | Review coverage gaps, run quality-test-gen |
69
- | W002 | warning | Anti-pattern blockers found in modified files | Fix anti-pattern blockers before proceeding |
70
- | W003 | warning | Wiki health below threshold (score < 80) | Review broken links and orphan specs |
71
- | W004 | warning | Wiki health check unavailable | Skipped — wiki may not be initialized |
72
- </error_codes>
73
-
74
- <success_criteria>
75
- - [ ] Must-haves established (from success_criteria, convergence.criteria, or derived)
76
- - [ ] All truths verified with status and evidence (Layer 1)
77
- - [ ] All artifacts checked at L1 (exists), L2 (substantive), L3 (wired) (Layer 2)
78
- - [ ] Wiki health score reported (Layer 2.5) — warnings emitted if score < 80 or orphan specs found
79
- - [ ] All key links verified with evidence (Layer 3)
80
- - [ ] Anti-patterns scanned and categorized (unless skipped)
81
- - [ ] Nyquist test coverage assessed with gap classification (unless skipped)
82
- - [ ] Fix plans generated for identified gaps
83
- - [ ] Human verification items identified
84
- - [ ] verification.json written with complete results
85
- - [ ] validation.json written if test audit ran
86
- - [ ] index.json updated with verification status and timestamps
87
- </success_criteria>
1
+ ---
2
+ name: maestro-verify
3
+ description: Goal-Backward verification with 3-layer must-have checks, anti-pattern scan, Nyquist test coverage validation, and gap-fix plan generation
4
+ argument-hint: "[phase] [--skip-tests] [--skip-antipattern] [--dir <path>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Verify execution results through three complementary methods:
17
+ 1. **Goal-Backward verification** — 3-layer check (Truths → Artifacts → Wiring) that validates goals are actually achieved
18
+ 2. **Anti-pattern scan** — detect stubs, placeholders, TODO/FIXME, empty returns in modified files
19
+ 3. **Nyquist test coverage validation** — requirement-to-test mapping with gap classification
20
+
21
+ Supports dual-level verification:
22
+ - **Single plan**: `verify --dir scratch/plan-xxx` — verifies one plan, writes `verification.json` into plan dir
23
+ - **Milestone**: `verify` (no args) aggregates all execute artifacts for current milestone into `scratch/verify-{milestone}-{date}/milestone-verification.json`
24
+
25
+ Registers VRF artifact in state.json on completion.
26
+ </purpose>
27
+
28
+ <required_reading>
29
+ @~/.maestro/workflows/verify.md
30
+ </required_reading>
31
+
32
+ <deferred_reading>
33
+ - [verification.json](~/.maestro/templates/verification.json) — read when generating output
34
+ - [validation.json](~/.maestro/templates/validation.json) — read when generating test output
35
+ </deferred_reading>
36
+
37
+ <context>
38
+ $ARGUMENTS — phase number or no args for milestone-wide, with optional flags.
39
+
40
+ **Flags:**
41
+ - `--skip-tests` -- Skip Nyquist test coverage validation, only run Goal-Backward
42
+ - `--skip-antipattern` -- Skip anti-pattern scan
43
+ - `--dir <path>` -- Verify specific plan directory
44
+
45
+ **Scope routing:**
46
+
47
+ | Invocation | Behavior |
48
+ |-----------|----------|
49
+ | `verify` (no args) | Milestone-level: verify all executed plans, aggregate results |
50
+ | `verify 1` | Phase-level: verify all executed plans for phase 1 |
51
+ | `verify --dir scratch/plan-xxx` | Single plan: verify specific plan directory |
52
+
53
+ **Single plan output**: `verification.json` appended to plan's scratch dir
54
+ **Milestone output**: `scratch/verify-{milestone-slug}-{date}/milestone-verification.json`
55
+
56
+ **Artifact registration**: On completion, register VRF artifact:
57
+ ```jsonc
58
+ {
59
+ "id": "VRF-{NNN}",
60
+ "type": "verify",
61
+ "milestone": "{current_milestone or null}",
62
+ "phase": null,
63
+ "scope": "milestone",
64
+ "path": "scratch/verify-{milestone-slug}-{date}",
65
+ "status": "completed",
66
+ "depends_on": ["EXC-001", "EXC-002", ...],
67
+ "harvested": false,
68
+ "created_at": "...",
69
+ "completed_at": "..."
70
+ }
71
+ ```
72
+ </context>
73
+
74
+ <execution>
75
+ Follow '~/.maestro/workflows/verify.md' completely.
76
+
77
+ **Next-step routing on completion:**
78
+ - All checks pass, no gaps /quality-review
79
+ - Gaps found (must-have failures or anti-pattern blockers) /maestro-plan --gaps
80
+ - Low test coverage (Nyquist gaps) /quality-test-gen
81
+
82
+ **Gap-fix closure loop:**
83
+ Gaps found → maestro-plan --gaps maestro-execute maestro-verify (re-run)
84
+ </execution>
85
+
86
+ <error_codes>
87
+ | Code | Severity | Condition | Recovery |
88
+ |------|----------|-----------|----------|
89
+ | E001 | error | No executed plans found for verification | Run maestro-execute first |
90
+ | E002 | error | Plan directory not found | Check --dir path |
91
+ | E003 | error | No execution results found (missing summaries) | Run maestro-execute first |
92
+ | W001 | warning | Test coverage below configured threshold | Review coverage gaps |
93
+ | W002 | warning | Anti-pattern blockers found in modified files | Fix blockers before proceeding |
94
+ </error_codes>
95
+
96
+ <success_criteria>
97
+ - [ ] Must-haves established (from convergence.criteria in tasks)
98
+ - [ ] All truths verified with status and evidence (Layer 1)
99
+ - [ ] All artifacts checked at L1 (exists), L2 (substantive), L3 (wired) (Layer 2)
100
+ - [ ] All key links verified with evidence (Layer 3)
101
+ - [ ] Anti-patterns scanned and categorized (unless skipped)
102
+ - [ ] Nyquist test coverage assessed (unless skipped)
103
+ - [ ] Fix plans generated for identified gaps
104
+ - [ ] verification.json written to plan dir (single plan) or milestone verify dir
105
+ - [ ] VRF artifact registered in state.json
106
+ </success_criteria>
@@ -39,9 +39,9 @@ $ARGUMENTS — user intent text, or special keywords.
39
39
  - `--chain <name>` — Force a specific chain (bypass intent detection). Valid: full-lifecycle, spec-driven, brainstorm-driven, execute-verify, quality-loop, milestone-close, quick, review
40
40
 
41
41
  **State files read:**
42
- - `.workflow/state.json` — project state machine
42
+ - `.workflow/state.json` — project state machine + artifact registry
43
43
  - `.workflow/roadmap.md` — milestone/phase structure
44
- - `.workflow/phases/*/index.json` — per-phase metadata and progress
44
+ - `.workflow/scratch/*/plan.json` — plan metadata (via artifact registry paths)
45
45
  </context>
46
46
 
47
47
  <execution>
@@ -65,7 +65,7 @@ When `-y` is active, maestro propagates auto flags to downstream commands. Only
65
65
  | quality-test-gen | *(none)* | No auto flag — generates tests normally |
66
66
  | quality-debug | *(none)* | No auto flag — runs diagnosis normally |
67
67
  | quality-retrospective | `--auto-yes` | Accept all routing recommendations (spec/note/issue) without prompting |
68
- | maestro-phase-transition | *(none)* | No auto flag — validates and transitions |
68
+ | maestro-milestone-audit | *(none)* | No auto flag — validates milestone readiness |
69
69
  | manage-learn | *(none)* | No auto flag — pure file operation, no prompts |
70
70
 
71
71
  Commands not listed (manage-*, spec-*, milestone-*) have no auto flags and execute as-is.
@@ -75,6 +75,12 @@ In auto mode, maestro also:
75
75
  - Skips chain confirmation (Step 5d)
76
76
  - Auto-skips on step errors (retry once, then skip and continue)
77
77
 
78
+ **Context cleanup hint:**
79
+
80
+ After completing step 3+, proactively suggest `-c` resume:
81
+ - Interactive mode: display `⚡ 已执行 {N} 步,上下文较重。可随时 /maestro -c 在新上下文中恢复。`
82
+ - `-y` mode and step 4+: log one-line warning to status.json, continue.
83
+
78
84
  **Context window reminder:**
79
85
 
80
86
  Before each Step 7 Skill() call, if context usage is near the window limit:
@@ -87,7 +93,7 @@ Before each Step 7 Skill() call, if context usage is near the window limit:
87
93
  === MAESTRO SESSION COMPLETE ===
88
94
  Session: {session_id}
89
95
  Chain: {chain_name} ({steps_completed}/{steps_total} steps)
90
- Phase: {current_phase} (if applicable)
96
+ Milestone: {current_milestone} (if applicable)
91
97
  Mode: {auto | interactive}
92
98
 
93
99
  Steps:
@@ -16,7 +16,7 @@ allowed-tools:
16
16
  <purpose>
17
17
  Perform a full rebuild of the .workflow/codebase/ documentation system from scratch. Scans the entire project source to identify components, features, requirements, and ADRs, then spawns parallel workflow-codebase-mapper agents to generate all documentation artifacts. This is a destructive operation that overwrites existing codebase docs.
18
18
 
19
- Can run before or after Skill({ skill: "maestro-init" }) -- works on any codebase with source files. Also serves the previous `spec-map` use case via `--focus <area>` for scoped dimension analysis.
19
+ Can run before or after `/maestro-init` -- works on any codebase with source files. Also serves the previous `spec-map` use case via `--focus <area>` for scoped dimension analysis.
20
20
  </purpose>
21
21
 
22
22
  <required_reading>
@@ -51,8 +51,8 @@ Follow '~/.maestro/workflows/codebase-rebuild.md' completely.
51
51
  **When `--focus <area>` is set:** pass the area string to each mapper agent as scoping context; only regenerate the docs relevant to that scope (leave others untouched unless missing).
52
52
 
53
53
  **Next-step routing on completion:**
54
- - View updated project state → Skill({ skill: "manage-status" })
55
- - Incremental updates later → Skill({ skill: "manage-codebase-refresh" })
54
+ - View updated project state → `/manage-status`
55
+ - Incremental updates later → `/manage-codebase-refresh`
56
56
  </execution>
57
57
 
58
58
  <error_codes>
@@ -72,5 +72,5 @@ Follow '~/.maestro/workflows/codebase-rebuild.md' completely.
72
72
  - [ ] state.json updated with rebuild timestamp
73
73
  - [ ] project-tech.json refreshed with detected tech stack
74
74
  - [ ] project.md Tech Stack section updated if changes detected
75
- - [ ] Next step routing: Skill({ skill: "manage-status" }) or Skill({ skill: "manage-codebase-refresh" }) for incremental updates later
75
+ - [ ] Next step routing: `/manage-status` or `/manage-codebase-refresh` for incremental updates later
76
76
  </success_criteria>