maestro-flow 0.3.7 → 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 (254) 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 +303 -0
  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 -96
  9. package/.claude/commands/maestro-fork.md +111 -0
  10. package/.claude/commands/maestro-init.md +6 -6
  11. package/.claude/commands/maestro-learn.md +74 -298
  12. package/.claude/commands/maestro-merge.md +77 -0
  13. package/.claude/commands/maestro-milestone-audit.md +72 -60
  14. package/.claude/commands/maestro-milestone-complete.md +67 -59
  15. package/.claude/commands/maestro-milestone-release.md +6 -6
  16. package/.claude/commands/maestro-plan.md +151 -130
  17. package/.claude/commands/maestro-quick.md +4 -4
  18. package/.claude/commands/maestro-roadmap.md +5 -5
  19. package/.claude/commands/maestro-spec-generate.md +5 -5
  20. package/.claude/commands/maestro-ui-design.md +3 -3
  21. package/.claude/commands/maestro-verify.md +106 -87
  22. package/.claude/commands/maestro.md +10 -4
  23. package/.claude/commands/manage-codebase-rebuild.md +4 -4
  24. package/.claude/commands/manage-codebase-refresh.md +1 -1
  25. package/.claude/commands/manage-harvest.md +5 -5
  26. package/.claude/commands/manage-issue-discover.md +1 -1
  27. package/.claude/commands/manage-issue-execute.md +6 -6
  28. package/.claude/commands/manage-issue.md +6 -6
  29. package/.claude/commands/manage-learn.md +23 -17
  30. package/.claude/commands/manage-memory-capture.md +15 -17
  31. package/.claude/commands/manage-memory.md +3 -3
  32. package/.claude/commands/manage-status.md +24 -24
  33. package/.claude/commands/quality-business-test.md +5 -5
  34. package/.claude/commands/quality-debug.md +4 -4
  35. package/.claude/commands/quality-integration-test.md +4 -4
  36. package/.claude/commands/quality-refactor.md +3 -3
  37. package/.claude/commands/quality-retrospective.md +7 -7
  38. package/.claude/commands/quality-review.md +4 -4
  39. package/.claude/commands/quality-sync.md +3 -3
  40. package/.claude/commands/quality-test-gen.md +4 -4
  41. package/.claude/commands/quality-test.md +9 -9
  42. package/.claude/commands/spec-add.md +2 -2
  43. package/.claude/commands/spec-load.md +8 -3
  44. package/.claude/commands/spec-setup.md +5 -5
  45. package/.claude/commands/wiki-connect.md +3 -3
  46. package/.claude/commands/wiki-digest.md +30 -5
  47. package/.codex/skills/maestro-analyze/SKILL.md +52 -14
  48. package/.codex/skills/maestro-execute/SKILL.md +27 -26
  49. package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
  50. package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
  51. package/.codex/skills/maestro-plan/SKILL.md +47 -17
  52. package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
  53. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
  54. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
  55. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
  56. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
  57. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
  58. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
  59. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
  60. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
  61. package/README.md +115 -227
  62. package/README.zh-CN.md +169 -187
  63. package/bin/maestro-mcp.js +1 -1
  64. package/chains/_intent-map.json +21 -9
  65. package/chains/_router.json +30 -77
  66. package/chains/brainstorm-driven.json +17 -6
  67. package/chains/full-lifecycle.json +22 -23
  68. package/chains/milestone-close.json +20 -7
  69. package/chains/milestone-fork-merge.json +50 -0
  70. package/chains/roadmap-driven.json +17 -6
  71. package/chains/spec-driven.json +17 -6
  72. package/dashboard/dist/assets/{ArtifactsPage-A9yzYtpj.js → ArtifactsPage-DZNCi6tn.js} +12 -7
  73. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
  74. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
  75. package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
  76. package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
  77. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
  78. package/dashboard/dist/assets/{MarkdownRenderer-CCXHaut3.js → MarkdownRenderer-X4af_WNb.js} +1 -1
  79. package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
  80. package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
  81. package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
  82. package/dashboard/dist/assets/{RequirementBoardPage-CEOvppGn.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
  83. package/dashboard/dist/assets/{RequirementPage-DpnbTEqY.js → RequirementPage-Bllxe2XI.js} +10 -5
  84. package/dashboard/dist/assets/{SpecsPage-CYqOfFkB.js → SpecsPage-9lwxKT27.js} +2 -2
  85. package/dashboard/dist/assets/{SupervisorPage-B2sZwkq8.js → SupervisorPage-SusdfHFq.js} +1 -1
  86. package/dashboard/dist/assets/{TeamsPage-CkZdCAVZ.js → TeamsPage-DsuM6OwC.js} +2 -2
  87. package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
  88. package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
  89. package/dashboard/dist/assets/{arrow-left-6fktHyjN.js → arrow-left-Bqtb2hle.js} +1 -1
  90. package/dashboard/dist/assets/{check-Cbxq2l1-.js → check-u6fGOwQO.js} +1 -1
  91. package/dashboard/dist/assets/{chevron-right-Yts3bi8p.js → chevron-right-Csu22t58.js} +1 -1
  92. package/dashboard/dist/assets/{circle-4Ci4Xolf.js → circle-CMrkbRNg.js} +1 -1
  93. package/dashboard/dist/assets/{circle-alert-B25g9BTL.js → circle-alert-c3tH1P4z.js} +1 -1
  94. package/dashboard/dist/assets/{circle-check-big-DzO2BlL7.js → circle-check-big-TDSeWstm.js} +1 -1
  95. package/dashboard/dist/assets/{circle-check-BA5_XqeV.js → circle-check-gYxxSYuH.js} +1 -1
  96. package/dashboard/dist/assets/{code-zxwuybO8.js → code-CFN2uX9V.js} +1 -1
  97. package/dashboard/dist/assets/{columns-3-DV4oeCfU.js → columns-3-38xIDlzy.js} +1 -1
  98. package/dashboard/dist/assets/{download-CXCyQw8M.js → download-DC7KkKyP.js} +1 -1
  99. package/dashboard/dist/assets/{folder-Bvjj8Vn9.js → folder-CWq_lAnf.js} +1 -1
  100. package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
  101. package/dashboard/dist/assets/{index-BvScJmJM.js → index-Do71weNR.js} +1 -1
  102. package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
  103. package/dashboard/dist/assets/{list-Dj4i9N75.js → list-CgIP_2A-.js} +1 -1
  104. package/dashboard/dist/assets/{minus-DwlFabsT.js → minus-DYoN5UGk.js} +1 -1
  105. package/dashboard/dist/assets/{pen-line-D7UzECt6.js → pen-line-Bh_WKYHm.js} +1 -1
  106. package/dashboard/dist/assets/{proxy-B9XRqHD9.js → proxy-BKxDAKTj.js} +1 -1
  107. package/dashboard/dist/assets/{search-BQbBTIYl.js → search-SieXnOgr.js} +1 -1
  108. package/dashboard/dist/assets/{shallow-Clb1Lyd_.js → shallow-Bme1JY57.js} +1 -1
  109. package/dashboard/dist/assets/{table-BqxCXid2.js → table-llyEtj-7.js} +1 -1
  110. package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
  111. package/dashboard/dist/assets/{trash-2-6rN9B-EQ.js → trash-2-C8f4vFFM.js} +1 -1
  112. package/dashboard/dist/assets/{zap-DxUhG-gk.js → zap-4uwlzVm0.js} +1 -1
  113. package/dashboard/dist/index.html +2 -2
  114. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +1 -1
  115. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -4
  116. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  117. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
  118. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  119. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
  120. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
  121. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
  122. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
  123. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  124. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +1 -1
  125. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +3 -4
  126. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -1
  127. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +4 -4
  128. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -1
  129. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +4 -3
  130. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +20 -7
  132. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +1 -1
  134. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +4 -4
  135. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -1
  136. package/dashboard/dist-server/dashboard/src/server/index.js +2 -1
  137. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
  139. package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
  140. package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
  141. package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
  142. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +14 -14
  144. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/linear.js +7 -5
  146. package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +186 -25
  150. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
  151. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +6 -0
  152. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +24 -2
  153. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +4 -7
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -1
  157. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  158. package/dashboard/dist-server/dashboard/src/shared/constants.test.js +5 -5
  159. package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -1
  160. package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +4 -4
  161. package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -1
  162. package/dashboard/dist-server/src/commands/delegate.js +7 -1
  163. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  164. package/dashboard/package.json +59 -59
  165. package/dist/src/cli.js +3 -1
  166. package/dist/src/cli.js.map +1 -1
  167. package/dist/src/commands/{team.d.ts → collab.d.ts} +2 -2
  168. package/dist/src/commands/collab.d.ts.map +1 -0
  169. package/dist/src/commands/{team.js → collab.js} +391 -24
  170. package/dist/src/commands/collab.js.map +1 -0
  171. package/dist/src/commands/delegate.d.ts.map +1 -1
  172. package/dist/src/commands/delegate.js +7 -1
  173. package/dist/src/commands/delegate.js.map +1 -1
  174. package/dist/src/commands/msg.d.ts.map +1 -1
  175. package/dist/src/commands/msg.js +4 -3
  176. package/dist/src/commands/msg.js.map +1 -1
  177. package/dist/src/hooks/team-monitor.d.ts.map +1 -1
  178. package/dist/src/hooks/team-monitor.js +16 -0
  179. package/dist/src/hooks/team-monitor.js.map +1 -1
  180. package/dist/src/tools/collab-adapter.d.ts +85 -0
  181. package/dist/src/tools/collab-adapter.d.ts.map +1 -0
  182. package/dist/src/tools/collab-adapter.js +320 -0
  183. package/dist/src/tools/collab-adapter.js.map +1 -0
  184. package/dist/src/tools/namespace-guard.d.ts +2 -0
  185. package/dist/src/tools/namespace-guard.d.ts.map +1 -1
  186. package/dist/src/tools/namespace-guard.js +12 -0
  187. package/dist/src/tools/namespace-guard.js.map +1 -1
  188. package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
  189. package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
  190. package/dist/src/tools/phase-gate-evaluator.js +42 -0
  191. package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
  192. package/dist/src/tools/team-members.d.ts +18 -0
  193. package/dist/src/tools/team-members.d.ts.map +1 -1
  194. package/dist/src/tools/team-members.js +50 -0
  195. package/dist/src/tools/team-members.js.map +1 -1
  196. package/dist/src/tools/team-tasks.d.ts +120 -0
  197. package/dist/src/tools/team-tasks.d.ts.map +1 -0
  198. package/dist/src/tools/team-tasks.js +365 -0
  199. package/dist/src/tools/team-tasks.js.map +1 -0
  200. package/dist/src/tools/transition-recorder.d.ts +3 -0
  201. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  202. package/dist/src/tools/transition-recorder.js +52 -1
  203. package/dist/src/tools/transition-recorder.js.map +1 -1
  204. package/dist/src/utils/get-version.d.ts.map +1 -1
  205. package/dist/src/utils/get-version.js +15 -4
  206. package/dist/src/utils/get-version.js.map +1 -1
  207. package/package.json +1 -1
  208. package/templates/config.json +7 -0
  209. package/templates/worktree-scope.json +10 -0
  210. package/templates/worktrees.json +27 -0
  211. package/workflows/analyze.md +86 -36
  212. package/workflows/brainstorm.md +17 -37
  213. package/workflows/delegate-usage.md +39 -41
  214. package/workflows/execute.md +247 -61
  215. package/workflows/fork.md +309 -0
  216. package/workflows/init.md +11 -2
  217. package/workflows/issue.md +66 -7
  218. package/workflows/maestro-coordinate.codex.md +1 -1
  219. package/workflows/maestro-coordinate.md +24 -17
  220. package/workflows/maestro.md +54 -37
  221. package/workflows/memory.md +2 -1
  222. package/workflows/merge.md +285 -0
  223. package/workflows/milestone-audit.md +89 -70
  224. package/workflows/milestone-complete.md +89 -156
  225. package/workflows/plan.md +131 -19
  226. package/workflows/retrospective.md +5 -5
  227. package/workflows/roadmap.md +12 -4
  228. package/workflows/spec-generate.md +9 -0
  229. package/workflows/status.md +76 -27
  230. package/workflows/ui-design.md +14 -12
  231. package/workflows/verify.md +44 -8
  232. package/.claude/commands/learn-retro-decision.md +0 -198
  233. package/.claude/commands/learn-retro-git.md +0 -160
  234. package/.claude/commands/maestro-phase-add.md +0 -63
  235. package/.claude/commands/maestro-phase-transition.md +0 -75
  236. package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
  237. package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
  238. package/chains/singles/phase-add.json +0 -31
  239. package/chains/singles/phase-transition.json +0 -23
  240. package/dashboard/dist/assets/ChatInput-PuCvZZ3y.js +0 -67
  241. package/dashboard/dist/assets/ChatPage-v19GURYH.js +0 -8
  242. package/dashboard/dist/assets/CollabPage-I5k_mCbG.js +0 -1
  243. package/dashboard/dist/assets/KanbanPage-PDDBv5-9.js +0 -16
  244. package/dashboard/dist/assets/McpPage-CiqXpCHg.js +0 -16
  245. package/dashboard/dist/assets/TreeBrowser-0VIMWclo.js +0 -11
  246. package/dashboard/dist/assets/WorkflowPage-Csm23wUS.js +0 -6
  247. package/dashboard/dist/assets/git-branch-DL8p9kVC.js +0 -6
  248. package/dashboard/dist/assets/index-11DuhKhc.js +0 -231
  249. package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
  250. package/dashboard/dist/assets/wrench-BScEJFqC.js +0 -11
  251. package/dist/src/commands/team.d.ts.map +0 -1
  252. package/dist/src/commands/team.js.map +0 -1
  253. package/workflows/phase-add.md +0 -252
  254. package/workflows/phase-transition.md +0 -399
@@ -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>
@@ -53,5 +53,5 @@ Follow '~/.maestro/workflows/codebase-refresh.md' completely.
53
53
  - [ ] Only affected docs refreshed (selective mapper re-run)
54
54
  - [ ] doc-index.json timestamps updated per affected entry
55
55
  - [ ] state.json updated with codebase_last_refreshed timestamp
56
- - [ ] Next step routing: Skill({ skill: "manage-status" }) or Skill({ skill: "spec-load" }) to use updated docs
56
+ - [ ] Next step routing: `/manage-status` or `/spec-load` to use updated docs
57
57
  </success_criteria>
@@ -89,16 +89,16 @@ Follow '~/.maestro/workflows/harvest.md' Stages 1–8 in order. Key invariants:
89
89
 
90
90
  **Next-step routing on completion:**
91
91
  - Review wiki entries → `maestro wiki list --type note`
92
- - Connect wiki graph → `Skill({ skill: "wiki-connect", args: "--fix" })`
93
- - Triage issues → `Skill({ skill: "manage-issue", args: "list --source harvest" })`
94
- - View specs → `Skill({ skill: "spec-load", args: "--category general" })`
95
- - Full retrospective → `Skill({ skill: "quality-retrospective" })`
92
+ - Connect wiki graph → `/wiki-connect --fix`
93
+ - Triage issues → `/manage-issue list --source harvest`
94
+ - View specs → `/spec-load --category general`
95
+ - Full retrospective → `/quality-retrospective`
96
96
  </execution>
97
97
 
98
98
  <error_codes>
99
99
  | Code | Severity | Condition | Recovery |
100
100
  |------|----------|-----------|----------|
101
- | E001 | error | `.workflow/` not initialized | Run `Skill({ skill: "maestro-init" })` first |
101
+ | E001 | error | `.workflow/` not initialized | Run `/maestro-init` first |
102
102
  | E002 | error | Invalid `--to` target (must be: wiki, spec, issue, auto) | Display valid options |
103
103
  | E003 | error | Invalid `--source` type | Display valid source types from registry |
104
104
  | E004 | error | Session ID not found in any source path | Show available sessions with `--source all` |
@@ -73,5 +73,5 @@ Follow '~/.maestro/workflows/issue-discover.md' completely.
73
73
  - [ ] Findings deduplicated before issue creation
74
74
  - [ ] Issues appended to issues.jsonl with correct schema
75
75
  - [ ] Discovery session fully traceable via session directory
76
- - [ ] Next step routing: Skill({ skill: "manage-issue-analyze", args: "<ISS-ID>" }) for root cause analysis, or Skill({ skill: "manage-issue", args: "list" }) to review all issues
76
+ - [ ] Next step routing: `/manage-issue-analyze <ISS-ID>` for root cause analysis, or `/manage-issue list` to review all issues
77
77
  </success_criteria>
@@ -48,9 +48,9 @@ $ARGUMENTS -- ISS-ID (required) + optional flags.
48
48
  Follow '~/.maestro/workflows/issue-execute.md' completely.
49
49
 
50
50
  **Next-step routing on completion:**
51
- - Execution succeeded → Skill({ skill: "manage-issue", args: "close <ISS-ID> --resolution fixed" })
52
- - Execution failed → Skill({ skill: "quality-debug", args: "<failure description>" }) then retry
53
- - Want verification → Skill({ skill: "maestro-verify", args: "{phase}" })
51
+ - Execution succeeded → `/manage-issue close <ISS-ID> --resolution fixed`
52
+ - Execution failed → `/quality-debug <failure description>` then retry
53
+ - Want verification → `/maestro-verify {phase}`
54
54
  </execution>
55
55
 
56
56
  <error_codes>
@@ -67,7 +67,7 @@ Follow '~/.maestro/workflows/issue-execute.md' completely.
67
67
  - [ ] Solution executed (or dry-run displayed)
68
68
  - [ ] Issue status updated in issues.jsonl (in_progress -> resolved or open on failure)
69
69
  - [ ] Result summary displayed with next-step routing:
70
- - Execution succeeded → Skill({ skill: "manage-issue", args: "close <ISS-ID> --resolution fixed" })
71
- - Execution failed → Skill({ skill: "quality-debug", args: "<failure description>" }) then retry
72
- - Want verification → Skill({ skill: "maestro-verify", args: "{phase}" })
70
+ - Execution succeeded → `/manage-issue close <ISS-ID> --resolution fixed`
71
+ - Execution failed → `/quality-debug <failure description>` then retry
72
+ - Want verification → `/maestro-verify {phase}`
73
73
  </success_criteria>
@@ -48,9 +48,9 @@ Parse subcommand from first token of $ARGUMENTS.
48
48
  Follow '~/.maestro/workflows/issue.md' completely.
49
49
 
50
50
  **Next-step routing on completion:**
51
- - create → Skill({ skill: "manage-issue-analyze", args: "<ISS-ID>" }) or Skill({ skill: "manage-issue-plan", args: "<ISS-ID>" })
52
- - list → Skill({ skill: "manage-issue-analyze", args: "<ISS-ID>" }) for any open issue
53
- - close → Skill({ skill: "manage-status" })
51
+ - create → `/manage-issue-analyze <ISS-ID>` or `/manage-issue-plan <ISS-ID>`
52
+ - list → `/manage-issue-analyze <ISS-ID>` for any open issue
53
+ - close → `/manage-status`
54
54
  </execution>
55
55
 
56
56
  <error_codes>
@@ -67,7 +67,7 @@ Follow '~/.maestro/workflows/issue.md' completely.
67
67
  - [ ] Output displayed in appropriate format (table for list, detail for status)
68
68
  - [ ] Cross-references maintained (link creates bidirectional references)
69
69
  - [ ] Next step routing by subcommand:
70
- - create → Skill({ skill: "manage-issue-analyze", args: "<ISS-ID>" }) or Skill({ skill: "manage-issue-plan", args: "<ISS-ID>" })
71
- - list → Skill({ skill: "manage-issue-analyze", args: "<ISS-ID>" }) for any open issue
72
- - close → Skill({ skill: "manage-status" })
70
+ - create → `/manage-issue-analyze <ISS-ID>` or `/manage-issue-plan <ISS-ID>`
71
+ - list → `/manage-issue-analyze <ISS-ID>` for any open issue
72
+ - close → `/manage-status`
73
73
  </success_criteria>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: manage-learn
3
- description: Capture, search, and review atomic learning insights into .workflow/learning/lessons.jsonl
4
- argument-hint: "[<text>|list|search|show <id>] [--category ...] [--tag t1,t2] [--phase N] [--confidence ...]"
3
+ description: Capture, search, and review atomic learning insights and tips into .workflow/learning/lessons.jsonl
4
+ argument-hint: "[<text>|tip <text>|list|search|show <id>] [--category ...] [--tag t1,t2] [--phase N] [--confidence ...]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -12,7 +12,11 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
  <purpose>
15
- Atomic insight capture for the workflow learning library. Lightweight gstack-style "eureka moment" log that complements `quality-retrospective`: where retrospective extracts insights from a completed phase in bulk, `manage-learn` captures one timeless insight at a time during active work. Insights are appended to `.workflow/learning/lessons.jsonl` with auto-detected phase linkage and a simple keyword-based category inference. Same store as retrospective output, so search and list see both manual captures and retrospective-distilled insights.
15
+ Unified atomic knowledge capture for the workflow learning library. Captures two types of knowledge:
16
+ - **Insights**: Timeless "eureka moment" entries (patterns, gotchas, techniques) — the default mode
17
+ - **Tips**: Quick contextual notes for cross-session recovery (formerly in `manage-memory-capture tip`)
18
+
19
+ Both types are stored in `.workflow/learning/lessons.jsonl` with auto-detected phase linkage and keyword-based category inference. Tips are distinguished by `source: "tip"` and implicitly tagged `tip`. Same store as retrospective output, so search and list see the entire knowledge corpus.
16
20
  </purpose>
17
21
 
18
22
  <required_reading>
@@ -23,30 +27,31 @@ Atomic insight capture for the workflow learning library. Lightweight gstack-sty
23
27
  Arguments: $ARGUMENTS
24
28
 
25
29
  **Modes (auto-detected from first token):**
26
- - `"<insight text>"` (or any non-keyword text) → capture mode
27
- - `list`list recent insights (default 20)
30
+ - `"<insight text>"` (or any non-keyword text) → insight capture mode
31
+ - `tip <text>` tip capture mode (quick contextual note, auto-tagged `tip`)
32
+ - `list` → list recent entries (default 20)
28
33
  - `search <query>` → text search across lessons.jsonl
29
- - `show <INS-id>` → full insight detail with phase context
30
- - empty → AskUserQuestion to prompt for insight text
34
+ - `show <INS-id>` → full detail with phase context
35
+ - empty → AskUserQuestion to prompt for text
31
36
 
32
- **Capture flags:**
33
- - `--category <name>` — pattern | antipattern | decision | tool | gotcha | technique. Default: inferred from text via keyword heuristics.
34
- - `--tag t1,t2` — comma-separated tags. Always implicitly adds `manual`.
37
+ **Capture flags (both insight and tip modes):**
38
+ - `--category <name>` — pattern | antipattern | decision | tool | gotcha | technique | tip. Default: inferred from text via keyword heuristics. Tip mode defaults to `tip`.
39
+ - `--tag t1,t2` — comma-separated tags. Insight mode implicitly adds `manual`, tip mode implicitly adds `tip`.
35
40
  - `--phase <N>` — override auto-detected current phase. Use `--phase 0` to force "no phase".
36
- - `--confidence <level>` — high | medium | low. Default: medium.
41
+ - `--confidence <level>` — high | medium | low. Default: medium (insight), low (tip).
37
42
 
38
43
  **List/search flags:**
39
44
  - `--tag t1,t2` — filter by tag
40
45
  - `--category <name>` — filter by category
41
46
  - `--phase <N>` — filter by phase
42
- - `--lens <name>` — filter by retrospective lens (technical | process | quality | decision)
47
+ - `--lens <name>` — filter by retrospective lens (technical | process | quality | decision | git). Note: `git` matches `source: "retro-git"` from learn-retro; others match `lens` field from quality-retrospective.
43
48
  - `--limit <N>` — list mode row limit (default 20)
44
49
 
45
50
  **Storage:**
46
51
  - `.workflow/learning/lessons.jsonl` — append-only JSONL row per insight (shared with `quality-retrospective` output)
47
52
  - `.workflow/learning/learning-index.json` — searchable index (mirrors `memory-index.json` schema)
48
53
 
49
- **Shared store rationale:** Manual captures (`source: "manual"`, `lens: null`) and retrospective-distilled insights (`source: "retrospective"`, `lens: <name>`) live side by side so search and list see the entire knowledge corpus. The `source` and `lens` fields disambiguate.
54
+ **Shared store rationale:** Manual captures (`source: "manual"`), tips (`source: "tip"`), retrospective-distilled insights (`source: "retrospective"`, `lens: <name>` from `quality-retrospective`), and learn-retro insights (`source: "retro-git"` or `source: "retro-decision"` from `learn-retro`) all live in the same store so search and list see the entire knowledge corpus. The `source` field disambiguates origin.
50
55
  </context>
51
56
 
52
57
  <execution>
@@ -55,16 +60,17 @@ Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order. Key invariants:
55
60
  1. **No agent or CLI calls** — this is a pure file operation: parse → infer → append → confirm. Category inference is keyword-based, not LLM-based.
56
61
  2. **Auto-link phase** — read `.workflow/state.json` for `current_phase` and resolve the matching directory slug. `--phase 0` forces no link.
57
62
  3. **Match memory-index pattern** — `learning-index.json` schema mirrors `memory-index.json` from `workflows/memory.md` (entries[] with id, type, timestamp, file, summary, tags, plus learn-specific fields: lens, category, phase, phase_slug, confidence, routed_to, routed_id).
58
- 4. **Stable INS ids** — `INS-{8 lowercase hex}` from `hash(insight_text + timestamp)`.
63
+ 4. **Stable INS ids** — `INS-{8 lowercase hex}` from `hash(insight_text + category + phase)`. Deterministic: same content in same context always produces the same ID.
59
64
  5. **Append-only lessons.jsonl** — never rewrite existing rows; duplicate detection is the user's job at search time.
60
65
  6. **Bootstrap on demand** — create `.workflow/learning/`, `lessons.jsonl`, `learning-index.json` on first use; do not require them to exist upfront.
66
+ 7. **Tip mode** — when first token is `tip`, set `source: "tip"`, `category: "tip"`, `confidence: "low"`, and implicitly add `tip` tag. Everything else follows the same pipeline as insight capture. This replaces the former `manage-memory-capture tip` mode.
61
67
  </execution>
62
68
 
63
69
  <error_codes>
64
70
  | Code | Severity | Description | Stage |
65
71
  |------|----------|-------------|-------|
66
- | E001 | error | `.workflow/` not initialized — run `Skill({ skill: "maestro-init" })` first | parse_input |
67
- | E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique) | parse_input |
72
+ | E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
73
+ | E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique, tip) | parse_input |
68
74
  | E003 | error | `show` mode requires an INS-id argument | show |
