maestro-flow 0.4.26 → 0.5.1

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 (415) hide show
  1. package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  2. package/.agents/skills/learn-follow/SKILL.md +1 -1
  3. package/.agents/skills/learn-investigate/SKILL.md +2 -2
  4. package/.agents/skills/learn-second-opinion/SKILL.md +1 -1
  5. package/.agents/skills/maestro/SKILL.md +6 -3
  6. package/.agents/skills/maestro-analyze/SKILL.md +53 -2
  7. package/.agents/skills/maestro-blueprint/SKILL.md +36 -1
  8. package/.agents/skills/maestro-brainstorm/SKILL.md +40 -1
  9. package/.agents/skills/maestro-collab/SKILL.md +1 -1
  10. package/.agents/skills/maestro-companion/SKILL.md +4 -4
  11. package/.agents/skills/maestro-composer/SKILL.md +1 -1
  12. package/.agents/skills/maestro-execute/SKILL.md +29 -6
  13. package/.agents/skills/maestro-fork/SKILL.md +24 -0
  14. package/.agents/skills/maestro-grill/SKILL.md +38 -1
  15. package/.agents/skills/maestro-help/SKILL.md +5 -6
  16. package/.agents/skills/maestro-help/index/catalog.json +7 -9
  17. package/.agents/skills/maestro-help/phases/02-search-present.md +2 -4
  18. package/.agents/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  19. package/.agents/skills/maestro-impeccable/SKILL.md +13 -0
  20. package/.agents/skills/maestro-init/SKILL.md +11 -0
  21. package/.agents/skills/maestro-merge/SKILL.md +17 -1
  22. package/.agents/skills/maestro-milestone-audit/SKILL.md +34 -2
  23. package/.agents/skills/maestro-milestone-complete/SKILL.md +19 -1
  24. package/.agents/skills/maestro-milestone-release/SKILL.md +18 -0
  25. package/.agents/skills/maestro-next/SKILL.md +8 -9
  26. package/.agents/skills/maestro-overlay/SKILL.md +3 -3
  27. package/.agents/skills/maestro-plan/SKILL.md +21 -3
  28. package/.agents/skills/maestro-quick/SKILL.md +13 -1
  29. package/.agents/skills/maestro-ralph/SKILL.md +18 -20
  30. package/.agents/skills/maestro-ralph-beta/SKILL.md +10 -16
  31. package/.agents/skills/maestro-ralph-execute/SKILL.md +1 -2
  32. package/.agents/skills/maestro-roadmap/SKILL.md +28 -2
  33. package/.agents/skills/maestro-swarm-workflow/SKILL.md +2 -2
  34. package/.agents/skills/maestro-tools-register/SKILL.md +2 -2
  35. package/.agents/skills/maestro-ui-codify/SKILL.md +20 -0
  36. package/.agents/skills/maestro-update/SKILL.md +59 -116
  37. package/.agents/skills/manage-codebase-rebuild/SKILL.md +3 -3
  38. package/.agents/skills/manage-harvest/SKILL.md +1 -1
  39. package/.agents/skills/manage-knowhow/SKILL.md +3 -1
  40. package/.agents/skills/manage-knowhow-capture/SKILL.md +7 -4
  41. package/.agents/skills/manage-wiki/SKILL.md +17 -8
  42. package/.agents/skills/quality-auto-test/SKILL.md +3 -3
  43. package/.agents/skills/quality-debug/SKILL.md +4 -4
  44. package/.agents/skills/quality-refactor/SKILL.md +2 -2
  45. package/.agents/skills/quality-retrospective/SKILL.md +5 -5
  46. package/.agents/skills/quality-review/SKILL.md +4 -4
  47. package/.agents/skills/quality-sync/SKILL.md +1 -0
  48. package/.agents/skills/quality-test/SKILL.md +4 -4
  49. package/.agents/skills/spec-add/SKILL.md +6 -4
  50. package/.agents/skills/spec-setup/SKILL.md +1 -1
  51. package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  52. package/.agy/skills/learn-follow/SKILL.md +1 -1
  53. package/.agy/skills/learn-investigate/SKILL.md +2 -2
  54. package/.agy/skills/learn-second-opinion/SKILL.md +1 -1
  55. package/.agy/skills/maestro/SKILL.md +6 -3
  56. package/.agy/skills/maestro-analyze/SKILL.md +53 -2
  57. package/.agy/skills/maestro-blueprint/SKILL.md +36 -1
  58. package/.agy/skills/maestro-brainstorm/SKILL.md +40 -1
  59. package/.agy/skills/maestro-collab/SKILL.md +1 -1
  60. package/.agy/skills/maestro-companion/SKILL.md +4 -4
  61. package/.agy/skills/maestro-composer/SKILL.md +1 -1
  62. package/.agy/skills/maestro-execute/SKILL.md +29 -6
  63. package/.agy/skills/maestro-fork/SKILL.md +24 -0
  64. package/.agy/skills/maestro-grill/SKILL.md +38 -1
  65. package/.agy/skills/maestro-help/SKILL.md +5 -6
  66. package/.agy/skills/maestro-help/index/catalog.json +7 -9
  67. package/.agy/skills/maestro-help/phases/02-search-present.md +2 -4
  68. package/.agy/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  69. package/.agy/skills/maestro-impeccable/SKILL.md +13 -0
  70. package/.agy/skills/maestro-init/SKILL.md +11 -0
  71. package/.agy/skills/maestro-merge/SKILL.md +17 -1
  72. package/.agy/skills/maestro-milestone-audit/SKILL.md +34 -2
  73. package/.agy/skills/maestro-milestone-complete/SKILL.md +19 -1
  74. package/.agy/skills/maestro-milestone-release/SKILL.md +18 -0
  75. package/.agy/skills/maestro-next/SKILL.md +8 -9
  76. package/.agy/skills/maestro-overlay/SKILL.md +3 -3
  77. package/.agy/skills/maestro-plan/SKILL.md +21 -3
  78. package/.agy/skills/maestro-quick/SKILL.md +13 -1
  79. package/.agy/skills/maestro-ralph/SKILL.md +18 -20
  80. package/.agy/skills/maestro-ralph-beta/SKILL.md +10 -16
  81. package/.agy/skills/maestro-ralph-execute/SKILL.md +1 -2
  82. package/.agy/skills/maestro-roadmap/SKILL.md +28 -2
  83. package/.agy/skills/maestro-swarm-workflow/SKILL.md +2 -2
  84. package/.agy/skills/maestro-tools-register/SKILL.md +2 -2
  85. package/.agy/skills/maestro-ui-codify/SKILL.md +20 -0
  86. package/.agy/skills/maestro-update/SKILL.md +59 -116
  87. package/.agy/skills/manage-codebase-rebuild/SKILL.md +3 -3
  88. package/.agy/skills/manage-harvest/SKILL.md +1 -1
  89. package/.agy/skills/manage-knowhow/SKILL.md +3 -1
  90. package/.agy/skills/manage-knowhow-capture/SKILL.md +7 -4
  91. package/.agy/skills/manage-wiki/SKILL.md +17 -8
  92. package/.agy/skills/quality-auto-test/SKILL.md +3 -3
  93. package/.agy/skills/quality-debug/SKILL.md +4 -4
  94. package/.agy/skills/quality-refactor/SKILL.md +2 -2
  95. package/.agy/skills/quality-retrospective/SKILL.md +5 -5
  96. package/.agy/skills/quality-review/SKILL.md +4 -4
  97. package/.agy/skills/quality-sync/SKILL.md +1 -0
  98. package/.agy/skills/quality-test/SKILL.md +4 -4
  99. package/.agy/skills/spec-add/SKILL.md +6 -4
  100. package/.agy/skills/spec-setup/SKILL.md +1 -1
  101. package/.claude/commands/learn-follow.md +1 -1
  102. package/.claude/commands/learn-investigate.md +2 -2
  103. package/.claude/commands/learn-second-opinion.md +1 -1
  104. package/.claude/commands/maestro-analyze.md +53 -2
  105. package/.claude/commands/maestro-blueprint.md +36 -1
  106. package/.claude/commands/maestro-brainstorm.md +40 -1
  107. package/.claude/commands/maestro-collab.md +1 -1
  108. package/.claude/commands/maestro-companion.md +4 -4
  109. package/.claude/commands/maestro-composer.md +1 -1
  110. package/.claude/commands/maestro-execute.md +29 -6
  111. package/.claude/commands/maestro-fork.md +24 -0
  112. package/.claude/commands/maestro-grill.md +38 -1
  113. package/.claude/commands/maestro-impeccable.md +13 -0
  114. package/.claude/commands/maestro-init.md +11 -0
  115. package/.claude/commands/maestro-merge.md +17 -1
  116. package/.claude/commands/maestro-milestone-audit.md +34 -2
  117. package/.claude/commands/maestro-milestone-complete.md +19 -1
  118. package/.claude/commands/maestro-milestone-release.md +18 -0
  119. package/.claude/commands/maestro-next.md +8 -9
  120. package/.claude/commands/maestro-overlay.md +3 -3
  121. package/.claude/commands/maestro-plan.md +21 -3
  122. package/.claude/commands/maestro-quick.md +13 -1
  123. package/.claude/commands/maestro-ralph-beta.md +8 -14
  124. package/.claude/commands/maestro-ralph-execute.md +1 -2
  125. package/.claude/commands/maestro-ralph.md +18 -20
  126. package/.claude/commands/maestro-roadmap.md +28 -2
  127. package/.claude/commands/maestro-swarm-workflow.md +2 -2
  128. package/.claude/commands/maestro-tools-register.md +2 -2
  129. package/.claude/commands/maestro-ui-codify.md +20 -0
  130. package/.claude/commands/maestro-update.md +59 -116
  131. package/.claude/commands/maestro.md +6 -3
  132. package/.claude/commands/manage-codebase-rebuild.md +3 -3
  133. package/.claude/commands/manage-harvest.md +1 -1
  134. package/.claude/commands/manage-knowhow-capture.md +7 -4
  135. package/.claude/commands/manage-knowhow.md +3 -1
  136. package/.claude/commands/manage-wiki.md +17 -8
  137. package/.claude/commands/quality-auto-test.md +3 -3
  138. package/.claude/commands/quality-debug.md +4 -4
  139. package/.claude/commands/quality-refactor.md +2 -2
  140. package/.claude/commands/quality-retrospective.md +5 -5
  141. package/.claude/commands/quality-review.md +4 -4
  142. package/.claude/commands/quality-sync.md +1 -0
  143. package/.claude/commands/quality-test.md +4 -4
  144. package/.claude/commands/spec-add.md +6 -4
  145. package/.claude/commands/spec-setup.md +1 -1
  146. package/.claude/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  147. package/.claude/skills/maestro-help/SKILL.md +5 -6
  148. package/.claude/skills/maestro-help/index/catalog.json +7 -9
  149. package/.claude/skills/maestro-help/phases/02-search-present.md +2 -4
  150. package/.claude/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  151. package/.codex/skills/codify-to-knowhow/SKILL.md +6 -5
  152. package/.codex/skills/learn-decompose/SKILL.md +1 -1
  153. package/.codex/skills/learn-follow/SKILL.md +1 -1
  154. package/.codex/skills/learn-investigate/SKILL.md +1 -1
  155. package/.codex/skills/learn-second-opinion/SKILL.md +1 -1
  156. package/.codex/skills/maestro/SKILL.md +29 -31
  157. package/.codex/skills/maestro-analyze/SKILL.md +17 -4
  158. package/.codex/skills/maestro-blueprint/SKILL.md +8 -1
  159. package/.codex/skills/maestro-brainstorm/SKILL.md +8 -5
  160. package/.codex/skills/maestro-collab/SKILL.md +1 -1
  161. package/.codex/skills/maestro-companion/SKILL.md +2 -2
  162. package/.codex/skills/maestro-composer/SKILL.md +0 -1
  163. package/.codex/skills/maestro-execute/SKILL.md +11 -8
  164. package/.codex/skills/maestro-fork/SKILL.md +4 -0
  165. package/.codex/skills/maestro-grill/SKILL.md +8 -2
  166. package/.codex/skills/maestro-help/SKILL.md +6 -9
  167. package/.codex/skills/maestro-help/catalog.json +6 -8
  168. package/.codex/skills/maestro-impeccable/SKILL.md +2 -0
  169. package/.codex/skills/maestro-init/SKILL.md +3 -0
  170. package/.codex/skills/maestro-merge/SKILL.md +5 -1
  171. package/.codex/skills/maestro-milestone-audit/SKILL.md +3 -0
  172. package/.codex/skills/maestro-milestone-complete/SKILL.md +6 -1
  173. package/.codex/skills/maestro-milestone-release/SKILL.md +4 -0
  174. package/.codex/skills/maestro-next/SKILL.md +3 -4
  175. package/.codex/skills/maestro-plan/SKILL.md +5 -2
  176. package/.codex/skills/maestro-quick/SKILL.md +4 -1
  177. package/.codex/skills/maestro-ralph/SKILL.md +14 -20
  178. package/.codex/skills/maestro-ralph-beta/SKILL.md +13 -21
  179. package/.codex/skills/maestro-ralph-execute/SKILL.md +2 -2
  180. package/.codex/skills/maestro-roadmap/SKILL.md +5 -2
  181. package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
  182. package/.codex/skills/maestro-ui-codify/SKILL.md +4 -1
  183. package/.codex/skills/maestro-update/SKILL.md +35 -130
  184. package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
  185. package/.codex/skills/manage-harvest/SKILL.md +2 -2
  186. package/.codex/skills/manage-knowhow/SKILL.md +1 -1
  187. package/.codex/skills/manage-knowhow-capture/SKILL.md +32 -20
  188. package/.codex/skills/manage-status/SKILL.md +1 -2
  189. package/.codex/skills/quality-auto-test/SKILL.md +2 -2
  190. package/.codex/skills/quality-debug/SKILL.md +2 -2
  191. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  192. package/.codex/skills/quality-retrospective/SKILL.md +1 -1
  193. package/.codex/skills/quality-test/SKILL.md +3 -4
  194. package/.codex/skills/spec-add/SKILL.md +5 -3
  195. package/.codex/skills/spec-remove/SKILL.md +2 -2
  196. package/.codex/skills/team-coordinate/SKILL.md +1 -1
  197. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  198. package/chains/brainstorm-driven.json +2 -34
  199. package/chains/full-lifecycle.json +2 -34
  200. package/chains/next-milestone.json +0 -7
  201. package/chains/quality-loop.json +3 -19
  202. package/chains/roadmap-driven.json +2 -34
  203. package/chains/spec-driven.json +2 -34
  204. package/chains/ui-craft-build.json +2 -23
  205. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +8 -11
  206. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  207. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +1 -0
  208. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +3 -1
  209. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
  210. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  211. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  212. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +9 -0
  213. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  214. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +9 -4
  215. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  216. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -0
  217. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +4 -0
  218. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +5 -3
  219. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  220. package/dashboard/dist-server/src/types/index.d.ts +2 -0
  221. package/dist/src/cli.js +1 -0
  222. package/dist/src/cli.js.map +1 -1
  223. package/dist/src/commands/hooks.d.ts.map +1 -1
  224. package/dist/src/commands/hooks.js +55 -5
  225. package/dist/src/commands/hooks.js.map +1 -1
  226. package/dist/src/commands/install-backend.d.ts.map +1 -1
  227. package/dist/src/commands/install-backend.js +2 -1
  228. package/dist/src/commands/install-backend.js.map +1 -1
  229. package/dist/src/commands/install.d.ts.map +1 -1
  230. package/dist/src/commands/install.js +48 -3
  231. package/dist/src/commands/install.js.map +1 -1
  232. package/dist/src/commands/kg.d.ts +1 -1
  233. package/dist/src/commands/kg.d.ts.map +1 -1
  234. package/dist/src/commands/kg.js +285 -112
  235. package/dist/src/commands/kg.js.map +1 -1
  236. package/dist/src/commands/knowhow.d.ts.map +1 -1
  237. package/dist/src/commands/knowhow.js +28 -37
  238. package/dist/src/commands/knowhow.js.map +1 -1
  239. package/dist/src/commands/ralph.js +1 -1
  240. package/dist/src/commands/ralph.js.map +1 -1
  241. package/dist/src/commands/search.d.ts +36 -0
  242. package/dist/src/commands/search.d.ts.map +1 -0
  243. package/dist/src/commands/search.js +120 -0
  244. package/dist/src/commands/search.js.map +1 -0
  245. package/dist/src/commands/spec.d.ts.map +1 -1
  246. package/dist/src/commands/spec.js +15 -59
  247. package/dist/src/commands/spec.js.map +1 -1
  248. package/dist/src/commands/update.d.ts.map +1 -1
  249. package/dist/src/commands/update.js +7 -0
  250. package/dist/src/commands/update.js.map +1 -1
  251. package/dist/src/commands/wiki.d.ts.map +1 -1
  252. package/dist/src/commands/wiki.js +6 -21
  253. package/dist/src/commands/wiki.js.map +1 -1
  254. package/dist/src/core/component-defs.d.ts +13 -0
  255. package/dist/src/core/component-defs.d.ts.map +1 -1
  256. package/dist/src/core/component-defs.js +37 -85
  257. package/dist/src/core/component-defs.js.map +1 -1
  258. package/dist/src/core/skill-converter.d.ts +25 -0
  259. package/dist/src/core/skill-converter.d.ts.map +1 -0
  260. package/dist/src/core/skill-converter.js +605 -0
  261. package/dist/src/core/skill-converter.js.map +1 -0
  262. package/dist/src/graph/codegraph-adapter.d.ts +147 -0
  263. package/dist/src/graph/codegraph-adapter.d.ts.map +1 -0
  264. package/dist/src/graph/codegraph-adapter.js +266 -0
  265. package/dist/src/graph/codegraph-adapter.js.map +1 -0
  266. package/dist/src/hooks/constants.d.ts +4 -0
  267. package/dist/src/hooks/constants.d.ts.map +1 -1
  268. package/dist/src/hooks/constants.js +14 -1
  269. package/dist/src/hooks/constants.js.map +1 -1
  270. package/dist/src/hooks/context-format.d.ts +46 -0
  271. package/dist/src/hooks/context-format.d.ts.map +1 -0
  272. package/dist/src/hooks/context-format.js +58 -0
  273. package/dist/src/hooks/context-format.js.map +1 -0
  274. package/dist/src/hooks/index.d.ts +2 -0
  275. package/dist/src/hooks/index.d.ts.map +1 -1
  276. package/dist/src/hooks/index.js +2 -0
  277. package/dist/src/hooks/index.js.map +1 -1
  278. package/dist/src/hooks/keyword-spec-injector.d.ts +1 -1
  279. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  280. package/dist/src/hooks/keyword-spec-injector.js +92 -7
  281. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  282. package/dist/src/hooks/kg-context-injector.d.ts +19 -0
  283. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -0
  284. package/dist/src/hooks/kg-context-injector.js +139 -0
  285. package/dist/src/hooks/kg-context-injector.js.map +1 -0
  286. package/dist/src/hooks/kg-sync-hook.d.ts +22 -0
  287. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -0
  288. package/dist/src/hooks/kg-sync-hook.js +139 -0
  289. package/dist/src/hooks/kg-sync-hook.js.map +1 -0
  290. package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -2
  291. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  292. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  293. package/dist/src/hooks/skill-context.js +0 -1
  294. package/dist/src/hooks/skill-context.js.map +1 -1
  295. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  296. package/dist/src/hooks/spec-injector.js +66 -13
  297. package/dist/src/hooks/spec-injector.js.map +1 -1
  298. package/dist/src/hooks/statusline.d.ts +8 -1
  299. package/dist/src/hooks/statusline.d.ts.map +1 -1
  300. package/dist/src/hooks/statusline.js +45 -29
  301. package/dist/src/hooks/statusline.js.map +1 -1
  302. package/dist/src/hooks/wiki-role-loader.js +1 -1
  303. package/dist/src/hooks/wiki-role-loader.js.map +1 -1
  304. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  305. package/dist/src/i18n/locales/en.js +4 -0
  306. package/dist/src/i18n/locales/en.js.map +1 -1
  307. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  308. package/dist/src/i18n/locales/zh.js +4 -0
  309. package/dist/src/i18n/locales/zh.js.map +1 -1
  310. package/dist/src/i18n/types.d.ts +4 -0
  311. package/dist/src/i18n/types.d.ts.map +1 -1
  312. package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
  313. package/dist/src/ralph/cmd-skills.js +9 -2
  314. package/dist/src/ralph/cmd-skills.js.map +1 -1
  315. package/dist/src/ralph/skill-scanner.d.ts +1 -1
  316. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  317. package/dist/src/ralph/skill-scanner.js +14 -0
  318. package/dist/src/ralph/skill-scanner.js.map +1 -1
  319. package/dist/src/ralph/status-schema.d.ts +1 -1
  320. package/dist/src/ralph/status-schema.d.ts.map +1 -1
  321. package/dist/src/tools/spec-entry-parser.d.ts +2 -1
  322. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  323. package/dist/src/tools/spec-entry-parser.js +7 -4
  324. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  325. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  326. package/dist/src/tools/spec-loader.js +27 -3
  327. package/dist/src/tools/spec-loader.js.map +1 -1
  328. package/dist/src/tools/spec-writer.d.ts +10 -1
  329. package/dist/src/tools/spec-writer.d.ts.map +1 -1
  330. package/dist/src/tools/spec-writer.js +86 -7
  331. package/dist/src/tools/spec-writer.js.map +1 -1
  332. package/dist/src/tools/store-knowhow.d.ts.map +1 -1
  333. package/dist/src/tools/store-knowhow.js +27 -7
  334. package/dist/src/tools/store-knowhow.js.map +1 -1
  335. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  336. package/dist/src/tui/install-ui/ExecutionView.js +7 -1
  337. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  338. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -0
  339. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  340. package/dist/src/tui/install-ui/InstallConfirm.js +3 -1
  341. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  342. package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
  343. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  344. package/dist/src/tui/install-ui/InstallExecution.js +25 -1
  345. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  346. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  347. package/dist/src/tui/install-ui/InstallFlow.js +13 -5
  348. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  349. package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
  350. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  351. package/dist/src/tui/install-ui/InstallHub.js +10 -0
  352. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  353. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  354. package/dist/src/tui/install-ui/InstallResult.js +5 -1
  355. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  356. package/dist/src/types/index.d.ts +2 -0
  357. package/dist/src/types/index.d.ts.map +1 -1
  358. package/dist/src/utils/cli-format.d.ts +6 -0
  359. package/dist/src/utils/cli-format.d.ts.map +1 -1
  360. package/dist/src/utils/cli-format.js +25 -0
  361. package/dist/src/utils/cli-format.js.map +1 -1
  362. package/dist/src/utils/update-notices.js +25 -0
  363. package/dist/src/utils/update-notices.js.map +1 -1
  364. package/package.json +5 -2
  365. package/templates/workflows/specs/node-catalog.md +0 -2
  366. package/workflows/agy-instructions.md +1 -1
  367. package/workflows/analyze.md +9 -4
  368. package/workflows/auto-test.md +2 -2
  369. package/workflows/business-test.md +1 -1
  370. package/workflows/claude-instructions.md +23 -11
  371. package/workflows/codex-instructions.md +2 -3
  372. package/workflows/execute.md +153 -7
  373. package/workflows/finish-work.md +1 -1
  374. package/workflows/fork.md +1 -1
  375. package/workflows/impeccable/design.md +1 -0
  376. package/workflows/impeccable.md +1 -0
  377. package/workflows/integration-test.md +1 -1
  378. package/workflows/knowhow.md +14 -8
  379. package/workflows/maestro-super.md +1 -1
  380. package/workflows/maestro.codex.md +18 -34
  381. package/workflows/maestro.md +34 -42
  382. package/workflows/review.md +1 -1
  383. package/workflows/specs-add.md +1 -1
  384. package/workflows/specs-setup.md +2 -2
  385. package/workflows/status.md +2 -2
  386. package/workflows/swarm/wf-verify.js +1 -1
  387. package/workflows/test-gen.md +2 -2
  388. package/workflows/test.md +1 -1
  389. package/workflows/updates/README.md +41 -0
  390. package/workflows/updates/update-v3-setup.md +79 -0
  391. package/workflows/verify.md +7 -1
  392. package/.agents/skills/learn-retro/SKILL.md +0 -159
  393. package/.agents/skills/maestro-learn/SKILL.md +0 -142
  394. package/.agents/skills/maestro-verify/SKILL.md +0 -146
  395. package/.agents/skills/manage-codebase-refresh/SKILL.md +0 -62
  396. package/.agents/skills/manage-learn/SKILL.md +0 -67
  397. package/.agents/skills/wiki-connect/SKILL.md +0 -64
  398. package/.agents/skills/wiki-digest/SKILL.md +0 -70
  399. package/.agy/skills/learn-retro/SKILL.md +0 -159
  400. package/.agy/skills/maestro-learn/SKILL.md +0 -142
  401. package/.agy/skills/maestro-verify/SKILL.md +0 -146
  402. package/.agy/skills/manage-codebase-refresh/SKILL.md +0 -62
  403. package/.agy/skills/manage-learn/SKILL.md +0 -64
  404. package/.agy/skills/wiki-connect/SKILL.md +0 -64
  405. package/.agy/skills/wiki-digest/SKILL.md +0 -70
  406. package/.claude/commands/learn-retro.md +0 -157
  407. package/.claude/commands/maestro-learn.md +0 -140
  408. package/.claude/commands/maestro-verify.md +0 -144
  409. package/.claude/commands/manage-codebase-refresh.md +0 -60
  410. package/.claude/commands/manage-learn.md +0 -65
  411. package/.claude/commands/wiki-connect.md +0 -62
  412. package/.claude/commands/wiki-digest.md +0 -68
  413. package/.codex/skills/maestro-verify/SKILL.md +0 -254
  414. package/chains/execute-verify.json +0 -59
  415. package/chains/singles/verify.json +0 -26
