agentic-qe 3.13.3 → 3.13.4

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 (370) hide show
  1. package/.agents/skills/aqe-plan-work/SKILL.md +31 -0
  2. package/.agents/skills/aqe-plan-work/agents/openai.yaml +4 -0
  3. package/.agents/skills/aqe-plan-work/references/planning-framework.md +39 -0
  4. package/.agents/skills/aqe-research/SKILL.md +31 -0
  5. package/.agents/skills/aqe-research/agents/openai.yaml +4 -0
  6. package/.agents/skills/aqe-research/references/evidence-rules.md +21 -0
  7. package/.agents/skills/aqe-ruflo/SKILL.md +29 -0
  8. package/.claude/commands/pair/README.md +261 -0
  9. package/.claude/commands/pair/commands.md +546 -0
  10. package/.claude/commands/pair/config.md +510 -0
  11. package/.claude/commands/pair/examples.md +512 -0
  12. package/.claude/commands/pair/modes.md +348 -0
  13. package/.claude/commands/pair/session.md +407 -0
  14. package/.claude/commands/pair/start.md +209 -0
  15. package/.claude/commands/stream-chain/pipeline.md +121 -0
  16. package/.claude/commands/stream-chain/run.md +70 -0
  17. package/.claude/commands/training/README.md +9 -0
  18. package/.claude/commands/training/model-update.md +25 -0
  19. package/.claude/commands/training/neural-patterns.md +108 -0
  20. package/.claude/commands/training/neural-train.md +75 -0
  21. package/.claude/commands/training/pattern-learn.md +25 -0
  22. package/.claude/commands/training/specialization.md +63 -0
  23. package/.claude/commands/truth/start.md +143 -0
  24. package/.claude/commands/verify/check.md +50 -0
  25. package/.claude/commands/verify/start.md +128 -0
  26. package/.claude/helpers/v3/advisor-call.cjs +283 -0
  27. package/.claude/skills/README.md +54 -64
  28. package/.claude/skills/dual-mode/README.md +71 -0
  29. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  30. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  31. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  32. package/.claude/skills/skills-manifest.json +1 -1
  33. package/.codex/hooks/aqe-codex-hook.cjs +34 -9
  34. package/.codex/hooks.json +9 -9
  35. package/CHANGELOG.md +42 -0
  36. package/assets/skills/skills-manifest.json +1 -1
  37. package/dist/cli/bundle.js +5 -5
  38. package/dist/cli/chunks/adapter-JISQ35YY.js +2 -0
  39. package/dist/cli/chunks/{agent-booster-wasm-YIGGREZN.js → agent-booster-wasm-PR3RQWXF.js} +2 -2
  40. package/dist/cli/chunks/{agent-handler-64O7R55A.js → agent-handler-J5EPFBSZ.js} +2 -2
  41. package/dist/cli/chunks/{agent-memory-branch-2ZZBYUP3.js → agent-memory-branch-CCHI6QAA.js} +2 -2
  42. package/dist/cli/chunks/aqe-learning-engine-TVTNP76S.js +2 -0
  43. package/dist/cli/chunks/{arena-PF5WL2WM.js → arena-KMKBGSMY.js} +2 -2
  44. package/dist/cli/chunks/{arena-6YRNQNCX.js → arena-SI7IPVZ3.js} +4 -4
  45. package/dist/cli/chunks/{audit-R53FOYCK.js → audit-ZDKR3HT6.js} +3 -3
  46. package/dist/cli/chunks/base-WBCYKM45.js +2 -0
  47. package/dist/cli/chunks/{hnswlib-node-QOULNHXS.js → better-sqlite3-FXJFG2WH.js} +2 -2
  48. package/dist/cli/chunks/{brain-handler-J4ICUOUX.js → brain-handler-MSYMTM5B.js} +3 -3
  49. package/dist/cli/chunks/{branch-enumerator-YVPD43TG.js → branch-enumerator-FRAHCBTO.js} +2 -2
  50. package/dist/cli/chunks/{browser-TKVHX53S.js → browser-4KHKVNYC.js} +2 -2
  51. package/dist/cli/chunks/browser-workflow-4JM3IWCS.js +2 -0
  52. package/dist/cli/chunks/{chunk-GSG5FASF.js → chunk-26SNR2EK.js} +3 -3
  53. package/dist/cli/chunks/{chunk-JG267MVB.js → chunk-27FWRWOB.js} +2 -2
  54. package/dist/cli/chunks/{chunk-NIA6VTIH.js → chunk-27REOPQK.js} +2 -2
  55. package/dist/cli/chunks/{chunk-4RYU4WMW.js → chunk-2Q73TQUQ.js} +1 -1
  56. package/dist/cli/chunks/{chunk-A22RTEJ3.js → chunk-344CLTV7.js} +2 -2
  57. package/dist/cli/chunks/{chunk-MGKJFO57.js → chunk-3RSF7POD.js} +2 -2
  58. package/dist/cli/chunks/{chunk-CVFUANMU.js → chunk-44SYMJ4T.js} +2 -2
  59. package/dist/cli/chunks/{chunk-22WFXSXB.js → chunk-4FP4PJ45.js} +2 -2
  60. package/dist/cli/chunks/{chunk-DTOKJKSE.js → chunk-4HVVVVUF.js} +2 -2
  61. package/dist/cli/chunks/{chunk-QGJYKXUO.js → chunk-55E62F4T.js} +1 -1
  62. package/dist/cli/chunks/{chunk-RWPWD5GG.js → chunk-56QR72EB.js} +2 -2
  63. package/dist/cli/chunks/{chunk-NUPAGPN6.js → chunk-5DESO7E4.js} +2 -2
  64. package/dist/cli/chunks/{chunk-PHNNAIFA.js → chunk-5IVXM3TE.js} +1 -1
  65. package/dist/cli/chunks/{chunk-TW5QWNT4.js → chunk-5R26MAMK.js} +2 -2
  66. package/dist/cli/chunks/{chunk-IZIYFVAZ.js → chunk-5RVWL2U3.js} +3 -3
  67. package/dist/cli/chunks/{chunk-OX6WPOGR.js → chunk-6BHRSGR7.js} +3 -3
  68. package/dist/cli/chunks/{chunk-4Z2AKQP4.js → chunk-6CZUQA4G.js} +1 -1
  69. package/dist/cli/chunks/{chunk-FGIZVGIE.js → chunk-6GNVVQW3.js} +2 -2
  70. package/dist/cli/chunks/{chunk-7AHQ7ROU.js → chunk-6VNUASTQ.js} +2 -2
  71. package/dist/cli/chunks/{chunk-B7XZJBMT.js → chunk-6XCULO27.js} +2 -2
  72. package/dist/cli/chunks/{chunk-LOZRBK2Z.js → chunk-6XVP6BGM.js} +2 -2
  73. package/dist/cli/chunks/{chunk-APXJJRU4.js → chunk-75CFWCQV.js} +2 -2
  74. package/dist/cli/chunks/{chunk-37GCWGXT.js → chunk-7EL5QEMJ.js} +2 -2
  75. package/dist/cli/chunks/{chunk-3NML6POU.js → chunk-7YAHECC5.js} +2 -2
  76. package/dist/cli/chunks/{chunk-N3KQRDTM.js → chunk-A2G26WU4.js} +1 -1
  77. package/dist/cli/chunks/{chunk-X737I4SO.js → chunk-AROPZPNG.js} +1 -1
  78. package/dist/cli/chunks/{chunk-IKPBQZQP.js → chunk-BQRCNRTJ.js} +2 -2
  79. package/dist/cli/chunks/{chunk-JLFU5SCI.js → chunk-C3AF5Z55.js} +2 -2
  80. package/dist/cli/chunks/{chunk-FF53QW6C.js → chunk-C75V5PTW.js} +1 -1
  81. package/dist/cli/chunks/{chunk-HJNFXYX4.js → chunk-CQP6BDSF.js} +1 -1
  82. package/dist/cli/chunks/{chunk-ADBTOUOX.js → chunk-CTNDSP2M.js} +1 -1
  83. package/dist/cli/chunks/{chunk-VRTNRI4H.js → chunk-CW7LDLJ2.js} +2 -2
  84. package/dist/cli/chunks/{chunk-PHBGMXTR.js → chunk-DQ247474.js} +2 -2
  85. package/dist/cli/chunks/{chunk-66KIIH6V.js → chunk-E7FCVH32.js} +2 -2
  86. package/dist/cli/chunks/{chunk-64C4SS66.js → chunk-EEHEMDNV.js} +2 -2
  87. package/dist/cli/chunks/{chunk-2MLPO3RZ.js → chunk-EPSF2ERW.js} +2 -2
  88. package/dist/cli/chunks/{chunk-AXXFY7PX.js → chunk-ERKYIV25.js} +2 -2
  89. package/dist/cli/chunks/{chunk-VFZNVJP2.js → chunk-ESMSH7HG.js} +2 -2
  90. package/dist/cli/chunks/{chunk-PS32DXYF.js → chunk-EUIUWZF4.js} +3 -3
  91. package/dist/cli/chunks/{chunk-764G7VK6.js → chunk-FBXWU37F.js} +1 -1
  92. package/dist/cli/chunks/{chunk-NF2N2FIY.js → chunk-FJSL7TWU.js} +1 -1
  93. package/dist/cli/chunks/{chunk-6I2L22WS.js → chunk-FZ4MUDHZ.js} +1 -1
  94. package/dist/cli/chunks/{chunk-62F5M5OO.js → chunk-GGZB2ZBB.js} +1 -1
  95. package/dist/cli/chunks/{chunk-HOIH542Y.js → chunk-GIU26D5G.js} +1 -1
  96. package/dist/cli/chunks/{chunk-7TG7LJAB.js → chunk-GNFKG2LX.js} +2 -2
  97. package/dist/cli/chunks/{chunk-J5AIMM2J.js → chunk-GOFP47XU.js} +1 -1
  98. package/dist/cli/chunks/{chunk-AJ45QR3K.js → chunk-GOHWEQEP.js} +2 -2
  99. package/dist/cli/chunks/{chunk-MNEQESQJ.js → chunk-GRMKN44A.js} +3 -3
  100. package/dist/cli/chunks/{chunk-H4XZOIV6.js → chunk-HGBVGEUE.js} +2 -2
  101. package/dist/cli/chunks/{chunk-JQTDNUHA.js → chunk-HGY62IYZ.js} +2 -2
  102. package/dist/cli/chunks/{chunk-2G2XD6EM.js → chunk-HN2DD2DQ.js} +2 -2
  103. package/dist/cli/chunks/{chunk-N4OBRS6S.js → chunk-II2RP3MY.js} +2 -2
  104. package/dist/cli/chunks/{chunk-CXPMA7LY.js → chunk-IN5KRJSE.js} +1 -1
  105. package/dist/cli/chunks/{chunk-TNM7X2GD.js → chunk-ISGKDLZ7.js} +2 -2
  106. package/dist/cli/chunks/{chunk-TGVDKSSS.js → chunk-ITQCSIYG.js} +1 -1
  107. package/dist/cli/chunks/{chunk-PY55ZD2G.js → chunk-IU5SILCS.js} +2 -2
  108. package/dist/cli/chunks/{chunk-JOHWWTJF.js → chunk-IUFNB6I6.js} +2 -2
  109. package/dist/cli/chunks/{chunk-UAXFRKR3.js → chunk-IVZA5XTW.js} +2 -2
  110. package/dist/cli/chunks/{chunk-A6J5MAVO.js → chunk-JBHGMLN7.js} +10 -10
  111. package/dist/cli/chunks/{chunk-UF7JKDWB.js → chunk-JDADACZZ.js} +1 -1
  112. package/dist/cli/chunks/{chunk-5IH22DLD.js → chunk-JJ5YIKTJ.js} +3 -3
  113. package/dist/cli/chunks/{chunk-TRPRFW27.js → chunk-KB4S7MGB.js} +2 -2
  114. package/dist/cli/chunks/{chunk-XRF5MX4Q.js → chunk-KDICUKYX.js} +2 -2
  115. package/dist/cli/chunks/{chunk-EEG4G5JG.js → chunk-KE656E6T.js} +3 -3
  116. package/dist/cli/chunks/{chunk-F6V5POSK.js → chunk-KO3UQYGY.js} +10 -10
  117. package/dist/cli/chunks/{chunk-WRC66JTK.js → chunk-KQLJILCZ.js} +1 -1
  118. package/dist/cli/chunks/{chunk-C7AXBCMS.js → chunk-KZAVYHH7.js} +4 -4
  119. package/dist/cli/chunks/{chunk-7MBPKAQ3.js → chunk-L3UTZEVW.js} +2 -2
  120. package/dist/cli/chunks/{chunk-RRHIEG4Y.js → chunk-LASZCR5G.js} +2 -2
  121. package/dist/cli/chunks/{chunk-PHGOMAIS.js → chunk-LEIG3KIG.js} +2 -2
  122. package/dist/cli/chunks/{chunk-ZIYCZZYD.js → chunk-LIMFWEUI.js} +2 -2
  123. package/dist/cli/chunks/{chunk-VGWHFFK6.js → chunk-LJSHQU2P.js} +5 -5
  124. package/dist/cli/chunks/{chunk-3J2QITXC.js → chunk-LUAYTM77.js} +1 -1
  125. package/dist/cli/chunks/{chunk-GNCGRDQ2.js → chunk-MANWLRAW.js} +1 -1
  126. package/dist/cli/chunks/{chunk-JBWXBDJX.js → chunk-MP3RCZ75.js} +1 -1
  127. package/dist/cli/chunks/{chunk-WVWWTRKT.js → chunk-MPVOZKUP.js} +1 -1
  128. package/dist/cli/chunks/{chunk-A547LEUW.js → chunk-MWWTYPFL.js} +2 -2
  129. package/dist/cli/chunks/{chunk-IRX2THND.js → chunk-N57M7UPQ.js} +2 -2
  130. package/dist/cli/chunks/{chunk-TK6CHESH.js → chunk-N7LIYK7Z.js} +1 -1
  131. package/dist/cli/chunks/{chunk-ORXDKBZC.js → chunk-NAAPL2HK.js} +1 -1
  132. package/dist/cli/chunks/{chunk-IH47VGC7.js → chunk-NAZFAGJ5.js} +2 -2
  133. package/dist/cli/chunks/{chunk-M7XDTQHX.js → chunk-NQJLUY2K.js} +2 -2
  134. package/dist/cli/chunks/{chunk-6C3PDY72.js → chunk-NQVF4M7L.js} +1 -1
  135. package/dist/cli/chunks/{chunk-SJWTNKPY.js → chunk-NW4YPUPN.js} +3 -3
  136. package/dist/cli/chunks/{chunk-46U73TST.js → chunk-O45CEMVF.js} +1 -1
  137. package/dist/cli/chunks/{chunk-37I4AMCT.js → chunk-O74V7MB4.js} +2 -2
  138. package/dist/cli/chunks/{chunk-ZI7BWJJW.js → chunk-OF7674H5.js} +2 -2
  139. package/dist/cli/chunks/{chunk-P5CQMDFQ.js → chunk-OR2RC7ZH.js} +2 -2
  140. package/dist/cli/chunks/{chunk-ZLTAAROU.js → chunk-OU2YHXJY.js} +2 -2
  141. package/dist/cli/chunks/{chunk-JHOJG5VO.js → chunk-OU3SYEYJ.js} +1 -1
  142. package/dist/cli/chunks/{chunk-N7IRBQ4D.js → chunk-PD2ZSCEH.js} +1 -1
  143. package/dist/cli/chunks/{chunk-DSUEJK33.js → chunk-PFQLB4XP.js} +2 -2
  144. package/dist/cli/chunks/{chunk-V6W4IHS5.js → chunk-PI55PHUL.js} +2 -2
  145. package/dist/cli/chunks/{chunk-EMH54CO7.js → chunk-PIYDPOW6.js} +2 -2
  146. package/dist/cli/chunks/{chunk-DSGKRXHF.js → chunk-PJFQGNRW.js} +1 -1
  147. package/dist/cli/chunks/{chunk-L4O2645U.js → chunk-PRHLV6FS.js} +1 -1
  148. package/dist/cli/chunks/chunk-Q4VZXT6X.js +2 -0
  149. package/dist/cli/chunks/{chunk-H2BR5MCX.js → chunk-QENUKXPP.js} +2 -2
  150. package/dist/cli/chunks/chunk-QGH54HTH.js +2 -0
  151. package/dist/cli/chunks/{chunk-2BYRQ5MV.js → chunk-QXF6EQFP.js} +2 -2
  152. package/dist/cli/chunks/{chunk-ZU3XUBDQ.js → chunk-RCRKCMN5.js} +1 -1
  153. package/dist/cli/chunks/{chunk-5A5EC5RD.js → chunk-RKNKFLCQ.js} +2 -2
  154. package/dist/cli/chunks/{chunk-5IVOY76M.js → chunk-RLZZTFEN.js} +2 -2
  155. package/dist/cli/chunks/{chunk-CBLKYGKT.js → chunk-RO4BYINM.js} +2 -2
  156. package/dist/cli/chunks/{chunk-K2D3YW2N.js → chunk-SFRYDGLF.js} +1 -1
  157. package/dist/cli/chunks/{chunk-UX434RY5.js → chunk-SJ26ZR75.js} +2 -2
  158. package/dist/cli/chunks/{chunk-LLQG3F4H.js → chunk-SPTCNM45.js} +2 -2
  159. package/dist/cli/chunks/{chunk-KQFMCVBH.js → chunk-SQCACQUM.js} +2 -2
  160. package/dist/cli/chunks/{chunk-3CFWNT3F.js → chunk-TCYSMSBO.js} +2 -2
  161. package/dist/cli/chunks/{chunk-W6OIDL4J.js → chunk-TFFEB7XD.js} +2 -2
  162. package/dist/cli/chunks/{chunk-RU23JXCG.js → chunk-TM6LLT4G.js} +3 -3
  163. package/dist/cli/chunks/{chunk-WHUQDBV7.js → chunk-TO7FTPRV.js} +2 -2
  164. package/dist/cli/chunks/{chunk-QZ3EIONO.js → chunk-U52IQFMP.js} +1 -1
  165. package/dist/cli/chunks/{chunk-33SPAMQZ.js → chunk-UAEP2ZUQ.js} +2 -2
  166. package/dist/cli/chunks/{chunk-OD5R7HRI.js → chunk-UNMWI4QU.js} +1 -1
  167. package/dist/cli/chunks/{chunk-U7DGRHSB.js → chunk-UOO7P2AK.js} +2 -2
  168. package/dist/cli/chunks/{chunk-QFANYWC5.js → chunk-UQFMQOZB.js} +1 -1
  169. package/dist/cli/chunks/{chunk-2QKSIHXO.js → chunk-VDPQ7NVG.js} +1 -1
  170. package/dist/cli/chunks/{chunk-QP4UKSUJ.js → chunk-VLELNETG.js} +2 -2
  171. package/dist/cli/chunks/{chunk-KQ5GLUOB.js → chunk-VOAXVNO5.js} +4 -4
  172. package/dist/cli/chunks/{chunk-QZS3XCU5.js → chunk-VZO4V4R4.js} +2 -2
  173. package/dist/cli/chunks/{chunk-BDOD534O.js → chunk-W37WY3OL.js} +2 -2
  174. package/dist/cli/chunks/{chunk-UWBHR4EZ.js → chunk-WCUXA3NV.js} +1 -1
  175. package/dist/cli/chunks/{chunk-RMQRSZB4.js → chunk-WSQE3VZB.js} +1 -1
  176. package/dist/cli/chunks/{chunk-MYR6CBXC.js → chunk-WUXCL65V.js} +2 -2
  177. package/dist/cli/chunks/{chunk-OU5CZFBG.js → chunk-X5JMTHXC.js} +3 -3
  178. package/dist/cli/chunks/{chunk-XRQGWUDX.js → chunk-X67O2KUE.js} +2 -2
  179. package/dist/cli/chunks/{chunk-HEF6XKA5.js → chunk-XBSBVPSM.js} +2 -2
  180. package/dist/cli/chunks/{chunk-KBQRYAHZ.js → chunk-XEI5LLHX.js} +2 -2
  181. package/dist/cli/chunks/{chunk-LWPCGOQM.js → chunk-XF4F5ZXO.js} +2 -2
  182. package/dist/cli/chunks/{chunk-SAMAYDVS.js → chunk-XLP44YGX.js} +2 -2
  183. package/dist/cli/chunks/{chunk-CW7BWFFF.js → chunk-XTHRSBMJ.js} +2 -2
  184. package/dist/cli/chunks/{chunk-VKUH57JE.js → chunk-Y7VWCP35.js} +1 -1
  185. package/dist/cli/chunks/{chunk-6R6QGQ7D.js → chunk-YQI6SOUO.js} +1 -1
  186. package/dist/cli/chunks/{chunk-GTURQ454.js → chunk-YZGA4ELM.js} +2 -2
  187. package/dist/cli/chunks/{chunk-SSXCHSVM.js → chunk-Z6FK7T7J.js} +2 -2
  188. package/dist/cli/chunks/{chunk-UOJ26GXD.js → chunk-Z7FVGJYC.js} +2 -2
  189. package/dist/cli/chunks/{chunk-DPJLA7JW.js → chunk-ZAT65V6I.js} +2 -2
  190. package/dist/cli/chunks/{chunk-J65XQ6WE.js → chunk-ZYCPTARG.js} +2 -2
  191. package/dist/cli/chunks/{ci-G2NEYLVO.js → ci-DK4FGREO.js} +2 -2
  192. package/dist/cli/chunks/{ci-output-SZFEXGBU.js → ci-output-HQBBQQES.js} +2 -2
  193. package/dist/cli/chunks/{circuit-breaker-ZD7PJY6N.js → circuit-breaker-MJCS46DN.js} +2 -2
  194. package/dist/cli/chunks/{claude-flow-setup-DAVANGUJ.js → claude-flow-setup-IIQT52H4.js} +2 -2
  195. package/dist/cli/chunks/client-FNDZB4TY.js +2 -0
  196. package/dist/cli/chunks/{cline-installer-WCPKWLY7.js → cline-installer-7SPKUNNZ.js} +2 -2
  197. package/dist/cli/chunks/{code-324ZJR3V.js → code-V2B4FP3X.js} +2 -2
  198. package/dist/cli/chunks/{code-index-extractor-EWVSXJHR.js → code-index-extractor-IRGAI76Y.js} +2 -2
  199. package/dist/cli/chunks/codex-installer-PDFCYRU6.js +15 -0
  200. package/dist/cli/chunks/{completions-ZAWBZWYK.js → completions-TAJ6N7YZ.js} +2 -2
  201. package/dist/cli/chunks/{complexity-analyzer-S3H2IRON.js → complexity-analyzer-JHQKQKBG.js} +2 -2
  202. package/dist/cli/chunks/{continuedev-installer-4DDFAJ26.js → continuedev-installer-DESZXCLC.js} +2 -2
  203. package/dist/cli/chunks/{copilot-installer-KBBAL3G5.js → copilot-installer-OQPXBLWS.js} +2 -2
  204. package/dist/cli/chunks/core-handlers-S37RHLKP.js +2 -0
  205. package/dist/cli/chunks/{cost-tracker-2YM7SGBW.js → cost-tracker-KHDFSCAJ.js} +2 -2
  206. package/dist/cli/chunks/{coverage-6CCBAORJ.js → coverage-T7EENIDE.js} +3 -3
  207. package/dist/cli/chunks/cross-domain-router-7ZHDB2V3.js +2 -0
  208. package/dist/cli/chunks/{cursor-installer-24DKXNU5.js → cursor-installer-X6BFU5QU.js} +2 -2
  209. package/dist/cli/chunks/{daemon-M2PSDIZF.js → daemon-22NOG5XI.js} +3 -3
  210. package/dist/cli/chunks/{daemon-JLF6CRBS.js → daemon-UTPP4JCG.js} +4 -4
  211. package/dist/cli/chunks/{dag-attention-scheduler-Y5HSZDRV.js → dag-attention-scheduler-XI6DG3FW.js} +2 -2
  212. package/dist/cli/chunks/{detect-6Y227IJ6.js → detect-7IMQGJ5I.js} +2 -2
  213. package/dist/cli/chunks/{dist-node-EGOJXGTA.js → dist-node-YMLM4K7J.js} +2 -2
  214. package/dist/cli/chunks/{domain-handler-G3JEWRE5.js → domain-handler-LRTJGTEH.js} +2 -2
  215. package/dist/cli/chunks/{domain-transfer-XOHI3EMJ.js → domain-transfer-HZJ3WUCT.js} +2 -2
  216. package/dist/cli/chunks/dream-BEVYNIOO.js +2 -0
  217. package/dist/cli/chunks/{embed-and-insert-pattern-CSSA55L4.js → embed-and-insert-pattern-QSRN7Z5Q.js} +2 -2
  218. package/dist/cli/chunks/{eval-NHBXOXDV.js → eval-JVVVQVV6.js} +2 -2
  219. package/dist/cli/chunks/{experience-capture-middleware-B7ZDV5UY.js → experience-capture-middleware-ORZN3ROJ.js} +3 -3
  220. package/dist/cli/chunks/{fast-paths-XGKSBALA.js → fast-paths-LUFARZR5.js} +2 -2
  221. package/dist/cli/chunks/{feature-flags-NBUDJSWJ.js → feature-flags-2XC4ECLW.js} +2 -2
  222. package/dist/cli/chunks/{feature-flags-ZVD73ZYK.js → feature-flags-ZHQESXIP.js} +2 -2
  223. package/dist/cli/chunks/{file-discovery-C42TEUKT.js → file-discovery-UHXZQ7GS.js} +2 -2
  224. package/dist/cli/chunks/{fleet-LF77P3BW.js → fleet-FUQ6G4SB.js} +3 -3
  225. package/dist/cli/chunks/{gnn-wrapper-UXNT7BEN.js → gnn-wrapper-A4E6OKGD.js} +2 -2
  226. package/dist/cli/chunks/{heartbeat-handler-C4LMU5LA.js → heartbeat-handler-3JKQORXA.js} +4 -4
  227. package/dist/cli/chunks/heartbeat-scheduler-K4YLB3X4.js +2 -0
  228. package/dist/cli/chunks/hnsw-adapter-PPR3LTMA.js +2 -0
  229. package/dist/cli/chunks/hnsw-index-ZSKFT4LZ.js +2 -0
  230. package/dist/cli/chunks/{hnsw-legacy-bridge-EHHBIWS3.js → hnsw-legacy-bridge-AHKFKM2J.js} +2 -2
  231. package/dist/cli/chunks/{better-sqlite3-OW5HIPEN.js → hnswlib-node-BP5CZGMD.js} +2 -2
  232. package/dist/cli/chunks/{hooks-AGE3HCFI.js → hooks-JNW5ZB2E.js} +10 -10
  233. package/dist/cli/chunks/hybrid-router-4SXBHTOY.js +2 -0
  234. package/dist/cli/chunks/{hypergraph-engine-E5QX5MEB.js → hypergraph-engine-3DTAMNSJ.js} +2 -2
  235. package/dist/cli/chunks/{hypergraph-handler-ZZHBANYB.js → hypergraph-handler-ZV4AZRGF.js} +3 -3
  236. package/dist/cli/chunks/impact-analyzer-55GE7EQD.js +2 -0
  237. package/dist/cli/chunks/{init-handler-PNVRBZZT.js → init-handler-NPOUX47N.js} +10 -6
  238. package/dist/cli/chunks/init-wizard-EUQLSGI6.js +2 -0
  239. package/dist/cli/chunks/kernel-BSGSVYPM.js +2 -0
  240. package/dist/cli/chunks/{kilocode-installer-TR53QKPU.js → kilocode-installer-D35TR6LG.js} +2 -2
  241. package/dist/cli/chunks/{kiro-installer-MJW6LCAX.js → kiro-installer-OHHTQENO.js} +2 -2
  242. package/dist/cli/chunks/knowledge-graph-OITIVT5J.js +2 -0
  243. package/dist/cli/chunks/{learning-6LLGHP2Q.js → learning-24PCHLWU.js} +3 -3
  244. package/dist/cli/chunks/{llm-router-DBLV3VGG.js → llm-router-XLTE52H5.js} +4 -4
  245. package/dist/cli/chunks/llm-router-service-RUPU52AR.js +2 -0
  246. package/dist/cli/chunks/{load-LAZ3E5PE.js → load-BHMK4FIL.js} +2 -2
  247. package/dist/cli/chunks/load-test-ZV3C55ZE.js +2 -0
  248. package/dist/cli/chunks/{mcp-L5QXHSEY.js → mcp-V4MAYT7C.js} +2 -2
  249. package/dist/cli/chunks/{memory-YR5PCMWA.js → memory-PDA7MQ7E.js} +5 -5
  250. package/dist/cli/chunks/memory-backend-S3KCPHCF.js +2 -0
  251. package/dist/cli/chunks/{memory-handlers-BSRTZQYR.js → memory-handlers-X5BLXOSH.js} +2 -2
  252. package/dist/cli/chunks/{multi-model-executor-RECZ3ACW.js → multi-model-executor-KECHOXKD.js} +2 -2
  253. package/dist/cli/chunks/{opencode-installer-4TDUB7HH.js → opencode-installer-LWSCQOOZ.js} +2 -2
  254. package/dist/cli/chunks/{orchestrator-PHDKJ5C4.js → orchestrator-ENEBTEUW.js} +6 -6
  255. package/dist/cli/chunks/pattern-null-store-ILVDKSCX.js +2 -0
  256. package/dist/cli/chunks/{pattern-usage-recorder-QK2FADRS.js → pattern-usage-recorder-XIHGXYZZ.js} +2 -2
  257. package/dist/cli/chunks/{pipeline-JQJYSN43.js → pipeline-GQOJM3LU.js} +2 -2
  258. package/dist/cli/chunks/platform-L56TGXGZ.js +2 -0
  259. package/dist/cli/chunks/{plugin-766MBGK6.js → plugin-SZ6PZKYX.js} +2 -2
  260. package/dist/cli/chunks/{prime-radiant-advanced-wasm-XQERZNSK.js → prime-radiant-advanced-wasm-SID5FQFW.js} +2 -2
  261. package/dist/cli/chunks/protocol-executor-GDRHCW3Q.js +2 -0
  262. package/dist/cli/chunks/{protocol-handler-FAK4MMNA.js → protocol-handler-5MMNVVPX.js} +2 -2
  263. package/dist/cli/chunks/{prove-HYBVXOGW.js → prove-DJ6BQ2AK.js} +2 -2
  264. package/dist/cli/chunks/provider-manager-BS4MVCSH.js +2 -0
  265. package/dist/cli/chunks/qe-reasoning-bank-P3ARGHDN.js +2 -0
  266. package/dist/cli/chunks/{quality-EGSO2RAX.js → quality-WKC4JCB3.js} +2 -2
  267. package/dist/cli/chunks/{quality-gate-RK32VMO7.js → quality-gate-CVHVSORK.js} +3 -3
  268. package/dist/cli/chunks/queen-coordinator-GI7GNVDM.js +2 -0
  269. package/dist/cli/chunks/{real-embeddings-GI7CRHE2.js → real-embeddings-DN2MEJVM.js} +2 -2
  270. package/dist/cli/chunks/{roocode-installer-BS3XWJJI.js → roocode-installer-LTAQJWIH.js} +2 -2
  271. package/dist/cli/chunks/router-YU6MLJBV.js +2 -0
  272. package/dist/cli/chunks/routing-feedback-D6B2SK5V.js +2 -0
  273. package/dist/cli/chunks/{routing-handler-XMGRJDHH.js → routing-handler-PSWR2UCT.js} +2 -2
  274. package/dist/cli/chunks/{ruvector-commands-NDL3ONNC.js → ruvector-commands-VTP6Y7PN.js} +2 -2
  275. package/dist/cli/chunks/{rvf-dual-writer-XAJOYGJ2.js → rvf-dual-writer-EBUMXPRO.js} +2 -2
  276. package/dist/cli/chunks/{rvf-migration-adapter-WXFRZZ26.js → rvf-migration-adapter-5N7GHMD3.js} +2 -2
  277. package/dist/cli/chunks/{rvf-migration-coordinator-WFXA2VUQ.js → rvf-migration-coordinator-GQKDBNRR.js} +2 -2
  278. package/dist/cli/chunks/rvf-native-adapter-M7ZVRN5Z.js +2 -0
  279. package/dist/cli/chunks/{rvf-store-integrity-I7PFJZCK.js → rvf-store-integrity-LR3SYGQK.js} +2 -2
  280. package/dist/cli/chunks/safe-db-3OHTLXG7.js +2 -0
  281. package/dist/cli/chunks/schedule-H43ADREQ.js +2 -0
  282. package/dist/cli/chunks/scheduler-CGSXNEPJ.js +2 -0
  283. package/dist/cli/chunks/{security-H3WY76GF.js → security-YDWLYXYD.js} +3 -3
  284. package/dist/cli/chunks/{shared-rvf-adapter-GRTJCLW6.js → shared-rvf-adapter-I3HQY7DE.js} +2 -2
  285. package/dist/cli/chunks/{shared-rvf-dual-writer-46XE5R2B.js → shared-rvf-dual-writer-2UADEA5N.js} +2 -2
  286. package/dist/cli/chunks/sqlite-persistence-V6U5FKVK.js +2 -0
  287. package/dist/cli/chunks/{status-handler-VUIFMY4F.js → status-handler-QRHI3F4V.js} +2 -2
  288. package/dist/cli/chunks/{structural-health-I7HC477E.js → structural-health-FWKE63CM.js} +2 -2
  289. package/dist/cli/chunks/{sync-M6LUV5R4.js → sync-2QRCT5MT.js} +2 -2
  290. package/dist/cli/chunks/{sync-RO2YGMBF.js → sync-E32MBAOF.js} +2 -2
  291. package/dist/cli/chunks/{task-handler-BJJTZ7AU.js → task-handler-C7BKMOCL.js} +2 -2
  292. package/dist/cli/chunks/{task-handlers-B6S4NEN3.js → task-handlers-PADWLLDO.js} +3 -3
  293. package/dist/cli/chunks/{test-BE7EM6Y6.js → test-KX4UKHSX.js} +4 -4
  294. package/dist/cli/chunks/{test-scheduling-4ISKEFR6.js → test-scheduling-5WKIWH4H.js} +3 -3
  295. package/dist/cli/chunks/{token-bootstrap-BOIYBZHW.js → token-bootstrap-6SKOJM3U.js} +2 -2
  296. package/dist/cli/chunks/{token-usage-6ZZC7RLT.js → token-usage-V6JW55RV.js} +2 -2
  297. package/dist/cli/chunks/{transformers-55VI4OGW.js → transformers-3UPFBYSB.js} +2 -2
  298. package/dist/cli/chunks/{tree-sitter-wasm-parser-6GRRGB3K.js → tree-sitter-wasm-parser-UCY4S2DU.js} +2 -2
  299. package/dist/cli/chunks/{types-SXDF7QQT.js → types-XNMNQGET.js} +2 -2
  300. package/dist/cli/chunks/unified-memory-H2J5BHPY.js +2 -0
  301. package/dist/cli/chunks/unified-memory-hnsw-LFGIWMTS.js +2 -0
  302. package/dist/cli/chunks/unified-persistence-F6W7EXU5.js +2 -0
  303. package/dist/cli/chunks/{upgrade-PMPB7NGB.js → upgrade-MVTMTOPL.js} +2 -2
  304. package/dist/cli/chunks/{validate-G37QKKXK.js → validate-OJWR2AGZ.js} +2 -2
  305. package/dist/cli/chunks/{validate-swarm-6X22J3VD.js → validate-swarm-2RGSF2K2.js} +2 -2
  306. package/dist/cli/chunks/{vibium-SGBJKHQL.js → vibium-O3ZLAEEZ.js} +2 -2
  307. package/dist/cli/chunks/visual-security-EHVU32UE.js +2 -0
  308. package/dist/cli/chunks/{web-tree-sitter-S46Y5BUJ.js → web-tree-sitter-6VPASTI4.js} +2 -2
  309. package/dist/cli/chunks/{windsurf-installer-PTYCETNM.js → windsurf-installer-CINHOW3N.js} +2 -2
  310. package/dist/cli/chunks/{witness-chain-5SCRFT2K.js → witness-chain-2NXW7FT7.js} +2 -2
  311. package/dist/cli/chunks/witness-chain-BIICGRHC.js +2 -0
  312. package/dist/cli/chunks/{witness-key-manager-XIAMRVUZ.js → witness-key-manager-ODW4DJWT.js} +2 -2
  313. package/dist/cli/chunks/{workflow-BPQA2NAI.js → workflow-BFGS2GAU.js} +4 -4
  314. package/dist/cli/chunks/workflow-orchestrator-PVTYPYY4.js +2 -0
  315. package/dist/cli/chunks/{wrappers-IWZZZOAU.js → wrappers-VEVVSVMS.js} +2 -2
  316. package/dist/cli/commands/platform.d.ts +17 -0
  317. package/dist/cli/commands/platform.js +91 -41
  318. package/dist/cli/handlers/init-handler.d.ts +1 -0
  319. package/dist/cli/handlers/init-handler.js +9 -3
  320. package/dist/init/codex-installer.d.ts +22 -3
  321. package/dist/init/codex-installer.js +132 -54
  322. package/dist/init/codex-skill-manifest.d.ts +43 -0
  323. package/dist/init/codex-skill-manifest.js +21 -0
  324. package/dist/init/orchestrator.js +1 -0
  325. package/dist/init/phases/09-assets.js +10 -1
  326. package/dist/init/phases/phase-interface.d.ts +2 -0
  327. package/dist/mcp/bundle.js +2 -2
  328. package/package.json +5 -1
  329. package/dist/cli/chunks/adapter-NIUFP6QX.js +0 -2
  330. package/dist/cli/chunks/aqe-learning-engine-DC4DNCPB.js +0 -2
  331. package/dist/cli/chunks/base-EXD3ULZT.js +0 -2
  332. package/dist/cli/chunks/browser-workflow-KOMASCB7.js +0 -2
  333. package/dist/cli/chunks/chunk-T5L65R23.js +0 -2
  334. package/dist/cli/chunks/client-ZJQMJO5N.js +0 -2
  335. package/dist/cli/chunks/codex-installer-HVSZBHH2.js +0 -10
  336. package/dist/cli/chunks/core-handlers-U2YJLH6O.js +0 -2
  337. package/dist/cli/chunks/cross-domain-router-E7EMKZEK.js +0 -2
  338. package/dist/cli/chunks/dream-ZMNQYBJO.js +0 -2
  339. package/dist/cli/chunks/heartbeat-scheduler-2JL4MAJR.js +0 -2
  340. package/dist/cli/chunks/hnsw-adapter-AZD6O35G.js +0 -2
  341. package/dist/cli/chunks/hnsw-index-WJLE4S5L.js +0 -2
  342. package/dist/cli/chunks/hybrid-router-YTKJBAS2.js +0 -2
  343. package/dist/cli/chunks/impact-analyzer-CX56GZXA.js +0 -2
  344. package/dist/cli/chunks/init-wizard-WE6HIC66.js +0 -2
  345. package/dist/cli/chunks/kernel-MT55LNNI.js +0 -2
  346. package/dist/cli/chunks/knowledge-graph-WN3LQ2W7.js +0 -2
  347. package/dist/cli/chunks/llm-router-service-NKHEQQMN.js +0 -2
  348. package/dist/cli/chunks/load-test-3WIQASDF.js +0 -2
  349. package/dist/cli/chunks/memory-backend-W6YSNT6O.js +0 -2
  350. package/dist/cli/chunks/pattern-null-store-IV3ZESTR.js +0 -2
  351. package/dist/cli/chunks/platform-FA5TOPTH.js +0 -2
  352. package/dist/cli/chunks/protocol-executor-GFAG5G6K.js +0 -2
  353. package/dist/cli/chunks/provider-manager-TIVIJIYH.js +0 -2
  354. package/dist/cli/chunks/qe-reasoning-bank-BYE7YF6Y.js +0 -2
  355. package/dist/cli/chunks/queen-coordinator-WOHYVV7A.js +0 -2
  356. package/dist/cli/chunks/router-VUW2UVCN.js +0 -2
  357. package/dist/cli/chunks/routing-feedback-WSUQMZAK.js +0 -2
  358. package/dist/cli/chunks/rvf-native-adapter-RHZCXVN6.js +0 -2
  359. package/dist/cli/chunks/safe-db-NTWEW7ZM.js +0 -2
  360. package/dist/cli/chunks/schedule-WEVC2GW2.js +0 -2
  361. package/dist/cli/chunks/scheduler-XHI5AJIS.js +0 -2
  362. package/dist/cli/chunks/sqlite-persistence-QZUPKMHP.js +0 -2
  363. package/dist/cli/chunks/unified-memory-QKWUSEBV.js +0 -2
  364. package/dist/cli/chunks/unified-memory-hnsw-Z2UQZRTK.js +0 -2
  365. package/dist/cli/chunks/unified-persistence-AVK2NSMI.js +0 -2
  366. package/dist/cli/chunks/visual-security-64UFH23G.js +0 -2
  367. package/dist/cli/chunks/witness-chain-ZIVSDX6C.js +0 -2
  368. package/dist/cli/chunks/workflow-orchestrator-TYP4MI2V.js +0 -2
  369. package/dist/cli/commands/init.d.ts +0 -19
  370. package/dist/cli/commands/init.js +0 -318