69
75
  | E004 | error | Insight id not found in lessons.jsonl | show |
70
76
  | W001 | warning | Auto-phase detection found a current_phase but no matching directory; phase set to null | capture |
@@ -82,5 +88,5 @@ Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order. Key invariants:
82
88
  - [ ] Show: full insight displayed with phase context and routed-artifact link if any
83
89
  - [ ] No file modifications outside `.workflow/learning/`
84
90
  - [ ] Confirmation banner displayed with INS-id and next-step hints
85
- - [ ] Next step: `Skill({ skill: "manage-learn", args: "list" })` to browse, or `Skill({ skill: "manage-learn", args: "search <query>" })` to find related insights
91
+ - [ ] Next step: `/manage-learn list` to browse, or `/manage-learn search <query>` to find related insights
86
92
  </success_criteria>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: manage-memory-capture
3
- description: Capture session memory (compact or tips) into .workflow/memory/ with JSON index
4
- argument-hint: "[compact|tip] [description] [--tag tag1,tag2]"
3
+ description: Capture session memory (compact mode) into .workflow/memory/ with JSON index
4
+ argument-hint: "[compact] [description]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
  <purpose>
15
- Capture session working memory into `.workflow/memory/` for cross-session recovery. Supports two modes: compact (full session compression for recovery) and tip (quick note-taking with tags). Maintains a `memory-index.json` for search and retrieval. Invoked when saving session state before context loss or recording insights during work.
15
+ Capture session working memory into `.workflow/memory/` for cross-session recovery. Compact mode only: full session compression for recovery. Maintains a `memory-index.json` for search and retrieval. Invoked when saving session state before context loss.
16
+
17
+ **Note:** Quick tips/notes have been moved to `manage-learn tip <text>`. Use that command for atomic knowledge capture.
16
18
  </purpose>
