maestro-flow 0.3.9 → 0.3.11

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 (281) hide show
  1. package/.claude/agents/workflow-collab-planner.md +1 -1
  2. package/.claude/agents/workflow-executor.md +1 -1
  3. package/.claude/agents/workflow-plan-checker.md +1 -1
  4. package/.claude/agents/workflow-planner.md +1 -1
  5. package/.claude/commands/learn-decompose.md +176 -176
  6. package/.claude/commands/learn-follow.md +167 -167
  7. package/.claude/commands/learn-retro.md +1 -1
  8. package/.claude/commands/maestro-analyze.md +46 -3
  9. package/.claude/commands/maestro-coordinate.md +1 -3
  10. package/.claude/commands/maestro-execute.md +14 -0
  11. package/.claude/commands/maestro-plan.md +16 -0
  12. package/.claude/commands/manage-harvest.md +131 -131
  13. package/.claude/commands/manage-issue-discover.md +2 -2
  14. package/.claude/commands/manage-issue.md +5 -5
  15. package/.claude/commands/spec-add.md +67 -56
  16. package/.claude/commands/spec-load.md +66 -64
  17. package/.claude/commands/spec-setup.md +5 -9
  18. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  19. package/.codex/skills/learn-follow/SKILL.md +83 -0
  20. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  21. package/.codex/skills/learn-retro/SKILL.md +83 -0
  22. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  23. package/.codex/skills/maestro/SKILL.md +335 -0
  24. package/.codex/skills/maestro-analyze/SKILL.md +84 -75
  25. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  26. package/.codex/skills/maestro-chain/SKILL.md +233 -0
  27. package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
  28. package/.codex/skills/maestro-execute/SKILL.md +435 -438
  29. package/.codex/skills/maestro-fork/SKILL.md +68 -0
  30. package/.codex/skills/maestro-init/SKILL.md +171 -167
  31. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  32. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  33. package/.codex/skills/maestro-merge/SKILL.md +62 -0
  34. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  35. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  36. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  37. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  38. package/.codex/skills/maestro-plan/SKILL.md +66 -69
  39. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  40. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  41. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  42. package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
  43. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  44. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  45. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  46. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  47. package/.codex/skills/manage-issue/SKILL.md +80 -65
  48. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  49. package/.codex/skills/manage-learn/SKILL.md +190 -186
  50. package/.codex/skills/manage-memory/SKILL.md +95 -72
  51. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  52. package/.codex/skills/manage-status/SKILL.md +102 -89
  53. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  54. package/.codex/skills/quality-debug/SKILL.md +54 -66
  55. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  56. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  57. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  58. package/.codex/skills/quality-review/SKILL.md +93 -105
  59. package/.codex/skills/quality-sync/SKILL.md +101 -89
  60. package/.codex/skills/quality-test/SKILL.md +202 -198
  61. package/.codex/skills/quality-test-gen/SKILL.md +93 -104
  62. package/.codex/skills/spec-add/SKILL.md +58 -39
  63. package/.codex/skills/spec-load/SKILL.md +45 -40
  64. package/.codex/skills/spec-map/SKILL.md +180 -182
  65. package/.codex/skills/spec-setup/SKILL.md +94 -76
  66. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  67. package/.codex/skills/team-executor/SKILL.md +70 -112
  68. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  69. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  70. package/.codex/skills/team-review/SKILL.md +232 -225
  71. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  72. package/.codex/skills/team-testing/SKILL.md +242 -235
  73. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  74. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  75. package/README.md +14 -11
  76. package/README.zh-CN.md +14 -11
  77. package/chains/issue-lifecycle.json +13 -13
  78. package/chains/singles/issue-analyze.json +3 -3
  79. package/chains/singles/issue-execute.json +3 -3
  80. package/chains/singles/issue-plan.json +3 -3
  81. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
  82. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  83. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  84. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  85. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
  86. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  88. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  89. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  90. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  91. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  92. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  93. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
  94. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  95. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  96. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  97. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
  98. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  99. package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
  100. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
  101. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
  102. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
  103. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  104. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  105. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  106. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  107. package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
  108. package/dashboard/dist-server/src/hooks/constants.js +151 -16
  109. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  110. package/dashboard/dist-server/src/types/index.d.ts +5 -0
  111. package/dist/src/commands/collab.d.ts +1 -34
  112. package/dist/src/commands/collab.d.ts.map +1 -1
  113. package/dist/src/commands/collab.js +8 -76
  114. package/dist/src/commands/collab.js.map +1 -1
  115. package/dist/src/commands/hooks.d.ts +5 -1
  116. package/dist/src/commands/hooks.d.ts.map +1 -1
  117. package/dist/src/commands/hooks.js +115 -10
  118. package/dist/src/commands/hooks.js.map +1 -1
  119. package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
  120. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  121. package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
  122. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  123. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  124. package/dist/src/commands/install-ui/InstallExecution.js +5 -1
  125. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  126. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  127. package/dist/src/commands/install-ui/InstallFlow.js +7 -3
  128. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  129. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
  130. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  131. package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
  132. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  133. package/dist/src/commands/spec.d.ts.map +1 -1
  134. package/dist/src/commands/spec.js +7 -2
  135. package/dist/src/commands/spec.js.map +1 -1
  136. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
  137. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
  138. package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
  139. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
  140. package/dist/src/hooks/constants.d.ts +92 -12
  141. package/dist/src/hooks/constants.d.ts.map +1 -1
  142. package/dist/src/hooks/constants.js +151 -16
  143. package/dist/src/hooks/constants.js.map +1 -1
  144. package/dist/src/hooks/guards/index.d.ts +2 -0
  145. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  146. package/dist/src/hooks/guards/index.js +2 -0
  147. package/dist/src/hooks/guards/index.js.map +1 -1
  148. package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
  149. package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
  150. package/dist/src/hooks/guards/preflight-guard.js +95 -0
  151. package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
  152. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  153. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  154. package/dist/src/hooks/guards/spec-validator.js +66 -0
  155. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  156. package/dist/src/hooks/index.d.ts +1 -0
  157. package/dist/src/hooks/index.d.ts.map +1 -1
  158. package/dist/src/hooks/index.js +1 -0
  159. package/dist/src/hooks/index.js.map +1 -1
  160. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  161. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  162. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  163. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  164. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  165. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  166. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  167. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  168. package/dist/src/hooks/preflight-core.d.ts +37 -0
  169. package/dist/src/hooks/preflight-core.d.ts.map +1 -0
  170. package/dist/src/hooks/preflight-core.js +86 -0
  171. package/dist/src/hooks/preflight-core.js.map +1 -0
  172. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  173. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  174. package/dist/src/hooks/spec-bridge.js +97 -0
  175. package/dist/src/hooks/spec-bridge.js.map +1 -0
  176. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  177. package/dist/src/hooks/spec-injector.js +18 -12
  178. package/dist/src/hooks/spec-injector.js.map +1 -1
  179. package/dist/src/hooks/statusline.d.ts +8 -17
  180. package/dist/src/hooks/statusline.d.ts.map +1 -1
  181. package/dist/src/hooks/statusline.js +269 -112
  182. package/dist/src/hooks/statusline.js.map +1 -1
  183. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  184. package/dist/src/i18n/locales/en.js +5 -0
  185. package/dist/src/i18n/locales/en.js.map +1 -1
  186. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  187. package/dist/src/i18n/locales/zh.js +5 -0
  188. package/dist/src/i18n/locales/zh.js.map +1 -1
  189. package/dist/src/i18n/types.d.ts +5 -0
  190. package/dist/src/i18n/types.d.ts.map +1 -1
  191. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  192. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  193. package/dist/src/team/phase-orchestrator.js +165 -0
  194. package/dist/src/team/phase-orchestrator.js.map +1 -0
  195. package/dist/src/team/phase-types.d.ts +51 -0
  196. package/dist/src/team/phase-types.d.ts.map +1 -0
  197. package/dist/src/team/phase-types.js +41 -0
  198. package/dist/src/team/phase-types.js.map +1 -0
  199. package/dist/src/tools/collab-adapter.d.ts +17 -0
  200. package/dist/src/tools/collab-adapter.d.ts.map +1 -1
  201. package/dist/src/tools/collab-adapter.js +138 -0
  202. package/dist/src/tools/collab-adapter.js.map +1 -1
  203. package/dist/src/tools/index.d.ts.map +1 -1
  204. package/dist/src/tools/index.js +6 -0
  205. package/dist/src/tools/index.js.map +1 -1
  206. package/dist/src/tools/merge-validator.d.ts +24 -0
  207. package/dist/src/tools/merge-validator.d.ts.map +1 -0
  208. package/dist/src/tools/merge-validator.js +220 -0
  209. package/dist/src/tools/merge-validator.js.map +1 -0
  210. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  211. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  212. package/dist/src/tools/spec-entry-parser.js +196 -0
  213. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  214. package/dist/src/tools/spec-init.d.ts.map +1 -1
  215. package/dist/src/tools/spec-init.js +66 -92
  216. package/dist/src/tools/spec-init.js.map +1 -1
  217. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  218. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  219. package/dist/src/tools/spec-keyword-index.js +101 -0
  220. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  221. package/dist/src/tools/spec-loader.d.ts +3 -3
  222. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  223. package/dist/src/tools/spec-loader.js +49 -23
  224. package/dist/src/tools/spec-loader.js.map +1 -1
  225. package/dist/src/tools/team-agents.d.ts +27 -0
  226. package/dist/src/tools/team-agents.d.ts.map +1 -0
  227. package/dist/src/tools/team-agents.js +362 -0
  228. package/dist/src/tools/team-agents.js.map +1 -0
  229. package/dist/src/tools/team-mailbox.d.ts +40 -0
  230. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  231. package/dist/src/tools/team-mailbox.js +384 -0
  232. package/dist/src/tools/team-mailbox.js.map +1 -0
  233. package/dist/src/tools/team-msg.d.ts +17 -8
  234. package/dist/src/tools/team-msg.d.ts.map +1 -1
  235. package/dist/src/tools/team-msg.js +110 -13
  236. package/dist/src/tools/team-msg.js.map +1 -1
  237. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  238. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  239. package/dist/src/tools/team-tasks-mcp.js +408 -0
  240. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  241. package/dist/src/types/index.d.ts +5 -0
  242. package/dist/src/types/index.d.ts.map +1 -1
  243. package/package.json +2 -1
  244. package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
  245. package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
  246. package/templates/search-tools.md +1 -1
  247. package/workflows/analyze.md +816 -816
  248. package/workflows/brainstorm.md +471 -471
  249. package/workflows/cli-tools-usage.md +44 -27
  250. package/workflows/codebase-rebuild.md +332 -332
  251. package/workflows/codebase-refresh.md +240 -240
  252. package/workflows/delegate-usage.md +3 -3
  253. package/workflows/execute.md +1 -1
  254. package/workflows/harvest.md +420 -420
  255. package/workflows/integration-test.md +343 -343
  256. package/workflows/issue-analyze.md +6 -2
  257. package/workflows/issue-discover.md +414 -414
  258. package/workflows/issue-execute.md +6 -3
  259. package/workflows/issue-plan.md +5 -2
  260. package/workflows/maestro-coordinate.codex.md +281 -470
  261. package/workflows/maestro-coordinate.md +14 -14
  262. package/workflows/maestro-link-coordinate.md +2 -2
  263. package/workflows/maestro.codex.md +710 -0
  264. package/workflows/maestro.md +10 -11
  265. package/workflows/map.md +111 -111
  266. package/workflows/milestone-complete.md +176 -176
  267. package/workflows/plan.md +1 -1
  268. package/workflows/quick.md +497 -497
  269. package/workflows/refactor.md +300 -300
  270. package/workflows/retrospective.md +1 -1
  271. package/workflows/roadmap.md +335 -335
  272. package/workflows/spec-generate.md +640 -640
  273. package/workflows/specs-add.md +46 -81
  274. package/workflows/specs-load.md +15 -17
  275. package/workflows/specs-setup.md +40 -161
  276. package/.claude/commands/manage-issue-analyze.md +0 -62
  277. package/.claude/commands/manage-issue-execute.md +0 -73
  278. package/.claude/commands/manage-issue-plan.md +0 -62
  279. package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
  280. package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
  281. package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
