@iloom/cli 0.11.1 → 0.13.0-beta.0

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 (290) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +170 -15
  3. package/dist/BitBucketApiClient-J2ZSCS5N.js +10 -0
  4. package/dist/BitBucketVCSProvider-5X64IXXW.js +12 -0
  5. package/dist/{BranchNamingService-XBCO747L.js → BranchNamingService-MEK2WZUD.js} +4 -4
  6. package/dist/ClaudeContextManager-RRGREEZQ.js +14 -0
  7. package/dist/ClaudeService-LEPW6QAC.js +13 -0
  8. package/dist/GitHubService-UTAYZXL3.js +12 -0
  9. package/dist/IssueTrackerFactory-KE2BDCLC.js +15 -0
  10. package/dist/{LoomLauncher-5AZU2F5I.js → LoomLauncher-GKQMR5E6.js} +10 -10
  11. package/dist/MetadataManager-V4LSJ2PB.js +10 -0
  12. package/dist/ProjectCapabilityDetector-I4J66WKF.js +11 -0
  13. package/dist/{PromptTemplateManager-T5VTLJP3.js → PromptTemplateManager-I75WKXM4.js} +3 -3
  14. package/dist/README.md +170 -15
  15. package/dist/{SettingsManager-WQ5NSGAH.js → SettingsManager-KQU7OX7G.js} +15 -5
  16. package/dist/SettingsMigrationManager-ZPARZ5KH.js +10 -0
  17. package/dist/agents/iloom-code-reviewer.md +2 -1
  18. package/dist/agents/iloom-framework-detector.md +0 -1
  19. package/dist/agents/iloom-issue-analyze-and-plan.md +4 -1
  20. package/dist/agents/iloom-issue-analyzer.md +4 -1
  21. package/dist/agents/iloom-issue-complexity-evaluator.md +4 -1
  22. package/dist/agents/iloom-issue-enhancer.md +4 -1
  23. package/dist/agents/iloom-issue-implementer.md +5 -2
  24. package/dist/agents/iloom-issue-planner.md +4 -1
  25. package/dist/agents/iloom-wave-verifier.md +186 -0
  26. package/dist/browser-VZY7F2DF.js +10 -0
  27. package/dist/build-V3KADFMO.js +27 -0
  28. package/dist/{chunk-XXFSOVL3.js → chunk-3XEXT35Z.js} +4 -4
  29. package/dist/{chunk-YRCEOQPX.js → chunk-4JZEQBWV.js} +4 -3
  30. package/dist/chunk-4JZEQBWV.js.map +1 -0
  31. package/dist/{chunk-LE2NOUTN.js → chunk-4VQXMEEP.js} +3 -3
  32. package/dist/{chunk-G2MNSPA4.js → chunk-772N5WCA.js} +2 -2
  33. package/dist/{chunk-WG4MLJ6J.js → chunk-7RCUWU3I.js} +2 -2
  34. package/dist/chunk-7RCUWU3I.js.map +1 -0
  35. package/dist/{chunk-NOMQ5RFG.js → chunk-7UBEHQTP.js} +2 -2
  36. package/dist/{chunk-7NFCGKZT.js → chunk-AQUSMNBF.js} +3 -3
  37. package/dist/{chunk-IDCE26KD.js → chunk-AUYSAMXV.js} +3 -3
  38. package/dist/chunk-AYLC633W.js +406 -0
  39. package/dist/chunk-AYLC633W.js.map +1 -0
  40. package/dist/{chunk-QVAA5KHK.js → chunk-BZ7KTXPB.js} +16 -8
  41. package/dist/chunk-BZ7KTXPB.js.map +1 -0
  42. package/dist/{chunk-K7R5QY6C.js → chunk-CE676WCN.js} +2 -2
  43. package/dist/{chunk-5UFGO4ZT.js → chunk-CQHHEW2M.js} +6 -3
  44. package/dist/chunk-CQHHEW2M.js.map +1 -0
  45. package/dist/{chunk-LHDD4JHC.js → chunk-D4Q7T5KD.js} +4 -4
  46. package/dist/{chunk-RBYTXYGD.js → chunk-D75KSI3V.js} +2 -2
  47. package/dist/{chunk-Y3RX7LZT.js → chunk-DDHWZNGL.js} +18 -12
  48. package/dist/chunk-DDHWZNGL.js.map +1 -0
  49. package/dist/{chunk-5LTID2AF.js → chunk-DMSL5BAP.js} +35 -6
  50. package/dist/{chunk-5LTID2AF.js.map → chunk-DMSL5BAP.js.map} +1 -1
  51. package/dist/{chunk-SQYHPBFP.js → chunk-EGNUOALL.js} +2 -2
  52. package/dist/{chunk-ZAXRQLK3.js → chunk-FTYWGQFM.js} +2 -2
  53. package/dist/{chunk-5PNZBH6V.js → chunk-H3T3EPF3.js} +2 -2
  54. package/dist/{chunk-VNYWBHKR.js → chunk-JD3K2344.js} +3 -3
  55. package/dist/{chunk-6YVJVUR4.js → chunk-JDN4SPV3.js} +3 -3
  56. package/dist/{chunk-NCPZYQ4B.js → chunk-K3QGG4O2.js} +2 -2
  57. package/dist/{chunk-ABVMUNCD.js → chunk-KQSV7FOG.js} +64 -10
  58. package/dist/chunk-KQSV7FOG.js.map +1 -0
  59. package/dist/{chunk-NH3QZYE5.js → chunk-KV4NU3RP.js} +2 -2
  60. package/dist/{chunk-NDSGJZI2.js → chunk-LOAYWTJJ.js} +2 -2
  61. package/dist/{chunk-GMDSYLI6.js → chunk-MY2Q3FJ3.js} +2 -2
  62. package/dist/{chunk-CV47VCMQ.js → chunk-NPVA65KS.js} +2 -2
  63. package/dist/{chunk-RMLADZRY.js → chunk-NTDY5AMO.js} +5 -5
  64. package/dist/{chunk-UHIBKD73.js → chunk-NUUFP53X.js} +13 -32
  65. package/dist/{chunk-UHIBKD73.js.map → chunk-NUUFP53X.js.map} +1 -1
  66. package/dist/{chunk-7OCGBJLR.js → chunk-OIVFHJOA.js} +2 -2
  67. package/dist/chunk-P5MXXHXQ.js +284 -0
  68. package/dist/chunk-P5MXXHXQ.js.map +1 -0
  69. package/dist/{chunk-TEJAGQX2.js → chunk-PD75ZCFT.js} +35 -35
  70. package/dist/chunk-PD75ZCFT.js.map +1 -0
  71. package/dist/{chunk-NN5RYWXA.js → chunk-PH65MFQM.js} +6 -6
  72. package/dist/{chunk-LL6TOX3G.js → chunk-Q7VXHJP6.js} +10 -10
  73. package/dist/chunk-Q7VXHJP6.js.map +1 -0
  74. package/dist/chunk-QC65IOV3.js +304 -0
  75. package/dist/chunk-QC65IOV3.js.map +1 -0
  76. package/dist/{chunk-V4STTBQD.js → chunk-QED2WB2D.js} +9 -9
  77. package/dist/{chunk-3RXYOBME.js → chunk-QNPJXO53.js} +5 -5
  78. package/dist/{chunk-3RXYOBME.js.map → chunk-QNPJXO53.js.map} +1 -1
  79. package/dist/chunk-QQULYI2S.js +696 -0
  80. package/dist/chunk-QQULYI2S.js.map +1 -0
  81. package/dist/{chunk-QNHZM5ZV.js → chunk-QXGM32TO.js} +3 -3
  82. package/dist/{chunk-TZNNJLGT.js → chunk-RFCAPHL5.js} +6 -6
  83. package/dist/{chunk-7FIXNAUO.js → chunk-SA446KA2.js} +66 -43
  84. package/dist/chunk-SA446KA2.js.map +1 -0
  85. package/dist/{chunk-UDCI3QTS.js → chunk-SN4S5CWL.js} +2 -2
  86. package/dist/{chunk-VUUN3KE4.js → chunk-TAEVA4QR.js} +8 -8
  87. package/dist/chunk-TAEVA4QR.js.map +1 -0
  88. package/dist/{chunk-IR74O2F6.js → chunk-TN2D2RX7.js} +253 -174
  89. package/dist/chunk-TN2D2RX7.js.map +1 -0
  90. package/dist/{chunk-3GTUXW26.js → chunk-VIQOQ463.js} +19 -3
  91. package/dist/chunk-VIQOQ463.js.map +1 -0
  92. package/dist/{chunk-H2SSF24U.js → chunk-VRPPI6GU.js} +17 -6
  93. package/dist/{chunk-H2SSF24U.js.map → chunk-VRPPI6GU.js.map} +1 -1
  94. package/dist/{chunk-XFQGI2E3.js → chunk-VVQQIG64.js} +58 -53
  95. package/dist/chunk-VVQQIG64.js.map +1 -0
  96. package/dist/{chunk-YETJNRQM.js → chunk-WEBMMJKL.js} +2 -1
  97. package/dist/{chunk-ET6A2JR4.js → chunk-WGUGB54H.js} +120 -18
  98. package/dist/chunk-WGUGB54H.js.map +1 -0
  99. package/dist/{chunk-QR4FU53I.js → chunk-X5DRLONY.js} +22 -12
  100. package/dist/chunk-X5DRLONY.js.map +1 -0
  101. package/dist/{chunk-KQFIGI37.js → chunk-XCP2WDYA.js} +7 -7
  102. package/dist/{chunk-VMZG66UV.js → chunk-YUOVWWJX.js} +312 -7
  103. package/dist/chunk-YUOVWWJX.js.map +1 -0
  104. package/dist/{chunk-HLDY5S4C.js → chunk-ZUIFO7B4.js} +3 -3
  105. package/dist/{claude-ONQTDWV3.js → claude-ACL7G4CF.js} +4 -4
  106. package/dist/{cleanup-YOM6PQCN.js → cleanup-RJKLI47I.js} +40 -37
  107. package/dist/cleanup-RJKLI47I.js.map +1 -0
  108. package/dist/cli.js +322 -169
  109. package/dist/cli.js.map +1 -1
  110. package/dist/{color-VQD52LOI.js → color-AC6F2QE7.js} +3 -3
  111. package/dist/{commit-DC2Q5CDY.js → commit-SUHRUMDE.js} +15 -15
  112. package/dist/{compile-4NCQECKE.js → compile-2MD346PO.js} +11 -11
  113. package/dist/{contribute-M5UWXCAV.js → contribute-P4BMRY7C.js} +11 -11
  114. package/dist/{contribute-M5UWXCAV.js.map → contribute-P4BMRY7C.js.map} +1 -1
  115. package/dist/{mcp/darwin-3JFFE3W2.js → darwin-5K3I4FTH.js} +2 -2
  116. package/dist/database-helpers-PRDFNDRO.js +11 -0
  117. package/dist/{dev-server-CYRP6M73.js → dev-server-ZNTLWOL5.js} +35 -21
  118. package/dist/dev-server-ZNTLWOL5.js.map +1 -0
  119. package/dist/{feedback-BMAZGKRW.js → feedback-Q6WG2WX4.js} +17 -17
  120. package/dist/{git-BXUD6CL5.js → git-TX2IEMB3.js} +6 -6
  121. package/dist/ignite-P644W2PK.js +35 -0
  122. package/dist/index.d.ts +236 -18
  123. package/dist/index.js +180 -63
  124. package/dist/index.js.map +1 -1
  125. package/dist/{init-CI43GJHV.js → init-5HFY7JG6.js} +18 -18
  126. package/dist/{install-deps-SRTM5U7D.js → install-deps-J4ALTM27.js} +11 -11
  127. package/dist/{installation-detector-HF6QN7KP.js → installation-detector-PYAZ2O6U.js} +3 -3
  128. package/dist/{issues-DMRQJH7E.js → issues-LZMIF22U.js} +69 -56
  129. package/dist/issues-LZMIF22U.js.map +1 -0
  130. package/dist/lint-XIXKU22H.js +27 -0
  131. package/dist/{linux-RYLOP2LY.js → linux-WUGRYCJY.js} +2 -2
  132. package/dist/mcp/{chunk-PIIRD4LO.js → chunk-4HZMW2V3.js} +1 -1
  133. package/dist/mcp/{chunk-PIIRD4LO.js.map → chunk-4HZMW2V3.js.map} +1 -1
  134. package/dist/{darwin-5BHWRJ7D.js → mcp/darwin-U25WIGH6.js} +2 -2
  135. package/dist/mcp/issue-management-server.js +908 -20
  136. package/dist/mcp/issue-management-server.js.map +1 -1
  137. package/dist/mcp/{linux-JBVS4R3A.js → linux-5BXVBGSY.js} +2 -2
  138. package/dist/mcp/recap-server.js +24 -22
  139. package/dist/mcp/recap-server.js.map +1 -1
  140. package/dist/mcp/{tmux-RYBLEHUZ.js → tmux-CU26ZTNM.js} +2 -2
  141. package/dist/mcp/{wsl-4QZIQLLE.js → wsl-KI25UDOF.js} +2 -2
  142. package/dist/{open-2Y7GSUTJ.js → open-KUO35JIJ.js} +36 -21
  143. package/dist/open-KUO35JIJ.js.map +1 -0
  144. package/dist/{plan-SWFPLNJE.js → plan-7CF56OIR.js} +47 -43
  145. package/dist/{plan-SWFPLNJE.js.map → plan-7CF56OIR.js.map} +1 -1
  146. package/dist/{projects-IUSUXD5D.js → projects-L5AHUBGA.js} +6 -6
  147. package/dist/{prompt-7LZB4PAT.js → prompt-FUU5NMJQ.js} +3 -3
  148. package/dist/prompt-FUU5NMJQ.js.map +1 -0
  149. package/dist/prompts/init-prompt.txt +184 -23
  150. package/dist/prompts/issue-prompt.txt +94 -158
  151. package/dist/prompts/plan-prompt.txt +55 -0
  152. package/dist/prompts/regular-prompt.txt +1 -1
  153. package/dist/prompts/swarm-orchestrator-prompt.txt +78 -21
  154. package/dist/{rebase-S6OHAOOF.js → rebase-MAMWPA2L.js} +12 -12
  155. package/dist/{recap-GGVCG5VH.js → recap-IDBO3KM5.js} +9 -9
  156. package/dist/{remote-MZTFHHTU.js → remote-RO4LZKT2.js} +3 -3
  157. package/dist/remote-RO4LZKT2.js.map +1 -0
  158. package/dist/{run-ST3FR75O.js → run-RGZHCQ6M.js} +36 -21
  159. package/dist/run-RGZHCQ6M.js.map +1 -0
  160. package/dist/schema/settings.schema.json +171 -11
  161. package/dist/{shell-W4SBQPTE.js → shell-7ADCDFIV.js} +8 -8
  162. package/dist/{summary-P2JCIIJO.js → summary-7J2HORFD.js} +21 -19
  163. package/dist/summary-7J2HORFD.js.map +1 -0
  164. package/dist/test-SRB7EWU6.js +27 -0
  165. package/dist/{test-git-2KFFAQ6B.js → test-git-G7ATVIXG.js} +6 -6
  166. package/dist/{test-jira-FKDKG6CD.js → test-jira-Q2HPA522.js} +8 -8
  167. package/dist/{test-prefix-GP2DAX37.js → test-prefix-JMDGXR5A.js} +6 -6
  168. package/dist/{test-tabs-YDWMWTVA.js → test-tabs-NGPTFD5T.js} +2 -2
  169. package/dist/{test-webserver-QI3QQFZ3.js → test-webserver-GZFVXBGD.js} +8 -8
  170. package/dist/{tmux-7ZTA3BDI.js → tmux-6LRFH3DM.js} +2 -2
  171. package/dist/{update-XLW7R7FL.js → update-AD3GE5C4.js} +4 -4
  172. package/dist/{update-notifier-EYLAXZAA.js → update-notifier-VYDTDMSJ.js} +3 -3
  173. package/dist/update-notifier-VYDTDMSJ.js.map +1 -0
  174. package/dist/{vscode-TOGE5N67.js → vscode-3I7ISHUU.js} +12 -12
  175. package/dist/{vscode-announcement-NIX7O2MG.js → vscode-announcement-AL3EHORH.js} +3 -3
  176. package/dist/{wsl-Y4GUTOQ7.js → wsl-4VMVT2PO.js} +2 -2
  177. package/package.json +1 -1
  178. package/dist/ClaudeContextManager-SXDCWDJA.js +0 -14
  179. package/dist/ClaudeService-6E6MCGJE.js +0 -13
  180. package/dist/GitHubService-2R5GQG4K.js +0 -12
  181. package/dist/IssueTrackerFactory-XN6MQ4UN.js +0 -14
  182. package/dist/MetadataManager-CMQQTFLQ.js +0 -10
  183. package/dist/ProjectCapabilityDetector-IC6NAFGY.js +0 -11
  184. package/dist/SettingsMigrationManager-S6J7OHUH.js +0 -10
  185. package/dist/build-OLS6J5KZ.js +0 -27
  186. package/dist/chunk-3GTUXW26.js.map +0 -1
  187. package/dist/chunk-5UFGO4ZT.js.map +0 -1
  188. package/dist/chunk-7FIXNAUO.js.map +0 -1
  189. package/dist/chunk-ABVMUNCD.js.map +0 -1
  190. package/dist/chunk-ET6A2JR4.js.map +0 -1
  191. package/dist/chunk-IR74O2F6.js.map +0 -1
  192. package/dist/chunk-LL6TOX3G.js.map +0 -1
  193. package/dist/chunk-QR4FU53I.js.map +0 -1
  194. package/dist/chunk-QVAA5KHK.js.map +0 -1
  195. package/dist/chunk-RVI6C2H5.js +0 -220
  196. package/dist/chunk-RVI6C2H5.js.map +0 -1
  197. package/dist/chunk-TEJAGQX2.js.map +0 -1
  198. package/dist/chunk-VMZG66UV.js.map +0 -1
  199. package/dist/chunk-VUUN3KE4.js.map +0 -1
  200. package/dist/chunk-WG4MLJ6J.js.map +0 -1
  201. package/dist/chunk-XFQGI2E3.js.map +0 -1
  202. package/dist/chunk-Y3RX7LZT.js.map +0 -1
  203. package/dist/chunk-YRCEOQPX.js.map +0 -1
  204. package/dist/cleanup-YOM6PQCN.js.map +0 -1
  205. package/dist/dev-server-CYRP6M73.js.map +0 -1
  206. package/dist/ignite-IO4LXVXJ.js +0 -35
  207. package/dist/issues-DMRQJH7E.js.map +0 -1
  208. package/dist/lint-BSWRMGPZ.js +0 -27
  209. package/dist/neon-helpers-HWIYRKOW.js +0 -11
  210. package/dist/open-2Y7GSUTJ.js.map +0 -1
  211. package/dist/run-ST3FR75O.js.map +0 -1
  212. package/dist/summary-P2JCIIJO.js.map +0 -1
  213. package/dist/test-6JH4FE2X.js +0 -27
  214. /package/dist/{BranchNamingService-XBCO747L.js.map → BitBucketApiClient-J2ZSCS5N.js.map} +0 -0
  215. /package/dist/{ClaudeContextManager-SXDCWDJA.js.map → BitBucketVCSProvider-5X64IXXW.js.map} +0 -0
  216. /package/dist/{ClaudeService-6E6MCGJE.js.map → BranchNamingService-MEK2WZUD.js.map} +0 -0
  217. /package/dist/{GitHubService-2R5GQG4K.js.map → ClaudeContextManager-RRGREEZQ.js.map} +0 -0
  218. /package/dist/{IssueTrackerFactory-XN6MQ4UN.js.map → ClaudeService-LEPW6QAC.js.map} +0 -0
  219. /package/dist/{MetadataManager-CMQQTFLQ.js.map → GitHubService-UTAYZXL3.js.map} +0 -0
  220. /package/dist/{ProjectCapabilityDetector-IC6NAFGY.js.map → IssueTrackerFactory-KE2BDCLC.js.map} +0 -0
  221. /package/dist/{LoomLauncher-5AZU2F5I.js.map → LoomLauncher-GKQMR5E6.js.map} +0 -0
  222. /package/dist/{PromptTemplateManager-T5VTLJP3.js.map → MetadataManager-V4LSJ2PB.js.map} +0 -0
  223. /package/dist/{SettingsManager-WQ5NSGAH.js.map → ProjectCapabilityDetector-I4J66WKF.js.map} +0 -0
  224. /package/dist/{SettingsMigrationManager-S6J7OHUH.js.map → PromptTemplateManager-I75WKXM4.js.map} +0 -0
  225. /package/dist/{claude-ONQTDWV3.js.map → SettingsManager-KQU7OX7G.js.map} +0 -0
  226. /package/dist/{color-VQD52LOI.js.map → SettingsMigrationManager-ZPARZ5KH.js.map} +0 -0
  227. /package/dist/{darwin-5BHWRJ7D.js.map → browser-VZY7F2DF.js.map} +0 -0
  228. /package/dist/{build-OLS6J5KZ.js.map → build-V3KADFMO.js.map} +0 -0
  229. /package/dist/{chunk-XXFSOVL3.js.map → chunk-3XEXT35Z.js.map} +0 -0
  230. /package/dist/{chunk-LE2NOUTN.js.map → chunk-4VQXMEEP.js.map} +0 -0
  231. /package/dist/{chunk-G2MNSPA4.js.map → chunk-772N5WCA.js.map} +0 -0
  232. /package/dist/{chunk-NOMQ5RFG.js.map → chunk-7UBEHQTP.js.map} +0 -0
  233. /package/dist/{chunk-7NFCGKZT.js.map → chunk-AQUSMNBF.js.map} +0 -0
  234. /package/dist/{chunk-IDCE26KD.js.map → chunk-AUYSAMXV.js.map} +0 -0
  235. /package/dist/{chunk-K7R5QY6C.js.map → chunk-CE676WCN.js.map} +0 -0
  236. /package/dist/{chunk-LHDD4JHC.js.map → chunk-D4Q7T5KD.js.map} +0 -0
  237. /package/dist/{chunk-RBYTXYGD.js.map → chunk-D75KSI3V.js.map} +0 -0
  238. /package/dist/{chunk-SQYHPBFP.js.map → chunk-EGNUOALL.js.map} +0 -0
  239. /package/dist/{chunk-ZAXRQLK3.js.map → chunk-FTYWGQFM.js.map} +0 -0
  240. /package/dist/{chunk-5PNZBH6V.js.map → chunk-H3T3EPF3.js.map} +0 -0
  241. /package/dist/{chunk-VNYWBHKR.js.map → chunk-JD3K2344.js.map} +0 -0
  242. /package/dist/{chunk-6YVJVUR4.js.map → chunk-JDN4SPV3.js.map} +0 -0
  243. /package/dist/{chunk-NCPZYQ4B.js.map → chunk-K3QGG4O2.js.map} +0 -0
  244. /package/dist/{chunk-NH3QZYE5.js.map → chunk-KV4NU3RP.js.map} +0 -0
  245. /package/dist/{chunk-NDSGJZI2.js.map → chunk-LOAYWTJJ.js.map} +0 -0
  246. /package/dist/{chunk-GMDSYLI6.js.map → chunk-MY2Q3FJ3.js.map} +0 -0
  247. /package/dist/{chunk-CV47VCMQ.js.map → chunk-NPVA65KS.js.map} +0 -0
  248. /package/dist/{chunk-RMLADZRY.js.map → chunk-NTDY5AMO.js.map} +0 -0
  249. /package/dist/{chunk-7OCGBJLR.js.map → chunk-OIVFHJOA.js.map} +0 -0
  250. /package/dist/{chunk-NN5RYWXA.js.map → chunk-PH65MFQM.js.map} +0 -0
  251. /package/dist/{chunk-V4STTBQD.js.map → chunk-QED2WB2D.js.map} +0 -0
  252. /package/dist/{chunk-QNHZM5ZV.js.map → chunk-QXGM32TO.js.map} +0 -0
  253. /package/dist/{chunk-TZNNJLGT.js.map → chunk-RFCAPHL5.js.map} +0 -0
  254. /package/dist/{chunk-UDCI3QTS.js.map → chunk-SN4S5CWL.js.map} +0 -0
  255. /package/dist/{chunk-YETJNRQM.js.map → chunk-WEBMMJKL.js.map} +0 -0
  256. /package/dist/{chunk-KQFIGI37.js.map → chunk-XCP2WDYA.js.map} +0 -0
  257. /package/dist/{chunk-HLDY5S4C.js.map → chunk-ZUIFO7B4.js.map} +0 -0
  258. /package/dist/{git-BXUD6CL5.js.map → claude-ACL7G4CF.js.map} +0 -0
  259. /package/dist/{ignite-IO4LXVXJ.js.map → color-AC6F2QE7.js.map} +0 -0
  260. /package/dist/{commit-DC2Q5CDY.js.map → commit-SUHRUMDE.js.map} +0 -0
  261. /package/dist/{compile-4NCQECKE.js.map → compile-2MD346PO.js.map} +0 -0
  262. /package/dist/{installation-detector-HF6QN7KP.js.map → darwin-5K3I4FTH.js.map} +0 -0
  263. /package/dist/{mcp/darwin-3JFFE3W2.js.map → database-helpers-PRDFNDRO.js.map} +0 -0
  264. /package/dist/{feedback-BMAZGKRW.js.map → feedback-Q6WG2WX4.js.map} +0 -0
  265. /package/dist/{neon-helpers-HWIYRKOW.js.map → git-TX2IEMB3.js.map} +0 -0
  266. /package/dist/{prompt-7LZB4PAT.js.map → ignite-P644W2PK.js.map} +0 -0
  267. /package/dist/{init-CI43GJHV.js.map → init-5HFY7JG6.js.map} +0 -0
  268. /package/dist/{install-deps-SRTM5U7D.js.map → install-deps-J4ALTM27.js.map} +0 -0
  269. /package/dist/{remote-MZTFHHTU.js.map → installation-detector-PYAZ2O6U.js.map} +0 -0
  270. /package/dist/{lint-BSWRMGPZ.js.map → lint-XIXKU22H.js.map} +0 -0
  271. /package/dist/{linux-RYLOP2LY.js.map → linux-WUGRYCJY.js.map} +0 -0
  272. /package/dist/{update-notifier-EYLAXZAA.js.map → mcp/darwin-U25WIGH6.js.map} +0 -0
  273. /package/dist/mcp/{linux-JBVS4R3A.js.map → linux-5BXVBGSY.js.map} +0 -0
  274. /package/dist/mcp/{tmux-RYBLEHUZ.js.map → tmux-CU26ZTNM.js.map} +0 -0
  275. /package/dist/mcp/{wsl-4QZIQLLE.js.map → wsl-KI25UDOF.js.map} +0 -0
  276. /package/dist/{projects-IUSUXD5D.js.map → projects-L5AHUBGA.js.map} +0 -0
  277. /package/dist/{rebase-S6OHAOOF.js.map → rebase-MAMWPA2L.js.map} +0 -0
  278. /package/dist/{recap-GGVCG5VH.js.map → recap-IDBO3KM5.js.map} +0 -0
  279. /package/dist/{shell-W4SBQPTE.js.map → shell-7ADCDFIV.js.map} +0 -0
  280. /package/dist/{test-6JH4FE2X.js.map → test-SRB7EWU6.js.map} +0 -0
  281. /package/dist/{test-git-2KFFAQ6B.js.map → test-git-G7ATVIXG.js.map} +0 -0
  282. /package/dist/{test-jira-FKDKG6CD.js.map → test-jira-Q2HPA522.js.map} +0 -0
  283. /package/dist/{test-prefix-GP2DAX37.js.map → test-prefix-JMDGXR5A.js.map} +0 -0
  284. /package/dist/{test-tabs-YDWMWTVA.js.map → test-tabs-NGPTFD5T.js.map} +0 -0
  285. /package/dist/{test-webserver-QI3QQFZ3.js.map → test-webserver-GZFVXBGD.js.map} +0 -0
  286. /package/dist/{tmux-7ZTA3BDI.js.map → tmux-6LRFH3DM.js.map} +0 -0
  287. /package/dist/{update-XLW7R7FL.js.map → update-AD3GE5C4.js.map} +0 -0
  288. /package/dist/{vscode-TOGE5N67.js.map → vscode-3I7ISHUU.js.map} +0 -0
  289. /package/dist/{vscode-announcement-NIX7O2MG.js.map → vscode-announcement-AL3EHORH.js.map} +0 -0
  290. /package/dist/{wsl-Y4GUTOQ7.js.map → wsl-4VMVT2PO.js.map} +0 -0