17
19
 
18
20
  <required_reading>
@@ -22,13 +24,9 @@ Capture session working memory into `.workflow/memory/` for cross-session recove
22
24
  <context>
23
25
  Arguments: $ARGUMENTS
24
26
 
25
- **Modes:**
27
+ **Mode:**
26
28
  - `compact` — Full session memory compression (files, decisions, plan state, pending work)
27
- - `tip`Quick note with optional tags and context
28
- - No arguments — Auto-detect or ask user
29
-
30
- **Flags:**
31
- - `--tag tag1,tag2` — Categorization tags (tip mode)
29
+ - No arguments Defaults to compact mode
32
30
 
33
31
  **Storage:**
34
32
  - `.workflow/memory/` — Memory entries directory
@@ -42,20 +40,20 @@ Follow '~/.maestro/workflows/memory.md' Part B (Memory Capture) completely.
42
40
  <error_codes>
43
41
  | Code | Severity | Description | Stage |
44
42
  |------|----------|-------------|-------|
45
- | E001 | error | `.workflow/` not initialized — run Skill({ skill: "maestro-init" }) first | parse_input |
46
- | E002 | error | Empty note content in tip mode provide text to save | parse_input |
43
+ | E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
44
+ | E002 | error | Tip mode removed use `/manage-learn tip <text>` instead | parse_input |
47
45
  | W001 | warning | No active workflow session found — compact will capture conversation only | analyze_session |