@@ -531,9 +531,9 @@ const chainMap = {
531
531
  'memory_capture': [{ cmd: 'manage-memory-capture', args: '"{description}"' }],
532
532
  'issue': [{ cmd: 'manage-issue', args: '"{description}"' }],
533
533
  'issue_discover': [{ cmd: 'manage-issue-discover', args: '"{description}"' }],
534
- 'issue_analyze': [{ cmd: 'manage-issue-analyze', args: '"{description}"' }],
535
- 'issue_plan': [{ cmd: 'manage-issue-plan', args: '"{description}"' }],
536
- 'issue_execute': [{ cmd: 'manage-issue-execute', args: '"{description}"' }],
534
+ 'issue_analyze': [{ cmd: 'maestro-analyze', args: '--gaps "{description}"' }],
535
+ 'issue_plan': [{ cmd: 'maestro-plan', args: '--gaps' }],
536
+ 'issue_execute': [{ cmd: 'maestro-execute', args: '' }],
537
537
  'memory': [{ cmd: 'manage-memory', args: '"{description}"' }],
538
538
  'quick': [{ cmd: 'maestro-quick', args: '"{description}"' }],
539
539
  'fork': [{ cmd: 'maestro-fork', args: '-m {milestone_num}' }],
@@ -614,15 +614,15 @@ const chainMap = {
614
614
  ],
615
615
  // Issue lifecycle chains (with quality gates)
616
616
  'issue-full': [
617
- { cmd: 'manage-issue-analyze', args: '{issue_id}' },
618
- { cmd: 'manage-issue-plan', args: '{issue_id}' },
619
- { cmd: 'manage-issue-execute', args: '{issue_id}' },
617
+ { cmd: 'maestro-analyze', args: '--gaps {issue_id}' },
618
+ { cmd: 'maestro-plan', args: '--gaps' },
619
+ { cmd: 'maestro-execute', args: '' },
620
620
  { cmd: 'quality-review', args: '--scope {affected_files}' },
621
621
  { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }
622
622
  ],
623
623
  'issue-quick': [
624
- { cmd: 'manage-issue-plan', args: '{issue_id}' },
625
- { cmd: 'manage-issue-execute', args: '{issue_id}' },
624
+ { cmd: 'maestro-plan', args: '--gaps' },
625
+ { cmd: 'maestro-execute', args: '' },
626
626
  { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }
627
627
  ]
628
628
  };
