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,235 +1,242 @@
1
- ---
2
- name: team-testing
3
- description: Unified team skill for testing team. Progressive test coverage through Generator-Critic loops, shared memory, and dynamic layer selection. Triggers on "team testing".
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 Testing
8
-
9
- Orchestrate multi-agent test pipeline: strategist -> generator -> executor -> analyst. Progressive layer coverage (L1/L2/L3) with Generator-Critic loops for coverage convergence.
10
-
11
- ## Architecture
12
-
13
- ```
14
- Skill(skill="team-testing", args="task description")
15
- |
16
- SKILL.md (this file) = Router
17
- |
18
- +--------------+--------------+
19
- | |
20
- no --role flag --role <name>
21
- | |
22
- Coordinator Worker
23
- roles/coordinator/role.md roles/<name>/role.md
24
- |
25
- +-- analyze -> dispatch -> spawn workers -> STOP
26
- |
27
- +-------+-------+-------+-------+
28
- v v v v
29
- [strat] [gen] [exec] [analyst]
30
- team-worker agents, each loads roles/<role>/role.md
31
- ```
32
-
33
- ## Role Registry
34
-
35
- | Role | Path | Prefix | Inner Loop |
36
- |------|------|--------|------------|
37
- | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | | |
38
- | strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
39
- | generator | [roles/generator/role.md](roles/generator/role.md) | TESTGEN-* | true |
40
- | executor | [roles/executor/role.md](roles/executor/role.md) | TESTRUN-* | true |
41
- | analyst | [roles/analyst/role.md](roles/analyst/role.md) | TESTANA-* | false |
42
-
43
- ## Role Router
44
-
45
- Parse `$ARGUMENTS`:
46
- - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
47
- - No `--role` -> `roles/coordinator/role.md`, execute entry router
48
-
49
- ## Delegation Lock
50
-
51
- **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
52
-
53
- Before calling ANY tool, apply this check:
54
-
55
- | Tool Call | Verdict | Reason |
56
- |-----------|---------|--------|
57
- | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
58
- | `list_agents` | ALLOWED | Agent health check |
59
- | `request_user_input` | ALLOWED | User interaction |
60
- | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
61
- | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
62
- | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
63
- | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
64
- | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
65
- | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
66
- | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
67
-
68
- **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
69
-
70
- **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
71
-
72
- ---
73
-
74
- ## Shared Constants
75
-
76
- - **Session prefix**: `TST`
77
- - **Session path**: `.workflow/.team/TST-<slug>-<date>/`
78
- - **Team name**: `testing`
79
- - **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
80
- - **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
81
-
82
- ## Worker Spawn Template
83
-
84
- Coordinator spawns workers using this template:
85
-
86
- ```
87
- spawn_agent({
88
- agent_type: "team_worker",
89
- task_name: "<task-id>",
90
- fork_turns: "none",
91
- message: `## Role Assignment
92
- role: <role>
93
- role_spec: <skill_root>/roles/<role>/role.md
94
- session: <session-folder>
95
- session_id: <session-id>
96
- requirement: <task-description>
97
- inner_loop: <true|false>
98
-
99
- Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
100
-
101
- ## Task Context
102
- task_id: <task-id>
103
- title: <task-title>
104
- description: <task-description>
105
- pipeline_phase: <pipeline-phase>
106
-
107
- ## Upstream Context
108
- <prev_context>`
109
- })
110
- ```
111
-
112
- 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 })` each worker.
113
-
114
-
115
- ### Model Selection Guide
116
-
117
- | Role | model | reasoning_effort | Rationale |
118
- |------|-------|-------------------|-----------|
119
- | Strategist (STRATEGY-*) | (default) | high | Test strategy requires deep code understanding |
120
- | Generator (TESTGEN-*) | (default) | high | Test code generation needs precision |
121
- | Executor (TESTRUN-*) | (default) | medium | Running tests and collecting results, less reasoning |
122
- | Analyst (TESTANA-*) | (default) | high | Coverage analysis and quality assessment |
123
-
124
- Override model/reasoning_effort in spawn_agent when cost optimization is needed:
125
- ```
126
- spawn_agent({
127
- agent_type: "team_worker",
128
- task_name: "<task-id>",
129
- fork_turns: "none",
130
- model: "<model-override>",
131
- reasoning_effort: "<effort-level>",
132
- message: "..."
133
- })
134
- ```
135
-
136
- ## User Commands
137
-
138
- | Command | Action |
139
- |---------|--------|
140
- | `check` / `status` | View pipeline status graph |
141
- | `resume` / `continue` | Advance to next step |
142
- | `revise <TASK-ID>` | Revise specific task |
143
- | `feedback <text>` | Inject feedback for revision |
144
-
145
- ## v4 Agent Coordination
146
-
147
- ### Message Semantics
148
-
149
- | Intent | API | Example |
150
- |--------|-----|---------|
151
- | Send strategy to running generators | `send_message` | Queue test strategy findings to TESTGEN-* workers |
152
- | Not used in this skill | `followup_task` | No resident agents -- all workers are one-shot |
153
- | Check running agents | `list_agents` | Verify parallel generator/executor health |
154
-
155
- ### Parallel Test Generation
156
-
157
- Comprehensive pipeline spawns multiple generators (per layer) and executors in parallel:
158
-
159
- ```
160
- // Spawn parallel generators for L1 and L2
161
- const genNames = ["TESTGEN-001", "TESTGEN-002"]
162
- for (const name of genNames) {
163
- spawn_agent({ agent_type: "team_worker", task_name: name, ... })
164
- }
165
- wait_agent({ timeout_ms: 1800000 }) // 30 min
166
- ```
167
-
168
- ### GC Loop Coordination
169
-
170
- Generator-Critic loops create dynamic TESTGEN-fix and TESTRUN-fix tasks. The coordinator tracks `gc_rounds[layer]` and creates fix tasks dynamically when coverage is below target.
171
-
172
- ### Agent Health Check
173
-
174
- Use `list_agents({})` in handleResume and handleComplete:
175
-
176
- ```
177
- // Reconcile session state with actual running agents
178
- const running = list_agents({})
179
- // Compare with tasks.json active_agents
180
- // Reset orphaned tasks (in_progress but agent gone) to pending
181
- ```
182
-
183
- ### Named Agent Targeting
184
-
185
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
186
- - `send_message({ target: "TESTGEN-001", message: "..." })` -- queue strategy context to running generator
187
- - `close_agent({ target: "TESTRUN-001" })` -- cleanup by name after wait_agent returns
188
-
189
- ## Completion Action
190
-
191
- When pipeline completes, coordinator presents:
192
-
193
- ```
194
- request_user_input({
195
- questions: [{
196
- question: "Testing pipeline complete. What would you like to do?",
197
- header: "Completion",
198
- multiSelect: false,
199
- options: [
200
- { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
201
- { label: "Keep Active", description: "Keep session for follow-up work" },
202
- { label: "Deepen Coverage", description: "Add more test layers or increase coverage targets" }
203
- ]
204
- }]
205
- })
206
- ```
207
-
208
- ## Session Directory
209
-
210
- ```
211
- .workflow/.team/TST-<slug>-<date>/
212
- ├── .msg/messages.jsonl # Team message bus
213
- ├── .msg/meta.json # Session metadata
214
- ├── wisdom/ # Cross-task knowledge
215
- ├── strategy/ # Strategist output
216
- ├── tests/ # Generator output (L1-unit/, L2-integration/, L3-e2e/)
217
- ├── results/ # Executor output
218
- └── analysis/ # Analyst output
219
- ```
220
-
221
- ## Specs Reference
222
-
223
- - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
224
- - [specs/team-config.json](specs/team-config.json) — Team configuration
225
-
226
- ## Error Handling
227
-
228
- | Scenario | Resolution |
229
- |----------|------------|
230
- | Unknown --role value | Error with available role list |
231
- | Role not found | Error with expected path (roles/<name>/role.md) |
232
- | CLI tool fails | Worker fallback to direct implementation |
233
- | GC loop exceeded | Accept current coverage with warning |
234
- | Fast-advance conflict | Coordinator reconciles on next callback |
235
- | Completion action fails | Default to Keep Active |
1
+ ---
2
+ name: team-testing
3
+ description: Unified team skill for testing team. Progressive test coverage through Generator-Critic loops, shared memory, and dynamic layer selection. Triggers on "team testing".
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
+ Orchestrate multi-agent test pipeline: strategist -> generator -> executor -> analyst. Progressive layer coverage (L1/L2/L3) with Generator-Critic loops for coverage convergence.
9
+
10
+ ```
11
+ Skill(skill="team-testing", args="task description")
12
+ |
13
+ SKILL.md (this file) = Router
14
+ |
15
+ +--------------+--------------+
16
+ | |
17
+ no --role flag --role <name>
18
+ | |
19
+ Coordinator Worker
20
+ roles/coordinator/role.md roles/<name>/role.md
21
+ |
22
+ +-- analyze -> dispatch -> spawn workers -> STOP
23
+ |
24
+ +-------+-------+-------+-------+
25
+ v v v v
26
+ [strat] [gen] [exec] [analyst]
27
+ team-worker agents, each loads roles/<role>/role.md
28
+ ```
29
+ </purpose>
30
+
31
+ <context>
32
+ ### Role Registry
33
+
34
+ | Role | Path | Prefix | Inner Loop |
35
+ |------|------|--------|------------|
36
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | -- | -- |
37
+ | strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
38
+ | generator | [roles/generator/role.md](roles/generator/role.md) | TESTGEN-* | true |
39
+ | executor | [roles/executor/role.md](roles/executor/role.md) | TESTRUN-* | true |
40
+ | analyst | [roles/analyst/role.md](roles/analyst/role.md) | TESTANA-* | false |
41
+
42
+ ### Role Router
43
+
44
+ Parse `$ARGUMENTS`:
45
+ - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
46
+ - No `--role` -> `roles/coordinator/role.md`, execute entry router
47
+
48
+ ### Delegation Lock
49
+
50
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
51
+
52
+ Before calling ANY tool, apply this check:
53
+
54
+ | Tool Call | Verdict | Reason |
55
+ |-----------|---------|--------|
56
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
57
+ | `list_agents` | ALLOWED | Agent health check |
58
+ | `request_user_input` | ALLOWED | User interaction |
59
+ | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
60
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
61
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
62
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
63
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
64
+ | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
65
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
66
+
67
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
68
+
69
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
70
+
71
+ ### Shared Constants
72
+
73
+ - **Session prefix**: `TST`
74
+ - **Session path**: `.workflow/.team/TST-<slug>-<date>/`
75
+ - **Team name**: `testing`
76
+ - **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
77
+ - **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
78
+
79
+ ### Worker Spawn Template
80
+
81
+ Coordinator spawns workers using this template:
82
+
83
+ ```
84
+ spawn_agent({
85
+ agent_type: "team_worker",
86
+ task_name: "<task-id>",
87
+ fork_turns: "none",
88
+ message: `## Role Assignment
89
+ role: <role>
90
+ role_spec: <skill_root>/roles/<role>/role.md
91
+ session: <session-folder>
92
+ session_id: <session-id>
93
+ requirement: <task-description>
94
+ inner_loop: <true|false>
95
+
96
+ Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
97
+
98
+ ## Task Context
99
+ task_id: <task-id>
100
+ title: <task-title>
101
+ description: <task-description>
102
+ pipeline_phase: <pipeline-phase>
103
+
104
+ ## Upstream Context
105
+ <prev_context>`
106
+ })
107
+ ```
108
+
109
+ 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 })` each worker.
110
+
111
+ ### Model Selection Guide
112
+
113
+ | Role | model | reasoning_effort | Rationale |
114
+ |------|-------|-------------------|-----------|
115
+ | Strategist (STRATEGY-*) | (default) | high | Test strategy requires deep code understanding |
116
+ | Generator (TESTGEN-*) | (default) | high | Test code generation needs precision |
117
+ | Executor (TESTRUN-*) | (default) | medium | Running tests and collecting results, less reasoning |
118
+ | Analyst (TESTANA-*) | (default) | high | Coverage analysis and quality assessment |
119
+
120
+ Override model/reasoning_effort in spawn_agent when cost optimization is needed:
121
+ ```
122
+ spawn_agent({
123
+ agent_type: "team_worker",
124
+ task_name: "<task-id>",
125
+ fork_turns: "none",
126
+ model: "<model-override>",
127
+ reasoning_effort: "<effort-level>",
128
+ message: "..."
129
+ })
130
+ ```
131
+
132
+ ### User Commands
133
+
134
+ | Command | Action |
135
+ |---------|--------|
136
+ | `check` / `status` | View pipeline status graph |
137
+ | `resume` / `continue` | Advance to next step |
138
+ | `revise <TASK-ID>` | Revise specific task |
139
+ | `feedback <text>` | Inject feedback for revision |
140
+
141
+ ### v4 Agent Coordination
142
+
143
+ #### Message Semantics
144
+
145
+ | Intent | API | Example |
146
+ |--------|-----|---------|
147
+ | Send strategy to running generators | `send_message` | Queue test strategy findings to TESTGEN-* workers |
148
+ | Not used in this skill | `followup_task` | No resident agents -- all workers are one-shot |
149
+ | Check running agents | `list_agents` | Verify parallel generator/executor health |
150
+
151
+ #### Parallel Test Generation
152
+
153
+ Comprehensive pipeline spawns multiple generators (per layer) and executors in parallel:
154
+
155
+ ```
156
+ // Spawn parallel generators for L1 and L2
157
+ const genNames = ["TESTGEN-001", "TESTGEN-002"]
158
+ for (const name of genNames) {
159
+ spawn_agent({ agent_type: "team_worker", task_name: name, ... })
160
+ }
161
+ wait_agent({ timeout_ms: 1800000 }) // 30 min
162
+ ```
163
+
164
+ #### GC Loop Coordination
165
+
166
+ Generator-Critic loops create dynamic TESTGEN-fix and TESTRUN-fix tasks. The coordinator tracks `gc_rounds[layer]` and creates fix tasks dynamically when coverage is below target.
167
+
168
+ #### Agent Health Check
169
+
170
+ Use `list_agents({})` in handleResume and handleComplete:
171
+
172
+ ```
173
+ // Reconcile session state with actual running agents
174
+ const running = list_agents({})
175
+ // Compare with tasks.json active_agents
176
+ // Reset orphaned tasks (in_progress but agent gone) to pending
177
+ ```
178
+
179
+ #### Named Agent Targeting
180
+
181
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
182
+ - `send_message({ target: "TESTGEN-001", message: "..." })` -- queue strategy context to running generator
183
+ - `close_agent({ target: "TESTRUN-001" })` -- cleanup by name after wait_agent returns
184
+
185
+ ### Completion Action
186
+
187
+ When pipeline completes, coordinator presents:
188
+
189
+ ```
190
+ request_user_input({
191
+ questions: [{
192
+ question: "Testing pipeline complete. What would you like to do?",
193
+ header: "Completion",
194
+ multiSelect: false,
195
+ options: [
196
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
197
+ { label: "Keep Active", description: "Keep session for follow-up work" },
198
+ { label: "Deepen Coverage", description: "Add more test layers or increase coverage targets" }
199
+ ]
200
+ }]
201
+ })
202
+ ```
203
+
204
+ ### Session Directory
205
+
206
+ ```
207
+ .workflow/.team/TST-<slug>-<date>/
208
+ +-- .msg/messages.jsonl # Team message bus
209
+ +-- .msg/meta.json # Session metadata
210
+ +-- wisdom/ # Cross-task knowledge
211
+ +-- strategy/ # Strategist output
212
+ +-- tests/ # Generator output (L1-unit/, L2-integration/, L3-e2e/)
213
+ +-- results/ # Executor output
214
+ +-- analysis/ # Analyst output
215
+ ```
216
+
217
+ ### Specs Reference
218
+
219
+ - [specs/pipelines.md](specs/pipelines.md) -- Pipeline definitions and task registry
220
+ - [specs/team-config.json](specs/team-config.json) -- Team configuration
221
+ </context>
222
+
223
+ <error_codes>
224
+
225
+ | Scenario | Resolution |
226
+ |----------|------------|
227
+ | Unknown --role value | Error with available role list |
228
+ | Role not found | Error with expected path (roles/<name>/role.md) |
229
+ | CLI tool fails | Worker fallback to direct implementation |
230
+ | GC loop exceeded | Accept current coverage with warning |
231
+ | Fast-advance conflict | Coordinator reconciles on next callback |
232
+ | Completion action fails | Default to Keep Active |
233
+ </error_codes>
234
+
235
+ <success_criteria>
236
+ - [ ] Role router correctly dispatches to coordinator or worker based on --role flag
237
+ - [ ] Pipeline executes strategist -> generator -> executor -> analyst in order
238
+ - [ ] Parallel generators spawned per test layer (L1/L2/L3)
239
+ - [ ] GC loops create fix tasks dynamically when coverage is below target
240
+ - [ ] Session state persisted after each wave
241
+ - [ ] Completion action presented and handled correctly
242
+ </success_criteria>
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: wiki-connect
3
+ description: Wiki knowledge graph link discovery and health improvement. Finds orphaned entries, missing connections, transitive gaps. Scores candidates and optionally auto-applies new related links via --fix.
4
+ argument-hint: "[--scope <type>] [--min-similarity N] [--fix] [--max N]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Knowledge graph link discovery. Analyzes wiki index to find orphaned entries, missing
10
+ bidirectional links, and transitive closure gaps. Scores connection candidates and
11
+ optionally auto-applies new `related` links to improve graph connectivity.
12
+ </purpose>
13
+
14
+ <context>
15
+ $ARGUMENTS — optional flags.
16
+
17
+ **Flags:**
18
+ - `--scope <type>` — Limit to wiki type (spec, phase, memory, note, lesson, issue). Default: all.
19
+ - `--min-similarity N` — Threshold 0.0-1.0 (default: 0.3)
20
+ - `--fix` — Auto-apply top suggestions
21
+ - `--max N` — Max suggestions (default: 20)
22
+
23
+ **Output**: `.workflow/learning/wiki-connections-{date}.md`
24
+ </context>
25
+
26
+ <execution>
27
+
28
+ ### Stage 1: Load Wiki State
29
+ Parallel `maestro wiki` commands: `list --json`, `health`, `orphans`, `hubs --top 10`.
30
+
31
+ ### Stage 2: Identify Connection Candidates
32
+ - **Orphan rescue**: BM25 search by title, tag overlap, same phase
33
+ - **Missing bidirectional**: A→B exists but B→A missing
34
+ - **Transitive closure**: A→B and B→C but no A→C (with shared tags/phase)
35
+ - **Type bridge**: Different types referencing same concept but unlinked
36
+
37
+ ### Stage 3: Score Candidates
38
+ ```
39
+ score = 0.4 × tag_overlap + 0.3 × title_bm25 + 0.2 × same_phase + 0.1 × type_bridge
40
+ ```
41
+ Filter by `--min-similarity`, rank desc, limit by `--max`.
42
+
43
+ ### Stage 4: Present Suggestions
44
+ Display ranked suggestions with scores, reasons, projected health delta.
45
+ If not `--fix`: display and exit.
46
+
47
+ ### Stage 5: Apply (--fix only)
48
+ For each suggestion: get entry → append target to `related` → update via `maestro wiki update`.
49
+ Re-run `maestro wiki health` for delta.
50
+
51
+ ### Stage 6: Persist
52
+ Write `wiki-connections-{date}.md`. Append graph insights to `lessons.jsonl` (source: "wiki-connect").
53
+
54
+ **Next steps:** `/wiki-digest <topic>`, `/learn-follow <wiki-id>`, `maestro wiki graph`
55
+ </execution>
56
+
57
+ <error_codes>
58
+ | Code | Severity | Condition | Recovery |
59
+ |------|----------|-----------|----------|
60
+ | E001 | error | No wiki entries found | Initialize wiki content |
61
+ | W001 | warning | No candidates above threshold | Lower --min-similarity |
62
+ | W002 | warning | Some wiki updates failed during --fix | Retry manually |
63
+ | W003 | warning | Health score unchanged after fix | Connections may not affect specific metrics |
64
+ </error_codes>
65
+
66
+ <success_criteria>
67
+ - [ ] Wiki index loaded with type distribution
68
+ - [ ] Baseline health score recorded
69
+ - [ ] Orphans identified and rescue candidates generated
70
+ - [ ] Candidates scored and ranked
71
+ - [ ] Suggestions displayed with scores and reasons
72
+ - [ ] If --fix: entries updated, new health score reported
73
+ - [ ] Report written to `wiki-connections-{date}.md`
74
+ - [ ] Graph insights appended to `lessons.jsonl`
75
+ </success_criteria>
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: wiki-digest
3
+ description: Knowledge synthesis from wiki entries. Theme clustering, gap analysis, coverage heatmap (type × theme matrix). Optionally creates knowledge-gap issues. Persists meta-insights to lessons.jsonl.
4
+ argument-hint: "[<topic>|--recent N] [--type <type>] [--format brief|full] [--create-issues]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Knowledge synthesis that generates actionable digests from the wiki knowledge graph.
10
+ Clusters entries by semantic theme, identifies knowledge gaps, and produces a coverage
11
+ heatmap. Unlike `maestro wiki list` (raw entries), this synthesizes and interprets
12
+ the knowledge base with gap analysis and recommended actions.
13
+ </purpose>
14
+
15
+ <context>
16
+ $ARGUMENTS — scope and optional flags.
17
+
18
+ **Scope resolution:**
19
+ - `<topic>` — Search wiki for matching entries
20
+ - `--recent N` — Entries updated in last N days
21
+ - `--type <type>` — Filter by wiki type
22
+ - No args — entire wiki
23
+
24
+ **Flags:**
25
+ - `--format brief` — Compact summary (default)
26
+ - `--format full` — Detailed with per-entry summaries
27
+ - `--create-issues` — Auto-create knowledge-gap issues in issues.jsonl
28
+
29
+ **Output**: `.workflow/learning/digest-{slug}-{date}.md`
30
+ </context>
31
+
32
+ <execution>
33
+
34
+ ### Stage 1: Scope & Load
35
+ Load entries via `maestro wiki list/search`. Run `maestro wiki health` for baseline.
36
+
37
+ ### Stage 2: Theme Clustering
38
+ Group entries into 3-5 themes via: tag co-occurrence, title BM25 similarity, relationship proximity, type grouping.
39
+
40
+ ### Stage 3: Per-Theme Analysis
41
+ Per theme: summary paragraph, key entries (by hub score), gap detection (broken links, orphans, TODO markers, missing perspectives), health score.
42
+
43
+ ### Stage 4: Cross-Reference with Lessons
44
+ Search `lessons.jsonl` for related insights. Flag unlinked insights (lessons matching theme but not referenced by wiki entries).
45
+
46
+ ### Stage 5: Coverage Heatmap
47
+ Type × theme matrix showing knowledge density:
48
+ ```
49
+ Theme 1 Theme 2 Theme 3
50
+ spec ███░░ ░░░░░ █████
51
+ phase ████░ ███░░ ░░░░░
52
+ lesson █░░░░ ██░░░ ████░
53
+ ```
54
+ Empty cells = knowledge gaps.
55
+
56
+ ### Stage 6: Write Digest
57
+ Produce `digest-{slug}-{date}.md` with themes, heatmap, gaps, unlinked insights, recommended actions.
58
+
59
+ ### Stage 7: Gap → Issue (if --create-issues)
60
+ For each gap: dedup against issues.jsonl, append with `type: "knowledge-gap"`, `source: "wiki-digest"`.
61
+
62
+ ### Stage 8: Persist
63
+ Append meta-insights to `lessons.jsonl` (source: "wiki-digest"). Display summary.
64
+
65
+ **Next steps:** `/learn-follow <wiki-id>`, `/wiki-connect --fix`, `/learn-decompose <path>`
66
+ </execution>
67
+
68
+ <error_codes>
69
+ | Code | Severity | Condition | Recovery |
70
+ |------|----------|-----------|----------|
71
+ | E001 | error | No wiki entries found | Initialize wiki content |
72
+ | E002 | error | Topic search returned 0 | Broaden topic |
73
+ | W001 | warning | Too few entries (<5) | Themes may be trivial |
74
+ | W002 | warning | lessons.jsonl not found | Skip cross-reference |
75
+ | W003 | warning | Some entry bodies failed to load | Partial summaries |
76
+ </error_codes>
77
+
78
+ <success_criteria>
79
+ - [ ] Scope parsed and entries loaded
80
+ - [ ] Entries clustered into 3-5 semantic themes
81
+ - [ ] Per-theme analysis with gaps identified
82
+ - [ ] Cross-reference with lessons.jsonl completed
83
+ - [ ] Coverage heatmap generated
84
+ - [ ] If --create-issues: gap issues created (deduped)
85
+ - [ ] Digest written to `digest-{slug}-{date}.md`
86
+ - [ ] Meta-insights appended to lessons.jsonl
87
+ </success_criteria>