maestro-flow 0.3.10 → 0.3.12

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 (311) hide show
  1. package/.claude/agents/conceptual-planning-agent.md +1 -0
  2. package/.claude/agents/workflow-analyzer.md +114 -114
  3. package/.claude/agents/workflow-collab-planner.md +144 -144
  4. package/.claude/agents/workflow-debugger.md +102 -103
  5. package/.claude/agents/workflow-executor.md +127 -128
  6. package/.claude/agents/workflow-integration-checker.md +82 -82
  7. package/.claude/agents/workflow-nyquist-auditor.md +85 -84
  8. package/.claude/agents/workflow-phase-researcher.md +85 -85
  9. package/.claude/agents/workflow-plan-checker.md +90 -90
  10. package/.claude/agents/workflow-planner.md +178 -178
  11. package/.claude/agents/workflow-roadmapper.md +81 -83
  12. package/.claude/agents/workflow-verifier.md +119 -119
  13. package/.claude/commands/learn-decompose.md +176 -176
  14. package/.claude/commands/learn-follow.md +167 -167
  15. package/.claude/commands/learn-retro.md +3 -3
  16. package/.claude/commands/learn-second-opinion.md +2 -2
  17. package/.claude/commands/maestro-brainstorm.md +1 -0
  18. package/.claude/commands/maestro-coordinate.md +1 -3
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-plan.md +88 -2
  22. package/.claude/commands/maestro-roadmap.md +113 -2
  23. package/.claude/commands/maestro.md +1 -0
  24. package/.claude/commands/manage-harvest.md +131 -131
  25. package/.claude/commands/manage-issue.md +2 -2
  26. package/.claude/commands/quality-business-test.md +5 -5
  27. package/.claude/commands/quality-debug.md +3 -2
  28. package/.claude/commands/quality-retrospective.md +6 -4
  29. package/.claude/commands/quality-review.md +1 -1
  30. package/.claude/commands/quality-test-gen.md +5 -4
  31. package/.claude/commands/spec-add.md +67 -56
  32. package/.claude/commands/spec-load.md +66 -64
  33. package/.claude/commands/spec-setup.md +5 -9
  34. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  35. package/.codex/skills/learn-follow/SKILL.md +83 -0
  36. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  37. package/.codex/skills/learn-retro/SKILL.md +83 -0
  38. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  39. package/.codex/skills/maestro/SKILL.md +151 -279
  40. package/.codex/skills/maestro-analyze/SKILL.md +59 -71
  41. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  42. package/.codex/skills/maestro-chain/SKILL.md +95 -110
  43. package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
  44. package/.codex/skills/maestro-execute/SKILL.md +435 -446
  45. package/.codex/skills/maestro-fork/SKILL.md +98 -0
  46. package/.codex/skills/maestro-init/SKILL.md +172 -167
  47. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  48. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  49. package/.codex/skills/maestro-merge/SKILL.md +69 -0
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  52. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  53. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  54. package/.codex/skills/maestro-plan/SKILL.md +58 -69
  55. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  56. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  57. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  58. package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
  59. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  60. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  61. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  62. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  63. package/.codex/skills/manage-issue/SKILL.md +80 -65
  64. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  65. package/.codex/skills/manage-learn/SKILL.md +190 -186
  66. package/.codex/skills/manage-memory/SKILL.md +95 -72
  67. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  68. package/.codex/skills/manage-status/SKILL.md +102 -89
  69. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  70. package/.codex/skills/quality-debug/SKILL.md +54 -66
  71. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  72. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  73. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  74. package/.codex/skills/quality-review/SKILL.md +95 -107
  75. package/.codex/skills/quality-sync/SKILL.md +101 -89
  76. package/.codex/skills/quality-test/SKILL.md +202 -198
  77. package/.codex/skills/quality-test-gen/SKILL.md +94 -105
  78. package/.codex/skills/spec-add/SKILL.md +58 -39
  79. package/.codex/skills/spec-load/SKILL.md +45 -40
  80. package/.codex/skills/spec-map/SKILL.md +180 -182
  81. package/.codex/skills/spec-setup/SKILL.md +94 -76
  82. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  83. package/.codex/skills/team-executor/SKILL.md +70 -112
  84. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  85. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  86. package/.codex/skills/team-review/SKILL.md +232 -225
  87. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  88. package/.codex/skills/team-testing/SKILL.md +242 -235
  89. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  90. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  91. package/README.md +9 -4
  92. package/README.zh-CN.md +9 -4
  93. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  94. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  95. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  96. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  98. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  99. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  100. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  101. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  102. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  103. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  104. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  105. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  106. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  107. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  108. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  109. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  110. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  111. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  112. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  113. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  114. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  115. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  116. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  117. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  118. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  119. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  120. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  121. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  122. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  123. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  124. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  125. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  126. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  127. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  128. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  129. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  130. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  131. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  132. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  133. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  134. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  135. package/dashboard/dist/index.html +2 -2
  136. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  137. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  139. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  142. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  144. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  146. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  149. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  151. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  152. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  156. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  157. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  158. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
  160. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  162. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  163. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  164. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  165. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
  166. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  167. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  169. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
  170. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  171. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  172. package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
  173. package/dashboard/dist-server/src/hooks/constants.js +4 -2
  174. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  175. package/dist/shared/agent-types.d.ts +4 -0
  176. package/dist/shared/agent-types.d.ts.map +1 -1
  177. package/dist/src/commands/collab.js +4 -4
  178. package/dist/src/commands/collab.js.map +1 -1
  179. package/dist/src/commands/hooks.d.ts.map +1 -1
  180. package/dist/src/commands/hooks.js +66 -1
  181. package/dist/src/commands/hooks.js.map +1 -1
  182. package/dist/src/commands/install-backend.d.ts.map +1 -1
  183. package/dist/src/commands/install-backend.js +29 -18
  184. package/dist/src/commands/install-backend.js.map +1 -1
  185. package/dist/src/commands/spec.d.ts.map +1 -1
  186. package/dist/src/commands/spec.js +7 -2
  187. package/dist/src/commands/spec.js.map +1 -1
  188. package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
  189. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  190. package/dist/src/hooks/constants.d.ts +3 -1
  191. package/dist/src/hooks/constants.d.ts.map +1 -1
  192. package/dist/src/hooks/constants.js +4 -2
  193. package/dist/src/hooks/constants.js.map +1 -1
  194. package/dist/src/hooks/guards/index.d.ts +1 -0
  195. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  196. package/dist/src/hooks/guards/index.js +1 -0
  197. package/dist/src/hooks/guards/index.js.map +1 -1
  198. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  199. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  200. package/dist/src/hooks/guards/spec-validator.js +66 -0
  201. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  202. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  203. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  204. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  205. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  206. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  207. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  208. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  209. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  210. package/dist/src/hooks/skill-context.d.ts +3 -0
  211. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  212. package/dist/src/hooks/skill-context.js +95 -9
  213. package/dist/src/hooks/skill-context.js.map +1 -1
  214. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  215. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  216. package/dist/src/hooks/spec-bridge.js +97 -0
  217. package/dist/src/hooks/spec-bridge.js.map +1 -0
  218. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  219. package/dist/src/hooks/spec-injector.js +18 -12
  220. package/dist/src/hooks/spec-injector.js.map +1 -1
  221. package/dist/src/hooks/statusline.d.ts.map +1 -1
  222. package/dist/src/hooks/statusline.js +6 -3
  223. package/dist/src/hooks/statusline.js.map +1 -1
  224. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  225. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  226. package/dist/src/team/phase-orchestrator.js +165 -0
  227. package/dist/src/team/phase-orchestrator.js.map +1 -0
  228. package/dist/src/team/phase-types.d.ts +51 -0
  229. package/dist/src/team/phase-types.d.ts.map +1 -0
  230. package/dist/src/team/phase-types.js +41 -0
  231. package/dist/src/team/phase-types.js.map +1 -0
  232. package/dist/src/tools/index.d.ts.map +1 -1
  233. package/dist/src/tools/index.js +6 -0
  234. package/dist/src/tools/index.js.map +1 -1
  235. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  236. package/dist/src/tools/merge-validator.js +114 -16
  237. package/dist/src/tools/merge-validator.js.map +1 -1
  238. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  239. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  240. package/dist/src/tools/spec-entry-parser.js +196 -0
  241. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  242. package/dist/src/tools/spec-init.d.ts.map +1 -1
  243. package/dist/src/tools/spec-init.js +66 -92
  244. package/dist/src/tools/spec-init.js.map +1 -1
  245. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  246. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  247. package/dist/src/tools/spec-keyword-index.js +101 -0
  248. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  249. package/dist/src/tools/spec-loader.d.ts +3 -3
  250. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  251. package/dist/src/tools/spec-loader.js +49 -23
  252. package/dist/src/tools/spec-loader.js.map +1 -1
  253. package/dist/src/tools/team-agents.d.ts +27 -0
  254. package/dist/src/tools/team-agents.d.ts.map +1 -0
  255. package/dist/src/tools/team-agents.js +362 -0
  256. package/dist/src/tools/team-agents.js.map +1 -0
  257. package/dist/src/tools/team-mailbox.d.ts +40 -0
  258. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  259. package/dist/src/tools/team-mailbox.js +384 -0
  260. package/dist/src/tools/team-mailbox.js.map +1 -0
  261. package/dist/src/tools/team-msg.d.ts +17 -8
  262. package/dist/src/tools/team-msg.d.ts.map +1 -1
  263. package/dist/src/tools/team-msg.js +110 -13
  264. package/dist/src/tools/team-msg.js.map +1 -1
  265. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  266. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  267. package/dist/src/tools/team-tasks-mcp.js +408 -0
  268. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  269. package/package.json +2 -1
  270. package/shared/agent-types.ts +4 -0
  271. package/templates/worktree-scope.json +9 -10
  272. package/templates/worktrees.json +26 -27
  273. package/workflows/analyze.md +816 -816
  274. package/workflows/brainstorm.md +480 -471
  275. package/workflows/codebase-rebuild.md +332 -332
  276. package/workflows/codebase-refresh.md +240 -240
  277. package/workflows/debug.md +16 -6
  278. package/workflows/execute.md +1 -1
  279. package/workflows/fork.md +100 -36
  280. package/workflows/harvest.md +420 -420
  281. package/workflows/integration-test.md +355 -343
  282. package/workflows/issue-discover.md +414 -414
  283. package/workflows/issue.md +14 -4
  284. package/workflows/learn.md +19 -5
  285. package/workflows/maestro.md +1 -0
  286. package/workflows/map.md +111 -111
  287. package/workflows/merge.md +113 -55
  288. package/workflows/milestone-complete.md +176 -176
  289. package/workflows/plan.md +1 -1
  290. package/workflows/quick.md +497 -497
  291. package/workflows/refactor.md +300 -300
  292. package/workflows/retrospective.md +61 -22
  293. package/workflows/review.md +17 -4
  294. package/workflows/roadmap.md +335 -335
  295. package/workflows/spec-generate.md +640 -640
  296. package/workflows/specs-add.md +46 -81
  297. package/workflows/specs-load.md +15 -17
  298. package/workflows/specs-setup.md +40 -161
  299. package/workflows/test.md +12 -2
  300. package/workflows/ui-style.md +9 -2
  301. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  302. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  303. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  304. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  305. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  306. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  307. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  308. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  309. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  310. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  311. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,357 +1,346 @@