@@ -0,0 +1,283 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * advisor-call.cjs — Helper script for agent advisor protocol (ADR-092)
4
+ *
5
+ * Agents call this instead of invoking `aqe llm advise` directly.
6
+ * This script:
7
+ * 1. Reads .agentic-qe/config.yaml for advisor settings
8
+ * 2. Detects available API keys in environment
9
+ * 3. Applies security-agent provider restrictions automatically
10
+ * 4. Picks the best available provider/model
11
+ * 5. Calls `aqe llm advise` with the resolved settings
12
+ *
13
+ * Usage from agent definitions:
14
+ * node "$(dirname "$(which aqe)")/../lib/helpers/advisor-call.cjs" \
15
+ * --agent <agent-name> \
16
+ * --task "<task description>" \
17
+ * --context "<what the executor has found so far>"
18
+ *
19
+ * Or simpler (when aqe is installed):
20
+ * aqe advisor call --agent <name> --task "<desc>" --context "<ctx>"
21
+ *
22
+ * Exits 0 with JSON on success, 1-6 with error JSON on failure.
23
+ */
24
+
25
+ 'use strict';
26
+
27
+ const { execFileSync } = require('child_process');
28
+ const { readFileSync, writeFileSync, mkdirSync, existsSync } = require('fs');
29
+ const { join, dirname } = require('path');
30
+ const { tmpdir } = require('os');
31
+
32
+ // ============================================================================
33
+ // Parse arguments
34
+ // ============================================================================
35
+
36
+ const args = process.argv.slice(2);
37
+ function getArg(name) {
38
+ const idx = args.indexOf(`--${name}`);
39
+ return idx >= 0 && idx + 1 < args.length ? args[idx + 1] : null;
40
+ }
41
+
42
+ const agentName = getArg('agent') || 'unknown';
43
+ const taskDescription = getArg('task') || '';
44
+ const context = getArg('context') || '';
45
+ const userMessage = getArg('message') || taskDescription;
46
+
47
+ if (!taskDescription && !userMessage) {
48
+ console.error(JSON.stringify({
49
+ error: 'Usage: advisor-call.cjs --agent <name> --task "<description>" [--context "<findings>"] [--message "<user request>"]',
50
+ exit_code: 1,
51
+ }));
52
+ process.exit(1);
53
+ }
54
+
55
+ // ============================================================================
56
+ // Detect available providers from environment
57
+ // ============================================================================
58
+
59
+ const availableProviders = [];
60
+
61
+ if (process.env.OPENROUTER_API_KEY) {
62
+ availableProviders.push({
63
+ name: 'openrouter',
64
+ model: 'anthropic/claude-opus-4',
65
+ securityAllowed: false, // third-party proxy
66
+ });
67
+ }
68
+
69
+ if (process.env.ANTHROPIC_API_KEY) {
70
+ availableProviders.push({
71
+ name: 'claude',
72
+ model: 'claude-opus-4-6',
73
+ securityAllowed: true,
74
+ });
75
+ }
76
+
77
+ if (process.env.OLLAMA_HOST || process.env.OLLAMA_BASE_URL) {
78
+ availableProviders.push({
79
+ name: 'ollama',
80
+ model: process.env.OLLAMA_ADVISOR_MODEL || 'llama3.1:70b',
81
+ securityAllowed: true, // self-hosted
82
+ });
83
+ }
84
+
85
+ if (availableProviders.length === 0) {
86
+ console.error(JSON.stringify({
87
+ error: 'No advisor provider available. Set one of: OPENROUTER_API_KEY, ANTHROPIC_API_KEY, OLLAMA_HOST',
88
+ exit_code: 4,
89
+ }));
90
+ process.exit(4);
91
+ }
92
+
93
+ // ============================================================================
94
+ // Read project config for advisor overrides
95
+ // ============================================================================
96
+
97
+ let advisorConfig = {};
98
+ const configPaths = [
99
+ join(process.cwd(), '.agentic-qe', 'config.yaml'),
100
+ join(process.cwd(), '.agentic-qe', 'config.json'),
101
+ ];
102
+
103
+ for (const cfgPath of configPaths) {
104
+ try {
105
+ if (!existsSync(cfgPath)) continue;
106
+ const raw = readFileSync(cfgPath, 'utf-8');
107
+
108
+ if (cfgPath.endsWith('.yaml') || cfgPath.endsWith('.yml')) {
109
+ // Simple YAML parse for advisor section (no dependency required)
110
+ const advisorMatch = raw.match(/^advisor:\s*\n((?: .+\n)*)/m);
111
+ if (advisorMatch) {
112
+ const lines = advisorMatch[1].split('\n').filter(Boolean);
113
+ for (const line of lines) {
114
+ const kv = line.match(/^\s+(\w+):\s*"?([^"#\n]+)"?/);
115
+ if (kv) advisorConfig[kv[1].trim()] = kv[2].trim();
116
+ }
117
+ }
118
+ } else {
119
+ const json = JSON.parse(raw);
120
+ if (json.advisor) advisorConfig = json.advisor;
121
+ }
122
+ break;
123
+ } catch {
124
+ // config not available — use defaults
125
+ }
126
+ }
127
+
128
+ // ============================================================================
129
+ // Select provider based on agent domain + security constraints
130
+ // ============================================================================
131
+
132
+ const isSecurityAgent = /^qe-security|^qe-pentest/.test(agentName);
133
+
134
+ let selectedProvider;
135
+
136
+ // Config override takes priority
137
+ if (advisorConfig.provider) {
138
+ selectedProvider = availableProviders.find(p => p.name === advisorConfig.provider);
139
+ }
140
+
141
+ // Security agents: filter to allowed providers only
142
+ if (!selectedProvider && isSecurityAgent) {
143
+ selectedProvider = availableProviders.find(p => p.securityAllowed);
144
+ if (!selectedProvider) {
145
+ console.error(JSON.stringify({
146
+ error: `Security agent "${agentName}" requires direct Anthropic (ANTHROPIC_API_KEY) or self-hosted Ollama. OpenRouter is not allowed for security agents.`,
147
+ exit_code: 6,
148
+ }));
149
+ process.exit(6);
150
+ }
151
+ }
152
+
153
+ // Default: first available provider (preference: openrouter > claude > ollama)
154
+ if (!selectedProvider) {
155
+ selectedProvider = availableProviders[0];
156
+ }
157
+
158
+ // Config model override
159
+ const model = advisorConfig.model || selectedProvider.model;
160
+ const maxUses = advisorConfig.maxUses || '3';
161
+ const redactMode = advisorConfig.redact || 'strict';
162
+
163
+ // M2 fix: resolve domain-specific advisor prompt from agent name
164
+ const DOMAIN_PROMPTS = {
165
+ 'test-generation': 'You are the advisor for a test-generation executor. Respond in under 100 words, enumerated steps. Name concrete classes, methods, dependencies. Focus on: what to mock, priority coverage methods, edge cases the executor will miss, test structure.',
166
+ 'security-compliance': 'You are the advisor for a security executor. Respond in under 100 words, enumerated steps. Name concrete attack vectors, CWE IDs, code locations. Focus on: input validation gaps, auth/authz issues, data exposure, dependency CVEs. Prioritize by exploitability.',
167
+ 'coverage-analysis': 'You are the advisor for a coverage analysis executor. Respond in under 100 words, enumerated steps. Name concrete uncovered files, functions, branches. Focus on: highest business risk gaps, missed branch types, quick wins.',
168
+ 'cross-domain': 'You are the advisor for a fleet commander. Respond in under 100 words, enumerated steps. Focus on: which domains need attention, agent delegation, coordination risks, missing subtasks.',
169
+ };
170
+
171
+ const AGENT_DOMAIN_MAP = {
172
+ 'qe-test-architect': 'test-generation',
173
+ 'qe-test-generator': 'test-generation',
174
+ 'qe-coverage-specialist': 'coverage-analysis',
175
+ 'qe-coverage-analyzer': 'coverage-analysis',
176
+ 'qe-security-auditor': 'security-compliance',
177
+ 'qe-security-scanner': 'security-compliance',
178
+ 'qe-pentest-validator': 'security-compliance',
179
+ 'qe-fleet-commander': 'cross-domain',
180
+ 'qe-queen-coordinator': 'cross-domain',
181
+ 'qe-risk-assessor': 'cross-domain',
182
+ 'qe-root-cause-analyzer': 'cross-domain',
183
+ };
184
+
185
+ const agentDomain = AGENT_DOMAIN_MAP[agentName];
186
+ const domainPrompt = agentDomain ? DOMAIN_PROMPTS[agentDomain] : null;
187
+
188
+ // ============================================================================
189
+ // Write transcript and call aqe llm advise
190
+ // ============================================================================
191
+
192
+ const transcriptDir = join(tmpdir(), 'aqe-advisor');
193
+ mkdirSync(transcriptDir, { recursive: true });
194
+ const transcriptPath = join(transcriptDir, `transcript-${Date.now()}.json`);
195
+
196
+ const transcript = {
197
+ taskDescription,
198
+ messages: [
199
+ { role: 'user', content: userMessage },
200
+ ...(context ? [{ role: 'assistant', content: context }] : []),
201
+ ],
202
+ };
203
+
204
+ writeFileSync(transcriptPath, JSON.stringify(transcript));
205
+
206
+ // Find aqe binary
207
+ let aqeBin = 'aqe';
208
+ try {
209
+ execFileSync('which', ['aqe'], { encoding: 'utf-8' });
210
+ } catch {
211
+ // aqe not on PATH — try npx
212
+ aqeBin = 'npx';
213
+ }
214
+
215
+ const cliArgs = aqeBin === 'npx'
216
+ ? ['aqe', 'llm', 'advise']
217
+ : ['llm', 'advise'];
218
+
219
+ cliArgs.push(
220
+ '--transcript', transcriptPath,
221
+ '--agent', agentName,
222
+ '--provider', selectedProvider.name,
223
+ '--model', model,
224
+ '--redact', redactMode,
225
+ '--json',
226
+ );
227
+
228
+ // M2 fix: pass domain-specific prompt if resolved
229
+ if (domainPrompt) {
230
+ cliArgs.push('--advisor-prompt', domainPrompt);
231
+ }
232
+
233
+ try {
234
+ const result = execFileSync(aqeBin, cliArgs, {
235
+ encoding: 'utf-8',
236
+ timeout: 60000,
237
+ env: process.env,
238
+ });
239
+
240
+ // Forward the JSON result, filtering out non-JSON lines (e.g., UnifiedMemory init)
241
+ const lines = result.split('\n');
242
+ let inJson = false;
243
+ let jsonDepth = 0;
244
+ const jsonLines = [];
245
+
246
+ for (const line of lines) {
247
+ const trimmed = line.trim();
248
+ if (!inJson && trimmed.startsWith('{')) {
249
+ inJson = true;
250
+ }
251
+ if (inJson) {
252
+ jsonLines.push(line);
253
+ jsonDepth += (trimmed.match(/{/g) || []).length;
254
+ jsonDepth -= (trimmed.match(/}/g) || []).length;
255
+ if (jsonDepth <= 0) break;
256
+ }
257
+ }
258
+
259
+ if (jsonLines.length > 0) {
260
+ console.log(jsonLines.join('\n'));
261
+ }
262
+
263
+ // Clean up transcript
264
+ try { require('fs').unlinkSync(transcriptPath); } catch {}
265
+
266
+ process.exit(0);
267
+ } catch (err) {
268
+ const exitCode = err.status || 1;
269
+ const stderr = err.stderr || err.message || 'Unknown error';
270
+
271
+ console.error(JSON.stringify({
272
+ error: stderr.slice(0, 500),
273
+ exit_code: exitCode,
274
+ provider: selectedProvider.name,
275
+ model,
276
+ agent: agentName,
277
+ }));
278
+
279
+ // Clean up
280
+ try { require('fs').unlinkSync(transcriptPath); } catch {}
281
+
282
+ process.exit(exitCode);
283
+ }
@@ -4,22 +4,22 @@ This directory contains Quality Engineering skills managed by Agentic QE.
4
4
 
5
5
  ## Summary
6
6
 
7
- - **Total QE Skills**: 85
8
- - **V2 Methodology Skills**: 62
9
- - **V3 Domain Skills**: 24
10
- - **Platform Skills**: 30 (Claude Flow managed)
7
+ - **Total QE Skills**: 88
8
+ - **V2 Methodology Skills**: 65
9
+ - **V3 Domain Skills**: 23
10
+ - **Platform Skills**: 32 (Claude Flow managed)
11
11
  - **Validation Infrastructure**: ✅ Installed
12
12
 
13
13
  > **Note**: Platform skills (agentdb, github, flow-nexus, etc.) are managed by claude-flow.
14
14
  > Only QE-specific skills are installed/updated by `aqe init`.
15
15
 
16
- ## V2 Methodology Skills (62)
16
+ ## V2 Methodology Skills (65)
17
17
 
18
18
  Version-agnostic quality engineering best practices from the QE community.
19
19
 
20
- - **a11y-ally**: Comprehensive WCAG accessibility auditing with multi-tool testing (axe-core + pa11y + Lighthouse), TRUE PARALLEL execution with Promise.allSettled, graceful degradation, retry with backoff, context-aware remediation, learning integration, and video accessibility. Uses 3-tier browser cascade: Vibium agent-browser → Playwright+Stealth.
20
+ - **a11y-ally**: Use when running comprehensive WCAG accessibility audits with axe-core + pa11y + Lighthouse, generating context-aware remediation, or testing video accessibility. Supports 3-tier browser cascade with graceful degradation.
21
21
  - **accessibility-testing**: WCAG 2.2 compliance testing, screen reader validation, and inclusive design verification. Use when ensuring legal compliance (ADA, Section 508), testing for disabilities, or building accessible applications for 1 billion disabled users globally.
22
- - **agentic-quality-engineering**: AI agents as force multipliers for quality work. Core skill for all 19 QE agents using PACTS principles.
22
+ - **agentic-quality-engineering**: Use when orchestrating QE agents, understanding PACTS principles, configuring the AQE v3 fleet, or leveraging AI agents as force multipliers for quality work.
23
23
  - **api-testing-patterns**: Comprehensive API testing patterns including contract testing, REST/GraphQL testing, and integration testing. Use when testing APIs or designing API test strategies.
24
24
  - **browser**: Web browser automation with AI-optimized snapshots for claude-flow agents
25
25
  - **brutal-honesty-review**: Unvarnished technical criticism combining Linus Torvalds
@@ -33,8 +33,8 @@ Version-agnostic quality engineering best practices from the QE community.
33
33
  - **context-driven-testing**: Apply context-driven testing principles where practices are chosen based on project context, not universal
34
34
  - **contract-testing**: Consumer-driven contract testing for microservices using Pact, schema validation, API versioning, and backward compatibility testing. Use when testing API contracts or coordinating distributed teams.
35
35
  - **database-testing**: Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance. Use when testing data persistence, ensuring referential integrity, or validating database migrations.
36
- - **debug-loop**: Hypothesis-driven autonomous debugging with real command validation
37
- - **enterprise-integration-testing**: Orchestration skill for enterprise integration testing across SAP, middleware, WMS, and backend systems. Covers E2E enterprise flows, SAP-specific patterns (RFC, BAPI, IDoc, OData, Fiori), cross-system data validation, and enterprise quality gates.
36
+ - **debug-loop**: Use when debugging a failing test or runtime error with hypothesis-driven investigation, autonomous command validation, and systematic root cause elimination.
37
+ - **enterprise-integration-testing**: Use when testing enterprise integrations across SAP, middleware, WMS, or backend systems, validating E2E enterprise flows, testing SAP-specific patterns (RFC, BAPI, IDoc, OData, Fiori), or enforcing cross-system quality gates.
38
38
  - **exploratory-testing-advanced**: Advanced exploratory testing techniques with Session-Based Test Management (SBTM), RST heuristics, and test tours. Use when planning exploration sessions, investigating bugs, or discovering unknown quality risks.
39
39
  - **holistic-testing-pact**: Apply the Holistic Testing Model evolved with PACTS (Proactive, Autonomous, Collaborative, Targeted, Structured) principles. Use when designing comprehensive test strategies for Classical, AI-assisted, Agent based, or Agentic Systems building quality into the team, or implementing whole-team quality practices.
40
40
  - **localization-testing**: Internationalization (i18n) and localization (l10n) testing for global products including translations, locale formats, RTL languages, and cultural appropriateness. Use when launching in new markets or building multi-language products.
@@ -48,18 +48,20 @@ Version-agnostic quality engineering best practices from the QE community.
48
48
  - **n8n-workflow-testing-fundamentals**: Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies. Use when testing n8n workflow automation applications.
49
49
  - **observability-testing-patterns**: Observability and monitoring validation patterns for dashboards, alerting, log aggregation, APM traces, and SLA/SLO verification. Use when testing monitoring infrastructure, dashboard accuracy, alert rules, or metric pipelines.
50
50
  - **pair-programming**: AI-assisted pair programming with multiple modes (driver/navigator/switch), real-time verification, quality monitoring, and comprehensive testing. Supports TDD, debugging, refactoring, and learning sessions. Features automatic role switching, continuous code review, security scanning, and performance optimization with truth-score verification.
51
- - **performance-testing**: Test application performance, scalability, and resilience. Use when planning load testing, stress testing, or optimizing system performance.
52
- - **pr-review**: Scope-aware GitHub PR review with user-friendly tone and trust tier validation
53
- - **qcsd-cicd-swarm**: QCSD Verification phase swarm for CI/CD pipeline quality gates using regression analysis, flaky test detection, quality gate enforcement, and deployment readiness assessment. Consumes Development outputs (SHIP/CONDITIONAL/HOLD decisions, quality metrics) and produces signals for Production monitoring.
54
- - **qcsd-development-swarm**: QCSD Development phase swarm for in-sprint code quality assurance using TDD adherence, code complexity analysis, coverage gap detection, and defect prediction. Consumes Refinement outputs (BDD scenarios, SFDIPOT priorities) and produces signals for Verification.
55
- - **qcsd-ideation-swarm**: QCSD Ideation phase swarm for Quality Criteria sessions using HTSM v6.3, Risk Storming, and Testability analysis before development begins. Uses 5-tier browser cascade: Vibium → agent-browser → Playwright+Stealth → WebFetch → WebSearch-fallback.
56
- - **qcsd-production-swarm**: QCSD Production Telemetry phase swarm for post-release production health assessment using DORA metrics, root cause analysis, defect prediction, and cross-phase feedback loops. Consumes CI/CD outputs (RELEASE/REMEDIATE/BLOCK decisions, release readiness metrics) and produces feedback signals to Ideation and Refinement.
57
- - **qcsd-refinement-swarm**: QCSD Refinement phase swarm for Sprint Refinement sessions using SFDIPOT product factors, BDD scenario generation, and requirements validation.
58
- - **quality-metrics**: Measure quality effectively with actionable metrics. Use when establishing quality dashboards, defining KPIs, or evaluating test effectiveness.
51
+ - **performance-testing**: Profiles application performance under load using k6, Artillery, or JMeter to measure latency, throughput, and error rates. Use when planning load tests, stress tests, soak tests, benchmarking APIs, or identifying performance bottlenecks.
52
+ - **pr-review**: Use when reviewing a GitHub PR for quality, scope correctness, trust tier compliance, or generating user-friendly review feedback.
53
+ - **qcsd-cicd-swarm**: Use when enforcing CI/CD quality gates before release, running regression analysis, detecting flaky tests, or assessing deployment readiness in the QCSD Verification phase.
54
+ - **qcsd-development-swarm**: Use when monitoring in-sprint code quality with TDD adherence checks, complexity analysis, coverage gap detection, or defect prediction in the QCSD Development phase.
55
+ - **qcsd-ideation-swarm**: Use when running Quality Criteria sessions during PI/Sprint planning with HTSM v6.3, Risk Storming, or Testability analysis in the QCSD Ideation phase.
56
+ - **qcsd-production-swarm**: Use when assessing post-release production health with DORA metrics, root cause analysis, defect prediction, or cross-phase feedback loops in the QCSD Production phase.
57
+ - **qcsd-refinement-swarm**: Use when running Sprint Refinement sessions with SFDIPOT product factors, generating BDD scenarios, or validating requirements in the QCSD Refinement phase.
58
+ - **qe-court**: Adversarial review court a delivery (diff, PR, test suite, or artifact) is prosecuted by independent AI reviewers from different vendors, each with its own probe set, then a SHIP verdict must SURVIVE escalating deeper reviewers before it stands. Use when you want more than one reviewer
59
+ - **quality-metrics**: Tracks quality metrics including defect density, test effectiveness ratio, DORA metrics, and mean time to detection. Use when establishing quality dashboards, defining KPIs, evaluating test suite effectiveness, or reporting quality trends to stakeholders.
59
60
  - **refactoring-patterns**: Apply safe refactoring patterns to improve code structure without changing behavior. Use when cleaning up code, reducing technical debt, or improving maintainability.
60
61
  - **regression-testing**: Strategic regression testing with test selection, impact analysis, and continuous regression management. Use when verifying fixes don
61
62
  - **risk-based-testing**: Focus testing effort on highest-risk areas using risk assessment and prioritization. Use when planning test strategy, allocating testing resources, or making coverage decisions.
62
- - **security-testing**: Test for security vulnerabilities using OWASP principles. Use when conducting security audits, testing auth, or implementing security practices.
63
+ - **ruflo**: Ruflo is a multi-agent orchestration platform for AI coding agents (Claude Code, Cursor, Codex, Copilot, Gemini, Amp, +12 more). Use this skill when the user wants to (1) install/init ruflo in a project, (2) run multi-agent swarms with hierarchical coordination, (3) use ruflo
64
+ - **security-testing**: Scans for security vulnerabilities including XSS, SQL injection, CSRF, and auth flaws using OWASP Top 10 methodology. Use when conducting SAST/DAST scans, auditing authentication flows, testing authorization rules, or implementing security test automation.
63
65
  - **security-visual-testing**: Security-first visual testing combining URL validation, PII detection, and visual regression with parallel viewport support. Use when testing web applications that handle sensitive data, need visual regression coverage, or require WCAG accessibility compliance.
64
66
  - **sfdipot-product-factors**: James Bach
65
67
  - **sherlock-review**: Evidence-based investigative code review using deductive reasoning to determine what actually happened versus what was claimed. Use when verifying implementation claims, investigating bugs, validating fixes, or conducting root cause analysis. Elementary approach to finding truth through systematic observation.
@@ -75,55 +77,41 @@ Version-agnostic quality engineering best practices from the QE community.
75
77
  - **test-idea-rewriting**: Transform passive
76
78
  - **test-reporting-analytics**: Advanced test reporting, quality dashboards, predictive analytics, trend analysis, and executive reporting for QE metrics. Use when communicating quality status, tracking trends, or making data-driven decisions.
77
79
  - **testability-scoring**: AI-powered testability assessment using 10 principles of intrinsic testability with Playwright and optional Vibium integration. Evaluates web applications against Observability, Controllability, Algorithmic Simplicity, Transparency, Stability, Explainability, Unbugginess, Smallness, Decomposability, and Similarity. Use when assessing software testability, evaluating test readiness, identifying testability improvements, or generating testability reports.
78
- - **verification-quality**: Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold for ensuring high-quality agent outputs and codebase reliability.
80
+ - **validation-pipeline**: Runs multi-stage validation gates with per-step scoring, pass/fail verdicts, and aggregate quality reports. Use when validating requirements, code, or artifacts through structured gate enforcement before merge or release.
81
+ - **verification-quality**: |
79
82
  - **visual-testing-advanced**: Advanced visual regression testing with pixel-perfect comparison, AI-powered diff analysis, responsive design validation, and cross-browser visual consistency. Use when detecting UI regressions, validating designs, or ensuring visual consistency.
80
83
  - **wms-testing-patterns**: Warehouse Management System testing patterns for inventory operations, pick/pack/ship workflows, wave management, EDI X12/EDIFACT compliance, RF/barcode scanning, and WMS-ERP integration. Use when testing WMS platforms (Blue Yonder, Manhattan, SAP EWM).
81
84
  - **xp-practices**: Apply XP practices including pair programming, ensemble programming, continuous integration, and sustainable pace. Use when implementing agile development practices, improving team collaboration, or adopting technical excellence practices.
82
85
 
83
- ## V3 Domain Skills (24)
84
-
85
- V3-specific implementation guides for the 12 DDD bounded contexts plus on-demand hooks, investigation runbooks, and measurement tools.
86
-
87
- - **pentest-validation**: Orchestrate security finding validation through graduated exploitation. 4-phase pipeline: recon (SAST/DAST), analysis (code review), validation (exploit proof), report (No Exploit, No Report gate). Eliminates false positives by proving exploitability.
88
- - **qe-browser**: Browser automation fleet skill built on Vibium (WebDriver BiDi, ~10MB Go binary, auto-installed by `aqe init`). Ships 5 helpers: typed assertions with 16 check kinds, multi-step batch executor, pixel-perfect visual-diff against baselines, prompt-injection scanner with 14 patterns, and semantic intent scorer with 15 intents (accept_cookies, submit_form, fill_email, etc.). Emits a `skipped` envelope with exit code 2 if vibium isn't installed. Supersedes per-skill browser glue in a11y-ally, e2e-flow-verifier, visual-testing-advanced, and 8 other skills. See [ADR-091](../../../docs/implementation/adrs/ADR-091-qe-browser-skill-vibium-engine.md).
89
- - **qe-chaos-resilience**: Chaos engineering and resilience testing including fault injection, load testing, and system recovery validation.
90
- - **qe-code-intelligence**: Knowledge graph-based code understanding with semantic search and 80% token reduction through intelligent context retrieval.
91
- - **qe-coverage-analysis**: O(log n) sublinear coverage gap detection with risk-weighted analysis and intelligent test prioritization.
92
- - **qe-defect-intelligence**: AI-powered defect prediction, pattern learning, and root cause analysis for proactive quality management.
93
- - **qe-iterative-loop**: Quality Engineering iteration loops for autonomous test improvement, coverage achievement, and quality gate compliance. Use when tests need to pass, coverage targets must be met, quality gates require compliance, or flaky tests need stabilization. Integrates with AQE v3 fleet agents for coordinated quality iteration.
94
- - **qe-learning-optimization**: Transfer learning, metrics optimization, and continuous improvement for AI-powered QE agents.
95
- - **qe-quality-assessment**: Comprehensive quality gates, metrics analysis, and deployment readiness assessment for continuous quality assurance.
96
- - **qe-requirements-validation**: Requirements traceability, acceptance criteria validation, and BDD scenario management for complete requirements coverage.
97
- - **qe-test-execution**: Parallel test execution orchestration with intelligent scheduling, retry logic, and comprehensive result aggregation.
98
- - **qe-test-generation**: AI-powered test generation using pattern recognition, code analysis, and intelligent test synthesis for comprehensive test coverage.
99
- - **qe-visual-accessibility**: Visual regression testing, responsive design validation, and WCAG accessibility compliance testing.
100
-
101
- ### On-Demand Hooks
102
-
103
- - **strict-tdd**: Enforces strict TDD red-green-refactor discipline. Blocks code changes that lack a failing test first.
104
- - **no-skip**: Prevents use of .skip, .only, or xdescribe in test files. Ensures all tests are active.
105
- - **coverage-guard**: Blocks merges when coverage drops below configured thresholds. Enforces coverage-only-goes-up policy.
106
- - **freeze-tests**: Locks the test suite during stabilization periods. Prevents new test additions or modifications.
107
- - **security-watch**: Scans code changes for security anti-patterns (hardcoded secrets, SQL injection, etc.) on every commit.
108
-
109
- ### Runbook Skills
110
-
111
- - **test-failure-investigator**: Automated runbook for investigating test failures. Gathers logs, diffs, recent changes, and flaky-test history to diagnose root cause.
112
- - **coverage-drop-investigator**: Automated runbook for diagnosing coverage drops. Identifies uncovered lines, maps to recent commits, and suggests targeted tests.
113
-
114
- ### Product Verification
115
-
116
- - **e2e-flow-verifier**: End-to-end user flow verification against acceptance criteria. Validates critical paths through the application match expected behavior.
117
-
118
- ### Data & Analysis
119
-
120
- - **test-metrics-dashboard**: Aggregates test results, coverage trends, flaky-test rates, and execution times into a unified dashboard view.
121
-
122
- ### Measurement
123
-
124
- - **skill-stats**: Measures skill usage frequency, success rates, and token costs. Provides data for skill portfolio optimization.
125
-
126
- ## Platform Skills (30)
86
+ ## V3 Domain Skills (23)
87
+
88
+ V3-specific implementation guides for the 12 DDD bounded contexts.
89
+
90
+ - **coverage-drop-investigator**: Use when test coverage has dropped and you need to find which changes caused it and what tests to add. Traces coverage regressions to specific commits and files.
91
+ - **coverage-guard**: Use when you want to prevent coverage regressions during development. Activate with /coverage-guard to warn when coverage drops below threshold after code changes.
92
+ - **e2e-flow-verifier**: Use when verifying complete user flows end-to-end with the qe-browser skill (Vibium), recording session evidence, and asserting state at each step. For product verification with real browser automation.
93
+ - **freeze-tests**: Use when refactoring production code and you want to ensure test files are not modified. Activate with /freeze-tests to block all edits to test files for safe refactoring.
94
+ - **no-skip**: Use when you want to prevent .skip(), .only(), xit(), and xdescribe() from being committed to test files. Activate with /no-skip for session-scoped test skip prevention.
95
+ - **pentest-validation**: Use when validating security findings from SAST/DAST scans, proving exploitability of reported vulnerabilities, eliminating false positives, or running the 4-phase pentest pipeline (recon, analysis, validation, report).
96
+ - **qe-browser**: Browser automation for QE agents using Vibium (WebDriver BiDi) with assertions, batch execution, visual diff, prompt-injection scanning, and semantic intents. Use when any QE skill needs to drive a real browser visual testing, accessibility audits, E2E flow verification, pentest validation, or exploratory testing.
97
+ - **qe-chaos-resilience**: Injects controlled faults (network partition, latency, process kill, disk pressure) into distributed systems and validates recovery behavior. Use when testing circuit breakers, failover paths, retry logic, or building confidence in system resilience through chaos engineering.
98
+ - **qe-code-intelligence**: Builds semantic code indexes, maps dependency graphs, and performs intelligent code search across large codebases. Use when understanding unfamiliar code, tracing call chains, analyzing import dependencies, or reducing context window usage through targeted retrieval.
99
+ - **qe-coverage-analysis**: Analyzes test coverage data (Istanbul, c8, lcov) to identify uncovered lines, branches, and functions with risk-weighted gap detection. Use when analyzing coverage reports, identifying coverage gaps, comparing coverage between branches, or prioritizing which untested code to cover first.
100
+ - **qe-defect-intelligence**: Predicts defect-prone code using change frequency, complexity metrics, and historical bug patterns. Use when predicting defects before they escape, analyzing root causes of test failures, learning from past defect patterns, or implementing proactive quality management.
101
+ - **qe-iterative-loop**: Runs autonomous red-green-refactor loops to fix failing tests, reach coverage targets, and satisfy quality gates. Use when tests need to pass, coverage thresholds must be met, quality gates require compliance, or flaky tests need stabilization.
102
+ - **qe-learning-optimization**: Optimizes QE agent performance through transfer learning, hyperparameter tuning, and pattern distillation across test domains. Use when improving agent accuracy, applying learned patterns to new projects, tuning quality thresholds, or implementing continuous improvement loops for AI-powered testing.
103
+ - **qe-quality-assessment**: Evaluates code quality through complexity analysis, lint results, code smell detection, and test health metrics. Use when assessing deployment readiness, configuring quality gates, scoring a codebase for release, or generating quality reports with pass/fail verdicts.
104
+ - **qe-requirements-validation**: Validates acceptance criteria for testability, traces requirements to test cases, and generates BDD scenarios from user stories. Use when validating acceptance criteria, building requirements traceability matrices, managing Gherkin scenarios, or ensuring complete requirements coverage before development.
105
+ - **qe-test-execution**: Orchestrates test suite execution with parallel sharding, intelligent retry, and real-time reporting across Jest, Vitest, and Playwright. Use when running test suites, optimizing execution time, handling flaky tests, configuring CI test pipelines, or analyzing test run results.
106
+ - **qe-test-generation**: Generates durable-first tests — invariants, contracts, and property-based tests at boundaries that survive a reimplementation — plus unit, integration, and e2e coverage. Use when creating tests for new or changed code, filling coverage gaps, or migrating test suites between Jest, Vitest, and Playwright.
107
+ - **qe-visual-accessibility**: Captures and compares screenshots across viewports, runs axe-core accessibility scans, and detects visual regressions with pixel-diff analysis. Use when detecting UI regressions, validating responsive layouts, testing WCAG compliance, or ensuring visual consistency after CSS or component changes.
108
+ - **security-watch**: Use when working on security-sensitive code to catch secrets, eval(), innerHTML, and other dangerous patterns before they
109
+ - **skill-stats**: Use when reviewing which QE skills are being used, finding undertriggering skills, or analyzing skill effectiveness. Shows usage patterns and recommendations.
110
+ - **strict-tdd**: Use when enforcing TDD discipline blocks writing production code unless a failing test exists first. Activate with /strict-tdd to enable session-scoped Red-Green-Refactor guardrail.
111
+ - **test-failure-investigator**: Use when a test is failing and you need to determine root cause: is it flaky, an environment issue, or a real regression? Traces failure from symptom to fix.
112
+ - **test-metrics-dashboard**: Use when querying test history, analyzing flakiness rates, tracking MTTR, or building quality trend dashboards from test execution data.
113
+
114
+ ## Platform Skills (32)
127
115
 
128
116
  Claude Flow platform skills (managed separately).
129
117
 
@@ -141,8 +129,10 @@ Claude Flow platform skills (managed separately).
141
129
  - github-release-management
142
130
  - github-workflow-automation
143
131
  - hooks-automation
132
+ - iterative-loop
144
133
  - reasoningbank-agentdb
145
134
  - reasoningbank-intelligence
135
+ - release
146
136
  - skill-builder
147
137
  - sparc-methodology
148
138
  - stream-chain
@@ -171,4 +161,4 @@ See `.validation/README.md` for usage instructions.
171
161
 
172
162
  ---
173
163
 
174
- *Generated by AQE v3 init on 2026-03-11T09:00:19.526Z*
164
+ *Generated by AQE v3 init on 2026-07-26T08:24:02.025Z*
@@ -0,0 +1,71 @@
1
+ # Dual-Mode Skills (Claude Code + Codex)
2
+
3
+ Optional skills for orchestrating Claude Code and headless Codex workers together.
4
+
5
+ ## Available Skills
6
+
7
+ | Skill | File | Purpose |
8
+ |-------|------|---------|
9
+ | `/dual-spawn` | dual-spawn.md | Spawn headless Codex workers from Claude Code |
10
+ | `/dual-coordinate` | dual-coordinate.md | Coordinate hybrid Claude+Codex workflows |
11
+ | `/dual-collect` | dual-collect.md | Collect results from headless workers |
12
+
13
+ ## Quick Start
14
+
15
+ ### Spawn Parallel Workers
16
+ ```
17
+ /dual-spawn "Implement auth module" --workers 3
18
+ ```
19
+
20
+ This spawns 3 headless Codex workers in background.
21
+
22
+ ### Collect Results
23
+ ```
24
+ /dual-collect --namespace results
25
+ ```
26
+
27
+ ### Full Hybrid Workflow
28
+ ```
29
+ /dual-coordinate --workflow hybrid_development --task "Build user API"
30
+ ```
31
+
32
+ ## Workflow Examples
33
+
34
+ ### Feature Implementation
35
+ ```bash
36
+ # 1. Spawn implementation workers
37
+ /dual-spawn "Implement user CRUD API" --workers 2 --type coder
38
+
39
+ # 2. Spawn test writer
40
+ /dual-spawn "Write tests for user API" --workers 1 --type tester
41
+
42
+ # 3. Collect all results
43
+ /dual-collect --format detailed
44
+ ```
45
+
46
+ ### Documentation Sprint
47
+ ```bash
48
+ /dual-spawn "Document all API endpoints" --workers 4 --type docs
49
+ /dual-collect --namespace results
50
+ ```
51
+
52
+ ## Related Agents
53
+
54
+ See `.claude/agents/dual-mode/` for agent definitions:
55
+ - `dual-orchestrator` - Hybrid workflow orchestration
56
+ - `codex-coordinator` - Parallel worker coordination
57
+ - `codex-worker` - Headless execution worker
58
+
59
+ ## How It Works
60
+
61
+ 1. **Skills** define the command interface (what you type)
62
+ 2. **Agents** define the behavior and capabilities
63
+ 3. **Memory** provides coordination between workers
64
+ 4. **MCP tools** handle the underlying operations
65
+
66
+ All workers share memory via claude-flow MCP tools for seamless coordination.
67
+
68
+ ## Installation
69
+
70
+ Skills are pre-installed in `.claude/skills/dual-mode/`.
71
+ Invoke with `/skill-name` in Claude Code.