maestro-flow 0.4.8 → 0.4.10

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 (280) hide show
  1. package/.agy/agents/cli-explore-agent.md +186 -0
  2. package/.agy/agents/conceptual-planning-agent.md +244 -0
  3. package/.agy/agents/impeccable-agent.md +97 -0
  4. package/.agy/agents/team-supervisor.md +142 -0
  5. package/.agy/agents/team-worker.md +236 -0
  6. package/.agy/agents/ui-design-agent.md +286 -0
  7. package/.agy/agents/workflow-analyzer.md +114 -0
  8. package/.agy/agents/workflow-codebase-mapper.md +76 -0
  9. package/.agy/agents/workflow-collab-planner.md +142 -0
  10. package/.agy/agents/workflow-debugger.md +102 -0
  11. package/.agy/agents/workflow-executor.md +131 -0
  12. package/.agy/agents/workflow-external-researcher.md +86 -0
  13. package/.agy/agents/workflow-integration-checker.md +82 -0
  14. package/.agy/agents/workflow-nyquist-auditor.md +84 -0
  15. package/.agy/agents/workflow-phase-researcher.md +84 -0
  16. package/.agy/agents/workflow-plan-checker.md +89 -0
  17. package/.agy/agents/workflow-planner.md +194 -0
  18. package/.agy/agents/workflow-project-researcher.md +73 -0
  19. package/.agy/agents/workflow-research-synthesizer.md +70 -0
  20. package/.agy/agents/workflow-reviewer.md +81 -0
  21. package/.agy/agents/workflow-roadmapper.md +81 -0
  22. package/.agy/agents/workflow-verifier.md +119 -0
  23. package/.agy/skills/codify-to-knowhow/SKILL.md +172 -0
  24. package/.agy/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
  25. package/.agy/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
  26. package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
  27. package/.agy/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
  28. package/.agy/skills/learn-decompose/SKILL.md +118 -0
  29. package/.agy/skills/learn-follow/SKILL.md +129 -0
  30. package/.agy/skills/learn-investigate/SKILL.md +154 -0
  31. package/.agy/skills/learn-retro/SKILL.md +159 -0
  32. package/.agy/skills/learn-second-opinion/SKILL.md +124 -0
  33. package/.agy/skills/maestro/SKILL.md +221 -0
  34. package/.agy/skills/maestro-amend/SKILL.md +162 -0
  35. package/.agy/skills/maestro-analyze/SKILL.md +135 -0
  36. package/.agy/skills/maestro-brainstorm/SKILL.md +118 -0
  37. package/.agy/skills/maestro-collab/SKILL.md +174 -0
  38. package/.agy/skills/maestro-composer/SKILL.md +180 -0
  39. package/.agy/skills/maestro-execute/SKILL.md +133 -0
  40. package/.agy/skills/maestro-fork/SKILL.md +88 -0
  41. package/.agy/skills/maestro-guard/SKILL.md +101 -0
  42. package/.agy/skills/maestro-help/SKILL.md +267 -0
  43. package/.agy/skills/maestro-help/index/catalog.json +184 -0
  44. package/.agy/skills/maestro-help/phases/01-parse-intent.md +122 -0
  45. package/.agy/skills/maestro-help/phases/02-search-present.md +181 -0
  46. package/.agy/skills/maestro-help/phases/03-workflow-guide.md +186 -0
  47. package/.agy/skills/maestro-impeccable/SKILL.md +250 -0
  48. package/.agy/skills/maestro-init/SKILL.md +80 -0
  49. package/.agy/skills/maestro-learn/SKILL.md +142 -0
  50. package/.agy/skills/maestro-merge/SKILL.md +66 -0
  51. package/.agy/skills/maestro-milestone-audit/SKILL.md +70 -0
  52. package/.agy/skills/maestro-milestone-complete/SKILL.md +77 -0
  53. package/.agy/skills/maestro-milestone-release/SKILL.md +98 -0
  54. package/.agy/skills/maestro-overlay/SKILL.md +177 -0
  55. package/.agy/skills/maestro-plan/SKILL.md +172 -0
  56. package/.agy/skills/maestro-player/SKILL.md +176 -0
  57. package/.agy/skills/maestro-quick/SKILL.md +67 -0
  58. package/.agy/skills/maestro-ralph/SKILL.md +546 -0
  59. package/.agy/skills/maestro-ralph-execute/SKILL.md +255 -0
  60. package/.agy/skills/maestro-roadmap/SKILL.md +170 -0
  61. package/.agy/skills/maestro-tools-execute/SKILL.md +119 -0
  62. package/.agy/skills/maestro-tools-register/SKILL.md +159 -0
  63. package/.agy/skills/maestro-ui-codify/SKILL.md +81 -0
  64. package/.agy/skills/maestro-update/SKILL.md +175 -0
  65. package/.agy/skills/maestro-verify/SKILL.md +111 -0
  66. package/.agy/skills/manage-codebase-rebuild/SKILL.md +77 -0
  67. package/.agy/skills/manage-codebase-refresh/SKILL.md +59 -0
  68. package/.agy/skills/manage-harvest/SKILL.md +96 -0
  69. package/.agy/skills/manage-issue/SKILL.md +72 -0
  70. package/.agy/skills/manage-issue-discover/SKILL.md +83 -0
  71. package/.agy/skills/manage-knowhow/SKILL.md +76 -0
  72. package/.agy/skills/manage-knowhow-capture/SKILL.md +78 -0
  73. package/.agy/skills/manage-learn/SKILL.md +64 -0
  74. package/.agy/skills/manage-status/SKILL.md +51 -0
  75. package/.agy/skills/manage-wiki/SKILL.md +61 -0
  76. package/.agy/skills/quality-auto-test/SKILL.md +135 -0
  77. package/.agy/skills/quality-debug/SKILL.md +122 -0
  78. package/.agy/skills/quality-refactor/SKILL.md +69 -0
  79. package/.agy/skills/quality-retrospective/SKILL.md +79 -0
  80. package/.agy/skills/quality-review/SKILL.md +130 -0
  81. package/.agy/skills/quality-sync/SKILL.md +53 -0
  82. package/.agy/skills/quality-test/SKILL.md +119 -0
  83. package/.agy/skills/security-audit/SKILL.md +157 -0
  84. package/.agy/skills/skill-iter-tune/SKILL.md +381 -0
  85. package/.agy/skills/skill-iter-tune/phases/01-setup.md +144 -0
  86. package/.agy/skills/skill-iter-tune/phases/02-execute.md +292 -0
  87. package/.agy/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
  88. package/.agy/skills/skill-iter-tune/phases/04-improve.md +198 -0
  89. package/.agy/skills/skill-iter-tune/phases/05-report.md +166 -0
  90. package/.agy/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
  91. package/.agy/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
  92. package/.agy/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
  93. package/.agy/skills/spec-add/SKILL.md +67 -0
  94. package/.agy/skills/spec-load/SKILL.md +70 -0
  95. package/.agy/skills/spec-remove/SKILL.md +50 -0
  96. package/.agy/skills/spec-setup/SKILL.md +47 -0
  97. package/.agy/skills/team-coordinate/SKILL.md +267 -0
  98. package/.agy/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  99. package/.agy/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
  100. package/.agy/skills/team-coordinate/roles/coordinator/commands/monitor.md +348 -0
  101. package/.agy/skills/team-coordinate/roles/coordinator/role.md +362 -0
  102. package/.agy/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  103. package/.agy/skills/team-coordinate/specs/pipelines.md +97 -0
  104. package/.agy/skills/team-coordinate/specs/quality-gates.md +112 -0
  105. package/.agy/skills/team-coordinate/specs/role-spec-template.md +198 -0
  106. package/.agy/skills/team-executor/SKILL.md +180 -0
  107. package/.agy/skills/team-executor/roles/executor/commands/monitor.md +235 -0
  108. package/.agy/skills/team-executor/roles/executor/role.md +171 -0
  109. package/.agy/skills/team-executor/specs/session-schema.md +264 -0
  110. package/.agy/skills/team-lifecycle-v4/SKILL.md +189 -0
  111. package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +92 -0
  112. package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  113. package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
  114. package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
  115. package/.agy/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
  116. package/.agy/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  117. package/.agy/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
  118. package/.agy/skills/team-lifecycle-v4/roles/executor/role.md +64 -0
  119. package/.agy/skills/team-lifecycle-v4/roles/planner/role.md +82 -0
  120. package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
  121. package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  122. package/.agy/skills/team-lifecycle-v4/roles/reviewer/role.md +65 -0
  123. package/.agy/skills/team-lifecycle-v4/roles/supervisor/role.md +188 -0
  124. package/.agy/skills/team-lifecycle-v4/roles/tester/role.md +84 -0
  125. package/.agy/skills/team-lifecycle-v4/roles/writer/role.md +92 -0
  126. package/.agy/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
  127. package/.agy/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
  128. package/.agy/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  129. package/.agy/skills/team-lifecycle-v4/templates/architecture.md +254 -0
  130. package/.agy/skills/team-lifecycle-v4/templates/epics.md +196 -0
  131. package/.agy/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
  132. package/.agy/skills/team-lifecycle-v4/templates/requirements.md +224 -0
  133. package/.agy/skills/team-quality-assurance/SKILL.md +148 -0
  134. package/.agy/skills/team-quality-assurance/roles/analyst/role.md +85 -0
  135. package/.agy/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  136. package/.agy/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
  137. package/.agy/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +235 -0
  138. package/.agy/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  139. package/.agy/skills/team-quality-assurance/roles/executor/role.md +62 -0
  140. package/.agy/skills/team-quality-assurance/roles/generator/role.md +65 -0
  141. package/.agy/skills/team-quality-assurance/roles/scout/role.md +72 -0
  142. package/.agy/skills/team-quality-assurance/roles/strategist/role.md +69 -0
  143. package/.agy/skills/team-quality-assurance/specs/pipelines.md +115 -0
  144. package/.agy/skills/team-quality-assurance/specs/team-config.json +131 -0
  145. package/.agy/skills/team-review/SKILL.md +149 -0
  146. package/.agy/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  147. package/.agy/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
  148. package/.agy/skills/team-review/roles/coordinator/commands/monitor.md +209 -0
  149. package/.agy/skills/team-review/roles/coordinator/role.md +132 -0
  150. package/.agy/skills/team-review/roles/fixer/role.md +74 -0
  151. package/.agy/skills/team-review/roles/reviewer/role.md +66 -0
  152. package/.agy/skills/team-review/roles/scanner/role.md +77 -0
  153. package/.agy/skills/team-review/specs/dimensions.md +82 -0
  154. package/.agy/skills/team-review/specs/finding-schema.json +82 -0
  155. package/.agy/skills/team-review/specs/pipelines.md +102 -0
  156. package/.agy/skills/team-review/specs/team-config.json +27 -0
  157. package/.agy/skills/team-tech-debt/SKILL.md +133 -0
  158. package/.agy/skills/team-tech-debt/roles/assessor/role.md +76 -0
  159. package/.agy/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  160. package/.agy/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
  161. package/.agy/skills/team-tech-debt/roles/coordinator/commands/monitor.md +198 -0
  162. package/.agy/skills/team-tech-debt/roles/coordinator/role.md +123 -0
  163. package/.agy/skills/team-tech-debt/roles/executor/role.md +76 -0
  164. package/.agy/skills/team-tech-debt/roles/planner/role.md +68 -0
  165. package/.agy/skills/team-tech-debt/roles/scanner/role.md +90 -0
  166. package/.agy/skills/team-tech-debt/roles/validator/role.md +78 -0
  167. package/.agy/skills/team-tech-debt/specs/pipelines.md +47 -0
  168. package/.agy/skills/team-tech-debt/specs/team-config.json +129 -0
  169. package/.agy/skills/team-testing/SKILL.md +144 -0
  170. package/.agy/skills/team-testing/roles/analyst/role.md +101 -0
  171. package/.agy/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  172. package/.agy/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
  173. package/.agy/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
  174. package/.agy/skills/team-testing/roles/coordinator/role.md +134 -0
  175. package/.agy/skills/team-testing/roles/executor/role.md +95 -0
  176. package/.agy/skills/team-testing/roles/generator/role.md +95 -0
  177. package/.agy/skills/team-testing/roles/strategist/role.md +81 -0
  178. package/.agy/skills/team-testing/specs/pipelines.md +101 -0
  179. package/.agy/skills/team-testing/specs/team-config.json +93 -0
  180. package/.agy/skills/wiki-connect/SKILL.md +64 -0
  181. package/.agy/skills/wiki-digest/SKILL.md +70 -0
  182. package/.agy/skills/workflow-skill-designer/SKILL.md +506 -0
  183. package/.agy/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
  184. package/.agy/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
  185. package/.agy/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
  186. package/.agy/skills/workflow-skill-designer/phases/04-validation.md +471 -0
  187. package/dashboard/dist/assets/{ArtifactsPage-CVh0Z2I2.js → ArtifactsPage-BLvAqQlQ.js} +1 -1
  188. package/dashboard/dist/assets/{ChatInput-CBI3qHQQ.js → ChatInput-DU9YGZKX.js} +1 -1
  189. package/dashboard/dist/assets/{ChatPage-BjJ9CYox.js → ChatPage-DYHfheXC.js} +1 -1
  190. package/dashboard/dist/assets/{CollabPage-CprGGO9y.js → CollabPage-CSlmvEa-.js} +1 -1
  191. package/dashboard/dist/assets/{ExecutionPanel-CClxD7cH.js → ExecutionPanel-RYWf0dYC.js} +1 -1
  192. package/dashboard/dist/assets/{KanbanPage-copqjdPg.js → KanbanPage-N55Iv0-X.js} +1 -1
  193. package/dashboard/dist/assets/{MaestroCoordinatePage-CioZjQ9N.js → MaestroCoordinatePage-BxwZ6yy5.js} +1 -1
  194. package/dashboard/dist/assets/{MarkdownRenderer-CtUhoxCT.js → MarkdownRenderer-ZGtOY7Ti.js} +1 -1
  195. package/dashboard/dist/assets/{McpPage-BcPPcJpr.js → McpPage-Im6s4pGR.js} +1 -1
  196. package/dashboard/dist/assets/{MeetingRoomPage-BgmAKxU-.js → MeetingRoomPage-CxHRn1xx.js} +1 -1
  197. package/dashboard/dist/assets/{OutputPanel-DgT3gMyp.js → OutputPanel-DaL8c1i5.js} +1 -1
  198. package/dashboard/dist/assets/{ProblemsPanel-BmG7rxoG.js → ProblemsPanel-BQTd5812.js} +1 -1
  199. package/dashboard/dist/assets/{RequirementBoardPage-k8YoeQ0r.js → RequirementBoardPage-22y9u1qh.js} +1 -1
  200. package/dashboard/dist/assets/{RequirementPage-Da2354px.js → RequirementPage-_mO743Xm.js} +1 -1
  201. package/dashboard/dist/assets/{RoomsPage-BtqDiYaU.js → RoomsPage-CExTbOGr.js} +1 -1
  202. package/dashboard/dist/assets/{SpecsPage-ByPVH_M3.js → SpecsPage-gr4KX51-.js} +1 -1
  203. package/dashboard/dist/assets/{TeamsPage-sFDLN30L.js → TeamsPage-BxEXLb5g.js} +1 -1
  204. package/dashboard/dist/assets/{TreeBrowser-oEx8YJXV.js → TreeBrowser-CVtPF5C9.js} +1 -1
  205. package/dashboard/dist/assets/{WorkflowPage-JrX7CVHh.js → WorkflowPage-BoN18Lhs.js} +1 -1
  206. package/dashboard/dist/assets/{arrow-left-DYvgSdIH.js → arrow-left-C5ROg97G.js} +1 -1
  207. package/dashboard/dist/assets/{check-jcgYBWVR.js → check-Bs8PM0tQ.js} +1 -1
  208. package/dashboard/dist/assets/{chevron-right-DvZ5sMOg.js → chevron-right-SmErd_1F.js} +1 -1
  209. package/dashboard/dist/assets/{circle-DYT-zoRZ.js → circle-CjpslL_D.js} +1 -1
  210. package/dashboard/dist/assets/{circle-alert-Bfbv3gt4.js → circle-alert-CuzAg2fd.js} +1 -1
  211. package/dashboard/dist/assets/{circle-check-D82WnpbI.js → circle-check-BIkDU5D5.js} +1 -1
  212. package/dashboard/dist/assets/{circle-check-big-CPVD1GKF.js → circle-check-big-CYctV8bK.js} +1 -1
  213. package/dashboard/dist/assets/{code-B3bKFGI4.js → code-DoB7rfxt.js} +1 -1
  214. package/dashboard/dist/assets/{columns-3-BeMAQCix.js → columns-3-Ch5KIyRa.js} +1 -1
  215. package/dashboard/dist/assets/{download-BCtpoWYB.js → download-DadtG2Nr.js} +1 -1
  216. package/dashboard/dist/assets/{folder-CTj6SNNu.js → folder-B8ODoZfb.js} +1 -1
  217. package/dashboard/dist/assets/{index-BxR_3IbJ.js → index-BL4h1OKY.js} +1 -1
  218. package/dashboard/dist/assets/{index-DpcPd-UG.js → index-DQIlX2w_.js} +4 -4
  219. package/dashboard/dist/assets/{index-CWBJLu42.js → index-DaFwSmVJ.js} +10 -10
  220. package/dashboard/dist/assets/{list-BMv8pIQn.js → list-CI-XIPZh.js} +1 -1
  221. package/dashboard/dist/assets/{loader-DdM4VOgF.js → loader-DpdMoQvh.js} +1 -1
  222. package/dashboard/dist/assets/{minus-D15s2E__.js → minus-BVbfXGrC.js} +1 -1
  223. package/dashboard/dist/assets/{pen-line-DO6o4xWz.js → pen-line-CR8GaHt-.js} +1 -1
  224. package/dashboard/dist/assets/{pencil-qGxg9jOe.js → pencil-I7GE0y29.js} +1 -1
  225. package/dashboard/dist/assets/{proxy-DOffTzwA.js → proxy-CcYyZZWI.js} +1 -1
  226. package/dashboard/dist/assets/{refresh-cw-C9UNdLCy.js → refresh-cw-BG9V_T4R.js} +1 -1
  227. package/dashboard/dist/assets/{rows-2-CifAA5SL.js → rows-2-DP6NjQFk.js} +1 -1
  228. package/dashboard/dist/assets/{search-pe7pU1YN.js → search-b78eLlw2.js} +1 -1
  229. package/dashboard/dist/assets/{shallow-r7YynQYA.js → shallow-CJEesgtu.js} +1 -1
  230. package/dashboard/dist/assets/{table-Bh772iIw.js → table-B_lk-a1d.js} +1 -1
  231. package/dashboard/dist/assets/{team-types-C_HqX2p2.js → team-types-Se7f9LfJ.js} +1 -1
  232. package/dashboard/dist/assets/{terminal-EpmtGBlw.js → terminal-DXx4tvzq.js} +1 -1
  233. package/dashboard/dist/assets/{trash-2-Xen46iNQ.js → trash-2-CVh9mnRj.js} +1 -1
  234. package/dashboard/dist/assets/{users-BLueDPxF.js → users-Da9zGME5.js} +1 -1
  235. package/dashboard/dist/assets/{zap-DsQCPF61.js → zap-C0zaC7gJ.js} +1 -1
  236. package/dashboard/dist/index.html +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
  238. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
  239. package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.d.ts +39 -0
  240. package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.js +423 -0
  241. package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.js.map +1 -0
  242. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.d.ts +6 -0
  243. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +109 -0
  244. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
  245. package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
  246. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  247. package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
  248. package/dist/shared/agent-types.d.ts +1 -1
  249. package/dist/shared/agent-types.d.ts.map +1 -1
  250. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  251. package/dist/src/agents/cli-agent-runner.js +3 -0
  252. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  253. package/dist/src/commands/hooks.d.ts +64 -0
  254. package/dist/src/commands/hooks.d.ts.map +1 -1
  255. package/dist/src/commands/hooks.js +107 -0
  256. package/dist/src/commands/hooks.js.map +1 -1
  257. package/dist/src/commands/install.d.ts.map +1 -1
  258. package/dist/src/commands/install.js +17 -3
  259. package/dist/src/commands/install.js.map +1 -1
  260. package/dist/src/commands/update.d.ts.map +1 -1
  261. package/dist/src/commands/update.js +53 -0
  262. package/dist/src/commands/update.js.map +1 -1
  263. package/dist/src/config/cli-tools-config.d.ts +19 -5
  264. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  265. package/dist/src/config/cli-tools-config.js +77 -32
  266. package/dist/src/config/cli-tools-config.js.map +1 -1
  267. package/dist/src/config/cli-tools-defaults.json +2 -1
  268. package/dist/src/core/component-defs.d.ts.map +1 -1
  269. package/dist/src/core/component-defs.js +53 -0
  270. package/dist/src/core/component-defs.js.map +1 -1
  271. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  272. package/dist/src/tui/install-ui/InstallExecution.js +5 -3
  273. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  274. package/dist/src/utils/update-notices.d.ts +62 -0
  275. package/dist/src/utils/update-notices.d.ts.map +1 -0
  276. package/dist/src/utils/update-notices.js +178 -0
  277. package/dist/src/utils/update-notices.js.map +1 -0
  278. package/package.json +84 -82
  279. package/shared/agent-types.ts +1 -1
  280. package/workflows/agy-instructions.md +124 -0