@@ -1,27 +1,24 @@
1
1
  {{#if SWARM_MODE}}
2
- ## CRITICAL ROLE: YOU ARE A WORKFLOW ORCHESTRATOR
2
+ ## Swarm Mode: Skill-Based Execution
3
3
 
4
- You NEVER write code, read source files, grep source, or perform technical analysis. ALL of that work is delegated to sub-agents via `claude -p`.
4
+ You execute workflow phases by invoking skills via the Skill tool (/skill-name).
5
+ Each phase agent is available as a skill in your .claude/skills/ directory.
5
6
 
6
- **Your MANDATORY FIRST ACTION** is reading `.claude/iloom-swarm-mcp-config-path`. If you find yourself doing anything else first — STOP and correct course.
7
+ **Your MANDATORY FIRST ACTION** is reading the issue details via MCP tools.
7
8
 
8
- **FORBIDDEN do not do any of these under any circumstances:**
9
- - Read or grep source code files
10
- - Write, edit, or modify any code files
11
- - Perform complexity evaluations yourself
12
- - Analyze code, bugs, or architecture yourself
13
- - Create or modify implementation plans yourself
14
- - Run tests or validate code yourself
9
+ **Skill invocation pattern:**
10
+ - Enhancement: /iloom-swarm-issue-enhancer "Enhance issue #ISSUE_NUMBER..."
11
+ - Complexity: /iloom-swarm-issue-complexity-evaluator "Evaluate complexity..."
12
+ - Analysis: /iloom-swarm-issue-analyzer "Analyze issue #ISSUE_NUMBER..."
13
+ - Planning: /iloom-swarm-issue-planner "Create implementation plan..."
14
+ - Analyze+Plan: /iloom-swarm-issue-analyze-and-plan "Analyze and plan..."
15
+ - Implementation: /iloom-swarm-issue-implementer "Implement the plan..."
16
+ - Code Review: /iloom-swarm-code-reviewer "Run code review."
17
+ - Artifact Review: /iloom-swarm-artifact-reviewer "Review this artifact..."
15
18
 
16
- If you are about to do any of the above STOP. Delegate it to the appropriate agent via `claude -p`.
19
+ Skills run inline in your context. Their output is directly available to you.
17
20
 
18
- **CRITICAL: Detailed task instructions are INPUTS, not orders to execute yourself.**
19
-
20
- Your task prompt may contain highly specific details: file paths, code snippets, parameter names, step-by-step instructions, or even a fully described implementation. **This does NOT mean you should implement it.** All of that is context to hand off to phase agents. Your job is to route it — not to do it.
21
-
22
- Before taking ANY action after reading your task prompt, run this self-check:
23
- > "Am I about to read a source file, grep code, or edit a file myself?"
24
- > If yes → STOP. That is forbidden. Go to your MANDATORY FIRST STEP below.
21
+ - **Working directory**: Your first action MUST be to `cd` to the worktree path provided in your invocation prompt. All subsequent work must happen in that directory.
25
22
 
26
23
  ---
27
24
 
@@ -84,9 +81,9 @@ Use these Recap MCP tools:
84
81
  **Self-check before adding:** If your entry mentions "enhancement", "complexity evaluation", "SIMPLE/COMPLEX", "word count", "skipping", or "phase" — it's process noise. Don't add it. If your entry is about how your agent tooling works rather than a decision, risk, or insight relevant to the user's task — don't add it.
85
82
 
86
83
  {{#if SWARM_MODE}}
87
- **Swarm Mode Recap**: When calling recap tools directly (not via sub-agents), you MUST pass `worktreePath: "{{WORKTREE_PATH}}"` on every recap call (`add_entry`, `add_artifact`, `set_complexity`, `set_loom_state`, `get_recap`). Without it, entries default to the epic's recap file instead of this child's recap. Sub-agents spawned via `claude -p` with `--mcp-config` have their own MCP server and do NOT need worktreePath.
84
+ **Swarm Mode Recap**: You MUST pass `worktreePath: "<your-worktree-path>"` on every recap call (`add_entry`, `add_artifact`, `set_complexity`, `set_loom_state`, `get_recap`). Use the worktree path from your invocation prompt. Without it, entries default to the epic's recap file instead of this child's recap. Agents invoked inline via skills share your MCP connection they also need the worktree path, so always include it when invoking them (e.g., prepend "Your worktree path is <path>" to skill prompts).
88
85
 
89
- **Artifact logging is mandatory.** Every time you or a delegated agent creates a comment on the issue, call `mcp__recap__add_artifact` with `{ type: "comment", primaryUrl: "<comment-url>", description: "<brief description>", worktreePath: "{{WORKTREE_PATH}}" }`. This keeps the recap panel up to date for the user.
86
+ **Artifact logging is mandatory.** Every time you or a delegated agent creates a comment on the issue, call `mcp__recap__add_artifact` with `{ type: "comment", primaryUrl: "<comment-url>", description: "<brief description>", worktreePath: "<your-worktree-path>" }`. This keeps the recap panel up to date for the user.
90
87
  {{/if}}
91
88
 
92
89
  ---
@@ -229,7 +226,7 @@ The `il` command can also be used as a shorter alias.
229
226
  ### Loom Isolation Features
230
227
  Each loom provides:
231
228
  - Dedicated Git worktree (no branch conflicts)
232
- - Unique database branch via Neon integration
229
+ - Unique database branch via database branching integration
233
230
  - Color-coded terminal/VS Code for visual context switching
234
231
  - Deterministic port assignment (3000 + issue number)
235
232
 
@@ -293,42 +290,12 @@ Since this is a first-time user:
293
290
 
294
291
  ### MANDATORY FIRST STEP — NO EXCEPTIONS
295
292
 
296
- Before ANY file reads, ANY source code inspection, ANY analysis, ANY coding:
297
-
298
- 1. `cd` to your worktree path (provided in the Task prompt)
299
- 2. Read `.claude/iloom-swarm-mcp-config-path` to get your MCP config path
300
- 3. Call `recap.set_loom_state({ state: "in_progress", worktreePath: "<your-worktree-path>" })`
301
- 4. Call `mcp__issue_management__get_issue` to read the full issue details
302
- 5. Run STEP 0 (workflow scan) to determine which phases are needed
303
-
304
- **VIOLATION:** If you find yourself reading source files, editing code, grepping source, or making technical assessments before completing all 5 steps above — STOP immediately and restart from step 1.
305
-
306
- **REMINDER:** If your task prompt contains specific implementation instructions (file names, code details, parameter changes, etc.) — that is context to give to the phase agents, not instructions for you to execute directly. Complete steps 1-5 above first, then delegate to the appropriate agents.
307
-
308
- ---
293
+ Before ANY other actions:
309
294
 
310
- ### CRITICAL: Delegation Rules
311
-
312
- **You are a workflow ORCHESTRATOR, not an implementer.** You MUST NOT:
313
- - Perform complexity evaluations yourself -- delegate to the complexity evaluator agent via `claude -p`
314
- - Analyze code or investigate issues yourself -- delegate to the analyzer agent via `claude -p`
315
- - Create implementation plans yourself -- delegate to the planner agent via `claude -p`
316
- - Write, edit, or modify any code files -- delegate to the implementer agent via `claude -p`
317
- - Enhance issue descriptions yourself -- delegate to the enhancer agent via `claude -p`
318
- - Review code yourself -- delegate to the code reviewer agent via `claude -p`
319
-
320
- **Your ONLY responsibilities are:**
321
- 1. Navigate to your child worktree
322
- 2. Read `.claude/iloom-swarm-mcp-config-path` to get the MCP config file path
323
- 3. Read the issue details via MCP tools
324
- 4. Perform the workflow scan (STEP 0) to determine which phases are needed -- but ONLY by checking if comments/artifacts already exist, NOT by analyzing complexity or code yourself
325
- 5. For each needed phase, invoke the appropriate agent via `claude -p` using the Bash tool
326
- 6. Parse the output from each `claude -p` call
327
- 7. Create and update the implementation progress comment (STEP 4, step 2)
328
- 8. Stage and commit changes after all phases complete
329
- 9. Report results back to the orchestrator
330
-
331
- **Every workflow phase MUST be executed via `claude -p`.** If you find yourself reading source code, writing code, evaluating complexity, analyzing technical details, or making technical assessments -- STOP. You are doing the wrong thing. Delegate it to the appropriate agent.
295
+ 1. `cd` to your assigned worktree path (from your invocation prompt)
296
+ 2. Call `recap.set_loom_state({ state: "in_progress", worktreePath: "<your-worktree-path>" })`
297
+ 3. Call `mcp__issue_management__get_issue` to read the full issue details
298
+ 4. Run STEP 0 (workflow scan) to determine which phases are needed
332
299
 
333
300
  ---
334
301
 
@@ -341,7 +308,7 @@ Your issue-specific context (issue number, worktree path, issue title, and issue
341
308
  ### Operating Rules
342
309
  - **Fully autonomous**: Do NOT pause for user input, call AskUserQuestion, or wait for human checkpoints
343
310
  - **Report results**: Post implementation comments on the issue as you would in the normal workflow. Also return results directly to the caller.
344
- - **Issue number**: Your issue number comes from the Task prompt. Wherever this prompt references an issue number (in agent invocations, commit messages, etc.), use the issue number from your Task prompt.
311
+ - **Issue number**: Your issue number comes from the Task prompt. Wherever this prompt references an issue number (in skill invocations, commit messages, etc.), use the issue number from your Task prompt.
345
312
  - **Worktree**: `cd` to the worktree path from the Task prompt before beginning work.
346
313
  - **Error handling**: Never silently swallow errors. Report failures with details back to the orchestrator.
347
314
 
@@ -369,105 +336,75 @@ Return structured result:
369
336
  **Steps Completed:** <list of completed steps>
370
337
  ```
371
338
 
372
- ### Invoking Phase Agents
373
-
374
- In swarm mode, phase agents are NOT invoked via @agent syntax (sub-agents cannot spawn sub-agents). Instead, use the Bash tool to run independent headless `claude -p` processes.
375
-
376
- **CRITICAL: You MUST prefix all `claude -p` commands with `env -u CLAUDECODE ENABLE_TOOL_SEARCH=auto:30` to unset the CLAUDECODE environment variable and enable deferred tool loading. Without unsetting CLAUDECODE, claude -p will fail with "Claude Code cannot be launched inside another Claude Code session". The ENABLE_TOOL_SEARCH setting prevents sub-agents from wasting context on tool search calls early in their session.**
339
+ ### Invoking Phase Skills
377
340
 
378
- **MCP Config:** Read the file `.claude/iloom-swarm-mcp-config-path` in your worktree. This file contains the absolute path to your per-loom MCP config file. Use this path with `--mcp-config <path>` in all `claude -p` commands.
341
+ In swarm mode, phase agents are invoked as skills via the /skill-name syntax.
342
+ Skills run inline in your context -- their output is directly available to you
343
+ without temp files or output parsing.
379
344
 
380
- **Command template:**
381
-
382
- Each `claude -p` call redirects its stream-json output to a temp file, then the result is extracted from that file. This keeps the worker's context window lean -- it only sees the extracted result text, not the full agent narrative.
383
-
384
- ```bash
385
- PHASE_OUTPUT_FILE=$(mktemp /tmp/iloom-phase-XXXXXX)
386
- env -u CLAUDECODE \
387
- ENABLE_TOOL_SEARCH=auto:30 \
388
- CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING=1 \
389
- CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 \
390
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
391
- CLAUDE_CODE_EFFORT_LEVEL=medium \
392
- claude -p \
393
- --system-prompt-file {{EPIC_WORKTREE_PATH}}/.claude/agents/<agent-file>.md \
394
- --mcp-config <path-from-.claude/iloom-swarm-mcp-config-path> \
395
- --model <model-from-metadata> \
396
- --permission-mode bypassPermissions \
397
- --output-format stream-json \
398
- --verbose \
399
- --max-turns 200 \
400
- "<prompt for the phase>" > "$PHASE_OUTPUT_FILE" 2>"${PHASE_OUTPUT_FILE}.stderr"
345
+ **Skill invocation:**
401
346
  ```
402
-
403
- **Bash tool timeout:** When invoking the command above via the Bash tool, you MUST set the `timeout` parameter to `{{SWARM_SUB_AGENT_TIMEOUT_MS}}` (milliseconds). This prevents sub-agent invocations from hanging indefinitely.
404
-
405
- **Agent metadata (model and tools per agent):**
406
-
407
- Parse this JSON to look up the correct `--model` and `--allowedTools` for each agent:
408
-
409
- ```json
410
- {{{SWARM_AGENT_METADATA}}}
347
+ /iloom-swarm-<phase> "<prompt for the phase>"
411
348
  ```
412
349
 
413
- For each agent, use:
414
- - `--model` from the `model` field in the metadata above
415
- - `--allowedTools` from the `tools` array in the metadata above (comma-separated, only if the `tools` field exists)
416
- - The agent file is at `{{EPIC_WORKTREE_PATH}}/.claude/agents/<agent-key>.md` where `<agent-key>` matches the key in the JSON above
417
-
418
- **Output parsing (stream-json temp file):**
419
-
420
- The `--output-format stream-json` produces newline-delimited JSON (JSONL) in the temp file. Each line is a JSON object. The last line with `"type":"result"` contains the agent's final result in the `result` field. Read the temp file, extract the result text, and clean up:
421
-
422
- ```bash
423
- rm -f "$PHASE_OUTPUT_FILE" "${PHASE_OUTPUT_FILE}.stderr"
350
+ **Available skills:**
351
+ The following skills are pre-rendered in your .claude/skills/ directory:
352
+ - /iloom-swarm-issue-enhancer
353
+ - /iloom-swarm-issue-complexity-evaluator
354
+ - /iloom-swarm-issue-analyzer
355
+ - /iloom-swarm-issue-analyze-and-plan
356
+ - /iloom-swarm-issue-planner
357
+ - /iloom-swarm-issue-implementer
358
+ - /iloom-swarm-code-reviewer
359
+ - /iloom-swarm-artifact-reviewer
360
+
361
+ **Output handling:**
362
+ Skill output is returned directly in your conversation. Extract the relevant
363
+ result (comment URLs, complexity classification, plan content, etc.) from
364
+ the skill's response text.
365
+
366
+ **CRITICAL - Working directory:**
367
+ Skills run with `context: fork`, which means the forked agent starts at the
368
+ project root, NOT your current working directory. You MUST include the worktree
369
+ path in every skill invocation prompt so the forked agent works in the correct
370
+ location. Example:
424
371
  ```
425
-
426
- You can also tail the temp file to check on the agent's progress while it's running. Do NOT read the full temp file into your context — only extract the final result text.
427
-
428
- **Working directory:**
429
- Each `claude -p` process inherits the current working directory. Ensure you are in the child worktree before invoking phase agents.
430
-
431
- **Important:**
432
- - Each `claude -p` invocation is an independent process with a fresh context window
433
- - Do NOT use the `@agent-iloom-*` syntax -- it will not work from a sub-agent
434
- - The agent `.md` files are pre-rendered and available at the paths above
435
- - Always include `env -u CLAUDECODE` prefix -- this is mandatory
436
- - The `.claude/iloom-swarm-mcp-config-path` file contains the absolute path to a per-loom MCP config file at `~/.config/iloom-ai/mcp-configs/`
437
- - Output is redirected to a temp file to keep your context window lean -- never pipe the full stream into your context
372
+ /iloom-swarm-issue-implementer "Your working directory is /path/to/child/worktree. cd there before doing any work. Implement the plan..."
373
+ ```
374
+ Always prepend: `"Your working directory is <worktree-path>. cd there before doing any work."`
438
375
 
439
376
  **Todo List:**
440
- 1. Initialize: cd to worktree, read `.claude/iloom-swarm-mcp-config-path` for MCP config path, set state to `in_progress` (pass `worktreePath: "<your-worktree-path>"` to target your own metadata, not the epic's), read issue
377
+ 1. Initialize: cd to worktree, set state to `in_progress` (pass `worktreePath: "<your-worktree-path>"` to target your own metadata, not the epic's), read issue
441
378
  2. Run upfront scan to determine workflow plan (enhancement, complexity eval, analysis, planning, implementation decisions)
442
- 3. Run issue enhancement (if needed) via headless claude -p process (enhancer agent). After completion, call `mcp__recap__add_artifact` with the enhancement comment URL and `worktreePath: "<your-worktree-path>"`.
379
+ 3. Run issue enhancement (if needed) via /iloom-swarm-issue-enhancer skill. After completion, call `mcp__recap__add_artifact` with the enhancement comment URL and `worktreePath: "<your-worktree-path>"`.
443
380
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if ENHANCER_REVIEW_ENABLED}}
444
- 3a. Run artifact review on enhancement output via headless claude -p process (artifact reviewer agent)
381
+ 3a. Run artifact review on enhancement output via /iloom-swarm-artifact-reviewer skill
445
382
  {{/if}}{{/if}}
446
383
  {{#if COMPLEXITY_OVERRIDE}}
447
384
  4. Complexity has been overridden to {{COMPLEXITY_OVERRIDE}}. Skip complexity evaluation and proceed directly to routing.
448
385
  5. Route to appropriate workflow based on overridden complexity: {{COMPLEXITY_OVERRIDE}}
449
386
  {{else}}
450
- 4. Run complexity evaluation via headless claude -p process (complexity evaluator agent). After completion, call `mcp__recap__add_artifact` with the complexity evaluation comment URL and `worktreePath: "<your-worktree-path>"`.
387
+ 4. Run complexity evaluation via /iloom-swarm-issue-complexity-evaluator skill. After completion, call `mcp__recap__add_artifact` with the complexity evaluation comment URL and `worktreePath: "<your-worktree-path>"`.
451
388
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if COMPLEXITY_REVIEW_ENABLED}}
452
- 4a. Run artifact review on complexity evaluation output via headless claude -p process (artifact reviewer agent)
389
+ 4a. Run artifact review on complexity evaluation output via /iloom-swarm-artifact-reviewer skill
453
390
  {{/if}}{{/if}}
454
391
  5. Route based on complexity (TRIVIAL skips to implementation, SIMPLE uses combined analyze-and-plan, COMPLEX uses separate analysis then planning)
455
392
  {{/if}}
456
- 6. Run analysis/planning based on route via headless claude -p process (appropriate agent). After completion, call `mcp__recap__add_artifact` with each comment URL created by the agent and `worktreePath: "<your-worktree-path>"`.
393
+ 6. Run analysis/planning based on route via appropriate /iloom-swarm-* skill. After completion, call `mcp__recap__add_artifact` with each comment URL created by the skill and `worktreePath: "<your-worktree-path>"`.
457
394
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if ANALYZER_REVIEW_ENABLED}}
458
- 6a. If COMPLEX: Run artifact review on analysis output via headless claude -p process (artifact reviewer agent)
395
+ 6a. If COMPLEX: Run artifact review on analysis output via /iloom-swarm-artifact-reviewer skill
459
396
  {{/if}}{{/if}}
460
397
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if PLANNER_REVIEW_ENABLED}}
461
- 6b. If COMPLEX: Run artifact review on plan output via headless claude -p process (artifact reviewer agent)
398
+ 6b. If COMPLEX: Run artifact review on plan output via /iloom-swarm-artifact-reviewer skill
462
399
  {{/if}}{{/if}}
463
400
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if ANALYZE_AND_PLAN_REVIEW_ENABLED}}
464
- 6c. If SIMPLE: Run artifact review on combined analysis and plan output via headless claude -p process (artifact reviewer agent)
401
+ 6c. If SIMPLE: Run artifact review on combined analysis and plan output via /iloom-swarm-artifact-reviewer skill
465
402
  {{/if}}{{/if}}