1
- ---
2
- name: team-coordinate
3
- description: Universal team coordination skill with dynamic role generation. Uses team-worker agent architecture with role-spec files. Only coordinator is built-in -- all worker roles are generated at runtime as role-specs and spawned via team-worker agent. Beat/cadence model for orchestration. Triggers on "Team Coordinate ".
4
- allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), followup_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__maestro-tools__team_msg(*)
5
- ---
6
-
7
- # Team Coordinate
8
-
9
- Universal team coordination skill: analyze task -> generate role-specs -> dispatch -> execute -> deliver. Only the **coordinator** is built-in. All worker roles are **dynamically generated** as lightweight role-spec files and spawned via the `team-worker` agent.
10
-
11
-
12
- ## Architecture
13
-
14
- ```
15
- +---------------------------------------------------+
16
- | Skill(skill="team-coordinate") |
17
- | args="task description" |
18
- +-------------------+-------------------------------+
19
- |
20
- Orchestration Mode (auto -> coordinator)
21
- |
22
- Coordinator (built-in)
23
- Phase 0-5 orchestration
24
- |
25
- +-------+-------+-------+-------+
26
- v v v v v
27
- [team-worker agents, each loaded with a dynamic role-spec]
28
- (roles generated at runtime from task analysis)
29
-
30
- CLI Tools (callable by any worker):
31
- maestro delegate --mode analysis - analysis and exploration
32
- maestro delegate --mode write - code generation and modification
33
- ```
34
-
35
- ## Delegation Lock
36
-
37
- **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
38
-
39
- Before calling ANY tool, apply this check:
40
-
41
- | Tool Call | Verdict | Reason |
42
- |-----------|---------|--------|
43
- | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
44
- | `list_agents` | ALLOWED | Agent health check |
45
- | `request_user_input` | ALLOWED | User interaction |
46
- | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
47
- | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
48
- | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
49
- | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
50
- | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
51
- | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
52
- | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
53
-
54
- **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
55
-
56
- **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent. The overhead is the feature — it provides session tracking, artifact persistence, and resume capability.
57
-
58
- ---
59
-
60
- ## Shared Constants
61
-
62
- | Constant | Value |
63
- |----------|-------|
64
- | Session prefix | `TC` |
65
- | Session path | `.workflow/.team/TC-<slug>-<date>/` |
66
- | Worker agent | `team-worker` |
67
- | Message bus | `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)` |
68
- | CLI analysis | `maestro delegate --mode analysis` |
69
- | CLI write | `maestro delegate --mode write` |
70
- | Max roles | 5 |
71
-
72
- ## Role Router
73
-
74
- This skill is **coordinator-only**. Workers do NOT invoke this skill -- they are spawned as `team-worker` agents directly.
75
-
76
- ### Input Parsing
77
-
78
- Parse `$ARGUMENTS`. No `--role` needed -- always routes to coordinator.
79
-
80
- ### Role Registry
81
-
82
- Only coordinator is statically registered. All other roles are dynamic, stored as role-specs in session.
83
-
84
- | Role | File | Type |
85
- |------|------|------|
86
- | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | built-in orchestrator |
87
- | (dynamic) | `<session>/role-specs/<role-name>.md` | runtime-generated role-spec |
88
-
89
- ### CLI Tool Usage
90
-
91
- Workers can use CLI tools for analysis and code operations:
92
-
93
- | Tool | Purpose |
94
- |------|---------|
95
- | maestro delegate --mode analysis | Analysis, exploration, pattern discovery |
96
- | maestro delegate --mode write | Code generation, modification, refactoring |
97
-
98
- ### Dispatch
99
-
100
- Always route to coordinator. Coordinator reads `roles/coordinator/role.md` and executes its phases.
101
-
102
- ### Orchestration Mode
103
-
104
- User just provides task description.
105
-
106
- **Invocation**: `Skill(skill="team-coordinate", args="task description")`
107
-
108
- **Lifecycle**:
109
- ```
110
- User provides task description
111
- -> coordinator Phase 1: task analysis (detect capabilities, build dependency graph)
112
- -> coordinator Phase 2: generate role-specs + initialize session
113
- -> coordinator Phase 3: create task chain from dependency graph
114
- -> coordinator Phase 4: spawn first batch workers (background) -> STOP
115
- -> Worker executes -> callback -> coordinator advances next step
116
- -> Loop until pipeline complete -> Phase 5 report + completion action
117
- ```
118
-
119
- **User Commands** (wake paused coordinator):
120
-
121
- | Command | Action |
122
- |---------|--------|
123
- | `check` / `status` | Output execution status graph, no advancement |
124
- | `resume` / `continue` | Check worker states, advance next step |
125
- | `revise <TASK-ID> [feedback]` | Revise specific task with optional feedback |
126
- | `feedback <text>` | Inject feedback into active pipeline |
127
- | `improve [dimension]` | Auto-improve weakest quality dimension |
128
-
129
- ---
130
-
131
- ## Coordinator Spawn Template
132
-
133
- ### v2 Worker Spawn (all roles)
134
-
135
- When coordinator spawns workers, use `team-worker` agent with role-spec path:
136
-
137
- ```
138
- spawn_agent({
139
- agent_type: "team_worker",
140
- task_name: "<task-id>",
141
- fork_turns: "none",
142
- message: `## Role Assignment
143
- role: <role>
144
- role_spec: <session-folder>/role-specs/<role>.md
145
- session: <session-folder>
146
- session_id: <session-id>
147
- requirement: <task-description>
148
- inner_loop: <true|false>
149
-
150
- Read role_spec file to load Phase 2-4 domain instructions.
151
-
152
- ## Task Context
153
- task_id: <task-id>
154
- title: <task-title>
155
- description: <task-description>
156
- pipeline_phase: <pipeline-phase>
157
-
158
- ## Upstream Context
159
- <prev_context>`
160
- })
161
- ```
162
-
163
- After spawning, use `wait_agent({ timeout_ms: 1800000 })` to collect results (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents. Use `close_agent({ target: <name> })` each worker.
164
-
165
- **Inner Loop roles** (role has 2+ serial same-prefix tasks): Set `inner_loop: true`. The team-worker agent handles the loop internally.
166
-
167
- **Single-task roles**: Set `inner_loop: false`.
168
-
169
- ---
170
-
171
-
172
- ### Model Selection Guide
173
-
174
- Roles are **dynamically generated** at runtime. Select model/reasoning_effort based on the generated role's `responsibility_type`:
175
-
176
- | responsibility_type | model | reasoning_effort | Rationale |
177
- |---------------------|-------|-------------------|-----------|
178
- | exploration | (default) | medium | Read-heavy, less reasoning needed |
179
- | analysis | (default) | high | Deep analysis requires full reasoning |
180
- | implementation | (default) | high | Code generation needs precision |
181
- | synthesis | (default) | medium | Aggregation over generation |
182
- | review | (default) | high | Quality assessment needs deep reasoning |
183
-
184
- Map each generated role's `responsibility_type` (from `team-session.json#roles`) to the table above.
185
-
186
- Override model/reasoning_effort in spawn_agent when cost optimization is needed:
187
- ```
188
- spawn_agent({
189
- agent_type: "team_worker",
190
- task_name: "<task-id>",
191
- fork_turns: "none",
192
- model: "<model-override>",
193
- reasoning_effort: "<effort-level>",
194
- message: "..."
195
- })
196
- ```
197
-
198
- ## v4 Agent Coordination
199
-
200
- ### Message Semantics
201
-
202
- | Intent | API | Example |
203
- |--------|-----|---------|
204
- | Queue supplementary info (don't interrupt) | `send_message` | Send upstream task findings to a running downstream worker |
205
- | Not used in this skill | `followup_task` | No resident agents -- all workers are one-shot |
206
- | Check running agents | `list_agents` | Verify agent health during resume |
207
-
208
- **Note**: Since roles are dynamically generated, the coordinator must resolve task prefixes and role names from `team-session.json#roles` at runtime. There are no hardcoded role-specific examples.
209
-
210
- ### fork_turns Strategy
211
-
212
- `fork_turns: "none"` is the default. Consider `fork_turns: "all"` only when:
213
- - Runtime analysis reveals the task requires deep familiarity with the full conversation context
214
- - The dynamically-generated role-spec indicates the worker needs project-wide understanding
215
- - The coordinator has already accumulated significant context about the codebase
216
-
217
- This decision should be made per-task during Phase 4 based on the role's `responsibility_type`.
218
-
219
- ### Agent Health Check
220
-
221
- Use `list_agents({})` in handleResume and handleComplete:
222
-
223
- ```
224
- // Reconcile session state with actual running agents
225
- const running = list_agents({})
226
- // Compare with team-session.json active_workers
227
- // Reset orphaned tasks (in_progress but agent gone) to pending
228
- ```
229
-
230
- ### Named Agent Targeting
231
-
232
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
233
- - `send_message({ target: "<TASK-ID>", message: "..." })` -- queue upstream context without interrupting
234
- - `close_agent({ target: "<TASK-ID>" })` -- cleanup by name
235
-
236
- ## Completion Action
237
-
238
- When pipeline completes (all tasks done), coordinator presents an interactive choice:
239
-
240
- ```
241
- request_user_input({
242
- questions: [{
243
- question: "Team pipeline complete. What would you like to do?",
244
- header: "Completion",
245
- multiSelect: false,
246
- options: [
247
- { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
248
- { label: "Keep Active", description: "Keep session for follow-up work" },
249
- { label: "Export Results", description: "Export deliverables to target directory, then clean" }
250
- ]
251
- }]
252
- })
253
- ```
254
-
255
- ### Action Handlers
256
-
257
- | Choice | Steps |
258
- |--------|-------|
259
- | Archive & Clean | Update session status="completed" -> output final summary with artifact paths |
260
- | Keep Active | Update session status="paused" -> output: "Resume with: Skill(skill='team-coordinate', args='resume')" |
261
- | Export Results | request_user_input(target path) -> copy artifacts to target -> Archive & Clean |
262
-
263
- ---
264
-
265
- ## Specs Reference
266
-
267
- | Spec | Purpose |
268
- |------|---------|
269
- | [specs/pipelines.md](specs/pipelines.md) | Dynamic pipeline model, task naming, dependency graph |
270
- | [specs/role-spec-template.md](specs/role-spec-template.md) | Template for dynamic role-spec generation |
271
- | [specs/quality-gates.md](specs/quality-gates.md) | Quality thresholds and scoring dimensions |
272
- | [specs/knowledge-transfer.md](specs/knowledge-transfer.md) | Context transfer protocols between roles |
273
-
274
- ---
275
-
276
- ## Session Directory
277
-
278
- ```
279
- .workflow/.team/TC-<slug>-<date>/
280
- +-- team-session.json # Session state + dynamic role registry
281
- +-- task-analysis.json # Phase 1 output: capabilities, dependency graph
282
- +-- role-specs/ # Dynamic role-spec definitions (generated Phase 2)
283
- | +-- <role-1>.md # Lightweight: frontmatter + Phase 2-4 only
284
- | +-- <role-2>.md
285
- +-- artifacts/ # All MD deliverables from workers
286
- | +-- <artifact>.md
287
- +-- .msg/ # Team message bus + state
288
- | +-- messages.jsonl # Message log
289
- | +-- meta.json # Session metadata + cross-role state
290
- +-- wisdom/ # Cross-task knowledge
291
- | +-- learnings.md
292
- | +-- decisions.md
293
- | +-- issues.md
294
- +-- explorations/ # Shared explore cache
295
- | +-- cache-index.json
296
- | +-- explore-<angle>.json
297
- +-- discussions/ # Inline discuss records
298
- | +-- <round>.md
299
- ```
300
-
301
- ### team-session.json Schema
302
-
303
- ```json
304
- {
305
- "session_id": "TC-<slug>-<date>",
306
- "task_description": "<original user input>",
307
- "status": "active | paused | completed",
308
- "team_name": "<team-name>",
309
- "roles": [
310
- {
311
- "name": "<role-name>",
312
- "prefix": "<PREFIX>",
313
- "responsibility_type": "<type>",
314
- "inner_loop": false,
315
- "role_spec": "role-specs/<role-name>.md"
316
- }
317
- ],
318
- "pipeline": {
319
- "dependency_graph": {},
320
- "tasks_total": 0,
321
- "tasks_completed": 0
322
- },
323
- "active_workers": [],
324
- "completed_tasks": [],
325
- "completion_action": "interactive",
326
- "created_at": "<timestamp>"
327
- }
328
- ```
329
-
330
- ---
331
-
332
- ## Session Resume
333
-
334
- Coordinator supports `resume` / `continue` for interrupted sessions:
335
-
336
- 1. Scan `.workflow/.team/TC-*/team-session.json` for active/paused sessions
337
- 2. Multiple matches -> request_user_input for selection
338
- 3. Audit task states -> reconcile session state <-> task status
339
- 4. Reset in_progress -> pending (interrupted tasks)
340
- 5. Rebuild team and spawn needed workers only
341
- 6. Create missing tasks, set dependencies
342
- 7. Kick first executable task -> Phase 4 coordination loop
343
-
344
- ---
345
-
346
- ## Error Handling
347
-
348
- | Scenario | Resolution |
349
- |----------|------------|
350
- | Unknown command | Error with available command list |
351
- | Dynamic role-spec not found | Error, coordinator may need to regenerate |
352
- | Command file not found | Fallback to inline execution |
353
- | CLI tool fails | Worker proceeds with direct implementation, logs warning |
354
- | Explore cache corrupt | Clear cache, re-explore |
355
- | Fast-advance spawns wrong task | Coordinator reconciles on next callback |
356
- | capability_gap reported | Coordinator generates new role-spec via handleAdapt |
357
- | Completion action fails | Default to Keep Active, log warning |
1
+ ---
2
+ name: team-coordinate
3
+ description: Universal team coordination skill with dynamic role generation. Uses team-worker agent architecture with role-spec files. Only coordinator is built-in -- all worker roles are generated at runtime as role-specs and spawned via team-worker agent. Beat/cadence model for orchestration. Triggers on "Team Coordinate ".
4
+ allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), followup_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__maestro-tools__team_msg(*)
5
+ ---
6
+
7
+ <purpose>
8
+ Universal team coordination skill: analyze task -> generate role-specs -> dispatch -> execute -> deliver. Only the **coordinator** is built-in. All worker roles are **dynamically generated** as lightweight role-spec files and spawned via the `team-worker` agent.
9
+
10
+ ```
11
+ +---------------------------------------------------+
12
+ | Skill(skill="team-coordinate") |
13
+ | args="task description" |
14
+ +-------------------+-------------------------------+
15
+ |
16
+ Orchestration Mode (auto -> coordinator)
17
+ |
18
+ Coordinator (built-in)
19
+ Phase 0-5 orchestration
20
+ |
21
+ +-------+-------+-------+-------+
22
+ v v v v v
23
+ [team-worker agents, each loaded with a dynamic role-spec]
24
+ (roles generated at runtime from task analysis)
25
+
26
+ CLI Tools (callable by any worker):
27
+ maestro delegate --mode analysis - analysis and exploration
28
+ maestro delegate --mode write - code generation and modification
29
+ ```
30
+ </purpose>
31
+
32
+ <context>
33
+ ### Delegation Lock
34
+
35
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
36
+
37
+ Before calling ANY tool, apply this check:
38
+
39
+ | Tool Call | Verdict | Reason |
40
+ |-----------|---------|--------|
41
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
42
+ | `list_agents` | ALLOWED | Agent health check |
43
+ | `request_user_input` | ALLOWED | User interaction |
44
+ | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
45
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
46
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
47
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
48
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
49
+ | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
50
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
51
+
52
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
53
+
54
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent. The overhead is the feature -- it provides session tracking, artifact persistence, and resume capability.
55
+
56
+ ### Shared Constants
57
+
58
+ | Constant | Value |
59
+ |----------|-------|
60
+ | Session prefix | `TC` |
61
+ | Session path | `.workflow/.team/TC-<slug>-<date>/` |
62
+ | Worker agent | `team-worker` |
63
+ | Message bus | `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)` |
64
+ | CLI analysis | `maestro delegate --mode analysis` |
65
+ | CLI write | `maestro delegate --mode write` |
66
+ | Max roles | 5 |
67
+
68
+ ### Role Router
69
+
70
+ This skill is **coordinator-only**. Workers do NOT invoke this skill -- they are spawned as `team-worker` agents directly.
71
+
72
+ Parse `$ARGUMENTS`. No `--role` needed -- always routes to coordinator.
73
+
74
+ ### Role Registry
75
+
76
+ Only coordinator is statically registered. All other roles are dynamic, stored as role-specs in session.
77
+
78
+ | Role | File | Type |
79
+ |------|------|------|
80
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | built-in orchestrator |
81
+ | (dynamic) | `<session>/role-specs/<role-name>.md` | runtime-generated role-spec |
82
+
83
+ ### CLI Tool Usage
84
+
85
+ Workers can use CLI tools for analysis and code operations:
86
+
87
+ | Tool | Purpose |
88
+ |------|---------|
89
+ | maestro delegate --mode analysis | Analysis, exploration, pattern discovery |
90
+ | maestro delegate --mode write | Code generation, modification, refactoring |
91
+
92
+ ### Orchestration Mode
93
+
94
+ User just provides task description.
95
+
96
+ **Invocation**: `Skill(skill="team-coordinate", args="task description")`
97
+
98
+ **Lifecycle**:
99
+ ```
100
+ User provides task description
101
+ -> coordinator Phase 1: task analysis (detect capabilities, build dependency graph)
102
+ -> coordinator Phase 2: generate role-specs + initialize session
103
+ -> coordinator Phase 3: create task chain from dependency graph
104
+ -> coordinator Phase 4: spawn first batch workers (background) -> STOP
105
+ -> Worker executes -> callback -> coordinator advances next step
106
+ -> Loop until pipeline complete -> Phase 5 report + completion action
107
+ ```
108
+
109
+ **User Commands** (wake paused coordinator):
110
+
111
+ | Command | Action |
112
+ |---------|--------|
113
+ | `check` / `status` | Output execution status graph, no advancement |
114
+ | `resume` / `continue` | Check worker states, advance next step |
115
+ | `revise <TASK-ID> [feedback]` | Revise specific task with optional feedback |
116
+ | `feedback <text>` | Inject feedback into active pipeline |
117
+ | `improve [dimension]` | Auto-improve weakest quality dimension |
118
+
119
+ ### Coordinator Spawn Template
120
+
121
+ #### v2 Worker Spawn (all roles)
122
+
123
+ When coordinator spawns workers, use `team-worker` agent with role-spec path:
124
+
125
+ ```
126
+ spawn_agent({
127
+ agent_type: "team_worker",
128
+ task_name: "<task-id>",
129
+ fork_turns: "none",
130
+ message: `## Role Assignment
131
+ role: <role>
132
+ role_spec: <session-folder>/role-specs/<role>.md
133
+ session: <session-folder>
134
+ session_id: <session-id>
135
+ requirement: <task-description>
136
+ inner_loop: <true|false>
137
+
138
+ Read role_spec file to load Phase 2-4 domain instructions.
139
+
140
+ ## Task Context
141
+ task_id: <task-id>
142
+ title: <task-title>
143
+ description: <task-description>
144
+ pipeline_phase: <pipeline-phase>
145
+
146
+ ## Upstream Context
147
+ <prev_context>`
148
+ })
149
+ ```
150
+
151
+ After spawning, use `wait_agent({ timeout_ms: 1800000 })` to collect results (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents. Use `close_agent({ target: <name> })` each worker.
152
+
153
+ **Inner Loop roles** (role has 2+ serial same-prefix tasks): Set `inner_loop: true`. The team-worker agent handles the loop internally.
154
+
155
+ **Single-task roles**: Set `inner_loop: false`.
156
+
157
+ ### Model Selection Guide
158
+
159
+ Roles are **dynamically generated** at runtime. Select model/reasoning_effort based on the generated role's `responsibility_type`:
160
+
161
+ | responsibility_type | model | reasoning_effort | Rationale |
162
+ |---------------------|-------|-------------------|-----------|
163
+ | exploration | (default) | medium | Read-heavy, less reasoning needed |
164
+ | analysis | (default) | high | Deep analysis requires full reasoning |
165
+ | implementation | (default) | high | Code generation needs precision |
166
+ | synthesis | (default) | medium | Aggregation over generation |
167
+ | review | (default) | high | Quality assessment needs deep reasoning |
168
+
169
+ Map each generated role's `responsibility_type` (from `team-session.json#roles`) to the table above.
170
+
171
+ Override model/reasoning_effort in spawn_agent when cost optimization is needed:
172
+ ```
173
+ spawn_agent({
174
+ agent_type: "team_worker",
175
+ task_name: "<task-id>",
176
+ fork_turns: "none",
177
+ model: "<model-override>",
178
+ reasoning_effort: "<effort-level>",
179
+ message: "..."
180
+ })
181
+ ```
182
+
183
+ ### v4 Agent Coordination
184
+
185
+ #### Message Semantics
186
+
187
+ | Intent | API | Example |
188
+ |--------|-----|---------|
189
+ | Queue supplementary info (don't interrupt) | `send_message` | Send upstream task findings to a running downstream worker |
190
+ | Not used in this skill | `followup_task` | No resident agents -- all workers are one-shot |
191
+ | Check running agents | `list_agents` | Verify agent health during resume |
192
+
193
+ **Note**: Since roles are dynamically generated, the coordinator must resolve task prefixes and role names from `team-session.json#roles` at runtime. There are no hardcoded role-specific examples.
194
+
195
+ #### fork_turns Strategy
196
+
197
+ `fork_turns: "none"` is the default. Consider `fork_turns: "all"` only when:
198
+ - Runtime analysis reveals the task requires deep familiarity with the full conversation context
199
+ - The dynamically-generated role-spec indicates the worker needs project-wide understanding
200
+ - The coordinator has already accumulated significant context about the codebase
201
+
202
+ This decision should be made per-task during Phase 4 based on the role's `responsibility_type`.
203
+
204
+ #### Agent Health Check
205
+
206
+ Use `list_agents({})` in handleResume and handleComplete:
207
+
208
+ ```
209
+ // Reconcile session state with actual running agents
210
+ const running = list_agents({})
211
+ // Compare with team-session.json active_workers
212
+ // Reset orphaned tasks (in_progress but agent gone) to pending
213
+ ```
214
+
215
+ #### Named Agent Targeting
216
+
217
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
218
+ - `send_message({ target: "<TASK-ID>", message: "..." })` -- queue upstream context without interrupting
219
+ - `close_agent({ target: "<TASK-ID>" })` -- cleanup by name
220
+
221
+ ### Completion Action
222
+
223
+ When pipeline completes (all tasks done), coordinator presents an interactive choice:
224
+
225
+ ```
226
+ request_user_input({
227
+ questions: [{
228
+ question: "Team pipeline complete. What would you like to do?",
229
+ header: "Completion",
230
+ multiSelect: false,
231
+ options: [
232
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
233
+ { label: "Keep Active", description: "Keep session for follow-up work" },
234
+ { label: "Export Results", description: "Export deliverables to target directory, then clean" }
235
+ ]
236
+ }]
237
+ })
238
+ ```
239
+
240
+ #### Action Handlers
241
+
242
+ | Choice | Steps |
243
+ |--------|-------|
244
+ | Archive & Clean | Update session status="completed" -> output final summary with artifact paths |
245
+ | Keep Active | Update session status="paused" -> output: "Resume with: Skill(skill='team-coordinate', args='resume')" |
246
+ | Export Results | request_user_input(target path) -> copy artifacts to target -> Archive & Clean |
247
+
248
+ ### Specs Reference
249
+
250
+ | Spec | Purpose |
251
+ |------|---------|
252
+ | [specs/pipelines.md](specs/pipelines.md) | Dynamic pipeline model, task naming, dependency graph |
253
+ | [specs/role-spec-template.md](specs/role-spec-template.md) | Template for dynamic role-spec generation |
254
+ | [specs/quality-gates.md](specs/quality-gates.md) | Quality thresholds and scoring dimensions |
255
+ | [specs/knowledge-transfer.md](specs/knowledge-transfer.md) | Context transfer protocols between roles |
256
+
257
+ ### Session Directory
258
+
259
+ ```
260
+ .workflow/.team/TC-<slug>-<date>/
261
+ +-- team-session.json # Session state + dynamic role registry
262
+ +-- task-analysis.json # Phase 1 output: capabilities, dependency graph
263
+ +-- role-specs/ # Dynamic role-spec definitions (generated Phase 2)
264
+ | +-- <role-1>.md # Lightweight: frontmatter + Phase 2-4 only
265
+ | +-- <role-2>.md
266
+ +-- artifacts/ # All MD deliverables from workers
267
+ | +-- <artifact>.md
268
+ +-- .msg/ # Team message bus + state
269
+ | +-- messages.jsonl # Message log
270
+ | +-- meta.json # Session metadata + cross-role state
271
+ +-- wisdom/ # Cross-task knowledge
272
+ | +-- learnings.md
273
+ | +-- decisions.md
274
+ | +-- issues.md
275
+ +-- explorations/ # Shared explore cache
276
+ | +-- cache-index.json
277
+ | +-- explore-<angle>.json
278
+ +-- discussions/ # Inline discuss records
279
+ | +-- <round>.md
280
+ ```
281
+
282
+ #### team-session.json Schema
283
+
284
+ ```json
285
+ {
286
+ "session_id": "TC-<slug>-<date>",
287
+ "task_description": "<original user input>",
288
+ "status": "active | paused | completed",
289
+ "team_name": "<team-name>",
290
+ "roles": [
291
+ {
292
+ "name": "<role-name>",
293
+ "prefix": "<PREFIX>",
294
+ "responsibility_type": "<type>",
295
+ "inner_loop": false,
296
+ "role_spec": "role-specs/<role-name>.md"
297
+ }
298
+ ],
299
+ "pipeline": {
300
+ "dependency_graph": {},
301
+ "tasks_total": 0,
302
+ "tasks_completed": 0
303
+ },
304
+ "active_workers": [],
305
+ "completed_tasks": [],
306
+ "completion_action": "interactive",
307
+ "created_at": "<timestamp>"
308
+ }
309
+ ```
310
+
311
+ ### Session Resume
312
+
313
+ Coordinator supports `resume` / `continue` for interrupted sessions:
314
+
315
+ 1. Scan `.workflow/.team/TC-*/team-session.json` for active/paused sessions
316
+ 2. Multiple matches -> request_user_input for selection
317
+ 3. Audit task states -> reconcile session state <-> task status
318
+ 4. Reset in_progress -> pending (interrupted tasks)
319
+ 5. Rebuild team and spawn needed workers only
320
+ 6. Create missing tasks, set dependencies
321
+ 7. Kick first executable task -> Phase 4 coordination loop
322
+ </context>
323
+
324
+ <error_codes>
325
+
326
+ | Scenario | Resolution |
327
+ |----------|------------|
328
+ | Unknown command | Error with available command list |
329
+ | Dynamic role-spec not found | Error, coordinator may need to regenerate |
330
+ | Command file not found | Fallback to inline execution |
331
+ | CLI tool fails | Worker proceeds with direct implementation, logs warning |
332
+ | Explore cache corrupt | Clear cache, re-explore |
333
+ | Fast-advance spawns wrong task | Coordinator reconciles on next callback |
334
+ | capability_gap reported | Coordinator generates new role-spec via handleAdapt |
335
+ | Completion action fails | Default to Keep Active, log warning |
336
+ </error_codes>
337
+
338
+ <success_criteria>
339
+ - [ ] Task analysis produces dependency graph and role definitions
340
+ - [ ] Role-spec files generated in session directory
341
+ - [ ] Workers spawned via team-worker agent with correct role-spec paths
342
+ - [ ] Pipeline executes wave-by-wave respecting dependency graph
343
+ - [ ] Session state persisted in team-session.json after each wave
344
+ - [ ] Completion action presented and handled correctly
345
+ - [ ] Session resumable after interruption
346
+ </success_criteria>