@@ -669,7 +669,6 @@ function resolvePhase(intent_analysis, project_state) {
669
669
 
670
670
  // 5. Chain doesn't need phase (init, status, memory, issue, etc.)
671
671
  const noPhaseCommands = ['manage-status', 'manage-issue', 'manage-issue-discover',
672
- 'manage-issue-analyze', 'manage-issue-plan', 'manage-issue-execute',
673
672
  'maestro-init', 'maestro-spec-generate', 'maestro-fork', 'maestro-merge',
674
673
  'maestro-roadmap', 'spec-setup', 'manage-memory', 'manage-memory-capture', 'manage-learn',
675
674
  'manage-codebase-rebuild', 'manage-codebase-refresh', 'maestro-milestone-audit',
@@ -939,8 +938,8 @@ Shows how structured extraction routes common inputs — especially cases where
939
938
  | `"这个问题需要看看"` | `{analyze, bug}` | analyze | maestro-analyze |
940
939
  | `"创建一个 issue 跟踪"` | `{manage, issue}` | issue | manage-issue |
941
940
  | `"discover issues"` | `{explore, issue}` | issue_discover | manage-issue-discover |
942
- | `"analyze issue ISS-xxx"` | `{analyze, issue, ISS-xxx}` | issue_analyze | manage-issue-analyze |
943
- | `"plan issue ISS-xxx"` | `{plan, issue, ISS-xxx}` | issue_plan | manage-issue-plan |
941
+ | `"analyze issue ISS-xxx"` | `{analyze, issue, ISS-xxx}` | issue_analyze | maestro-analyze --gaps |
942
+ | `"plan issue ISS-xxx"` | `{plan, issue, ISS-xxx}` | issue_plan | maestro-plan --gaps |
944
943
  | `"brainstorm notification system"` | `{explore, feature}` | brainstorm | brainstorm-driven |
945
944
  | `"spec generate user auth"` | `{create, spec}` | spec_generate | spec-driven |
946
945
  | `"ui design landing page"` | `{create, ui}` | ui_design | ui-design-driven |
package/workflows/map.md CHANGED
@@ -1,111 +1,111 @@
1
- # Workflow: map
2
-
3
- Codebase scanning with parallel mapper agents.
4
-
5
- ---
6
-
7
- ## Step 1: Pre-check
8
-
9
- 1. Check if `.workflow/research/` already exists with documents:
10
- - If documents exist and are recent (< 7 days):
11
- - Ask user: "Codebase map exists. Refresh or skip?"
12
- - "refresh" → continue to Step 2 (overwrite)
13
- - "skip" → exit with route suggestions
14
- - If documents are stale or missing → continue to Step 2
15
-
16
- 2. Create `.workflow/research/` directory if it does not exist.
17
-
18
- ---
19
-
20
- ## Step 2: Spawn Parallel Mapper Agents
21
-
22
- Spawn 4 parallel `workflow-codebase-mapper` agents. Each agent scans the codebase independently with a specific focus and writes its output directly to `.workflow/research/`.
23
-
24
- ```
25
- Agent 1: tech focus
26
- Scan: package.json, go.mod, requirements.txt, build files, dependencies
27
- Output: .workflow/research/STACK.md
28
- Content: languages, frameworks, build tools, key dependencies, versions
29
-
30
- Agent 2: arch focus
31
- Scan: directory structure, module boundaries, entry points, data flow
32
- Output: .workflow/research/ARCHITECTURE.md
33
- Content: architecture style, layer separation, module graph, key abstractions
34
-
35
- Agent 3: features focus
36
- Scan: routes, handlers, components, services, models
37
- Output: .workflow/research/FEATURES.md
38
- Content: feature inventory, feature-to-file mapping, completeness assessment
39
-
40
- Agent 4: concerns focus
41
- Scan: error handling, logging, tests, config, security, performance
42
- Output: .workflow/research/PITFALLS.md
43
- Content: tech debt, missing tests, security gaps, performance concerns, known issues
44
- ```
45
-
46
- If `$ARGUMENTS` (focus area) is provided, pass it to each agent as a focus filter: "Prioritize analysis of {focus_area} subsystem."
47
-
48
- **Load project specs for mapper context:**
49
- ```
50
- specs_content = maestro spec load --category planning
51
- ```
52
-
53
- **Agent spawn pattern:**
54
- ```
55
- For each agent (1-4) in parallel:
56
- Agent({
57
- subagent_type: "workflow-codebase-mapper",
58
- prompt: "Focus: {focus}. Scan the codebase and write {output_file}.
59
- Project specs for reference: ${specs_content}
60
- Write directly to the file. Return only a confirmation with line count.",
61
- run_in_background: false
62
- })
63
- ```
64
-
65
- ---
66
-
67
- ## Step 3: Verification
68
-
69
- After all 4 agents complete:
70
-
71
- 1. Verify all documents exist with content:
72
- ```
73
- .workflow/research/STACK.md — exists, >10 lines
74
- .workflow/research/ARCHITECTURE.md — exists, >10 lines
75
- .workflow/research/FEATURES.md — exists, >10 lines
76
- .workflow/research/PITFALLS.md — exists, >10 lines
77
- ```
78
-
79
- 2. If any document is missing or empty:
80
- - Log which agent failed
81
- - Re-spawn that specific agent (max 1 retry per agent)
82
-
83
- ---
84
-
85
- ## Step 4: Summary
86
-
87
- 1. Create `.workflow/research/SUMMARY.md`:
88
- - Read all 4 documents
89
- - Write a consolidated executive summary covering:
90
- - Tech stack overview (from STACK.md)
91
- - Architecture highlights (from ARCHITECTURE.md)
92
- - Feature inventory count (from FEATURES.md)
93
- - Top 3 concerns (from PITFALLS.md)
94
- - Recommendations for next steps
95
-
96
- ---
97
-
98
- ## Step 5: Commit and Route
99
-
100
- 1. If git repo: commit `.workflow/research/` with message `"chore: map codebase"`
101
-
102
- 2. Display summary:
103
- ```
104
- Codebase mapped successfully.
105
- Documents: 5 files in .workflow/research/
106
- ```
107
-
108
- 3. Route next steps based on project state:
109
- - No `.workflow/state.json` → "Run `/workflow:init` to initialize project"
110
- - Has state, no roadmap → "Run `/workflow:init` to create roadmap"
111
- - Has roadmap → "Run `/workflow:plan {next_phase}` to start planning"
1
+ # Workflow: map
2
+
3
+ Codebase scanning with parallel mapper agents.
4
+
5
+ ---
6
+
7
+ ## Step 1: Pre-check
8
+
9
+ 1. Check if `.workflow/research/` already exists with documents:
10
+ - If documents exist and are recent (< 7 days):
11
+ - Ask user: "Codebase map exists. Refresh or skip?"
12
+ - "refresh" → continue to Step 2 (overwrite)
13
+ - "skip" → exit with route suggestions
14
+ - If documents are stale or missing → continue to Step 2
15
+
16
+ 2. Create `.workflow/research/` directory if it does not exist.
17
+
18
+ ---
19
+
20
+ ## Step 2: Spawn Parallel Mapper Agents
21
+
22
+ Spawn 4 parallel `workflow-codebase-mapper` agents. Each agent scans the codebase independently with a specific focus and writes its output directly to `.workflow/research/`.
23
+
24
+ ```
25
+ Agent 1: tech focus
26
+ Scan: package.json, go.mod, requirements.txt, build files, dependencies
27
+ Output: .workflow/research/STACK.md
28
+ Content: languages, frameworks, build tools, key dependencies, versions
29
+
30
+ Agent 2: arch focus
31
+ Scan: directory structure, module boundaries, entry points, data flow
32
+ Output: .workflow/research/ARCHITECTURE.md
33
+ Content: architecture style, layer separation, module graph, key abstractions
34
+
35
+ Agent 3: features focus
36
+ Scan: routes, handlers, components, services, models
37
+ Output: .workflow/research/FEATURES.md
38
+ Content: feature inventory, feature-to-file mapping, completeness assessment
39
+
40
+ Agent 4: concerns focus
41
+ Scan: error handling, logging, tests, config, security, performance
42
+ Output: .workflow/research/PITFALLS.md
43
+ Content: tech debt, missing tests, security gaps, performance concerns, known issues
44
+ ```
45
+
46
+ If `$ARGUMENTS` (focus area) is provided, pass it to each agent as a focus filter: "Prioritize analysis of {focus_area} subsystem."
47
+
48
+ **Load project specs for mapper context:**
49
+ ```
50
+ specs_content = maestro spec load --category arch
51
+ ```
52
+
53
+ **Agent spawn pattern:**
54
+ ```
55
+ For each agent (1-4) in parallel:
56
+ Agent({
57
+ subagent_type: "workflow-codebase-mapper",
58
+ prompt: "Focus: {focus}. Scan the codebase and write {output_file}.
59
+ Project specs for reference: ${specs_content}
60
+ Write directly to the file. Return only a confirmation with line count.",
61
+ run_in_background: false
62
+ })
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Step 3: Verification
68
+
69
+ After all 4 agents complete:
70
+
71
+ 1. Verify all documents exist with content:
72
+ ```
73
+ .workflow/research/STACK.md — exists, >10 lines
74
+ .workflow/research/ARCHITECTURE.md — exists, >10 lines
75
+ .workflow/research/FEATURES.md — exists, >10 lines
76
+ .workflow/research/PITFALLS.md — exists, >10 lines
77
+ ```
78
+
79
+ 2. If any document is missing or empty:
80
+ - Log which agent failed
81
+ - Re-spawn that specific agent (max 1 retry per agent)
82
+
83
+ ---
84
+
85
+ ## Step 4: Summary
86
+
87
+ 1. Create `.workflow/research/SUMMARY.md`:
88
+ - Read all 4 documents
89
+ - Write a consolidated executive summary covering:
90
+ - Tech stack overview (from STACK.md)
91
+ - Architecture highlights (from ARCHITECTURE.md)
92
+ - Feature inventory count (from FEATURES.md)
93
+ - Top 3 concerns (from PITFALLS.md)
94
+ - Recommendations for next steps
95
+
96
+ ---
97
+
98
+ ## Step 5: Commit and Route
99
+
100
+ 1. If git repo: commit `.workflow/research/` with message `"chore: map codebase"`
101
+
102
+ 2. Display summary:
103
+ ```
104
+ Codebase mapped successfully.
105
+ Documents: 5 files in .workflow/research/
106
+ ```
107
+
108
+ 3. Route next steps based on project state:
109
+ - No `.workflow/state.json` → "Run `/workflow:init` to initialize project"
110
+ - Has state, no roadmap → "Run `/workflow:init` to create roadmap"
111
+ - Has roadmap → "Run `/workflow:plan {next_phase}` to start planning"
@@ -1,176 +1,176 @@
1
- # Workflow: milestone-complete
2
-
3
- Archive completed milestone, move artifacts to history, and prepare for next.
4
-
5
- ---
6
-
7
- ## Step 1: Validation
8
-
9
- 1. Read `.workflow/state.json`:
10
- - Determine target milestone (from $ARGUMENTS or current_milestone)
11
- - If no milestone: ERROR E001
12
-
13
- 2. Check milestone audit status:
14
- - Read `.workflow/milestones/{milestone}/audit-report.md` if exists
15
- - If no audit report:
16
- - WARN: "No audit report found. Run `/maestro-milestone-audit` first."
17
- - Ask user: "Complete without audit?"
18
- - If NO → exit
19
- - If verdict is FAIL: ERROR E002
20
-
21
- 3. Verify all artifacts completed:
22
- ```
23
- milestone_artifacts = state.json.artifacts.filter(a => a.milestone == target_milestone)
24
- incomplete = milestone_artifacts.filter(a => a.status != "completed")
25
- IF incomplete.length > 0:
26
- ERROR E003: "Incomplete artifacts: {list ids and statuses}"
27
- ```
28
-
29
- ---
30
-
31
- ## Step 2: Create Milestone Archive
32
-
33
- 1. Create archive directory:
34
- ```
35
- mkdir -p .workflow/milestones/{milestone}/artifacts/
36
- ```
37
-
38
- 2. Snapshot roadmap:
39
- ```
40
- cp .workflow/roadmap.md .workflow/milestones/{milestone}/roadmap-snapshot.md
41
- ```
42
-
43
- 3. Archive scratch directories:
44
- ```
45
- FOR each artifact IN milestone_artifacts:
46
- IF directory exists at .workflow/{artifact.path}:
47
- cp -r .workflow/{artifact.path} .workflow/milestones/{milestone}/artifacts/{basename}/
48
- ```
49
-
50
- ---
51
-
52
- ## Step 2.5: Load Existing Learnings
53
-
54
- ```
55
- existing_learnings = maestro spec load --category general
56
- ```
57
-
58
- Check existing entries to avoid duplicates when appending in Step 3.
59
-
60
- ---
61
-
62
- ## Step 3: Extract Learnings
63
-
64
- 1. For each execute artifact, read `.summaries/` and `reflection-log.md` if exists:
65
- - Extract strategy adjustments
66
- - Extract patterns discovered
67
- - Extract pitfalls encountered
68
-
69
- 2. Aggregate learnings and append to `.workflow/specs/learnings.md`:
70
- ```
71
- For each strategy adjustment:
72
- ### [YYYY-MM-DD HH:mm] decision: {summary}
73
- {content}
74
- Milestone: {milestone} | Source: milestone-complete
75
-
76
- For each pattern:
77
- ### [YYYY-MM-DD HH:mm] pattern: {summary}
78
- {content}
79
- Milestone: {milestone} | Source: milestone-complete
80
-
81
- For each pitfall:
82
- ### [YYYY-MM-DD HH:mm] bug: {summary}
83
- {content}
84
- Milestone: {milestone} | Source: milestone-complete
85
- ```
86
-
87
- ---
88
-
89
- ## Step 4: Update State
90
-
91
- 1. Archive artifact entries to milestone_history:
92
- ```json
93
- {
94
- "milestone_history": [
95
- {
96
- "id": "{milestone}",
97
- "name": "{milestone_name}",
98
- "status": "completed",
99
- "completed_at": "{now}",
100
- "archive_path": "milestones/{milestone}/",
101
- "archived_artifacts": [ ...all milestone artifacts entries... ]
102
- }
103
- ]
104
- }
105
- ```
106
-
107
- 2. Clear artifacts array (remove milestone-affiliated entries):
108
- ```
109
- state.json.artifacts = state.json.artifacts.filter(a => a.milestone != target_milestone)
110
- ```
111
-
112
- 3. Advance to next milestone:
113
- ```
114
- next_milestone = state.json.milestones.find(m => m.status == "pending")
115
- IF next_milestone:
116
- state.json.current_milestone = next_milestone.id
117
- next_milestone.status = "active"
118
- ELSE:
119
- state.json.current_milestone = null
120
- state.json.status = "completed"
121
- ```
122
-
123
- 4. Write state.json (atomic)
124
-
125
- ---
126
-
127
- ## Step 5: Clean Scratch
128
-
129
- Remove archived scratch directories:
130
- ```
131
- FOR each artifact IN archived_artifacts:
132
- IF directory exists at .workflow/{artifact.path}:
133
- rm -rf .workflow/{artifact.path}
134
- ```
135
-
136
- ---
137
-
138
- ## Step 6: Generate Summary
139
-
140
- Write `.workflow/milestones/{milestone}/summary.md`:
141
- ```markdown
142
- # Milestone: {milestone} — {name}
143
-
144
- **Completed**: {date}
145
- **Artifacts**: {count} (analyze: {n}, plan: {n}, execute: {n}, verify: {n})
146
-
147
- ## Key Outcomes
148
- {extracted from audit report + learnings}
149
-
150
- ## Learnings
151
- {top patterns and pitfalls}
152
-
153
- ## Next Milestone
154
- {next milestone name and first phase, or "Project complete"}
155
- ```
156
-
157
- Update `.workflow/project.md` Context section with milestone summary.
158
-
159
- ---
160
-
161
- ## Step 7: Report
162
-
163
- ```
164
- === MILESTONE COMPLETE ===
165
- Milestone: {milestone} ({name})
166
- Artifacts: {count} archived
167
- Learnings: {learnings_count} extracted
168
-
169
- Archive: .workflow/milestones/{milestone}/
170
- Next: {next_milestone or "Project complete"}
171
-
172
- Next steps:
173
- /maestro-milestone-release -- Cut a release
174
- /maestro-analyze -- Start next milestone
175
- /manage-status -- View project state
176
- ```
1
+ # Workflow: milestone-complete
2
+
3
+ Archive completed milestone, move artifacts to history, and prepare for next.
4
+
5
+ ---
6
+
7
+ ## Step 1: Validation
8
+
9
+ 1. Read `.workflow/state.json`:
10
+ - Determine target milestone (from $ARGUMENTS or current_milestone)
11
+ - If no milestone: ERROR E001
12
+
13
+ 2. Check milestone audit status:
14
+ - Read `.workflow/milestones/{milestone}/audit-report.md` if exists
15
+ - If no audit report:
16
+ - WARN: "No audit report found. Run `/maestro-milestone-audit` first."
17
+ - Ask user: "Complete without audit?"
18
+ - If NO → exit
19
+ - If verdict is FAIL: ERROR E002
20
+
21
+ 3. Verify all artifacts completed:
22
+ ```
23
+ milestone_artifacts = state.json.artifacts.filter(a => a.milestone == target_milestone)
24
+ incomplete = milestone_artifacts.filter(a => a.status != "completed")
25
+ IF incomplete.length > 0:
26
+ ERROR E003: "Incomplete artifacts: {list ids and statuses}"
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Step 2: Create Milestone Archive
32
+
33
+ 1. Create archive directory:
34
+ ```
35
+ mkdir -p .workflow/milestones/{milestone}/artifacts/
36
+ ```
37
+
38
+ 2. Snapshot roadmap:
39
+ ```
40
+ cp .workflow/roadmap.md .workflow/milestones/{milestone}/roadmap-snapshot.md
41
+ ```
42
+
43
+ 3. Archive scratch directories:
44
+ ```
45
+ FOR each artifact IN milestone_artifacts:
46
+ IF directory exists at .workflow/{artifact.path}:
47
+ cp -r .workflow/{artifact.path} .workflow/milestones/{milestone}/artifacts/{basename}/
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Step 2.5: Load Existing Learnings
53
+
54
+ ```
55
+ existing_learnings = maestro spec load --category learning
56
+ ```
57
+
58
+ Check existing entries to avoid duplicates when appending in Step 3.
59
+
60
+ ---
61
+
62
+ ## Step 3: Extract Learnings
63
+
64
+ 1. For each execute artifact, read `.summaries/` and `reflection-log.md` if exists:
65
+ - Extract strategy adjustments
66
+ - Extract patterns discovered
67
+ - Extract pitfalls encountered
68
+
69
+ 2. Aggregate learnings and append to `.workflow/specs/learnings.md`:
70
+ ```
71
+ For each strategy adjustment:
72
+ ### [YYYY-MM-DD HH:mm] decision: {summary}
73
+ {content}
74
+ Milestone: {milestone} | Source: milestone-complete
75
+
76
+ For each pattern:
77
+ ### [YYYY-MM-DD HH:mm] pattern: {summary}
78
+ {content}
79
+ Milestone: {milestone} | Source: milestone-complete
80
+
81
+ For each pitfall:
82
+ ### [YYYY-MM-DD HH:mm] bug: {summary}
83
+ {content}
84
+ Milestone: {milestone} | Source: milestone-complete
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Step 4: Update State
90
+
91
+ 1. Archive artifact entries to milestone_history:
92
+ ```json
93
+ {
94
+ "milestone_history": [
95
+ {
96
+ "id": "{milestone}",
97
+ "name": "{milestone_name}",
98
+ "status": "completed",
99
+ "completed_at": "{now}",
100
+ "archive_path": "milestones/{milestone}/",
101
+ "archived_artifacts": [ ...all milestone artifacts entries... ]
102
+ }
103
+ ]
104
+ }
105
+ ```
106
+
107
+ 2. Clear artifacts array (remove milestone-affiliated entries):
108
+ ```
109
+ state.json.artifacts = state.json.artifacts.filter(a => a.milestone != target_milestone)
110
+ ```
111
+
112
+ 3. Advance to next milestone:
113
+ ```
114
+ next_milestone = state.json.milestones.find(m => m.status == "pending")
115
+ IF next_milestone:
116
+ state.json.current_milestone = next_milestone.id
117
+ next_milestone.status = "active"
118
+ ELSE:
119
+ state.json.current_milestone = null
120
+ state.json.status = "completed"
121
+ ```
122
+
123
+ 4. Write state.json (atomic)
124
+
125
+ ---
126
+
127
+ ## Step 5: Clean Scratch
128
+
129
+ Remove archived scratch directories:
130
+ ```
131
+ FOR each artifact IN archived_artifacts:
132
+ IF directory exists at .workflow/{artifact.path}:
133
+ rm -rf .workflow/{artifact.path}
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Step 6: Generate Summary
139
+
140
+ Write `.workflow/milestones/{milestone}/summary.md`:
141
+ ```markdown
142
+ # Milestone: {milestone} — {name}
143
+
144
+ **Completed**: {date}
145
+ **Artifacts**: {count} (analyze: {n}, plan: {n}, execute: {n}, verify: {n})
146
+
147
+ ## Key Outcomes
148
+ {extracted from audit report + learnings}
149
+
150
+ ## Learnings
151
+ {top patterns and pitfalls}
152
+
153
+ ## Next Milestone
154
+ {next milestone name and first phase, or "Project complete"}
155
+ ```
156
+
157
+ Update `.workflow/project.md` Context section with milestone summary.
158
+
159
+ ---
160
+
161
+ ## Step 7: Report
162
+
163
+ ```
164
+ === MILESTONE COMPLETE ===
165
+ Milestone: {milestone} ({name})
166
+ Artifacts: {count} archived
167
+ Learnings: {learnings_count} extracted
168
+
169
+ Archive: .workflow/milestones/{milestone}/
170
+ Next: {next_milestone or "Project complete"}
171
+
172
+ Next steps:
173
+ /maestro-milestone-release -- Cut a release
174
+ /maestro-analyze -- Start next milestone
175
+ /manage-status -- View project state
176
+ ```
package/workflows/plan.md CHANGED
@@ -100,7 +100,7 @@ mkdir -p {OUTPUT_DIR}/.task/
100
100
 
101
101
  3. **Load project specs**
102
102
  ```
103
- specs_content = maestro spec load --category planning
103
+ specs_content = maestro spec load --category arch
104
104
  ```
105
105
  Pass to planner agent as project constraints context.
106
106