@@ -0,0 +1,605 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Skill Converter — shared conversion logic for building platform-specific
3
+ // skill/agent trees from .claude/ source files.
4
+ //
5
+ // Used by the install pipeline to generate .agy/ (Antigravity) and .agents/
6
+ // (Open Standard) mirrors from the canonical .claude/ source.
7
+ //
8
+ // Does NOT wipe target directories — the caller manages that.
9
+ // ---------------------------------------------------------------------------
10
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, } from 'node:fs';
11
+ import { join, dirname, relative } from 'node:path';
12
+ // ---------------------------------------------------------------------------
13
+ // Utilities
14
+ // ---------------------------------------------------------------------------
15
+ function ensureDir(dir) {
16
+ if (!existsSync(dir))
17
+ mkdirSync(dir, { recursive: true });
18
+ }
19
+ function walkFiles(dir, acc = []) {
20
+ if (!existsSync(dir))
21
+ return acc;
22
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
23
+ const full = join(dir, entry.name);
24
+ if (entry.isDirectory())
25
+ walkFiles(full, acc);
26
+ else if (entry.isFile())
27
+ acc.push(full);
28
+ }
29
+ return acc;
30
+ }
31
+ // ---------------------------------------------------------------------------
32
+ // Frontmatter parser — minimal YAML subset for skill frontmatter
33
+ // ---------------------------------------------------------------------------
34
+ /** Keys that MUST stay scalar even when their value contains commas. */
35
+ const SCALAR_KEYS = new Set(['name', 'description', 'argument-hint', 'model', 'section']);
36
+ /** Keys that should always be parsed as a list of tool tokens. */
37
+ const LIST_KEYS = new Set(['allowed-tools', 'agy-subagents']);
38
+ function splitFrontmatter(content) {
39
+ if (!content.startsWith('---\n') && !content.startsWith('---\r\n')) {
40
+ return { frontmatter: null, raw: '', body: content };
41
+ }
42
+ const end = content.indexOf('\n---', 4);
43
+ if (end < 0)
44
+ return { frontmatter: null, raw: '', body: content };
45
+ const raw = content.slice(content.startsWith('---\r\n') ? 5 : 4, end)
46
+ .replace(/\r\n/g, '\n')
47
+ .replace(/\r/g, '')
48
+ .replace(/^\n+/, '');
49
+ const afterMarker = content.indexOf('\n', end + 4);
50
+ const body = afterMarker >= 0 ? content.slice(afterMarker + 1) : '';
51
+ return { frontmatter: parseSimpleYaml(raw), raw, body };
52
+ }
53
+ function parseSimpleYaml(raw) {
54
+ const out = {};
55
+ const lines = raw.split('\n');
56
+ let i = 0;
57
+ while (i < lines.length) {
58
+ const line = lines[i];
59
+ const m = line.match(/^([A-Za-z_][\w-]*)\s*:\s*(.*)$/);
60
+ if (!m) {
61
+ i++;
62
+ continue;
63
+ }
64
+ const key = m[1];
65
+ const value = m[2];
66
+ // YAML block list following the key
67
+ if (value === '') {
68
+ const items = [];
69
+ let j = i + 1;
70
+ while (j < lines.length && /^\s*-\s+/.test(lines[j])) {
71
+ items.push(lines[j].replace(/^\s*-\s+/, '').trim());
72
+ j++;
73
+ }
74
+ if (items.length) {
75
+ out[key] = items;
76
+ i = j;
77
+ continue;
78
+ }
79
+ out[key] = '';
80
+ i++;
81
+ continue;
82
+ }
83
+ // Block scalar markers
84
+ if (value === '|' || value === '>') {
85
+ const block = [];
86
+ let k = i + 1;
87
+ while (k < lines.length && (lines[k].startsWith(' ') || lines[k] === '')) {
88
+ block.push(lines[k].replace(/^ /, ''));
89
+ k++;
90
+ }
91
+ out[key] = block.join('\n').trim();
92
+ i = k;
93
+ continue;
94
+ }
95
+ // Inline value — only split on commas for list-like keys
96
+ if (LIST_KEYS.has(key) && value.includes(',')) {
97
+ out[key] = value.split(',').map(s => s.trim()).filter(Boolean);
98
+ }
99
+ else {
100
+ out[key] = value.replace(/^["']|["']$/g, '');
101
+ }
102
+ i++;
103
+ }
104
+ return out;
105
+ }
106
+ function serializeFrontmatter(fm) {
107
+ const lines = ['---'];
108
+ for (const [key, value] of Object.entries(fm)) {
109
+ if (Array.isArray(value)) {
110
+ lines.push(`${key}:`);
111
+ for (const v of value)
112
+ lines.push(` - ${v}`);
113
+ }
114
+ else if (typeof value === 'string' && value.includes('\n')) {
115
+ lines.push(`${key}: |`);
116
+ for (const ln of value.split('\n'))
117
+ lines.push(` ${ln}`);
118
+ }
119
+ else {
120
+ lines.push(`${key}: ${value}`);
121
+ }
122
+ }
123
+ lines.push('---', '');
124
+ return lines.join('\n');
125
+ }
126
+ // ---------------------------------------------------------------------------
127
+ // Agy-specific: Agent() / Skill() call-site rewriting
128
+ // ---------------------------------------------------------------------------
129
+ function detectAgentCalls(body) {
130
+ const calls = [];
131
+ const re = /Agent\s*\(\s*(?:\{[^}]*\}|[^)]*)\)/g;
132
+ let m;
133
+ while ((m = re.exec(body)) !== null) {
134
+ const snippet = m[0];
135
+ const subagentMatch = snippet.match(/subagent_type\s*[:=]\s*["']([^"']+)["']/);
136
+ if (subagentMatch)
137
+ calls.push(subagentMatch[1]);
138
+ }
139
+ return Array.from(new Set(calls));
140
+ }
141
+ function rewriteAgentCallSites(body) {
142
+ let out = body.replace(/Agent\s*\(\s*(\{[^}]*\}|subagent_type[\s\S]*?)\)/g, (_full, inner) => {
143
+ const typeMatch = inner.match(/subagent_type\s*[:=]\s*["']([^"']+)["']/);
144
+ const promptMatch = inner.match(/prompt\s*[:=]\s*["']([^"']*)["']/);
145
+ const nameMatch = inner.match(/\bname\s*[:=]\s*["']([^"']+)["']/);
146
+ const teamMatch = inner.match(/team_name\s*[:=]\s*["']([^"']+)["']/);
147
+ const type = typeMatch ? typeMatch[1] : '<TypeName>';
148
+ const role = nameMatch ? nameMatch[1] : (teamMatch ? teamMatch[1] : '<Role>');
149
+ const prompt = promptMatch ? promptMatch[1] : '<Prompt>';
150
+ return `invoke_subagent([{ TypeName: "${type}", Role: "${role}", Prompt: "${prompt}", Workspace: "inherit" }])`;
151
+ });
152
+ // Catch-all: residual `Agent(` in prose / generator templates.
153
+ out = out.replace(/\bAgent\s*\(/g, 'invoke_subagent(');
154
+ return out;
155
+ }
156
+ function rewriteSkillCallSites(body) {
157
+ let out = body;
158
+ // JS-object form: Skill({ skill: "X", args: "Y" })
159
+ out = out.replace(/Skill\s*\(\s*\{\s*skill\s*:\s*["']([^"']+)["'](?:\s*,\s*args\s*:\s*["']([^"']*)["'])?\s*\}\s*\)/g, (_full, name, args) => formatInlineSkill(name, args));
160
+ // Function-style form: Skill(skill="X", args="Y")
161
+ out = out.replace(/Skill\s*\(\s*skill\s*=\s*["']([^"']+)["'](?:\s*,\s*args\s*=\s*["']([^"']*)["'])?\s*\)/g, (_full, name, args) => formatInlineSkill(name, args));
162
+ return out;
163
+ }
164
+ function formatInlineSkill(name, args) {
165
+ const argLine = args ? ` (args: ${JSON.stringify(args)})` : '';
166
+ return `view_file(AbsolutePath="<agy-skills-dir>/${name}/SKILL.md") + execute inline${argLine}`;
167
+ }
168
+ function buildSubAgentPreamble(typeNames) {
169
+ return ('\n## Sub-Agent Registration (Antigravity)\n\n' +
170
+ 'Before any `invoke_subagent` call below, register each sub-agent type once per session by reading the system_prompt from `<agy-agents-dir>/<name>.md` and passing it to `define_subagent`. The `<agy-agents-dir>` is:\n' +
171
+ '- global install: `~/.gemini/antigravity-cli/agents/`\n' +
172
+ '- workspace install: `<project>/.agents/agents/`\n\n' +
173
+ typeNames
174
+ .map(n => `- \`define_subagent(name="${n}", description="<from agents/${n}.md frontmatter>", system_prompt=<contents of agents/${n}.md body>, enable_write_tools=true, enable_mcp_tools=true, enable_subagent_tools=false)\``)
175
+ .join('\n') +
176
+ '\n\n**ConversationId tracking**: `invoke_subagent` returns a ConversationId per spawned instance. Subsequent `send_message(Recipient=<ConversationId>, Message=...)` calls require that ConversationId — never use the role name as the recipient.\n\n' +
177
+ '---\n');
178
+ }
179
+ // ---------------------------------------------------------------------------
180
+ // Frontmatter allowed-tools rewriting
181
+ // ---------------------------------------------------------------------------
182
+ function rewriteAllowedToolsAgy(tools, profile, hasAgent) {
183
+ if (!tools)
184
+ return null;
185
+ const list = Array.isArray(tools)
186
+ ? tools
187
+ : String(tools).split(',').map(s => s.trim()).filter(Boolean);
188
+ const out = new Set();
189
+ let agentDetected = hasAgent;
190
+ for (const entry of list) {
191
+ const name = entry.replace(/\(.*\)$/, '').trim();
192
+ if (!name)
193
+ continue;
194
+ if (profile.removedTools.has(name))
195
+ continue;
196
+ if (name === 'Agent') {
197
+ agentDetected = true;
198
+ for (const t of profile.subagentTools)
199
+ out.add(t);
200
+ continue;
201
+ }
202
+ const mapped = profile.frontmatterToolMap[name] ?? name;
203
+ out.add(mapped);
204
+ }
205
+ return { tools: Array.from(out).sort(), hasAgent: agentDetected };
206
+ }
207
+ function rewriteAllowedToolsStandard(rawFm, profile) {
208
+ const lines = rawFm.split('\n');
209
+ let i = 0;
210
+ const out = [];
211
+ while (i < lines.length) {
212
+ const line = lines[i];
213
+ const inlineMatch = line.match(/^(allowed-tools\s*:\s*)(.*)$/);
214
+ if (inlineMatch) {
215
+ const prefix = inlineMatch[1];
216
+ const value = inlineMatch[2].trim();
217
+ if (value === '') {
218
+ // Block form
219
+ out.push(`${prefix.replace(/\s+$/, '')}`);
220
+ i += 1;
221
+ while (i < lines.length && /^\s+-\s+/.test(lines[i])) {
222
+ const itemMatch = lines[i].match(/^(\s+-\s+)(.+)$/);
223
+ if (itemMatch) {
224
+ const indent = itemMatch[1];
225
+ const tok = itemMatch[2].trim();
226
+ const mapped = mapToolTokenStandard(tok, profile);
227
+ if (mapped !== null)
228
+ out.push(`${indent}${mapped}`);
229
+ }
230
+ i += 1;
231
+ }
232
+ continue;
233
+ }
234
+ // Inline form
235
+ const tokens = value.split(',').map(t => t.trim()).filter(Boolean);
236
+ const mapped = tokens
237
+ .map(t => mapToolTokenStandard(t, profile))
238
+ .filter((t) => t !== null);
239
+ out.push(`${prefix}${mapped.join(', ')}`);
240
+ }
241
+ else {
242
+ out.push(line);
243
+ }
244
+ i += 1;
245
+ }
246
+ return out.join('\n');
247
+ }
248
+ function mapToolTokenStandard(tok, profile) {
249
+ if (profile.frontmatterToolMap[tok])
250
+ return profile.frontmatterToolMap[tok];
251
+ if (tok.startsWith('mcp__'))
252
+ return tok; // pass-through MCP
253
+ if (/^[a-z][a-z0-9_]*$/.test(tok))
254
+ return tok; // already standard
255
+ // Unknown CamelCase → conservative snake_case
256
+ if (profile.snakeCaseUnknown) {
257
+ return tok.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase();
258
+ }
259
+ return tok;
260
+ }
261
+ // ---------------------------------------------------------------------------
262
+ // Content conversion — shared pipeline
263
+ // ---------------------------------------------------------------------------
264
+ function convertTextAgy(content, profile, isSkillOrCommand) {
265
+ const { frontmatter, body } = splitFrontmatter(content);
266
+ let hasAgent = false;
267
+ let subAgentTypes = [];
268
+ if (isSkillOrCommand) {
269
+ subAgentTypes = detectAgentCalls(body);
270
+ if (subAgentTypes.length > 0)
271
+ hasAgent = true;
272
+ }
273
+ let convertedBody = rewriteAgentCallSites(body);
274
+ convertedBody = rewriteSkillCallSites(convertedBody);
275
+ convertedBody = applyBodyReplacements(convertedBody, profile);
276
+ let newFrontmatter = null;
277
+ if (frontmatter) {
278
+ const fmOut = { ...frontmatter };
279
+ if (fmOut['allowed-tools']) {
280
+ const r = rewriteAllowedToolsAgy(fmOut['allowed-tools'], profile, hasAgent);
281
+ if (r) {
282
+ if (r.hasAgent || hasAgent) {
283
+ for (const t of profile.subagentTools) {
284
+ if (!r.tools.includes(t))
285
+ r.tools.push(t);
286
+ }
287
+ r.tools.sort();
288
+ }
289
+ fmOut['allowed-tools'] = r.tools;
290
+ }
291
+ }
292
+ if (subAgentTypes.length > 0) {
293
+ fmOut['agy-subagents'] = subAgentTypes;
294
+ }
295
+ newFrontmatter = fmOut;
296
+ }
297
+ const fmBlock = newFrontmatter ? serializeFrontmatter(newFrontmatter) : '';
298
+ const preamble = subAgentTypes.length > 0 ? buildSubAgentPreamble(subAgentTypes) : '';
299
+ return fmBlock + preamble + convertedBody;
300
+ }
301
+ function convertTextStandard(content, profile) {
302
+ const { frontmatter, raw, body } = splitFrontmatter(content);
303
+ if (frontmatter === null) {
304
+ return applyBodyReplacements(content, profile);
305
+ }
306
+ const newFm = rewriteAllowedToolsStandard(raw, profile);
307
+ const newBody = applyBodyReplacements(body, profile);
308
+ return `---\n${newFm}\n---\n${newBody}`;
309
+ }
310
+ function applyBodyReplacements(body, profile) {
311
+ let out = body;
312
+ for (const [pattern, replacement] of profile.bodyReplacements) {
313
+ out = out.replace(pattern, replacement);
314
+ }
315
+ return out;
316
+ }
317
+ // ---------------------------------------------------------------------------
318
+ // Tree builders — shared directory-walking pipeline
319
+ // ---------------------------------------------------------------------------
320
+ function buildTree(claudeDir, targetSkillsDir, targetAgentsDir, profile, convertFn) {
321
+ const commandsDir = join(claudeDir, 'commands');
322
+ const skillsDir = join(claudeDir, 'skills');
323
+ const agentsDir = join(claudeDir, 'agents');
324
+ const stats = { commands: 0, skills: 0, agents: 0, files: 0 };
325
+ // 1. commands/*.md → targetSkillsDir/<name>/SKILL.md
326
+ if (existsSync(commandsDir)) {
327
+ for (const entry of readdirSync(commandsDir, { withFileTypes: true })) {
328
+ if (!entry.isFile() || !entry.name.endsWith('.md'))
329
+ continue;
330
+ const name = entry.name.replace(/\.md$/, '');
331
+ const src = join(commandsDir, entry.name);
332
+ const destDir = join(targetSkillsDir, name);
333
+ const dest = join(destDir, 'SKILL.md');
334
+ ensureDir(destDir);
335
+ const out = convertFn(readFileSync(src, 'utf8'), profile, true);
336
+ writeFileSync(dest, out, 'utf8');
337
+ stats.commands++;
338
+ stats.files++;
339
+ }
340
+ }
341
+ // 2. skills/<name>/ → targetSkillsDir/<name>/ (recursive)
342
+ if (existsSync(skillsDir)) {
343
+ for (const entry of readdirSync(skillsDir, { withFileTypes: true })) {
344
+ if (!entry.isDirectory())
345
+ continue;
346
+ const srcRoot = join(skillsDir, entry.name);
347
+ const destRoot = join(targetSkillsDir, entry.name);
348
+ for (const fp of walkFiles(srcRoot)) {
349
+ const rel = relative(srcRoot, fp);
350
+ const dest = join(destRoot, rel);
351
+ ensureDir(dirname(dest));
352
+ if (fp.endsWith('.md')) {
353
+ const out = convertFn(readFileSync(fp, 'utf8'), profile, true);
354
+ writeFileSync(dest, out, 'utf8');
355
+ }
356
+ else {
357
+ writeFileSync(dest, readFileSync(fp));
358
+ }
359
+ stats.files++;
360
+ }
361
+ stats.skills++;
362
+ }
363
+ }
364
+ // 3. agents/*.md → targetAgentsDir/<name>.md
365
+ if (existsSync(agentsDir)) {
366
+ for (const entry of readdirSync(agentsDir, { withFileTypes: true })) {
367
+ if (!entry.isFile() || !entry.name.endsWith('.md'))
368
+ continue;
369
+ const src = join(agentsDir, entry.name);
370
+ const dest = join(targetAgentsDir, entry.name);
371
+ ensureDir(dirname(dest));
372
+ const out = convertFn(readFileSync(src, 'utf8'), profile, false);
373
+ writeFileSync(dest, out, 'utf8');
374
+ stats.agents++;
375
+ stats.files++;
376
+ }
377
+ }
378
+ return stats;
379
+ }
380
+ // ---------------------------------------------------------------------------
381
+ // Agy profile
382
+ // ---------------------------------------------------------------------------
383
+ const AGY_PROFILE = {
384
+ bodyReplacements: [
385
+ [/ralph skills --platform claude\b/g, 'ralph skills --platform agy'],
386
+ [/\bmcp__exa__web_search_exa\b/g, 'search_web'],
387
+ [/\bSendMessage\b/g, 'send_message'],
388
+ [/\bAskUserQuestion\b/g, 'ask_question'],
389
+ [/\bRead\s*\(/g, 'view_file('],
390
+ [/\bWrite\s*\(/g, 'write_to_file('],
391
+ [/\bEdit\s*\(/g, 'replace_file_content('],
392
+ [/\bBash\s*\(/g, 'run_command('],
393
+ [/\bGrep\s*\(/g, 'grep_search('],
394
+ [/\bGlob\s*\(/g, 'grep_search('],
395
+ ],
396
+ frontmatterToolMap: {
397
+ SendMessage: 'send_message',
398
+ AskUserQuestion: 'ask_question',
399
+ Read: 'view_file',
400
+ Write: 'write_to_file',
401
+ Edit: 'replace_file_content',
402
+ Bash: 'run_command',
403
+ Grep: 'grep_search',
404
+ Glob: 'grep_search',
405
+ mcp__exa__web_search_exa: 'search_web',
406
+ },
407
+ removedTools: new Set([
408
+ 'TeamCreate', 'TeamDelete',
409
+ 'TaskCreate', 'TaskUpdate', 'TaskList', 'TaskGet',
410
+ 'TodoWrite',
411
+ 'Skill',
412
+ 'mcp__ccw-tools__team_msg',
413
+ ]),
414
+ subagentTools: ['define_subagent', 'invoke_subagent', 'send_message', 'manage_subagents'],
415
+ rewriteAgentCalls: true,
416
+ rewriteSkillCalls: true,
417
+ snakeCaseUnknown: false,
418
+ };
419
+ // ---------------------------------------------------------------------------
420
+ // Agents Standard profile
421
+ // ---------------------------------------------------------------------------
422
+ const AGENTS_STANDARD_PROFILE = {
423
+ bodyReplacements: [
424
+ [/ralph skills --platform claude\b/g, 'ralph skills --platform agent'],
425
+ [/\bAskUserQuestion\b/g, 'ask_user'],
426
+ [/\bSendMessage\b/g, 'send_message'],
427
+ [/\bExitPlanMode\b/g, 'exit_plan_mode'],
428
+ [/\bExitWorktree\b/g, 'exit_worktree'],
429
+ [/\bEnterPlanMode\b/g, 'enter_plan_mode'],
430
+ [/\bEnterWorktree\b/g, 'enter_worktree'],
431
+ [/\bTodoWrite\b/g, 'track_tasks'],
432
+ [/\bTaskCreate\b/g, 'create_task'],
433
+ [/\bTaskUpdate\b/g, 'update_task'],
434
+ [/\bTaskList\b/g, 'list_tasks'],
435
+ [/\bTaskGet\b/g, 'get_task'],
436
+ [/\bTaskStop\b/g, 'stop_task'],
437
+ [/\bTaskOutput\b/g, 'get_task_output'],
438
+ [/\bWebSearch\b/g, 'web_search'],
439
+ [/\bWebFetch\b/g, 'web_fetch'],
440
+ [/\bNotebookEdit\b/g, 'edit_notebook'],
441
+ [/\bMonitor\b/g, 'monitor_process'],
442
+ [/\bPushNotification\b/g, 'push_notification'],
443
+ [/\bRemoteTrigger\b/g, 'remote_trigger'],
444
+ [/\bScheduleWakeup\b/g, 'schedule_wakeup'],
445
+ [/\bCronCreate\b/g, 'cron_create'],
446
+ [/\bCronDelete\b/g, 'cron_delete'],
447
+ [/\bCronList\b/g, 'cron_list'],
448
+ [/\bToolSearch\b/g, 'tool_search'],
449
+ [/\bShareOnboardingGuide\b/g, 'share_onboarding_guide'],
450
+ [/\bTeamCreate\b/g, 'create_team'],
451
+ [/\bTeamDelete\b/g, 'delete_team'],
452
+ [/\bLSP\b/g, 'lsp'],
453
+ [/\bListMcpResourcesTool\b/g, 'list_mcp_resources'],
454
+ [/\bReadMcpResourceTool\b/g, 'read_mcp_resource'],
455
+ [/\bRead\s*\(/g, 'read_file('],
456
+ [/\bWrite\s*\(/g, 'write_file('],
457
+ [/\bEdit\s*\(/g, 'edit_file('],
458
+ [/\bBash\s*\(/g, 'shell('],
459
+ [/\bGrep\s*\(/g, 'search('],
460
+ [/\bGlob\s*\(/g, 'find_files('],
461
+ [/\bAgent\s*\(/g, 'delegate_subagent('],
462
+ [/\bSkill\s*\(/g, 'invoke_skill('],
463
+ [/\bPowerShell\s*\(/g, 'shell('],
464
+ ],
465
+ frontmatterToolMap: {
466
+ AskUserQuestion: 'ask_user',
467
+ SendMessage: 'send_message',
468
+ ExitPlanMode: 'exit_plan_mode',
469
+ ExitWorktree: 'exit_worktree',
470
+ EnterPlanMode: 'enter_plan_mode',
471
+ EnterWorktree: 'enter_worktree',
472
+ TodoWrite: 'track_tasks',
473
+ TaskCreate: 'create_task',
474
+ TaskUpdate: 'update_task',
475
+ TaskList: 'list_tasks',
476
+ TaskGet: 'get_task',
477
+ WebSearch: 'web_search',
478
+ WebFetch: 'web_fetch',
479
+ NotebookEdit: 'edit_notebook',
480
+ Monitor: 'monitor_process',
481
+ PushNotification: 'push_notification',
482
+ RemoteTrigger: 'remote_trigger',
483
+ ScheduleWakeup: 'schedule_wakeup',
484
+ CronCreate: 'cron_create',
485
+ CronDelete: 'cron_delete',
486
+ CronList: 'cron_list',
487
+ ToolSearch: 'tool_search',
488
+ TeamCreate: 'create_team',
489
+ TeamDelete: 'delete_team',
490
+ Read: 'read_file',
491
+ Write: 'write_file',
492
+ Edit: 'edit_file',
493
+ Bash: 'shell',
494
+ PowerShell: 'shell',
495
+ Grep: 'search',
496
+ Glob: 'find_files',
497
+ Agent: 'delegate_subagent',
498
+ Skill: 'invoke_skill',
499
+ },
500
+ removedTools: new Set(),
501
+ subagentTools: [],
502
+ rewriteAgentCalls: false,
503
+ rewriteSkillCalls: false,
504
+ snakeCaseUnknown: true,
505
+ };
506
+ // ---------------------------------------------------------------------------
507
+ // Partial tree builders — skills-only and agents-only
508
+ // ---------------------------------------------------------------------------
509
+ function buildSkillsOnly(claudeDir, targetSkillsDir, profile, convertFn) {
510
+ const commandsDir = join(claudeDir, 'commands');
511
+ const skillsDir = join(claudeDir, 'skills');
512
+ const stats = { commands: 0, skills: 0, agents: 0, files: 0 };
513
+ // commands/*.md → targetSkillsDir/<name>/SKILL.md
514
+ if (existsSync(commandsDir)) {
515
+ for (const entry of readdirSync(commandsDir, { withFileTypes: true })) {
516
+ if (!entry.isFile() || !entry.name.endsWith('.md'))
517
+ continue;
518
+ const name = entry.name.replace(/\.md$/, '');
519
+ const src = join(commandsDir, entry.name);
520
+ const destDir = join(targetSkillsDir, name);
521
+ const dest = join(destDir, 'SKILL.md');
522
+ ensureDir(destDir);
523
+ const out = convertFn(readFileSync(src, 'utf8'), profile, true);
524
+ writeFileSync(dest, out, 'utf8');
525
+ stats.commands++;
526
+ stats.files++;
527
+ }
528
+ }
529
+ // skills/<name>/ → targetSkillsDir/<name>/ (recursive)
530
+ if (existsSync(skillsDir)) {
531
+ for (const entry of readdirSync(skillsDir, { withFileTypes: true })) {
532
+ if (!entry.isDirectory())
533
+ continue;
534
+ const srcRoot = join(skillsDir, entry.name);
535
+ const destRoot = join(targetSkillsDir, entry.name);
536
+ for (const fp of walkFiles(srcRoot)) {
537
+ const rel = relative(srcRoot, fp);
538
+ const dest = join(destRoot, rel);
539
+ ensureDir(dirname(dest));
540
+ if (fp.endsWith('.md')) {
541
+ const out = convertFn(readFileSync(fp, 'utf8'), profile, true);
542
+ writeFileSync(dest, out, 'utf8');
543
+ }
544
+ else {
545
+ writeFileSync(dest, readFileSync(fp));
546
+ }
547
+ stats.files++;
548
+ }
549
+ stats.skills++;
550
+ }
551
+ }
552
+ return stats;
553
+ }
554
+ function buildAgentsOnly(claudeDir, targetAgentsDir, profile, convertFn) {
555
+ const agentsDir = join(claudeDir, 'agents');
556
+ const stats = { commands: 0, skills: 0, agents: 0, files: 0 };
557
+ if (existsSync(agentsDir)) {
558
+ for (const entry of readdirSync(agentsDir, { withFileTypes: true })) {
559
+ if (!entry.isFile() || !entry.name.endsWith('.md'))
560
+ continue;
561
+ const src = join(agentsDir, entry.name);
562
+ const dest = join(targetAgentsDir, entry.name);
563
+ ensureDir(dirname(dest));
564
+ const out = convertFn(readFileSync(src, 'utf8'), profile, false);
565
+ writeFileSync(dest, out, 'utf8');
566
+ stats.agents++;
567
+ stats.files++;
568
+ }
569
+ }
570
+ return stats;
571
+ }
572
+ // ---------------------------------------------------------------------------
573
+ // Public API
574
+ // ---------------------------------------------------------------------------
575
+ export function buildAgyTree(claudeDir, targetSkillsDir, targetAgentsDir) {
576
+ return buildTree(claudeDir, targetSkillsDir, targetAgentsDir, AGY_PROFILE, convertTextAgy);
577
+ }
578
+ export function buildAgentsStandardTree(claudeDir, targetSkillsDir, targetAgentsDir) {
579
+ return buildTree(claudeDir, targetSkillsDir, targetAgentsDir, AGENTS_STANDARD_PROFILE, convertTextStandard);
580
+ }
581
+ // ---------------------------------------------------------------------------
582
+ // Per-component build functions — called from ComponentDef.build callbacks.
583
+ // Each builds only the skills or agents portion for its component.
584
+ // ---------------------------------------------------------------------------
585
+ /** Build agy skills (commands + skills) only — no agents. */
586
+ export function buildAgySkills(claudeDir, targetDir) {
587
+ const stats = buildSkillsOnly(claudeDir, targetDir, AGY_PROFILE, convertTextAgy);
588
+ return { files: stats.files };
589
+ }
590
+ /** Build agy agents only — no skills/commands. */
591
+ export function buildAgyAgents(claudeDir, targetDir) {
592
+ const stats = buildAgentsOnly(claudeDir, targetDir, AGY_PROFILE, convertTextAgy);
593
+ return { files: stats.files };
594
+ }
595
+ /** Build agents-standard skills (commands + skills) only — no agents. */
596
+ export function buildAgentsStandardSkills(claudeDir, targetDir) {
597
+ const stats = buildSkillsOnly(claudeDir, targetDir, AGENTS_STANDARD_PROFILE, convertTextStandard);
598
+ return { files: stats.files };
599
+ }
600
+ /** Build agents-standard agents only — no skills/commands. */
601
+ export function buildAgentsStandardAgents(claudeDir, targetDir) {
602
+ const stats = buildAgentsOnly(claudeDir, targetDir, AGENTS_STANDARD_PROFILE, convertTextStandard);
603
+ return { files: stats.files };
604
+ }
605
+ //# sourceMappingURL=skill-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-converter.js","sourceRoot":"","sources":["../../../src/core/skill-converter.ts"],"names":[],"mappings":"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"}