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.
- package/.agents/skills/aqe-plan-work/SKILL.md +31 -0
- package/.agents/skills/aqe-plan-work/agents/openai.yaml +4 -0
- package/.agents/skills/aqe-plan-work/references/planning-framework.md +39 -0
- package/.agents/skills/aqe-research/SKILL.md +31 -0
- package/.agents/skills/aqe-research/agents/openai.yaml +4 -0
- package/.agents/skills/aqe-research/references/evidence-rules.md +21 -0
- package/.agents/skills/aqe-ruflo/SKILL.md +29 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +108 -0
- package/.claude/commands/training/neural-train.md +75 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/helpers/v3/advisor-call.cjs +283 -0
- package/.claude/skills/README.md +54 -64
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.codex/hooks/aqe-codex-hook.cjs +34 -9
- package/.codex/hooks.json +9 -9
- package/CHANGELOG.md +42 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-JISQ35YY.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-YIGGREZN.js → agent-booster-wasm-PR3RQWXF.js} +2 -2
- package/dist/cli/chunks/{agent-handler-64O7R55A.js → agent-handler-J5EPFBSZ.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-2ZZBYUP3.js → agent-memory-branch-CCHI6QAA.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-TVTNP76S.js +2 -0
- package/dist/cli/chunks/{arena-PF5WL2WM.js → arena-KMKBGSMY.js} +2 -2
- package/dist/cli/chunks/{arena-6YRNQNCX.js → arena-SI7IPVZ3.js} +4 -4
- package/dist/cli/chunks/{audit-R53FOYCK.js → audit-ZDKR3HT6.js} +3 -3
- package/dist/cli/chunks/base-WBCYKM45.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-QOULNHXS.js → better-sqlite3-FXJFG2WH.js} +2 -2
- package/dist/cli/chunks/{brain-handler-J4ICUOUX.js → brain-handler-MSYMTM5B.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-YVPD43TG.js → branch-enumerator-FRAHCBTO.js} +2 -2
- package/dist/cli/chunks/{browser-TKVHX53S.js → browser-4KHKVNYC.js} +2 -2
- package/dist/cli/chunks/browser-workflow-4JM3IWCS.js +2 -0
- package/dist/cli/chunks/{chunk-GSG5FASF.js → chunk-26SNR2EK.js} +3 -3
- package/dist/cli/chunks/{chunk-JG267MVB.js → chunk-27FWRWOB.js} +2 -2
- package/dist/cli/chunks/{chunk-NIA6VTIH.js → chunk-27REOPQK.js} +2 -2
- package/dist/cli/chunks/{chunk-4RYU4WMW.js → chunk-2Q73TQUQ.js} +1 -1
- package/dist/cli/chunks/{chunk-A22RTEJ3.js → chunk-344CLTV7.js} +2 -2
- package/dist/cli/chunks/{chunk-MGKJFO57.js → chunk-3RSF7POD.js} +2 -2
- package/dist/cli/chunks/{chunk-CVFUANMU.js → chunk-44SYMJ4T.js} +2 -2
- package/dist/cli/chunks/{chunk-22WFXSXB.js → chunk-4FP4PJ45.js} +2 -2
- package/dist/cli/chunks/{chunk-DTOKJKSE.js → chunk-4HVVVVUF.js} +2 -2
- package/dist/cli/chunks/{chunk-QGJYKXUO.js → chunk-55E62F4T.js} +1 -1
- package/dist/cli/chunks/{chunk-RWPWD5GG.js → chunk-56QR72EB.js} +2 -2
- package/dist/cli/chunks/{chunk-NUPAGPN6.js → chunk-5DESO7E4.js} +2 -2
- package/dist/cli/chunks/{chunk-PHNNAIFA.js → chunk-5IVXM3TE.js} +1 -1
- package/dist/cli/chunks/{chunk-TW5QWNT4.js → chunk-5R26MAMK.js} +2 -2
- package/dist/cli/chunks/{chunk-IZIYFVAZ.js → chunk-5RVWL2U3.js} +3 -3
- package/dist/cli/chunks/{chunk-OX6WPOGR.js → chunk-6BHRSGR7.js} +3 -3
- package/dist/cli/chunks/{chunk-4Z2AKQP4.js → chunk-6CZUQA4G.js} +1 -1
- package/dist/cli/chunks/{chunk-FGIZVGIE.js → chunk-6GNVVQW3.js} +2 -2
- package/dist/cli/chunks/{chunk-7AHQ7ROU.js → chunk-6VNUASTQ.js} +2 -2
- package/dist/cli/chunks/{chunk-B7XZJBMT.js → chunk-6XCULO27.js} +2 -2
- package/dist/cli/chunks/{chunk-LOZRBK2Z.js → chunk-6XVP6BGM.js} +2 -2
- package/dist/cli/chunks/{chunk-APXJJRU4.js → chunk-75CFWCQV.js} +2 -2
- package/dist/cli/chunks/{chunk-37GCWGXT.js → chunk-7EL5QEMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-3NML6POU.js → chunk-7YAHECC5.js} +2 -2
- package/dist/cli/chunks/{chunk-N3KQRDTM.js → chunk-A2G26WU4.js} +1 -1
- package/dist/cli/chunks/{chunk-X737I4SO.js → chunk-AROPZPNG.js} +1 -1
- package/dist/cli/chunks/{chunk-IKPBQZQP.js → chunk-BQRCNRTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JLFU5SCI.js → chunk-C3AF5Z55.js} +2 -2
- package/dist/cli/chunks/{chunk-FF53QW6C.js → chunk-C75V5PTW.js} +1 -1
- package/dist/cli/chunks/{chunk-HJNFXYX4.js → chunk-CQP6BDSF.js} +1 -1
- package/dist/cli/chunks/{chunk-ADBTOUOX.js → chunk-CTNDSP2M.js} +1 -1
- package/dist/cli/chunks/{chunk-VRTNRI4H.js → chunk-CW7LDLJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-PHBGMXTR.js → chunk-DQ247474.js} +2 -2
- package/dist/cli/chunks/{chunk-66KIIH6V.js → chunk-E7FCVH32.js} +2 -2
- package/dist/cli/chunks/{chunk-64C4SS66.js → chunk-EEHEMDNV.js} +2 -2
- package/dist/cli/chunks/{chunk-2MLPO3RZ.js → chunk-EPSF2ERW.js} +2 -2
- package/dist/cli/chunks/{chunk-AXXFY7PX.js → chunk-ERKYIV25.js} +2 -2
- package/dist/cli/chunks/{chunk-VFZNVJP2.js → chunk-ESMSH7HG.js} +2 -2
- package/dist/cli/chunks/{chunk-PS32DXYF.js → chunk-EUIUWZF4.js} +3 -3
- package/dist/cli/chunks/{chunk-764G7VK6.js → chunk-FBXWU37F.js} +1 -1
- package/dist/cli/chunks/{chunk-NF2N2FIY.js → chunk-FJSL7TWU.js} +1 -1
- package/dist/cli/chunks/{chunk-6I2L22WS.js → chunk-FZ4MUDHZ.js} +1 -1
- package/dist/cli/chunks/{chunk-62F5M5OO.js → chunk-GGZB2ZBB.js} +1 -1
- package/dist/cli/chunks/{chunk-HOIH542Y.js → chunk-GIU26D5G.js} +1 -1
- package/dist/cli/chunks/{chunk-7TG7LJAB.js → chunk-GNFKG2LX.js} +2 -2
- package/dist/cli/chunks/{chunk-J5AIMM2J.js → chunk-GOFP47XU.js} +1 -1
- package/dist/cli/chunks/{chunk-AJ45QR3K.js → chunk-GOHWEQEP.js} +2 -2
- package/dist/cli/chunks/{chunk-MNEQESQJ.js → chunk-GRMKN44A.js} +3 -3
- package/dist/cli/chunks/{chunk-H4XZOIV6.js → chunk-HGBVGEUE.js} +2 -2
- package/dist/cli/chunks/{chunk-JQTDNUHA.js → chunk-HGY62IYZ.js} +2 -2
- package/dist/cli/chunks/{chunk-2G2XD6EM.js → chunk-HN2DD2DQ.js} +2 -2
- package/dist/cli/chunks/{chunk-N4OBRS6S.js → chunk-II2RP3MY.js} +2 -2
- package/dist/cli/chunks/{chunk-CXPMA7LY.js → chunk-IN5KRJSE.js} +1 -1
- package/dist/cli/chunks/{chunk-TNM7X2GD.js → chunk-ISGKDLZ7.js} +2 -2
- package/dist/cli/chunks/{chunk-TGVDKSSS.js → chunk-ITQCSIYG.js} +1 -1
- package/dist/cli/chunks/{chunk-PY55ZD2G.js → chunk-IU5SILCS.js} +2 -2
- package/dist/cli/chunks/{chunk-JOHWWTJF.js → chunk-IUFNB6I6.js} +2 -2
- package/dist/cli/chunks/{chunk-UAXFRKR3.js → chunk-IVZA5XTW.js} +2 -2
- package/dist/cli/chunks/{chunk-A6J5MAVO.js → chunk-JBHGMLN7.js} +10 -10
- package/dist/cli/chunks/{chunk-UF7JKDWB.js → chunk-JDADACZZ.js} +1 -1
- package/dist/cli/chunks/{chunk-5IH22DLD.js → chunk-JJ5YIKTJ.js} +3 -3
- package/dist/cli/chunks/{chunk-TRPRFW27.js → chunk-KB4S7MGB.js} +2 -2
- package/dist/cli/chunks/{chunk-XRF5MX4Q.js → chunk-KDICUKYX.js} +2 -2
- package/dist/cli/chunks/{chunk-EEG4G5JG.js → chunk-KE656E6T.js} +3 -3
- package/dist/cli/chunks/{chunk-F6V5POSK.js → chunk-KO3UQYGY.js} +10 -10
- package/dist/cli/chunks/{chunk-WRC66JTK.js → chunk-KQLJILCZ.js} +1 -1
- package/dist/cli/chunks/{chunk-C7AXBCMS.js → chunk-KZAVYHH7.js} +4 -4
- package/dist/cli/chunks/{chunk-7MBPKAQ3.js → chunk-L3UTZEVW.js} +2 -2
- package/dist/cli/chunks/{chunk-RRHIEG4Y.js → chunk-LASZCR5G.js} +2 -2
- package/dist/cli/chunks/{chunk-PHGOMAIS.js → chunk-LEIG3KIG.js} +2 -2
- package/dist/cli/chunks/{chunk-ZIYCZZYD.js → chunk-LIMFWEUI.js} +2 -2
- package/dist/cli/chunks/{chunk-VGWHFFK6.js → chunk-LJSHQU2P.js} +5 -5
- package/dist/cli/chunks/{chunk-3J2QITXC.js → chunk-LUAYTM77.js} +1 -1
- package/dist/cli/chunks/{chunk-GNCGRDQ2.js → chunk-MANWLRAW.js} +1 -1
- package/dist/cli/chunks/{chunk-JBWXBDJX.js → chunk-MP3RCZ75.js} +1 -1
- package/dist/cli/chunks/{chunk-WVWWTRKT.js → chunk-MPVOZKUP.js} +1 -1
- package/dist/cli/chunks/{chunk-A547LEUW.js → chunk-MWWTYPFL.js} +2 -2
- package/dist/cli/chunks/{chunk-IRX2THND.js → chunk-N57M7UPQ.js} +2 -2
- package/dist/cli/chunks/{chunk-TK6CHESH.js → chunk-N7LIYK7Z.js} +1 -1
- package/dist/cli/chunks/{chunk-ORXDKBZC.js → chunk-NAAPL2HK.js} +1 -1
- package/dist/cli/chunks/{chunk-IH47VGC7.js → chunk-NAZFAGJ5.js} +2 -2
- package/dist/cli/chunks/{chunk-M7XDTQHX.js → chunk-NQJLUY2K.js} +2 -2
- package/dist/cli/chunks/{chunk-6C3PDY72.js → chunk-NQVF4M7L.js} +1 -1
- package/dist/cli/chunks/{chunk-SJWTNKPY.js → chunk-NW4YPUPN.js} +3 -3
- package/dist/cli/chunks/{chunk-46U73TST.js → chunk-O45CEMVF.js} +1 -1
- package/dist/cli/chunks/{chunk-37I4AMCT.js → chunk-O74V7MB4.js} +2 -2
- package/dist/cli/chunks/{chunk-ZI7BWJJW.js → chunk-OF7674H5.js} +2 -2
- package/dist/cli/chunks/{chunk-P5CQMDFQ.js → chunk-OR2RC7ZH.js} +2 -2
- package/dist/cli/chunks/{chunk-ZLTAAROU.js → chunk-OU2YHXJY.js} +2 -2
- package/dist/cli/chunks/{chunk-JHOJG5VO.js → chunk-OU3SYEYJ.js} +1 -1
- package/dist/cli/chunks/{chunk-N7IRBQ4D.js → chunk-PD2ZSCEH.js} +1 -1
- package/dist/cli/chunks/{chunk-DSUEJK33.js → chunk-PFQLB4XP.js} +2 -2
- package/dist/cli/chunks/{chunk-V6W4IHS5.js → chunk-PI55PHUL.js} +2 -2
- package/dist/cli/chunks/{chunk-EMH54CO7.js → chunk-PIYDPOW6.js} +2 -2
- package/dist/cli/chunks/{chunk-DSGKRXHF.js → chunk-PJFQGNRW.js} +1 -1
- package/dist/cli/chunks/{chunk-L4O2645U.js → chunk-PRHLV6FS.js} +1 -1
- package/dist/cli/chunks/chunk-Q4VZXT6X.js +2 -0
- package/dist/cli/chunks/{chunk-H2BR5MCX.js → chunk-QENUKXPP.js} +2 -2
- package/dist/cli/chunks/chunk-QGH54HTH.js +2 -0
- package/dist/cli/chunks/{chunk-2BYRQ5MV.js → chunk-QXF6EQFP.js} +2 -2
- package/dist/cli/chunks/{chunk-ZU3XUBDQ.js → chunk-RCRKCMN5.js} +1 -1
- package/dist/cli/chunks/{chunk-5A5EC5RD.js → chunk-RKNKFLCQ.js} +2 -2
- package/dist/cli/chunks/{chunk-5IVOY76M.js → chunk-RLZZTFEN.js} +2 -2
- package/dist/cli/chunks/{chunk-CBLKYGKT.js → chunk-RO4BYINM.js} +2 -2
- package/dist/cli/chunks/{chunk-K2D3YW2N.js → chunk-SFRYDGLF.js} +1 -1
- package/dist/cli/chunks/{chunk-UX434RY5.js → chunk-SJ26ZR75.js} +2 -2
- package/dist/cli/chunks/{chunk-LLQG3F4H.js → chunk-SPTCNM45.js} +2 -2
- package/dist/cli/chunks/{chunk-KQFMCVBH.js → chunk-SQCACQUM.js} +2 -2
- package/dist/cli/chunks/{chunk-3CFWNT3F.js → chunk-TCYSMSBO.js} +2 -2
- package/dist/cli/chunks/{chunk-W6OIDL4J.js → chunk-TFFEB7XD.js} +2 -2
- package/dist/cli/chunks/{chunk-RU23JXCG.js → chunk-TM6LLT4G.js} +3 -3
- package/dist/cli/chunks/{chunk-WHUQDBV7.js → chunk-TO7FTPRV.js} +2 -2
- package/dist/cli/chunks/{chunk-QZ3EIONO.js → chunk-U52IQFMP.js} +1 -1
- package/dist/cli/chunks/{chunk-33SPAMQZ.js → chunk-UAEP2ZUQ.js} +2 -2
- package/dist/cli/chunks/{chunk-OD5R7HRI.js → chunk-UNMWI4QU.js} +1 -1
- package/dist/cli/chunks/{chunk-U7DGRHSB.js → chunk-UOO7P2AK.js} +2 -2
- package/dist/cli/chunks/{chunk-QFANYWC5.js → chunk-UQFMQOZB.js} +1 -1
- package/dist/cli/chunks/{chunk-2QKSIHXO.js → chunk-VDPQ7NVG.js} +1 -1
- package/dist/cli/chunks/{chunk-QP4UKSUJ.js → chunk-VLELNETG.js} +2 -2
- package/dist/cli/chunks/{chunk-KQ5GLUOB.js → chunk-VOAXVNO5.js} +4 -4
- package/dist/cli/chunks/{chunk-QZS3XCU5.js → chunk-VZO4V4R4.js} +2 -2
- package/dist/cli/chunks/{chunk-BDOD534O.js → chunk-W37WY3OL.js} +2 -2
- package/dist/cli/chunks/{chunk-UWBHR4EZ.js → chunk-WCUXA3NV.js} +1 -1
- package/dist/cli/chunks/{chunk-RMQRSZB4.js → chunk-WSQE3VZB.js} +1 -1
- package/dist/cli/chunks/{chunk-MYR6CBXC.js → chunk-WUXCL65V.js} +2 -2
- package/dist/cli/chunks/{chunk-OU5CZFBG.js → chunk-X5JMTHXC.js} +3 -3
- package/dist/cli/chunks/{chunk-XRQGWUDX.js → chunk-X67O2KUE.js} +2 -2
- package/dist/cli/chunks/{chunk-HEF6XKA5.js → chunk-XBSBVPSM.js} +2 -2
- package/dist/cli/chunks/{chunk-KBQRYAHZ.js → chunk-XEI5LLHX.js} +2 -2
- package/dist/cli/chunks/{chunk-LWPCGOQM.js → chunk-XF4F5ZXO.js} +2 -2
- package/dist/cli/chunks/{chunk-SAMAYDVS.js → chunk-XLP44YGX.js} +2 -2
- package/dist/cli/chunks/{chunk-CW7BWFFF.js → chunk-XTHRSBMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-VKUH57JE.js → chunk-Y7VWCP35.js} +1 -1
- package/dist/cli/chunks/{chunk-6R6QGQ7D.js → chunk-YQI6SOUO.js} +1 -1
- package/dist/cli/chunks/{chunk-GTURQ454.js → chunk-YZGA4ELM.js} +2 -2
- package/dist/cli/chunks/{chunk-SSXCHSVM.js → chunk-Z6FK7T7J.js} +2 -2
- package/dist/cli/chunks/{chunk-UOJ26GXD.js → chunk-Z7FVGJYC.js} +2 -2
- package/dist/cli/chunks/{chunk-DPJLA7JW.js → chunk-ZAT65V6I.js} +2 -2
- package/dist/cli/chunks/{chunk-J65XQ6WE.js → chunk-ZYCPTARG.js} +2 -2
- package/dist/cli/chunks/{ci-G2NEYLVO.js → ci-DK4FGREO.js} +2 -2
- package/dist/cli/chunks/{ci-output-SZFEXGBU.js → ci-output-HQBBQQES.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-ZD7PJY6N.js → circuit-breaker-MJCS46DN.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-DAVANGUJ.js → claude-flow-setup-IIQT52H4.js} +2 -2
- package/dist/cli/chunks/client-FNDZB4TY.js +2 -0
- package/dist/cli/chunks/{cline-installer-WCPKWLY7.js → cline-installer-7SPKUNNZ.js} +2 -2
- package/dist/cli/chunks/{code-324ZJR3V.js → code-V2B4FP3X.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-EWVSXJHR.js → code-index-extractor-IRGAI76Y.js} +2 -2
- package/dist/cli/chunks/codex-installer-PDFCYRU6.js +15 -0
- package/dist/cli/chunks/{completions-ZAWBZWYK.js → completions-TAJ6N7YZ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-S3H2IRON.js → complexity-analyzer-JHQKQKBG.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-4DDFAJ26.js → continuedev-installer-DESZXCLC.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-KBBAL3G5.js → copilot-installer-OQPXBLWS.js} +2 -2
- package/dist/cli/chunks/core-handlers-S37RHLKP.js +2 -0
- package/dist/cli/chunks/{cost-tracker-2YM7SGBW.js → cost-tracker-KHDFSCAJ.js} +2 -2
- package/dist/cli/chunks/{coverage-6CCBAORJ.js → coverage-T7EENIDE.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-7ZHDB2V3.js +2 -0
- package/dist/cli/chunks/{cursor-installer-24DKXNU5.js → cursor-installer-X6BFU5QU.js} +2 -2
- package/dist/cli/chunks/{daemon-M2PSDIZF.js → daemon-22NOG5XI.js} +3 -3
- package/dist/cli/chunks/{daemon-JLF6CRBS.js → daemon-UTPP4JCG.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-Y5HSZDRV.js → dag-attention-scheduler-XI6DG3FW.js} +2 -2
- package/dist/cli/chunks/{detect-6Y227IJ6.js → detect-7IMQGJ5I.js} +2 -2
- package/dist/cli/chunks/{dist-node-EGOJXGTA.js → dist-node-YMLM4K7J.js} +2 -2
- package/dist/cli/chunks/{domain-handler-G3JEWRE5.js → domain-handler-LRTJGTEH.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-XOHI3EMJ.js → domain-transfer-HZJ3WUCT.js} +2 -2
- package/dist/cli/chunks/dream-BEVYNIOO.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-CSSA55L4.js → embed-and-insert-pattern-QSRN7Z5Q.js} +2 -2
- package/dist/cli/chunks/{eval-NHBXOXDV.js → eval-JVVVQVV6.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-B7ZDV5UY.js → experience-capture-middleware-ORZN3ROJ.js} +3 -3
- package/dist/cli/chunks/{fast-paths-XGKSBALA.js → fast-paths-LUFARZR5.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NBUDJSWJ.js → feature-flags-2XC4ECLW.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZVD73ZYK.js → feature-flags-ZHQESXIP.js} +2 -2
- package/dist/cli/chunks/{file-discovery-C42TEUKT.js → file-discovery-UHXZQ7GS.js} +2 -2
- package/dist/cli/chunks/{fleet-LF77P3BW.js → fleet-FUQ6G4SB.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-UXNT7BEN.js → gnn-wrapper-A4E6OKGD.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-C4LMU5LA.js → heartbeat-handler-3JKQORXA.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-K4YLB3X4.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-PPR3LTMA.js +2 -0
- package/dist/cli/chunks/hnsw-index-ZSKFT4LZ.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-EHHBIWS3.js → hnsw-legacy-bridge-AHKFKM2J.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-OW5HIPEN.js → hnswlib-node-BP5CZGMD.js} +2 -2
- package/dist/cli/chunks/{hooks-AGE3HCFI.js → hooks-JNW5ZB2E.js} +10 -10
- package/dist/cli/chunks/hybrid-router-4SXBHTOY.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-E5QX5MEB.js → hypergraph-engine-3DTAMNSJ.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-ZZHBANYB.js → hypergraph-handler-ZV4AZRGF.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-55GE7EQD.js +2 -0
- package/dist/cli/chunks/{init-handler-PNVRBZZT.js → init-handler-NPOUX47N.js} +10 -6
- package/dist/cli/chunks/init-wizard-EUQLSGI6.js +2 -0
- package/dist/cli/chunks/kernel-BSGSVYPM.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-TR53QKPU.js → kilocode-installer-D35TR6LG.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-MJW6LCAX.js → kiro-installer-OHHTQENO.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-OITIVT5J.js +2 -0
- package/dist/cli/chunks/{learning-6LLGHP2Q.js → learning-24PCHLWU.js} +3 -3
- package/dist/cli/chunks/{llm-router-DBLV3VGG.js → llm-router-XLTE52H5.js} +4 -4
- package/dist/cli/chunks/llm-router-service-RUPU52AR.js +2 -0
- package/dist/cli/chunks/{load-LAZ3E5PE.js → load-BHMK4FIL.js} +2 -2
- package/dist/cli/chunks/load-test-ZV3C55ZE.js +2 -0
- package/dist/cli/chunks/{mcp-L5QXHSEY.js → mcp-V4MAYT7C.js} +2 -2
- package/dist/cli/chunks/{memory-YR5PCMWA.js → memory-PDA7MQ7E.js} +5 -5
- package/dist/cli/chunks/memory-backend-S3KCPHCF.js +2 -0
- package/dist/cli/chunks/{memory-handlers-BSRTZQYR.js → memory-handlers-X5BLXOSH.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-RECZ3ACW.js → multi-model-executor-KECHOXKD.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-4TDUB7HH.js → opencode-installer-LWSCQOOZ.js} +2 -2
- package/dist/cli/chunks/{orchestrator-PHDKJ5C4.js → orchestrator-ENEBTEUW.js} +6 -6
- package/dist/cli/chunks/pattern-null-store-ILVDKSCX.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-QK2FADRS.js → pattern-usage-recorder-XIHGXYZZ.js} +2 -2
- package/dist/cli/chunks/{pipeline-JQJYSN43.js → pipeline-GQOJM3LU.js} +2 -2
- package/dist/cli/chunks/platform-L56TGXGZ.js +2 -0
- package/dist/cli/chunks/{plugin-766MBGK6.js → plugin-SZ6PZKYX.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-XQERZNSK.js → prime-radiant-advanced-wasm-SID5FQFW.js} +2 -2
- package/dist/cli/chunks/protocol-executor-GDRHCW3Q.js +2 -0
- package/dist/cli/chunks/{protocol-handler-FAK4MMNA.js → protocol-handler-5MMNVVPX.js} +2 -2
- package/dist/cli/chunks/{prove-HYBVXOGW.js → prove-DJ6BQ2AK.js} +2 -2
- package/dist/cli/chunks/provider-manager-BS4MVCSH.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-P3ARGHDN.js +2 -0
- package/dist/cli/chunks/{quality-EGSO2RAX.js → quality-WKC4JCB3.js} +2 -2
- package/dist/cli/chunks/{quality-gate-RK32VMO7.js → quality-gate-CVHVSORK.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-GI7GNVDM.js +2 -0
- package/dist/cli/chunks/{real-embeddings-GI7CRHE2.js → real-embeddings-DN2MEJVM.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-BS3XWJJI.js → roocode-installer-LTAQJWIH.js} +2 -2
- package/dist/cli/chunks/router-YU6MLJBV.js +2 -0
- package/dist/cli/chunks/routing-feedback-D6B2SK5V.js +2 -0
- package/dist/cli/chunks/{routing-handler-XMGRJDHH.js → routing-handler-PSWR2UCT.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-NDL3ONNC.js → ruvector-commands-VTP6Y7PN.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-XAJOYGJ2.js → rvf-dual-writer-EBUMXPRO.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-WXFRZZ26.js → rvf-migration-adapter-5N7GHMD3.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-WFXA2VUQ.js → rvf-migration-coordinator-GQKDBNRR.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-M7ZVRN5Z.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-I7PFJZCK.js → rvf-store-integrity-LR3SYGQK.js} +2 -2
- package/dist/cli/chunks/safe-db-3OHTLXG7.js +2 -0
- package/dist/cli/chunks/schedule-H43ADREQ.js +2 -0
- package/dist/cli/chunks/scheduler-CGSXNEPJ.js +2 -0
- package/dist/cli/chunks/{security-H3WY76GF.js → security-YDWLYXYD.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-GRTJCLW6.js → shared-rvf-adapter-I3HQY7DE.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-46XE5R2B.js → shared-rvf-dual-writer-2UADEA5N.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-V6U5FKVK.js +2 -0
- package/dist/cli/chunks/{status-handler-VUIFMY4F.js → status-handler-QRHI3F4V.js} +2 -2
- package/dist/cli/chunks/{structural-health-I7HC477E.js → structural-health-FWKE63CM.js} +2 -2
- package/dist/cli/chunks/{sync-M6LUV5R4.js → sync-2QRCT5MT.js} +2 -2
- package/dist/cli/chunks/{sync-RO2YGMBF.js → sync-E32MBAOF.js} +2 -2
- package/dist/cli/chunks/{task-handler-BJJTZ7AU.js → task-handler-C7BKMOCL.js} +2 -2
- package/dist/cli/chunks/{task-handlers-B6S4NEN3.js → task-handlers-PADWLLDO.js} +3 -3
- package/dist/cli/chunks/{test-BE7EM6Y6.js → test-KX4UKHSX.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-4ISKEFR6.js → test-scheduling-5WKIWH4H.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-BOIYBZHW.js → token-bootstrap-6SKOJM3U.js} +2 -2
- package/dist/cli/chunks/{token-usage-6ZZC7RLT.js → token-usage-V6JW55RV.js} +2 -2
- package/dist/cli/chunks/{transformers-55VI4OGW.js → transformers-3UPFBYSB.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-6GRRGB3K.js → tree-sitter-wasm-parser-UCY4S2DU.js} +2 -2
- package/dist/cli/chunks/{types-SXDF7QQT.js → types-XNMNQGET.js} +2 -2
- package/dist/cli/chunks/unified-memory-H2J5BHPY.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-LFGIWMTS.js +2 -0
- package/dist/cli/chunks/unified-persistence-F6W7EXU5.js +2 -0
- package/dist/cli/chunks/{upgrade-PMPB7NGB.js → upgrade-MVTMTOPL.js} +2 -2
- package/dist/cli/chunks/{validate-G37QKKXK.js → validate-OJWR2AGZ.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-6X22J3VD.js → validate-swarm-2RGSF2K2.js} +2 -2
- package/dist/cli/chunks/{vibium-SGBJKHQL.js → vibium-O3ZLAEEZ.js} +2 -2
- package/dist/cli/chunks/visual-security-EHVU32UE.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-S46Y5BUJ.js → web-tree-sitter-6VPASTI4.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-PTYCETNM.js → windsurf-installer-CINHOW3N.js} +2 -2
- package/dist/cli/chunks/{witness-chain-5SCRFT2K.js → witness-chain-2NXW7FT7.js} +2 -2
- package/dist/cli/chunks/witness-chain-BIICGRHC.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-XIAMRVUZ.js → witness-key-manager-ODW4DJWT.js} +2 -2
- package/dist/cli/chunks/{workflow-BPQA2NAI.js → workflow-BFGS2GAU.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-PVTYPYY4.js +2 -0
- package/dist/cli/chunks/{wrappers-IWZZZOAU.js → wrappers-VEVVSVMS.js} +2 -2
- package/dist/cli/commands/platform.d.ts +17 -0
- package/dist/cli/commands/platform.js +91 -41
- package/dist/cli/handlers/init-handler.d.ts +1 -0
- package/dist/cli/handlers/init-handler.js +9 -3
- package/dist/init/codex-installer.d.ts +22 -3
- package/dist/init/codex-installer.js +132 -54
- package/dist/init/codex-skill-manifest.d.ts +43 -0
- package/dist/init/codex-skill-manifest.js +21 -0
- package/dist/init/orchestrator.js +1 -0
- package/dist/init/phases/09-assets.js +10 -1
- package/dist/init/phases/phase-interface.d.ts +2 -0
- package/dist/mcp/bundle.js +2 -2
- package/package.json +5 -1
- package/dist/cli/chunks/adapter-NIUFP6QX.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-DC4DNCPB.js +0 -2
- package/dist/cli/chunks/base-EXD3ULZT.js +0 -2
- package/dist/cli/chunks/browser-workflow-KOMASCB7.js +0 -2
- package/dist/cli/chunks/chunk-T5L65R23.js +0 -2
- package/dist/cli/chunks/client-ZJQMJO5N.js +0 -2
- package/dist/cli/chunks/codex-installer-HVSZBHH2.js +0 -10
- package/dist/cli/chunks/core-handlers-U2YJLH6O.js +0 -2
- package/dist/cli/chunks/cross-domain-router-E7EMKZEK.js +0 -2
- package/dist/cli/chunks/dream-ZMNQYBJO.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-2JL4MAJR.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-AZD6O35G.js +0 -2
- package/dist/cli/chunks/hnsw-index-WJLE4S5L.js +0 -2
- package/dist/cli/chunks/hybrid-router-YTKJBAS2.js +0 -2
- package/dist/cli/chunks/impact-analyzer-CX56GZXA.js +0 -2
- package/dist/cli/chunks/init-wizard-WE6HIC66.js +0 -2
- package/dist/cli/chunks/kernel-MT55LNNI.js +0 -2
- package/dist/cli/chunks/knowledge-graph-WN3LQ2W7.js +0 -2
- package/dist/cli/chunks/llm-router-service-NKHEQQMN.js +0 -2
- package/dist/cli/chunks/load-test-3WIQASDF.js +0 -2
- package/dist/cli/chunks/memory-backend-W6YSNT6O.js +0 -2
- package/dist/cli/chunks/pattern-null-store-IV3ZESTR.js +0 -2
- package/dist/cli/chunks/platform-FA5TOPTH.js +0 -2
- package/dist/cli/chunks/protocol-executor-GFAG5G6K.js +0 -2
- package/dist/cli/chunks/provider-manager-TIVIJIYH.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-BYE7YF6Y.js +0 -2
- package/dist/cli/chunks/queen-coordinator-WOHYVV7A.js +0 -2
- package/dist/cli/chunks/router-VUW2UVCN.js +0 -2
- package/dist/cli/chunks/routing-feedback-WSUQMZAK.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-RHZCXVN6.js +0 -2
- package/dist/cli/chunks/safe-db-NTWEW7ZM.js +0 -2
- package/dist/cli/chunks/schedule-WEVC2GW2.js +0 -2
- package/dist/cli/chunks/scheduler-XHI5AJIS.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-QZUPKMHP.js +0 -2
- package/dist/cli/chunks/unified-memory-QKWUSEBV.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-Z2UQZRTK.js +0 -2
- package/dist/cli/chunks/unified-persistence-AVK2NSMI.js +0 -2
- package/dist/cli/chunks/visual-security-64UFH23G.js +0 -2
- package/dist/cli/chunks/witness-chain-ZIVSDX6C.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-TYP4MI2V.js +0 -2
- package/dist/cli/commands/init.d.ts +0 -19
- 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
|
+
}
|
package/.claude/skills/README.md
CHANGED
|
@@ -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**:
|
|
8
|
-
- **V2 Methodology Skills**:
|
|
9
|
-
- **V3 Domain Skills**:
|
|
10
|
-
- **Platform Skills**:
|
|
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 (
|
|
16
|
+
## V2 Methodology Skills (65)
|
|
17
17
|
|
|
18
18
|
Version-agnostic quality engineering best practices from the QE community.
|
|
19
19
|
|
|
20
|
-
- **a11y-ally**:
|
|
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**:
|
|
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**:
|
|
37
|
-
- **enterprise-integration-testing**:
|
|
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**:
|
|
52
|
-
- **pr-review**:
|
|
53
|
-
- **qcsd-cicd-swarm**:
|
|
54
|
-
- **qcsd-development-swarm**:
|
|
55
|
-
- **qcsd-ideation-swarm**:
|
|
56
|
-
- **qcsd-production-swarm**:
|
|
57
|
-
- **qcsd-refinement-swarm**:
|
|
58
|
-
- **
|
|
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
|
-
- **
|
|
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
|
-
- **
|
|
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 (
|
|
84
|
-
|
|
85
|
-
V3-specific implementation guides for the 12 DDD bounded contexts
|
|
86
|
-
|
|
87
|
-
- **
|
|
88
|
-
- **
|
|
89
|
-
- **
|
|
90
|
-
- **
|
|
91
|
-
- **
|
|
92
|
-
- **
|
|
93
|
-
- **qe-
|
|
94
|
-
- **qe-
|
|
95
|
-
- **qe-
|
|
96
|
-
- **qe-
|
|
97
|
-
- **qe-
|
|
98
|
-
- **qe-
|
|
99
|
-
- **qe-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
105
|
-
- **
|
|
106
|
-
- **
|
|
107
|
-
- **
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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-
|
|
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.
|