466
- 7. Run implementation via headless claude -p process (implementer agent). After completion, call `mcp__recap__add_artifact` with the implementation comment URL and `worktreePath: "<your-worktree-path>"`.
403
+ 7. Run implementation via /iloom-swarm-issue-implementer skill. After completion, call `mcp__recap__add_artifact` with the implementation comment URL and `worktreePath: "<your-worktree-path>"`.
467
404
  {{#if ARTIFACT_REVIEW_ENABLED}}{{#if IMPLEMENTER_REVIEW_ENABLED}}
468
- 7a. Run artifact review on implementation output via headless claude -p process (artifact reviewer agent)
405
+ 7a. Run artifact review on implementation output via /iloom-swarm-artifact-reviewer skill
469
406
  {{/if}}{{/if}}
470
- 8. Set state to `code_review` (pass `worktreePath: "<your-worktree-path>"`), run code review via headless claude -p process (code reviewer agent)
407
+ 8. Set state to `code_review` (pass `worktreePath: "<your-worktree-path>"`), run code review via /iloom-swarm-code-reviewer skill
471
408
  9. If critical/high issues found, auto-fix and optionally re-review
472
409
  10. Stage and commit all changes: `git add -A && git commit -m "feat(issue-<issue-number>): [descriptive summary of changes]"` — the commit message must summarize what was implemented (not just "fixes #NNN")
473
410
  11. Set state to `done` (pass `worktreePath: "<your-worktree-path>"`), report structured result to orchestrator
@@ -621,7 +558,7 @@ For the Enhancement Decision specifically: you check whether an existing comment
621
558
 
622
559
  Only execute if workflow plan determined NEEDS_ENHANCEMENT:
623
560
  {{#if SWARM_MODE}}
624
- 1. Execute enhancement phase agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Enhance issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
561
+ 1. Execute enhancement phase via /iloom-swarm-issue-enhancer skill with prompt: "Enhance issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
625
562
  {{else}}
626
563
  1. Execute: @agent-iloom-issue-enhancer {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
627
564
  - Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
@@ -650,7 +587,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
650
587
  2.6. Artifact Review (Enhancement):
651
588
  - The enhancer output should be reviewed before posting
652
589
  {{#if SWARM_MODE}}
653
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this ENHANCEMENT artifact for issue #{{ISSUE_NUMBER}}: [ENHANCER_OUTPUT]"
590
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ENHANCEMENT artifact for issue #{{ISSUE_NUMBER}}: [ENHANCER_OUTPUT]"
654
591
  {{else}}
655
592
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this ENHANCEMENT artifact for issue #{{ISSUE_NUMBER}}: [ENHANCER_OUTPUT]"
656
593
  {{/if}}
@@ -660,7 +597,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
660
597
  a. If verdict is SUGGEST_IMPROVEMENTS:
661
598
  - Log: "Artifact review suggests improvements: [summary]"
662
599
  {{#if SWARM_MODE}}
663
- - Re-invoke enhancer agent via headless `claude -p` with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
600
+ - Re-invoke enhancer via /iloom-swarm-issue-enhancer skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
664
601
  {{else}}
665
602
  - Re-invoke @agent-iloom-issue-enhancer with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
666
603
  {{/if}}
@@ -668,7 +605,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
668
605
  b. If verdict is RECOMMEND_REGENERATION:
669
606
  - Log: "Artifact review recommends regeneration: [summary]"
670
607
  {{#if SWARM_MODE}}
671
- - Re-run enhancer agent via headless `claude -p` from scratch with the reviewer's feedback, return to step 2
608
+ - Re-run enhancer via /iloom-swarm-issue-enhancer skill from scratch with the reviewer's feedback, return to step 2
672
609
  {{else}}
673
610
  - Re-run @agent-iloom-issue-enhancer from scratch with the reviewer's feedback, return to step 2
674
611
  {{/if}}
@@ -725,7 +662,7 @@ The complexity has been overridden to **{{COMPLEXITY_OVERRIDE}}** via CLI flag.
725
662
  {{else}}
726
663
  Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
727
664
  {{#if SWARM_MODE}}
728
- 1. Execute complexity evaluator agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Evaluate complexity for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
665
+ 1. Execute complexity evaluation via /iloom-swarm-issue-complexity-evaluator skill with prompt: "Evaluate complexity for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
729
666
  {{else}}
730
667
  1. Execute: @agent-iloom-issue-complexity-evaluator {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
731
668
  - Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
@@ -754,7 +691,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
754
691
  2.6. Artifact Review (Complexity Evaluation):
755
692
  - The complexity evaluator output should be reviewed before posting
756
693
  {{#if SWARM_MODE}}
757
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this COMPLEXITY EVALUATION artifact for issue #{{ISSUE_NUMBER}}: [COMPLEXITY_EVALUATOR_OUTPUT]"
694
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this COMPLEXITY EVALUATION artifact for issue #{{ISSUE_NUMBER}}: [COMPLEXITY_EVALUATOR_OUTPUT]"
758
695
  {{else}}
759
696
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this COMPLEXITY EVALUATION artifact for issue #{{ISSUE_NUMBER}}: [COMPLEXITY_EVALUATOR_OUTPUT]"
760
697
  {{/if}}
@@ -764,7 +701,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
764
701
  a. If verdict is SUGGEST_IMPROVEMENTS:
765
702
  - Log: "Artifact review suggests improvements: [summary]"
766
703
  {{#if SWARM_MODE}}
767
- - Re-invoke complexity evaluator agent via headless `claude -p` with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
704
+ - Re-invoke complexity evaluator via /iloom-swarm-issue-complexity-evaluator skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
768
705
  {{else}}
769
706
  - Re-invoke @agent-iloom-issue-complexity-evaluator with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
770
707
  {{/if}}
@@ -772,7 +709,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
772
709
  b. If verdict is RECOMMEND_REGENERATION:
773
710
  - Log: "Artifact review recommends regeneration: [summary]"
774
711
  {{#if SWARM_MODE}}
775
- - Re-run complexity evaluator agent via headless `claude -p` from scratch with the reviewer's feedback, return to step 2
712
+ - Re-run complexity evaluator via /iloom-swarm-issue-complexity-evaluator skill from scratch with the reviewer's feedback, return to step 2
776
713
  {{else}}
777
714
  - Re-run @agent-iloom-issue-complexity-evaluator from scratch with the reviewer's feedback, return to step 2
778
715
  {{/if}}
@@ -838,7 +775,7 @@ If workflow plan determined SKIP_COMPLEXITY_EVAL:
838
775
 
839
776
  Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLEX:
840
777
  {{#if SWARM_MODE}}
841
- 1. Execute analysis agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Analyze issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
778
+ 1. Execute analysis phase via /iloom-swarm-issue-analyzer skill with prompt: "Analyze issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
842
779
  {{else}}
843
780
  1. Execute: @agent-iloom-issue-analyzer {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
844
781
  - Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
@@ -867,7 +804,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
867
804
  2.6. Artifact Review (Analysis):
868
805
  - The analyzer output should be reviewed before posting
869
806
  {{#if SWARM_MODE}}
870
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this ANALYSIS artifact for issue #{{ISSUE_NUMBER}}: [ANALYZER_OUTPUT]"
807
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ANALYSIS artifact for issue #{{ISSUE_NUMBER}}: [ANALYZER_OUTPUT]"
871
808
  {{else}}
872
809
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this ANALYSIS artifact for issue #{{ISSUE_NUMBER}}: [ANALYZER_OUTPUT]"
873
810
  {{/if}}
@@ -877,7 +814,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
877
814
  a. If verdict is SUGGEST_IMPROVEMENTS:
878
815
  - Log: "Artifact review suggests improvements: [summary]"
879
816
  {{#if SWARM_MODE}}
880
- - Re-invoke analyzer agent via headless `claude -p` with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
817
+ - Re-invoke analyzer via /iloom-swarm-issue-analyzer skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
881
818
  {{else}}
882
819
  - Re-invoke @agent-iloom-issue-analyzer with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
883
820
  {{/if}}
@@ -885,7 +822,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
885
822
  b. If verdict is RECOMMEND_REGENERATION:
886
823
  - Log: "Artifact review recommends regeneration: [summary]"
887
824
  {{#if SWARM_MODE}}
888
- - Re-run analyzer agent via headless `claude -p` from scratch with the reviewer's feedback, return to step 2
825
+ - Re-run analyzer via /iloom-swarm-issue-analyzer skill from scratch with the reviewer's feedback, return to step 2
889
826
  {{else}}
890
827
  - Re-run @agent-iloom-issue-analyzer from scratch with the reviewer's feedback, return to step 2
891
828
  {{/if}}
@@ -943,7 +880,7 @@ After STEP 1.5 completes and complexity is confirmed, determine which workflow p
943
880
  1. Call `recap.set_complexity({ complexity: 'simple', reason: '[brief reason from evaluator]' })`
944
881
  {{/if}}
945
882
  {{#if SWARM_MODE}}
946
- 2. Log: "Using SIMPLE workflow: Combined analysis and planning via headless claude -p process, then implementation"
883
+ 2. Log: "Using SIMPLE workflow: Combined analysis and planning via /iloom-swarm-issue-analyze-and-plan skill, then implementation"
947
884
  {{else}}
948
885
  2. Display to user: "Using SIMPLE workflow: Combined analysis and planning via @agent-iloom-issue-analyze-and-plan, then implementation"
949
886
  {{/if}}
@@ -975,7 +912,7 @@ After STEP 1.5 completes and complexity is confirmed, determine which workflow p
975
912
  Execute combined analyze-and-plan agent:
976
913
  1. Display: "Executing combined analyze-and-plan agent for SIMPLE task..."
977
914
  {{#if SWARM_MODE}}
978
- 2. Execute analyze-and-plan agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Analyze and plan issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
915
+ 2. Execute combined analyze-and-plan phase via /iloom-swarm-issue-analyze-and-plan skill with prompt: "Analyze and plan issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
979
916
  {{else}}
980
917
  2. Execute: @agent-iloom-issue-analyze-and-plan {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
981
918
  - Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
@@ -1006,7 +943,7 @@ Execute combined analyze-and-plan agent:
1006
943
  3.6. Artifact Review (Analysis and Plan):
1007
944
  - The analyze-and-plan output should be reviewed before posting
1008
945
  {{#if SWARM_MODE}}
1009
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this ANALYSIS AND PLAN artifact for issue #{{ISSUE_NUMBER}}: [ANALYZE_AND_PLAN_OUTPUT]"
946
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ANALYSIS AND PLAN artifact for issue #{{ISSUE_NUMBER}}: [ANALYZE_AND_PLAN_OUTPUT]"
1010
947
  {{else}}
1011
948
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this ANALYSIS AND PLAN artifact for issue #{{ISSUE_NUMBER}}: [ANALYZE_AND_PLAN_OUTPUT]"
1012
949
  {{/if}}
@@ -1016,7 +953,7 @@ Execute combined analyze-and-plan agent:
1016
953
  a. If verdict is SUGGEST_IMPROVEMENTS:
1017
954
  - Log: "Artifact review suggests improvements: [summary]"
1018
955
  {{#if SWARM_MODE}}
1019
- - Re-invoke analyze-and-plan agent via headless `claude -p` with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
956
+ - Re-invoke analyze-and-plan via /iloom-swarm-issue-analyze-and-plan skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
1020
957
  {{else}}
1021
958
  - Re-invoke @agent-iloom-issue-analyze-and-plan with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
1022
959
  {{/if}}
@@ -1024,7 +961,7 @@ Execute combined analyze-and-plan agent:
1024
961
  b. If verdict is RECOMMEND_REGENERATION:
1025
962
  - Log: "Artifact review recommends regeneration: [summary]"
1026
963
  {{#if SWARM_MODE}}
1027
- - Re-run analyze-and-plan agent via headless `claude -p` from scratch with the reviewer's feedback, return to step 2
964
+ - Re-run analyze-and-plan via /iloom-swarm-issue-analyze-and-plan skill from scratch with the reviewer's feedback, return to step 2
1028
965
  {{else}}
1029
966
  - Re-run @agent-iloom-issue-analyze-and-plan from scratch with the reviewer's feedback, return to step 2
1030
967
  {{/if}}
@@ -1060,7 +997,7 @@ Execute combined analyze-and-plan agent:
1060
997
 
1061
998
  Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLEX:
1062
999
  {{#if SWARM_MODE}}
1063
- 1. Execute planner agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Create implementation plan for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
1000
+ 1. Execute planning phase via /iloom-swarm-issue-planner skill with prompt: "Create implementation plan for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
1064
1001
  {{else}}
1065
1002
  1. Execute: @agent-iloom-issue-planner {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
1066
1003
  - Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
@@ -1091,7 +1028,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
1091
1028
  2.6. Artifact Review (Plan):
1092
1029
  - The planner output should be reviewed before posting
1093
1030
  {{#if SWARM_MODE}}
1094
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this PLAN artifact for issue #{{ISSUE_NUMBER}}: [PLANNER_OUTPUT]"
1031
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this PLAN artifact for issue #{{ISSUE_NUMBER}}: [PLANNER_OUTPUT]"
1095
1032
  {{else}}
1096
1033
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this PLAN artifact for issue #{{ISSUE_NUMBER}}: [PLANNER_OUTPUT]"
1097
1034
  {{/if}}
@@ -1101,7 +1038,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
1101
1038
  a. If verdict is SUGGEST_IMPROVEMENTS:
1102
1039
  - Log: "Artifact review suggests improvements: [summary]"
1103
1040
  {{#if SWARM_MODE}}
1104
- - Re-invoke planner agent via headless `claude -p` with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
1041
+ - Re-invoke planner via /iloom-swarm-issue-planner skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
1105
1042
  {{else}}
1106
1043
  - Re-invoke @agent-iloom-issue-planner with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
1107
1044
  {{/if}}
@@ -1109,7 +1046,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
1109
1046
  b. If verdict is RECOMMEND_REGENERATION:
1110
1047
  - Log: "Artifact review recommends regeneration: [summary]"
1111
1048
  {{#if SWARM_MODE}}
1112
- - Re-run planner agent via headless `claude -p` from scratch with the reviewer's feedback, return to step 2
1049
+ - Re-run planner via /iloom-swarm-issue-planner skill from scratch with the reviewer's feedback, return to step 2
1113
1050
  {{else}}
1114
1051
  - Re-run @agent-iloom-issue-planner from scratch with the reviewer's feedback, return to step 2
1115
1052
  {{/if}}
@@ -1178,14 +1115,13 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
1178
1115
 
1179
1116
  {{#if SWARM_MODE}}
1180
1117
  **If line says "Run Step N" (sequential):**
1181
- - Execute implementer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "You are implementing Step N of the plan in comment [COMMENT_ID] on issue #ISSUE_NUMBER. DO NOT create your own issue comment."
1118
+ - Execute implementer via /iloom-swarm-issue-implementer skill with prompt: "You are implementing Step N of the plan in comment [COMMENT_ID] on issue #ISSUE_NUMBER. DO NOT create your own issue comment."
1182
1119
  - Wait for completion
1183
1120
  - Update progress comment: `- [x] Step N: [name] - [brief result]`
1184
1121
 
1185
1122
  **If line says "Run Steps X, Y, Z in parallel":**
1186
- - Launch MULTIPLE `claude -p` processes in ONE Bash tool call (using `&` and `wait`) - one per step
1123
+ - Execute each step sequentially via /iloom-swarm-issue-implementer skill (skills run inline, so execute one at a time)
1187
1124
  - Each with prompt: "You are implementing Step N of the plan in comment [COMMENT_ID] on issue #ISSUE_NUMBER. DO NOT create your own issue comment."
1188
- - Wait for ALL to complete
1189
1125
  - Update progress comment for all completed steps
1190
1126
  {{else}}
1191
1127
  **If line says "Run Step N" (sequential):**
@@ -1203,7 +1139,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
1203
1139
  **FOR SIMPLE/TRIVIAL workflows (single implementation run):**
1204
1140
 
1205
1141
  {{#if SWARM_MODE}}
1206
- - Execute ONE implementer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Implement the plan in comment [COMMENT_ID] for issue #ISSUE_NUMBER. DO NOT create your own issue comment."
1142
+ - Execute implementer via /iloom-swarm-issue-implementer skill with prompt: "Implement the plan in comment [COMMENT_ID] for issue #ISSUE_NUMBER. DO NOT create your own issue comment."
1207
1143
  - Wait for completion
1208
1144
  {{else}}
1209
1145
  - Launch ONE @agent-iloom-issue-implementer with: "The plan is in comment [COMMENT_ID]. DO NOT create your own issue comment."
@@ -1256,7 +1192,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
1256
1192
  5.5. Artifact Review (Implementation):
1257
1193
  - The implementer output should be reviewed for plan alignment before code review
1258
1194
  {{#if SWARM_MODE}}
1259
- - Execute artifact reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Review this IMPLEMENTATION artifact for issue #{{ISSUE_NUMBER}}: [IMPLEMENTER_OUTPUT]. The plan it was executing: [PLAN_CONTENT]"
1195
+ - Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this IMPLEMENTATION artifact for issue #{{ISSUE_NUMBER}}: [IMPLEMENTER_OUTPUT]. The plan it was executing: [PLAN_CONTENT]"
1260
1196
  {{else}}
1261
1197
  - Invoke: @agent-iloom-artifact-reviewer with context: "Review this IMPLEMENTATION artifact for issue #{{ISSUE_NUMBER}}: [IMPLEMENTER_OUTPUT]. The plan it was executing: [PLAN_CONTENT]"
1262
1198
  {{/if}}
@@ -1266,7 +1202,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
1266
1202
  a. If verdict is SUGGEST_IMPROVEMENTS:
1267
1203
  - Log: "Artifact review suggests improvements: [summary]"
1268
1204
  {{#if SWARM_MODE}}
1269
- - Re-invoke implementer agent via headless `claude -p` with prompt: "Apply these specific improvements to address plan gaps: [REVIEWER_FEEDBACK]"
1205
+ - Re-invoke implementer via /iloom-swarm-issue-implementer skill with prompt: "Apply these specific improvements to address plan gaps: [REVIEWER_FEEDBACK]"
1270
1206
  {{else}}
1271
1207
  - Re-invoke @agent-iloom-issue-implementer with: "Apply these specific improvements to address plan gaps: [REVIEWER_FEEDBACK]"
1272
1208
  {{/if}}
@@ -1274,7 +1210,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
1274
1210
  b. If verdict is RECOMMEND_REGENERATION:
1275
1211
  - Log: "Artifact review recommends regeneration: [summary]"
1276
1212
  {{#if SWARM_MODE}}
1277
- - Re-run implementer agent via headless `claude -p` from scratch with the reviewer's feedback
1213
+ - Re-run implementer via /iloom-swarm-issue-implementer skill from scratch with the reviewer's feedback
1278
1214
  {{else}}
1279
1215
  - Re-run @agent-iloom-issue-implementer from scratch with the reviewer's feedback
1280
1216
  {{/if}}
@@ -1308,7 +1244,7 @@ This section is about reviewing code changes for quality, security, and complian
1308
1244
  **Auto-Run Mode**: Review automatically executes after implementation completes. No manual trigger needed.
1309
1245
 
1310
1246
  {{#if SWARM_MODE}}
1311
- 1. Execute code reviewer agent via headless `claude -p` (see "Invoking Phase Agents" above) with prompt: "Run code review."
1247
+ 1. Execute code review via /iloom-swarm-code-reviewer skill with prompt: "Run code review."
1312
1248
  {{else}}
1313
1249
  1. Execute: @agent-iloom-code-reviewer with prompt "Run code review." (foreground, no extra context)
1314
1250
  {{/if}}
@@ -277,6 +277,20 @@ Each child issue should include ONLY these sections:
277
277
  4. **Shared Contracts**: Specify the exact contracts defined in Step 1 that this issue produces or consumes (function signatures, types, module exports). A contract is an interface boundary — what one issue exposes for another to consume. Example: `PlanCommand.execute()` gains an optional `autoSwarm?: boolean` 7th parameter. NOT an implementation: do not describe what happens internally when `autoSwarm` is true — that is implementation detail, not a contract.
278
278
  5. **Hard Blocking Dependencies** *(minimize these)*: Which issues must be completed first, if any — each one should have been validated in Step 1 as not replaceable by a contract
279
279
  6. **Scope Boundaries**: What is explicitly NOT included
280
+ {{#if WAVE_VERIFICATION}}
281
+ 7. **Must-Haves**: Concrete verification criteria that describe the expected outcome of this issue. These are NOT implementation instructions — they describe what should exist after the work is done, not how to build it. Include at least one must-have per child issue. Each must-have uses one of three check types:
282
+ - `exists: <file-path>` — the file was created
283
+ - `substantive: <file-path> — <what it should contain or export>` — the file has expected content, exports, or structure
284
+ - `wired: <file-path> — <how it should be integrated>` — the code is properly connected to the rest of the system (e.g., registered in a router, imported by a parent module, called from an entry point)
285
+
286
+ Example:
287
+ ```
288
+ ## Must-Haves
289
+ - exists: src/lib/WaveVerifier.ts
290
+ - substantive: src/lib/WaveVerifier.ts — exports a WaveVerifier class with a verify() method
291
+ - wired: src/lib/WaveVerifier.ts — imported and invoked in src/commands/finish.ts
292
+ ```
293
+ {{/if}}
280
294
 
281
295
  Do NOT add "Implementation Details", "Technical Approach", or similar sections — these violate the rule above.
282
296
 
@@ -316,6 +330,47 @@ Before presenting the plan to the user, audit it against these questions:
316
330
  1. **For each blocking dependency:** "Can I replace this with a shared contract so both issues run in parallel?" If yes, rewrite the issues with an explicit contract and remove the dependency.
317
331
  2. **DAG shape check:** Is the graph wide and shallow, or narrow and linear? If your longest chain is more than 2 deep, re-examine whether intermediate dependencies are truly hard blockers.
318
332
  3. **Contract completeness:** Does every issue that produces or consumes a shared API specify the exact contract (function signatures, types, module exports) in its description?
333
+ {{#if WAVE_VERIFICATION}}
334
+ 4. **Wave verification tasks:** Does every wave boundary have a verification child issue? Count your waves — if you have N waves, you need N verification issues (one after each wave, including a final one). If any wave boundary is missing a verification issue, add one now. This is mandatory, not optional.
335
+ {{/if}}
336
+
337
+ {{#if WAVE_VERIFICATION}}
338
+ **Wave Verification Tasks (MANDATORY):**
339
+
340
+ After designing the dependency DAG, you MUST insert verification child issues at EVERY wave boundary. A "wave" is a set of issues that can run in parallel (they share the same depth in the DAG).
341
+
342
+ - **Every wave MUST be followed by a verification issue.** Not just the final wave — every single one. If you have 3 waves, you need 3 verification issues.
343
+ - For each wave boundary, create a verification child issue titled "Verify wave N integration"
344
+ - The verification issue MUST depend on (be blocked by) all issues in wave N
345
+ - All issues in wave N+1 MUST depend on (be blocked by) the verification issue
346
+ - The verification issue body should describe what integration checks to perform: compile the combined changes, run tests, and verify that shared contracts between wave N issues are compatible
347
+ - Verification issues should be lightweight — they exist to catch mismatches between parallel implementations before the next wave begins
348
+ - **Always create a final verification task** that depends on all other issues (including any intermediate verification tasks). Even if there is only one wave, a final verification step ensures all parallel work integrates correctly before the epic is complete.
349
+
350
+ Example DAG with 3 waves (note: 3 verification issues):
351
+ ```
352
+ Wave 1: Issue A, Issue B (parallel, no deps)
353
+
354
+ Verify wave 1 integration (depends on A, B)
355
+
356
+ Wave 2: Issue C, Issue D (depend on wave 1 verification)
357
+
358
+ Verify wave 2 integration (depends on C, D)
359
+
360
+ Wave 3: Issue E (depends on wave 2 verification)
361
+
362
+ Verify final integration (depends on E)
363
+ ```
364
+
365
+ Example DAG with a single wave:
366
+ ```
367
+ Wave 1: Issue A, Issue B, Issue C (parallel, no deps)
368
+
369
+ Verify integration (depends on A, B, C)
370
+ ```
371
+
372
+ Skip verification tasks only when the DAG is trivially small (2 or fewer child issues).
373
+ {{/if}}
319
374
 
320
375
  **Before Creating Issues:**
321
376
  1. Summarize the proposed issues and their relationships
@@ -133,7 +133,7 @@ The `il` command can also be used as a shorter alias.
133
133
  ### Loom Isolation Features
134
134
  Each loom provides:
135
135
  - Dedicated Git worktree (no branch conflicts)
136
- - Unique database branch via Neon integration
136
+ - Unique database branch via database branching integration
137
137
  - Color-coded terminal/VS Code for visual context switching
138
138
  - Deterministic port assignment (3000 + issue number)
139
139