48
46
  | W002 | warning | Plan detection found no explicit plan — using inferred plan | analyze_session |
49
47
  </error_codes>
50
48
 
51
49
  <success_criteria>
52
- - [ ] Mode correctly detected (compact or tip)
50
+ - [ ] Compact mode executed
53
51
  - [ ] Entry markdown file written to `.workflow/memory/`
54
52
  - [ ] `memory-index.json` updated with new entry metadata
55
- - [ ] Compact: all session fields populated (objective, files, decisions, plan)
56
- - [ ] Compact: execution plan preserved VERBATIM (not summarized)
57
- - [ ] Compact: all file paths are ABSOLUTE
58
- - [ ] Tip: content, tags, and context captured
53
+ - [ ] All session fields populated (objective, files, decisions, plan)
54
+ - [ ] Execution plan preserved VERBATIM (not summarized)
55
+ - [ ] All file paths are ABSOLUTE
59
56
  - [ ] Confirmation banner displayed with entry ID
60
- - [ ] Next step: Skill({ skill: "manage-status" }) to resume workflow, or Skill({ skill: "manage-memory", args: "view <entry_id>" }) to verify captured memory
57
+ - [ ] Next step: `/manage-status` to resume workflow, or `/manage-memory view <entry_id>` to verify captured memory
58
+ - [ ] For tips: redirect user to `/manage-learn tip <text>`
61
59
  </success_criteria>