@@ -0,0 +1,444 @@
1
+ # Phase 2: Orchestrator Design
2
+
3
+ Generate the SKILL.md orchestrator file from workflowConfig, applying all coordination patterns (progressive loading, TodoWrite, data flow, conditional execution).
4
+
5
+ ## Objective
6
+
7
+ - Create `.claude/skills/{skillName}/SKILL.md` as pure coordinator
8
+ - Apply frontmatter conversion rules
9
+ - Generate architecture diagram from phase structure
10
+ - Build execution flow with `Ref:` markers and phase reference table
11
+ - Generate data flow diagram
12
+ - Build TodoWrite attachment/collapse patterns from phase definitions
13
+ - Include all orchestrator-level sections
14
+
15
+ ## Step 2.1: Create Directory Structure
16
+
17
+ ```bash
18
+ skillDir=".claude/skills/${workflowConfig.skillName}"
19
+ mkdir -p "${skillDir}/phases"
20
+
21
+ # Optional directories based on features
22
+ # mkdir -p "${skillDir}/specs" # if has domain specifications
23
+ # mkdir -p "${skillDir}/templates" # if has reusable templates
24
+ ```
25
+
26
+ ## Step 2.2: Generate Frontmatter
27
+
28
+ ```javascript
29
+ function generateFrontmatter(config) {
30
+ return `---
31
+ name: ${config.skillName}
32
+ description: ${config.description}. Triggers on ${config.triggers.map(t => `"${t}"`).join(', ')}.
33
+ allowed-tools: ${config.allowedTools.join(', ')}
34
+ ---`;
35
+ }
36
+ ```
37
+
38
+ **Conversion from command frontmatter**:
39
+
40
+ ```javascript
41
+ // If source is command_set, convert fields:
42
+ function convertCommandFrontmatter(commandFm, config) {
43
+ return {
44
+ name: commandFm.group
45
+ ? `${commandFm.group}-${commandFm.name}` // "workflow" + "plan" → "workflow-plan"
46
+ : commandFm.name,
47
+ description: commandFm.description,
48
+ // argument-hint → removed (handled in Input Processing section)
49
+ // examples → removed (moved to inline docs)
50
+ // group → embedded in name prefix
51
+ allowedTools: expandToolWildcards(commandFm['allowed-tools'])
52
+ // "Skill(*), TodoWrite(*), view_file(*)" → "Task, ask_question, TodoWrite, Read, Write, Edit, Bash, Glob, Grep, Skill"
53
+ };
54
+ }
55
+
56
+ // Expand tool wildcards
57
+ function expandToolWildcards(toolsStr) {
58
+ const expanded = toolsStr
59
+ .replace(/Skill\(\*\)/g, 'Skill')
60
+ .replace(/TodoWrite\(\*\)/g, 'TodoWrite')
61
+ .replace(/Read\(\*\)/g, 'Read')
62
+ .replace(/Bash\(\*\)/g, 'Bash')
63
+ .replace(/Glob\(\*\)/g, 'Glob')
64
+ .replace(/Grep\(\*\)/g, 'Grep')
65
+ .replace(/Task\(\*\)/g, 'Task');
66
+
67
+ // Add commonly needed tools if not present
68
+ const baseTools = ['Task', 'ask_question', 'TodoWrite', 'Read', 'Write', 'Edit', 'Bash', 'Glob', 'Grep'];
69
+ const current = expanded.split(',').map(t => t.trim());
70
+ const merged = [...new Set([...current, ...baseTools])];
71
+ return merged;
72
+ }
73
+ ```
74
+
75
+ ## Step 2.3: Generate Architecture Diagram
76
+
77
+ ```javascript
78
+ function generateArchitectureDiagram(config) {
79
+ const phases = config.phases;
80
+ const maxWidth = 65;
81
+
82
+ let diagram = '```\n';
83
+ diagram += '┌' + '─'.repeat(maxWidth) + '┐\n';
84
+ diagram += `│ ${config.title} Orchestrator (SKILL.md)${' '.repeat(maxWidth - config.title.length - 30)}│\n`;
85
+ diagram += `│ → Pure coordinator: Execute phases, parse outputs, pass context${' '.repeat(maxWidth - 64)}│\n`;
86
+ diagram += '└' + '─'.repeat(Math.floor(maxWidth/2)) + '┬' + '─'.repeat(maxWidth - Math.floor(maxWidth/2) - 1) + '┘\n';
87
+
88
+ // Phase boxes
89
+ diagram += ' │\n';
90
+ diagram += ' ' + phases.map(() => '┌─────────┐').join(' ') + '\n';
91
+ diagram += ' ' + phases.map((p, i) => {
92
+ const label = `Phase ${p.number}`.padEnd(9);
93
+ return `│${label}│`;
94
+ }).join(' ') + '\n';
95
+ diagram += ' ' + phases.map(p => {
96
+ const name = p.name.substring(0, 9).padEnd(9);
97
+ return `│${name}│`;
98
+ }).join(' ') + '\n';
99
+ diagram += ' ' + phases.map(() => '└─────────┘').join(' ') + '\n';
100
+
101
+ // Output labels
102
+ diagram += ' ' + phases.map(p => {
103
+ const vars = p.outputVariables.join(', ').substring(0, 11).padEnd(11);
104
+ return ` ${vars}`;
105
+ }).join('') + '\n';
106
+
107
+ diagram += '```';
108
+ return diagram;
109
+ }
110
+ ```
111
+
112
+ ## Step 2.4: Generate Execution Flow
113
+
114
+ The execution flow uses `Ref:` markers to point to phase documents, with a Phase Reference Documents table inline.
115
+
116
+ ```javascript
117
+ function generateExecutionFlow(config) {
118
+ let flow = '## Execution Flow\n\n```\n';
119
+ flow += 'Input Parsing:\n';
120
+ flow += ' └─ Convert user input to structured format (GOAL/SCOPE/CONTEXT)\n\n';
121
+
122
+ for (const phase of config.phases) {
123
+ flow += `Phase ${phase.number}: ${phase.name}\n`;
124
+
125
+ if (phase.isConditional) {
126
+ flow += ` └─ Decision (${phase.condition}):\n`;
127
+ flow += ` ├─ condition met → Ref: phases/${String(phase.number).padStart(2, '0')}-${phase.slug}.md\n`;
128
+ if (phase.todoWriteSubTasks.length > 0) {
129
+ flow += ` │ ├─ Tasks attached: ${phase.todoWriteSubTasks.join(' → ')}\n`;
130
+ }
131
+ flow += ` │ └─ Output: ${phase.outputFiles.join(', ') || phase.outputVariables.join(', ')}\n`;
132
+ flow += ` └─ condition not met → Skip to Phase ${phase.number + 1}\n`;
133
+ } else {
134
+ flow += ` └─ Ref: phases/${String(phase.number).padStart(2, '0')}-${phase.slug}.md\n`;
135
+ if (phase.todoWriteSubTasks.length > 0) {
136
+ flow += ` ├─ Tasks attached: ${phase.todoWriteSubTasks.join(' → ')}\n`;
137
+ }
138
+ flow += ` └─ Output: ${[...phase.outputVariables, ...phase.outputFiles].join(', ')}\n`;
139
+ }
140
+ flow += '\n';
141
+ }
142
+
143
+ flow += 'Return:\n └─ Summary with recommended next steps\n';
144
+ flow += '```\n\n';
145
+
146
+ // Phase Reference Documents table
147
+ flow += '**Phase Reference Documents** (read on-demand when phase executes):\n\n';
148
+ flow += '| Phase | Document | Purpose |\n';
149
+ flow += '|-------|----------|---------|\n';
150
+ for (const phase of config.phases) {
151
+ const filename = `${String(phase.number).padStart(2, '0')}-${phase.slug}.md`;
152
+ flow += `| ${phase.number} | [phases/${filename}](phases/${filename}) | ${phase.description} |\n`;
153
+ }
154
+
155
+ return flow;
156
+ }
157
+ ```
158
+
159
+ ## Step 2.5: Generate Data Flow Section
160
+
161
+ ```javascript
162
+ function generateDataFlow(config) {
163
+ let section = '## Data Flow\n\n```\n';
164
+ section += 'User Input (task description)\n';
165
+ section += ' ↓\n';
166
+ section += '[Convert to Structured Format]\n';
167
+
168
+ for (const phase of config.phases) {
169
+ const inputVars = config.dataFlow
170
+ .filter(d => d.to === `phase${phase.number}`)
171
+ .flatMap(d => d.variables);
172
+ const outputVars = [...phase.outputVariables, ...phase.outputFiles];
173
+
174
+ section += ' ↓\n';
175
+ section += `Phase ${phase.number}: ${phase.name}\n`;
176
+ if (inputVars.length > 0) {
177
+ section += ` ↓ Input: ${inputVars.join(' + ')}\n`;
178
+ }
179
+ if (outputVars.length > 0) {
180
+ section += ` ↓ Output: ${outputVars.join(' + ')}\n`;
181
+ }
182
+ if (phase.isConditional) {
183
+ section += ` ↓ Skip if ${phase.condition} is false → proceed to Phase ${phase.number + 1}\n`;
184
+ }
185
+ }
186
+
187
+ section += ' ↓\n';
188
+ section += 'Return summary to user\n';
189
+ section += '```\n';
190
+ return section;
191
+ }
192
+ ```
193
+
194
+ ## Step 2.6: Generate TodoWrite Pattern
195
+
196
+ ```javascript
197
+ function generateTodoWritePattern(config) {
198
+ let section = '## TodoWrite Pattern\n\n';
199
+ section += '**Core Concept**: Dynamic task attachment and collapse for real-time visibility.\n\n';
200
+
201
+ section += '### Key Principles\n\n';
202
+ section += '1. **Task Attachment** (when phase executed):\n';
203
+ section += ' - Sub-tasks are **attached** to orchestrator\'s TodoWrite\n';
204
+
205
+ // Identify which phases have sub-tasks
206
+ const phasesWithSubTasks = config.phases.filter(p => p.todoWriteSubTasks.length > 0);
207
+ const phasesWithoutSubTasks = config.phases.filter(p => p.todoWriteSubTasks.length === 0);
208
+
209
+ if (phasesWithSubTasks.length > 0) {
210
+ section += ` - **${phasesWithSubTasks.map(p => `Phase ${p.number}`).join(', ')}**: Multiple sub-tasks attached\n`;
211
+ }
212
+ if (phasesWithoutSubTasks.length > 0) {
213
+ section += ` - **${phasesWithoutSubTasks.map(p => `Phase ${p.number}`).join(', ')}**: Single task (atomic)\n`;
214
+ }
215
+
216
+ section += '\n2. **Task Collapse** (after sub-tasks complete):\n';
217
+ if (phasesWithSubTasks.length > 0) {
218
+ section += ` - **Applies to ${phasesWithSubTasks.map(p => `Phase ${p.number}`).join(', ')}**: Remove sub-tasks, collapse to summary\n`;
219
+ }
220
+ section += ' - Maintains clean orchestrator-level view\n';
221
+
222
+ section += '\n3. **Continuous Execution**: After completion, automatically proceed to next phase\n\n';
223
+
224
+ // Generate TodoWrite examples for phases with sub-tasks
225
+ for (const phase of phasesWithSubTasks) {
226
+ section += `### Phase ${phase.number} (Tasks Attached):\n`;
227
+ section += '```json\n[\n';
228
+
229
+ // Previous phases completed
230
+ for (const prev of config.phases.filter(p => p.number < phase.number)) {
231
+ section += ` {"content": "Phase ${prev.number}: ${prev.name}", "status": "completed"},\n`;
232
+ }
233
+
234
+ // Current phase in_progress with sub-tasks
235
+ section += ` {"content": "Phase ${phase.number}: ${phase.name}", "status": "in_progress"},\n`;
236
+ phase.todoWriteSubTasks.forEach((task, i) => {
237
+ const status = i === 0 ? 'in_progress' : 'pending';
238
+ section += ` {"content": " → ${task}", "status": "${status}"},\n`;
239
+ });
240
+
241
+ // Remaining phases pending
242
+ for (const next of config.phases.filter(p => p.number > phase.number && !p.isConditional)) {
243
+ section += ` {"content": "Phase ${next.number}: ${next.name}", "status": "pending"},\n`;
244
+ }
245
+
246
+ section += ']\n```\n\n';
247
+
248
+ // Collapsed version
249
+ section += `### Phase ${phase.number} (Collapsed):\n`;
250
+ section += '```json\n[\n';
251
+ for (const p of config.phases.filter(pp => !pp.isConditional || pp.number <= phase.number)) {
252
+ const status = p.number <= phase.number ? 'completed' : 'pending';
253
+ section += ` {"content": "Phase ${p.number}: ${p.name}", "status": "${status}"},\n`;
254
+ }
255
+ section += ']\n```\n\n';
256
+ }
257
+
258
+ return section;
259
+ }
260
+ ```
261
+
262
+ ## Step 2.7: Generate Remaining Sections
263
+
264
+ Extract from source orchestrator or generate from config:
265
+
266
+ ```javascript
267
+ function generateOrchestratorSections(config, sourceContent) {
268
+ const sections = [];
269
+
270
+ // Interactive Preference Collection + Auto Mode (if feature enabled)
271
+ if (config.features.hasAutoMode) {
272
+ sections.push(generateInteractivePreferenceCollection(config));
273
+ sections.push(extractOrGenerate(sourceContent, 'Auto Mode Defaults',
274
+ '## Auto Mode Defaults\n\nWhen `workflowPreferences.autoYes === true`: Auto-continue all phases, use recommended defaults.\n'));
275
+ }
276
+
277
+ // Core Rules
278
+ sections.push(extractOrGenerate(sourceContent, 'Core Rules',
279
+ generateDefaultCoreRules(config)));
280
+
281
+ // Input Processing
282
+ sections.push(extractOrGenerate(sourceContent, 'Input Processing',
283
+ generateDefaultInputProcessing(config)));
284
+
285
+ // Post-Phase Updates (if feature enabled)
286
+ if (config.features.hasPostPhaseUpdates) {
287
+ sections.push(extractOrGenerate(sourceContent, 'Post-Phase Updates',
288
+ generatePostPhaseUpdates(config)));
289
+ }
290
+
291
+ // Error Handling
292
+ sections.push(extractOrGenerate(sourceContent, 'Error Handling',
293
+ generateDefaultErrorHandling()));
294
+
295
+ // Coordinator Checklist
296
+ sections.push(extractOrGenerate(sourceContent, 'Coordinator Checklist',
297
+ generateCoordinatorChecklist(config)));
298
+
299
+ // Related Commands
300
+ sections.push(extractOrGenerate(sourceContent, 'Related Commands',
301
+ generateRelatedCommands(config)));
302
+
303
+ return sections.join('\n\n');
304
+ }
305
+
306
+ // Extract section from source if exists, otherwise generate default
307
+ function extractOrGenerate(sourceContent, sectionName, defaultContent) {
308
+ if (sourceContent) {
309
+ const extracted = extractSection(sourceContent, sectionName);
310
+ if (extracted) return extracted;
311
+ }
312
+ return defaultContent;
313
+ }
314
+
315
+ // Default Core Rules template
316
+ function generateDefaultCoreRules(config) {
317
+ return `## Core Rules
318
+
319
+ 1. **Start Immediately**: First action is TodoWrite initialization, second action is Phase 1 execution
320
+ 2. **No Preliminary Analysis**: Do not read files or gather context before Phase 1
321
+ 3. **Parse Every Output**: Extract required data from each phase for next phase
322
+ 4. **Auto-Continue**: Check TodoList status to execute next pending phase automatically
323
+ 5. **Track Progress**: Update TodoWrite dynamically with task attachment/collapse pattern
324
+ 6. **Progressive Phase Loading**: Read phase docs ONLY when that phase is about to execute
325
+ 7. **DO NOT STOP**: Continuous multi-phase workflow until all phases complete`;
326
+ }
327
+
328
+ // Default Error Handling template
329
+ function generateDefaultErrorHandling() {
330
+ return `## Error Handling
331
+
332
+ - **Parsing Failure**: If output parsing fails, retry once, then report error
333
+ - **Validation Failure**: Report which file/data is missing
334
+ - **Command Failure**: Keep phase \`in_progress\`, report error, do not proceed`;
335
+ }
336
+ ```
337
+
338
+ ## Step 2.8: Generate Interactive Preference Collection
339
+
340
+ When the skill has configurable behaviors (auto mode, force options, etc.), generate the ask_question-based preference collection section for SKILL.md:
341
+
342
+ ```javascript
343
+ function generateInteractivePreferenceCollection(config) {
344
+ if (!config.features.hasAutoMode && !config.preferenceQuestions?.length) {
345
+ return '';
346
+ }
347
+
348
+ let section = '## Interactive Preference Collection\n\n';
349
+ section += 'Collect workflow preferences via ask_question before dispatching to phases:\n\n';
350
+ section += '```javascript\n';
351
+ section += 'const prefResponse = ask_question({\n';
352
+ section += ' questions: [\n';
353
+
354
+ // Always include auto mode question if feature enabled
355
+ if (config.features.hasAutoMode) {
356
+ section += ' {\n';
357
+ section += ' question: "是否跳过所有确认步骤(自动模式)?",\n';
358
+ section += ' header: "Auto Mode",\n';
359
+ section += ' multiSelect: false,\n';
360
+ section += ' options: [\n';
361
+ section += ' { label: "Interactive (Recommended)", description: "交互模式,包含确认步骤" },\n';
362
+ section += ' { label: "Auto", description: "跳过所有确认,自动执行" }\n';
363
+ section += ' ]\n';
364
+ section += ' },\n';
365
+ }
366
+
367
+ // Add custom preference questions
368
+ for (const pq of (config.preferenceQuestions || [])) {
369
+ section += ` {\n`;
370
+ section += ` question: "${pq.question}",\n`;
371
+ section += ` header: "${pq.header}",\n`;
372
+ section += ` multiSelect: false,\n`;
373
+ section += ` options: [\n`;
374
+ for (const opt of pq.options) {
375
+ section += ` { label: "${opt.label}", description: "${opt.description}" },\n`;
376
+ }
377
+ section += ` ]\n`;
378
+ section += ` },\n`;
379
+ }
380
+
381
+ section += ' ]\n';
382
+ section += '})\n\n';
383
+ section += '// Derive workflowPreferences from user selection\n';
384
+ section += 'workflowPreferences = {\n';
385
+ if (config.features.hasAutoMode) {
386
+ section += ' autoYes: prefResponse.autoMode === "Auto",\n';
387
+ }
388
+ for (const pq of (config.preferenceQuestions || [])) {
389
+ section += ` ${pq.key}: prefResponse.${pq.header.toLowerCase().replace(/\\s+/g, '')} === "${pq.activeValue}",\n`;
390
+ }
391
+ section += '}\n';
392
+ section += '```\n\n';
393
+ section += '**workflowPreferences** is passed to phase execution as context variable.\n';
394
+ section += 'Phases reference as `workflowPreferences.autoYes`, `workflowPreferences.{key}`, etc.\n';
395
+
396
+ return section;
397
+ }
398
+ ```
399
+
400
+ ## Step 2.9: Assemble SKILL.md
401
+
402
+ ```javascript
403
+ function assembleSkillMd(config, sourceContent) {
404
+ const parts = [
405
+ generateFrontmatter(config),
406
+ '',
407
+ `# ${config.title}`,
408
+ '',
409
+ config.description,
410
+ '',
411
+ generateArchitectureDiagram(config),
412
+ '',
413
+ generateDesignPrinciples(config),
414
+ '',
415
+ generateExecutionFlow(config),
416
+ '',
417
+ generateDataFlow(config),
418
+ '',
419
+ generateTodoWritePattern(config),
420
+ '',
421
+ generateOrchestratorSections(config, sourceContent)
422
+ ];
423
+
424
+ const skillMdContent = parts.join('\n');
425
+ write_to_file(`${skillDir}/SKILL.md`, skillMdContent);
426
+ }
427
+ ```
428
+
429
+ **Critical Quality Rules**:
430
+
431
+ 1. SKILL.md must NOT contain full execution detail (agent prompts, bash commands)
432
+ 2. SKILL.md MUST contain `Ref:` markers pointing to phase files
433
+ 3. SKILL.md MUST contain Phase Reference Documents table
434
+ 4. Every phase mentioned in Execution Flow must have a corresponding phase file
435
+ 5. Data flow variables must be consistent across sections
436
+
437
+ ## Output
438
+
439
+ - **File**: `.claude/skills/{skillName}/SKILL.md`
440
+ - **TodoWrite**: Mark Phase 2 completed, Phase 3 in_progress
441
+
442
+ ## Next Phase
443
+
444
+ Return to orchestrator, then auto-continue to [Phase 3: Phase Files Design](03-phase-design.md).