@@ -30,7 +30,7 @@ Arguments: $ARGUMENTS
30
30
 
31
31
  | Store | Path | Format | Index |
32
32
  |-------|------|--------|-------|
33
- | `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` | `memory-index.json` |
33
+ | `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` (legacy only — new tips go to `manage-learn tip`) | `memory-index.json` |
34
34
  | `system` | `~/.claude/projects/{project}/memory/` | `MEMORY.md` + topic `.md` files | None (flat files) |
35
35
 
36
36
  **System memory path detection:**
@@ -64,7 +64,7 @@ Follow '~/.maestro/workflows/memory.md' Part A (Memory Management) completely.
64
64
  <error_codes>
65
65
  | Code | Severity | Description | Stage |
66
66
  |------|----------|-------------|-------|
67
- | E001 | error | No memory stores found — run Skill({ skill: "manage-memory-capture" }) or create MEMORY.md | resolve_paths |
67
+ | E001 | error | No memory stores found — run `/manage-memory-capture` or create MEMORY.md | resolve_paths |
68
68
  | E002 | error | Entry ID or filename not found | execute_view, execute_delete |
69
69
  | E003 | error | Prune requires at least one filter (--tag, --type, --before, --after) | execute_prune |
70
70
  | E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead | execute_delete |
@@ -84,5 +84,5 @@ Follow '~/.maestro/workflows/memory.md' Part A (Memory Management) completely.
84
84
  - [ ] Delete: MEMORY.md protected, confirmation required, references checked
85
85
  - [ ] Prune: workflow-only, filters validated, index updated
86
86
  - [ ] Integrity check catches orphans and broken links
87
- - [ ] Next step: Skill({ skill: "manage-memory-capture", args: "compact" }) to save new memory, or Skill({ skill: "manage-status" }) to continue workflow
87
+ - [ ] Next step: `/manage-memory-capture compact` to save new memory, or `/manage-status` to continue workflow
88
88
  </success_criteria>