agentic-qe 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/.claude/agents/qe-coverage-analyzer.md +8 -0
  2. package/.claude/agents/qe-flaky-test-hunter.md +9 -1
  3. package/.claude/agents/qe-test-generator.md +7 -0
  4. package/.claude/agents/reasoning/agent.md +816 -0
  5. package/.claude/agents/reasoning/goal-planner.md +73 -0
  6. package/.claude/settings.json +21 -20
  7. package/.claude/skills/README.md +124 -0
  8. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  9. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  10. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  11. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  12. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  13. package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
  14. package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
  15. package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
  16. package/.claude/skills/code-review-quality/SKILL.md +683 -0
  17. package/.claude/skills/consultancy-practices/SKILL.md +540 -0
  18. package/.claude/skills/context-driven-testing/SKILL.md +466 -0
  19. package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
  20. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  21. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  22. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  23. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  24. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  25. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  26. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  27. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  28. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  29. package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
  30. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  31. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  32. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  33. package/.claude/skills/performance-testing/SKILL.md +662 -0
  34. package/.claude/skills/quality-metrics/SKILL.md +592 -0
  35. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  36. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  37. package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
  38. package/.claude/skills/risk-based-testing/SKILL.md +721 -0
  39. package/.claude/skills/security-testing/SKILL.md +651 -0
  40. package/.claude/skills/skill-builder/SKILL.md +910 -0
  41. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  42. package/.claude/skills/stream-chain/SKILL.md +563 -0
  43. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  44. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  45. package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
  46. package/.claude/skills/technical-writing/SKILL.md +235 -0
  47. package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
  48. package/.claude/skills/verification-quality/SKILL.md +649 -0
  49. package/.claude/skills/xp-practices/SKILL.md +671 -0
  50. package/.claude/statusline-command.sh +176 -0
  51. package/CHANGELOG.md +536 -1
  52. package/README.md +92 -3
  53. package/config/improvement-loop.config.ts +323 -0
  54. package/config/neural-agent.config.ts +197 -0
  55. package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
  56. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  57. package/dist/adapters/MemoryStoreAdapter.js +16 -16
  58. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  59. package/dist/agents/BaseAgent.d.ts +69 -0
  60. package/dist/agents/BaseAgent.d.ts.map +1 -1
  61. package/dist/agents/BaseAgent.js +382 -1
  62. package/dist/agents/BaseAgent.js.map +1 -1
  63. package/dist/agents/CoverageAnalyzerAgent.d.ts +13 -2
  64. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  65. package/dist/agents/CoverageAnalyzerAgent.js +105 -6
  66. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  67. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  68. package/dist/agents/DeploymentReadinessAgent.js +13 -13
  69. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  70. package/dist/agents/FlakyTestHunterAgent.d.ts +28 -0
  71. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  72. package/dist/agents/FlakyTestHunterAgent.js +159 -4
  73. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  74. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  75. package/dist/agents/FleetCommanderAgent.js +2 -2
  76. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  77. package/dist/agents/LearningAgent.d.ts +14 -5
  78. package/dist/agents/LearningAgent.d.ts.map +1 -1
  79. package/dist/agents/LearningAgent.js +36 -16
  80. package/dist/agents/LearningAgent.js.map +1 -1
  81. package/dist/agents/NeuralAgentExtension.d.ts +117 -0
  82. package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
  83. package/dist/agents/NeuralAgentExtension.js +288 -0
  84. package/dist/agents/NeuralAgentExtension.js.map +1 -0
  85. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  86. package/dist/agents/PerformanceTesterAgent.js +4 -3
  87. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  88. package/dist/agents/ProductionIntelligenceAgent.js +7 -7
  89. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  90. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  91. package/dist/agents/QualityAnalyzerAgent.js +2 -2
  92. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  93. package/dist/agents/QualityGateAgent.js +5 -5
  94. package/dist/agents/QualityGateAgent.js.map +1 -1
  95. package/dist/agents/RegressionRiskAnalyzerAgent.js +7 -7
  96. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  97. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  98. package/dist/agents/RequirementsValidatorAgent.js +1 -1
  99. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  100. package/dist/agents/SecurityScannerAgent.js +6 -6
  101. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  102. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  103. package/dist/agents/TestExecutorAgent.js +1 -3
  104. package/dist/agents/TestExecutorAgent.js.map +1 -1
  105. package/dist/agents/TestGeneratorAgent.d.ts +15 -4
  106. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  107. package/dist/agents/TestGeneratorAgent.js +165 -43
  108. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  109. package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
  110. package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
  111. package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
  112. package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
  113. package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
  114. package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
  115. package/dist/agents/mixins/QUICCapableMixin.js +346 -0
  116. package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
  117. package/dist/cli/commands/agent/index.d.ts +5 -0
  118. package/dist/cli/commands/agent/index.d.ts.map +1 -1
  119. package/dist/cli/commands/agent/index.js +11 -6
  120. package/dist/cli/commands/agent/index.js.map +1 -1
  121. package/dist/cli/commands/agent/kill.d.ts +13 -0
  122. package/dist/cli/commands/agent/kill.d.ts.map +1 -0
  123. package/dist/cli/commands/agent/kill.js +65 -0
  124. package/dist/cli/commands/agent/kill.js.map +1 -0
  125. package/dist/cli/commands/agent/list.d.ts +19 -0
  126. package/dist/cli/commands/agent/list.d.ts.map +1 -0
  127. package/dist/cli/commands/agent/list.js +92 -0
  128. package/dist/cli/commands/agent/list.js.map +1 -0
  129. package/dist/cli/commands/agent/logs.d.ts +14 -0
  130. package/dist/cli/commands/agent/logs.d.ts.map +1 -0
  131. package/dist/cli/commands/agent/logs.js +77 -0
  132. package/dist/cli/commands/agent/logs.js.map +1 -0
  133. package/dist/cli/commands/agent/metrics.d.ts +21 -0
  134. package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
  135. package/dist/cli/commands/agent/metrics.js +87 -0
  136. package/dist/cli/commands/agent/metrics.js.map +1 -0
  137. package/dist/cli/commands/agent/spawn.d.ts +28 -0
  138. package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
  139. package/dist/cli/commands/agent/spawn.js +83 -0
  140. package/dist/cli/commands/agent/spawn.js.map +1 -0
  141. package/dist/cli/commands/init.d.ts +24 -0
  142. package/dist/cli/commands/init.d.ts.map +1 -1
  143. package/dist/cli/commands/init.js +475 -7
  144. package/dist/cli/commands/init.js.map +1 -1
  145. package/dist/cli/commands/skills/index.d.ts +51 -0
  146. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  147. package/dist/cli/commands/skills/index.js +364 -0
  148. package/dist/cli/commands/skills/index.js.map +1 -0
  149. package/dist/cli/index.js +92 -1
  150. package/dist/cli/index.js.map +1 -1
  151. package/dist/core/EventBus.d.ts +38 -0
  152. package/dist/core/EventBus.d.ts.map +1 -1
  153. package/dist/core/EventBus.js +176 -31
  154. package/dist/core/EventBus.js.map +1 -1
  155. package/dist/core/FleetManager.d.ts +35 -1
  156. package/dist/core/FleetManager.d.ts.map +1 -1
  157. package/dist/core/FleetManager.js +121 -45
  158. package/dist/core/FleetManager.js.map +1 -1
  159. package/dist/core/MemoryManager.d.ts +19 -1
  160. package/dist/core/MemoryManager.d.ts.map +1 -1
  161. package/dist/core/MemoryManager.js +25 -1
  162. package/dist/core/MemoryManager.js.map +1 -1
  163. package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
  164. package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
  165. package/dist/core/embeddings/EmbeddingCache.js +239 -0
  166. package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
  167. package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
  168. package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
  169. package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
  170. package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
  171. package/dist/core/embeddings/index.d.ts +15 -0
  172. package/dist/core/embeddings/index.d.ts.map +1 -0
  173. package/dist/core/embeddings/index.js +22 -0
  174. package/dist/core/embeddings/index.js.map +1 -0
  175. package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
  176. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
  177. package/dist/core/memory/AgentDBIntegration.js +75 -0
  178. package/dist/core/memory/AgentDBIntegration.js.map +1 -0
  179. package/dist/core/memory/AgentDBManager.d.ts +200 -0
  180. package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
  181. package/dist/core/memory/AgentDBManager.js +263 -0
  182. package/dist/core/memory/AgentDBManager.js.map +1 -0
  183. package/dist/core/memory/AgentDBService.d.ts +160 -0
  184. package/dist/core/memory/AgentDBService.d.ts.map +1 -0
  185. package/dist/core/memory/AgentDBService.js +450 -0
  186. package/dist/core/memory/AgentDBService.js.map +1 -0
  187. package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
  188. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
  189. package/dist/core/memory/RealAgentDBAdapter.js +230 -0
  190. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
  191. package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
  192. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
  193. package/dist/core/memory/ReasoningBankAdapter.js +80 -0
  194. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
  195. package/dist/core/memory/SwarmMemoryManager.d.ts +75 -3
  196. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  197. package/dist/core/memory/SwarmMemoryManager.js +236 -52
  198. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  199. package/dist/core/memory/index.d.ts +4 -0
  200. package/dist/core/memory/index.d.ts.map +1 -1
  201. package/dist/core/memory/index.js +9 -1
  202. package/dist/core/memory/index.js.map +1 -1
  203. package/dist/core/neural/NeuralTrainer.d.ts +137 -0
  204. package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
  205. package/dist/core/neural/NeuralTrainer.js +543 -0
  206. package/dist/core/neural/NeuralTrainer.js.map +1 -0
  207. package/dist/core/neural/index.d.ts +8 -0
  208. package/dist/core/neural/index.d.ts.map +1 -0
  209. package/dist/core/neural/index.js +24 -0
  210. package/dist/core/neural/index.js.map +1 -0
  211. package/dist/core/neural/types.d.ts +216 -0
  212. package/dist/core/neural/types.d.ts.map +1 -0
  213. package/dist/core/neural/types.js +8 -0
  214. package/dist/core/neural/types.js.map +1 -0
  215. package/dist/core/security/CertificateValidator.d.ts +130 -0
  216. package/dist/core/security/CertificateValidator.d.ts.map +1 -0
  217. package/dist/core/security/CertificateValidator.js +376 -0
  218. package/dist/core/security/CertificateValidator.js.map +1 -0
  219. package/dist/core/transport/QUICTransport.d.ts +62 -0
  220. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  221. package/dist/core/transport/QUICTransport.js +381 -0
  222. package/dist/core/transport/QUICTransport.js.map +1 -0
  223. package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
  224. package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
  225. package/dist/core/transport/SecureQUICTransport.js +253 -0
  226. package/dist/core/transport/SecureQUICTransport.js.map +1 -0
  227. package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
  228. package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
  229. package/dist/learning/AdvancedFeatureExtractor.js +423 -0
  230. package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
  231. package/dist/learning/FlakyPredictionModel.d.ts +11 -1
  232. package/dist/learning/FlakyPredictionModel.d.ts.map +1 -1
  233. package/dist/learning/FlakyPredictionModel.js +82 -35
  234. package/dist/learning/FlakyPredictionModel.js.map +1 -1
  235. package/dist/learning/FlakyTestDetector.d.ts +9 -0
  236. package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
  237. package/dist/learning/FlakyTestDetector.js +28 -6
  238. package/dist/learning/FlakyTestDetector.js.map +1 -1
  239. package/dist/learning/ImprovementLoop.d.ts +16 -2
  240. package/dist/learning/ImprovementLoop.d.ts.map +1 -1
  241. package/dist/learning/ImprovementLoop.js +67 -8
  242. package/dist/learning/ImprovementLoop.js.map +1 -1
  243. package/dist/learning/ImprovementWorker.d.ts +83 -0
  244. package/dist/learning/ImprovementWorker.d.ts.map +1 -0
  245. package/dist/learning/ImprovementWorker.js +164 -0
  246. package/dist/learning/ImprovementWorker.js.map +1 -0
  247. package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
  248. package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
  249. package/dist/learning/NeuralPatternMatcher.js +702 -0
  250. package/dist/learning/NeuralPatternMatcher.js.map +1 -0
  251. package/dist/learning/NeuralTrainer.d.ts +209 -0
  252. package/dist/learning/NeuralTrainer.d.ts.map +1 -0
  253. package/dist/learning/NeuralTrainer.js +478 -0
  254. package/dist/learning/NeuralTrainer.js.map +1 -0
  255. package/dist/learning/index.d.ts +13 -7
  256. package/dist/learning/index.d.ts.map +1 -1
  257. package/dist/learning/index.js +27 -11
  258. package/dist/learning/index.js.map +1 -1
  259. package/dist/learning/types.d.ts +1 -0
  260. package/dist/learning/types.d.ts.map +1 -1
  261. package/dist/learning/types.js +16 -0
  262. package/dist/learning/types.js.map +1 -1
  263. package/dist/mcp/MCPToolRegistry.d.ts +34 -0
  264. package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
  265. package/dist/mcp/MCPToolRegistry.js +48 -0
  266. package/dist/mcp/MCPToolRegistry.js.map +1 -0
  267. package/dist/mcp/server.d.ts +4 -4
  268. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  269. package/dist/mcp/services/AgentRegistry.js +7 -1
  270. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  271. package/dist/transport/QUICTransport.d.ts +340 -0
  272. package/dist/transport/QUICTransport.d.ts.map +1 -0
  273. package/dist/transport/QUICTransport.js +814 -0
  274. package/dist/transport/QUICTransport.js.map +1 -0
  275. package/dist/transport/UDPTransport.d.ts +348 -0
  276. package/dist/transport/UDPTransport.d.ts.map +1 -0
  277. package/dist/transport/UDPTransport.js +820 -0
  278. package/dist/transport/UDPTransport.js.map +1 -0
  279. package/dist/types/errors.d.ts +1 -1
  280. package/dist/types/index.d.ts +37 -0
  281. package/dist/types/index.d.ts.map +1 -1
  282. package/dist/types/index.js +2 -0
  283. package/dist/types/index.js.map +1 -1
  284. package/dist/types/quic.d.ts +339 -0
  285. package/dist/types/quic.d.ts.map +1 -0
  286. package/dist/types/quic.js +48 -0
  287. package/dist/types/quic.js.map +1 -0
  288. package/dist/utils/Config.js +1 -1
  289. package/dist/utils/Config.js.map +1 -1
  290. package/dist/utils/Database.d.ts +14 -0
  291. package/dist/utils/Database.d.ts.map +1 -1
  292. package/dist/utils/Database.js +51 -4
  293. package/dist/utils/Database.js.map +1 -1
  294. package/dist/utils/Logger.d.ts.map +1 -1
  295. package/dist/utils/Logger.js +111 -26
  296. package/dist/utils/Logger.js.map +1 -1
  297. package/package.json +30 -7
@@ -44,7 +44,7 @@ const fs = __importStar(require("fs-extra"));
44
44
  const path = __importStar(require("path"));
45
45
  class InitCommand {
46
46
  static async execute(options) {
47
- console.log(chalk_1.default.blue.bold('\n🚀 Initializing Agentic QE Project (v1.1.0)\n'));
47
+ console.log(chalk_1.default.blue.bold('\n🚀 Initializing Agentic QE Project (v1.2.0)\n'));
48
48
  try {
49
49
  // Parse options
50
50
  const maxAgents = parseInt(options.maxAgents);
@@ -84,8 +84,9 @@ class InitCommand {
84
84
  timeout: 1800000
85
85
  }
86
86
  };
87
- // Interactive project setup if needed
88
- if (!options.config) {
87
+ // Interactive project setup if needed (skip if --non-interactive or --yes)
88
+ const isNonInteractive = options.nonInteractive || options.yes;
89
+ if (!options.config && !isNonInteractive) {
89
90
  const projectAnswers = await inquirer_1.default.prompt([
90
91
  {
91
92
  type: 'input',
@@ -144,10 +145,28 @@ class InitCommand {
144
145
  options.enableImprovement = true;
145
146
  }
146
147
  else {
148
+ // Non-interactive mode: use defaults or environment variables
149
+ fleetConfig.project = {
150
+ name: process.env.AQE_PROJECT_NAME || path.basename(process.cwd()),
151
+ path: process.cwd(),
152
+ language: (process.env.AQE_LANGUAGE || 'typescript').toLowerCase()
153
+ };
154
+ // Use environment variables or defaults
155
+ if (fleetConfig.routing) {
156
+ fleetConfig.routing.enabled = process.env.AQE_ROUTING_ENABLED === 'true' || false;
157
+ }
158
+ if (fleetConfig.streaming) {
159
+ fleetConfig.streaming.enabled = process.env.AQE_STREAMING_ENABLED !== 'false';
160
+ }
147
161
  // Use defaults if non-interactive
148
- options.enableLearning = true;
149
- options.enablePatterns = true;
150
- options.enableImprovement = true;
162
+ options.enableLearning = process.env.AQE_LEARNING_ENABLED !== 'false';
163
+ options.enablePatterns = process.env.AQE_PATTERNS_ENABLED !== 'false';
164
+ options.enableImprovement = process.env.AQE_IMPROVEMENT_ENABLED !== 'false';
165
+ console.log(chalk_1.default.gray(' ℹ️ Running in non-interactive mode with defaults'));
166
+ console.log(chalk_1.default.gray(` • Project: ${fleetConfig.project.name}`));
167
+ console.log(chalk_1.default.gray(` • Language: ${fleetConfig.project.language}`));
168
+ console.log(chalk_1.default.gray(` • Routing: ${fleetConfig.routing?.enabled ? 'enabled' : 'disabled'}`));
169
+ console.log(chalk_1.default.gray(` • Streaming: ${fleetConfig.streaming?.enabled ? 'enabled' : 'disabled'}`));
151
170
  }
152
171
  const spinner = (0, ora_1.default)('Setting up fleet infrastructure...').start();
153
172
  // Create directory structure
@@ -235,6 +254,8 @@ class InitCommand {
235
254
  '.agentic-qe/state/coordination', // Coordination state
236
255
  '.claude', // For Claude Code integration
237
256
  '.claude/agents', // Where agent definitions live
257
+ '.claude/skills', // Where QE skill definitions live (17 QE skills only)
258
+ '.claude/commands', // Where AQE slash commands live (8 commands)
238
259
  'tests/unit',
239
260
  'tests/integration',
240
261
  'tests/e2e',
@@ -246,6 +267,10 @@ class InitCommand {
246
267
  }
247
268
  // Copy agent templates from agentic-qe package
248
269
  await this.copyAgentTemplates();
270
+ // Copy skill templates (only QE Fleet skills, not Claude Flow)
271
+ await this.copySkillTemplates();
272
+ // Copy command templates (8 AQE slash commands)
273
+ await this.copyCommandTemplates();
249
274
  }
250
275
  static async copyAgentTemplates() {
251
276
  console.log(chalk_1.default.cyan(' 🔍 Searching for agent templates...'));
@@ -343,6 +368,7 @@ class InitCommand {
343
368
  }
344
369
  const agentFile = path.join(targetPath, `${agentName}.md`);
345
370
  const agentType = agentName.replace('qe-', '');
371
+ const skills = this.getAgentSkills(agentName);
346
372
  const content = `---
347
373
  name: ${agentName}
348
374
  type: ${agentType}
@@ -351,13 +377,22 @@ priority: medium
351
377
  description: "Agentic QE Fleet ${agentType} agent"
352
378
  capabilities:
353
379
  - ${agentType}
380
+ skills:
381
+ ${skills.map(s => ` - ${s}`).join('\n')}
354
382
  coordination:
355
383
  protocol: aqe-hooks
384
+ learning:
385
+ enabled: true
386
+ observability:
387
+ - agent.getLearningStatus()
388
+ - agent.getLearnedPatterns()
389
+ - agent.recommendStrategy(state)
356
390
  metadata:
357
- version: "1.0.5"
391
+ version: "1.1.0"
358
392
  framework: "agentic-qe"
359
393
  routing: "supported"
360
394
  streaming: "supported"
395
+ phase2: "q-learning-enabled"
361
396
  ---
362
397
 
363
398
  # ${agentName.toUpperCase()} Agent
@@ -369,6 +404,68 @@ This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
369
404
  - AI-powered ${agentType}
370
405
  - Integration with Agentic QE Fleet
371
406
  - Native TypeScript coordination
407
+ - **Q-Learning**: Learns from task execution automatically
408
+ - **Pattern Bank**: Uses proven test patterns
409
+ - **Improvement Loop**: Continuously optimizes strategies
410
+
411
+ ## 🧠 Q-Learning Integration (Phase 2)
412
+
413
+ This agent automatically learns from EVERY task execution through Q-learning integration in \`BaseAgent.onPostTask()\`.
414
+
415
+ ### Observability Methods
416
+
417
+ \`\`\`typescript
418
+ // 1. Check learning status
419
+ const status = agent.getLearningStatus();
420
+ console.log(status);
421
+ // {
422
+ // enabled: true,
423
+ // totalExperiences: 1247,
424
+ // explorationRate: 0.08,
425
+ // patterns: 34
426
+ // }
427
+
428
+ // 2. View learned patterns
429
+ const patterns = agent.getLearnedPatterns();
430
+ console.log(patterns[0]);
431
+ // {
432
+ // state: { taskComplexity: 'high', ... },
433
+ // action: 'thorough-deep-analysis',
434
+ // qValue: 0.8734,
435
+ // successRate: 0.88
436
+ // }
437
+
438
+ // 3. Get strategy recommendations
439
+ const recommendation = await agent.recommendStrategy({
440
+ taskComplexity: 'medium',
441
+ availableCapabilities: agent.capabilities
442
+ });
443
+ console.log(recommendation);
444
+ // {
445
+ // action: 'balanced-coverage',
446
+ // confidence: 0.92,
447
+ // expectedQValue: 0.7845
448
+ // }
449
+ \`\`\`
450
+
451
+ ### CLI Commands
452
+
453
+ \`\`\`bash
454
+ # Check learning status
455
+ aqe learn status --agent ${agentName}
456
+
457
+ # View learned patterns
458
+ aqe learn history --agent ${agentName} --limit 50
459
+
460
+ # Export learning data
461
+ aqe learn export --agent ${agentName} --output learning.json
462
+ \`\`\`
463
+
464
+ ## Skills
465
+
466
+ This agent can use the following Claude Code Skills:
467
+
468
+ ${this.getSkillDocumentation(agentName)}
372
469
 
373
470
  ## Coordination Protocol
374
471
 
@@ -536,6 +633,7 @@ For full capabilities, install the complete agentic-qe package.
536
633
  for (const agentName of missingAgents) {
537
634
  const agentFile = path.join(targetPath, `${agentName}.md`);
538
635
  const agentType = agentName.replace('qe-', '');
636
+ const skills = this.getAgentSkills(agentName);
539
637
  const content = `---
540
638
  name: ${agentName}
541
639
  type: ${agentType}
@@ -544,13 +642,22 @@ priority: medium
544
642
  description: "Agentic QE Fleet ${agentType} agent"
545
643
  capabilities:
546
644
  - ${agentType}
645
+ skills:
646
+ ${skills.map(s => ` - ${s}`).join('\n')}
547
647
  coordination:
548
648
  protocol: aqe-hooks
649
+ learning:
650
+ enabled: true
651
+ observability:
652
+ - agent.getLearningStatus()
653
+ - agent.getLearnedPatterns()
654
+ - agent.recommendStrategy(state)
549
655
  metadata:
550
656
  version: "1.1.0"
551
657
  framework: "agentic-qe"
552
658
  routing: "supported"
553
659
  streaming: "supported"
660
+ phase2: "q-learning-enabled"
554
661
  ---
555
662
 
556
663
  # ${agentName.toUpperCase()} Agent
@@ -562,6 +669,15 @@ This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
562
669
  - AI-powered ${agentType}
563
670
  - Integration with Agentic QE Fleet
564
671
  - Native TypeScript coordination
672
+ - **Q-Learning**: Learns from task execution automatically
673
+ - **Pattern Bank**: Uses proven test patterns
674
+ - **Improvement Loop**: Continuously optimizes strategies
675
+
676
+ ## Skills
677
+
678
+ This agent can use the following Claude Code Skills:
679
+
680
+ ${this.getSkillDocumentation(agentName)}
565
681
 
566
682
  ## Coordination Protocol
567
683
 
@@ -581,6 +697,213 @@ For full capabilities, install the complete agentic-qe package.
581
697
  const files = await fs.readdir(dirPath);
582
698
  return files.filter(f => f.endsWith('.md')).length;
583
699
  }
700
+ /**
701
+ * Copy only the 17 QE Fleet skills (filters out Claude Flow skills)
702
+ */
703
+ static async copySkillTemplates() {
704
+ console.log(chalk_1.default.cyan(' 🎯 Initializing QE Fleet skills...'));
705
+ // Define the 17 QE Fleet skills (from SKILLS-MAPPING.md)
706
+ const QE_FLEET_SKILLS = [
707
+ // Core Quality Practices (5)
708
+ 'holistic-testing-pact',
709
+ 'context-driven-testing',
710
+ 'agentic-quality-engineering',
711
+ 'exploratory-testing-advanced',
712
+ 'risk-based-testing',
713
+ // Development Methodologies (3)
714
+ 'tdd-london-chicago',
715
+ 'xp-practices',
716
+ 'refactoring-patterns',
717
+ // Testing Specializations (4)
718
+ 'api-testing-patterns',
719
+ 'performance-testing',
720
+ 'security-testing',
721
+ 'test-automation-strategy',
722
+ // Communication & Process (3)
723
+ 'technical-writing',
724
+ 'bug-reporting-excellence',
725
+ 'code-review-quality',
726
+ // Professional Skills (2)
727
+ 'consultancy-practices',
728
+ 'quality-metrics'
729
+ ];
730
+ // Find the agentic-qe package location
731
+ const possiblePaths = [
732
+ path.join(__dirname, '../../../.claude/skills'), // From dist/cli/commands
733
+ path.join(process.cwd(), 'node_modules/agentic-qe/.claude/skills'),
734
+ path.join(process.cwd(), '../agentic-qe/.claude/skills') // Monorepo case
735
+ ];
736
+ console.log(chalk_1.default.gray(' • Checking skill source paths:'));
737
+ let sourcePath = null;
738
+ for (const p of possiblePaths) {
739
+ const exists = await fs.pathExists(p);
740
+ console.log(chalk_1.default.gray(` ${exists ? '✓' : '✗'} ${p}`));
741
+ if (exists && !sourcePath) {
742
+ sourcePath = p;
743
+ }
744
+ }
745
+ if (!sourcePath) {
746
+ console.warn(chalk_1.default.yellow(' ⚠️ No skill templates found in package paths'));
747
+ console.warn(chalk_1.default.yellow(' ℹ️ Skills can be added manually to .claude/skills/'));
748
+ return;
749
+ }
750
+ console.log(chalk_1.default.green(` ✓ Found skill templates at: ${sourcePath}`));
751
+ // List all available skills
752
+ const availableDirs = await fs.readdir(sourcePath);
753
+ const availableSkills = availableDirs.filter(name => {
754
+ const skillPath = path.join(sourcePath, name);
755
+ try {
756
+ return fs.statSync(skillPath).isDirectory();
757
+ }
758
+ catch {
759
+ return false;
760
+ }
761
+ });
762
+ console.log(chalk_1.default.cyan(` 📦 Found ${availableSkills.length} total skills in source`));
763
+ // Filter to only QE Fleet skills
764
+ const qeSkillsToConfig = availableSkills.filter(skill => QE_FLEET_SKILLS.includes(skill));
765
+ console.log(chalk_1.default.cyan(` 🎯 Filtering to ${qeSkillsToConfig.length} QE Fleet skills (excluding Claude Flow skills)`));
766
+ const targetPath = path.join(process.cwd(), '.claude/skills');
767
+ let copiedCount = 0;
768
+ // Copy each QE skill directory
769
+ for (const skillName of qeSkillsToConfig) {
770
+ const sourceSkillPath = path.join(sourcePath, skillName);
771
+ const targetSkillPath = path.join(targetPath, skillName);
772
+ // Skip if already exists
773
+ if (await fs.pathExists(targetSkillPath)) {
774
+ console.log(chalk_1.default.gray(` • Skipped ${skillName} (already exists)`));
775
+ continue;
776
+ }
777
+ // Copy the entire skill directory
778
+ await fs.copy(sourceSkillPath, targetSkillPath);
779
+ copiedCount++;
780
+ console.log(chalk_1.default.gray(` ✓ Copied ${skillName}`));
781
+ }
782
+ // Final count
783
+ const finalSkillCount = await this.countSkillDirs(targetPath);
784
+ if (copiedCount > 0) {
785
+ console.log(chalk_1.default.green(` ✓ Copied ${copiedCount} new QE skills`));
786
+ }
787
+ else {
788
+ console.log(chalk_1.default.green(' ✓ All QE skills already present'));
789
+ }
790
+ console.log(chalk_1.default.cyan(` 📋 Total QE skills initialized: ${finalSkillCount}`));
791
+ // Verify we have exactly 17 QE skills
792
+ if (finalSkillCount === 17) {
793
+ console.log(chalk_1.default.green(' ✅ All 17 QE Fleet skills successfully initialized'));
794
+ }
795
+ else if (finalSkillCount < 17) {
796
+ console.warn(chalk_1.default.yellow(` ⚠️ Expected 17 QE skills, found ${finalSkillCount}`));
797
+ const missingSkills = QE_FLEET_SKILLS.filter(skill => {
798
+ return !fs.existsSync(path.join(targetPath, skill));
799
+ });
800
+ console.warn(chalk_1.default.yellow(` ℹ️ Missing skills: ${missingSkills.join(', ')}`));
801
+ }
802
+ }
803
+ /**
804
+ * Count skill directories in .claude/skills
805
+ */
806
+ static async countSkillDirs(dirPath) {
807
+ if (!await fs.pathExists(dirPath))
808
+ return 0;
809
+ const items = await fs.readdir(dirPath);
810
+ let count = 0;
811
+ for (const item of items) {
812
+ const itemPath = path.join(dirPath, item);
813
+ try {
814
+ if (fs.statSync(itemPath).isDirectory()) {
815
+ count++;
816
+ }
817
+ }
818
+ catch {
819
+ // Ignore errors
820
+ }
821
+ }
822
+ return count;
823
+ }
824
+ /**
825
+ * Copy AQE slash command templates (8 commands)
826
+ */
827
+ static async copyCommandTemplates() {
828
+ console.log(chalk_1.default.cyan(' ⚡ Initializing AQE slash commands...'));
829
+ // Define the 8 AQE slash commands
830
+ const AQE_COMMANDS = [
831
+ 'aqe-analyze.md',
832
+ 'aqe-benchmark.md',
833
+ 'aqe-chaos.md',
834
+ 'aqe-execute.md',
835
+ 'aqe-fleet-status.md',
836
+ 'aqe-generate.md',
837
+ 'aqe-optimize.md',
838
+ 'aqe-report.md'
839
+ ];
840
+ // Find the agentic-qe package location
841
+ const possiblePaths = [
842
+ path.join(__dirname, '../../../.claude/commands'), // From dist/cli/commands
843
+ path.join(process.cwd(), 'node_modules/agentic-qe/.claude/commands'),
844
+ path.join(process.cwd(), '../agentic-qe/.claude/commands') // Monorepo case
845
+ ];
846
+ console.log(chalk_1.default.gray(' • Checking command source paths:'));
847
+ let sourcePath = null;
848
+ for (const p of possiblePaths) {
849
+ const exists = await fs.pathExists(p);
850
+ console.log(chalk_1.default.gray(` ${exists ? '✓' : '✗'} ${p}`));
851
+ if (exists && !sourcePath) {
852
+ sourcePath = p;
853
+ }
854
+ }
855
+ if (!sourcePath) {
856
+ console.warn(chalk_1.default.yellow(' ⚠️ No command templates found in package paths'));
857
+ console.warn(chalk_1.default.yellow(' ℹ️ Commands can be added manually to .claude/commands/'));
858
+ return;
859
+ }
860
+ console.log(chalk_1.default.green(` ✓ Found command templates at: ${sourcePath}`));
861
+ const targetPath = path.join(process.cwd(), '.claude/commands');
862
+ let copiedCount = 0;
863
+ // Copy each AQE command file
864
+ for (const commandFile of AQE_COMMANDS) {
865
+ const sourceFile = path.join(sourcePath, commandFile);
866
+ const targetFile = path.join(targetPath, commandFile);
867
+ // Skip if already exists or if source doesn't exist
868
+ if (await fs.pathExists(targetFile)) {
869
+ console.log(chalk_1.default.gray(` • Skipped ${commandFile} (already exists)`));
870
+ continue;
871
+ }
872
+ if (!await fs.pathExists(sourceFile)) {
873
+ console.log(chalk_1.default.gray(` • Skipped ${commandFile} (source not found)`));
874
+ continue;
875
+ }
876
+ // Copy the command file
877
+ await fs.copy(sourceFile, targetFile);
878
+ copiedCount++;
879
+ console.log(chalk_1.default.gray(` ✓ Copied ${commandFile}`));
880
+ }
881
+ // Count final commands
882
+ const finalCommandCount = await this.countCommandFiles(targetPath);
883
+ if (copiedCount > 0) {
884
+ console.log(chalk_1.default.green(` ✓ Copied ${copiedCount} new AQE commands`));
885
+ }
886
+ else {
887
+ console.log(chalk_1.default.green(' ✓ All AQE commands already present'));
888
+ }
889
+ console.log(chalk_1.default.cyan(` 📋 Total AQE commands initialized: ${finalCommandCount}`));
890
+ // Verify we have all 8 AQE commands
891
+ if (finalCommandCount >= 8) {
892
+ console.log(chalk_1.default.green(' ✅ All 8 AQE slash commands successfully initialized'));
893
+ }
894
+ else if (finalCommandCount < 8) {
895
+ console.warn(chalk_1.default.yellow(` ⚠️ Expected 8 AQE commands, found ${finalCommandCount}`));
896
+ }
897
+ }
898
+ /**
899
+ * Count command files in .claude/commands
900
+ */
901
+ static async countCommandFiles(dirPath) {
902
+ if (!await fs.pathExists(dirPath))
903
+ return 0;
904
+ const items = await fs.readdir(dirPath);
905
+ return items.filter(f => f.startsWith('aqe-') && f.endsWith('.md')).length;
906
+ }
584
907
  static async writeFleetConfig(config) {
585
908
  console.log(chalk_1.default.cyan(' 📝 Writing fleet configuration...'));
586
909
  // Sanitize config to remove undefined values that cause jsonfile errors
@@ -729,6 +1052,7 @@ For full capabilities, install the complete agentic-qe package.
729
1052
  alerts: env === 'production'
730
1053
  }
731
1054
  };
1055
+ return configs;
732
1056
  }, {});
733
1057
  }
734
1058
  static async setupClaudeFlowIntegration(config) {
@@ -1084,9 +1408,106 @@ for await (const event of handler.execute(params)) {
1084
1408
  - ⚠️ Test generation (coming in v1.1.0)
1085
1409
  - ⚠️ Security scanning (coming in v1.1.0)
1086
1410
 
1411
+ ## 🎯 Claude Code Skills Integration
1412
+
1413
+ This fleet includes **17 specialized QE skills** that agents can use:
1414
+
1415
+ ### Quality Engineering Skills (10 skills)
1416
+ - **agentic-quality-engineering**: Using AI agents as force multipliers in quality work - autonomous testing systems, PACT principles, scaling quality engineering with intelligent agents
1417
+ - **api-testing-patterns**: Comprehensive API testing patterns including contract testing, REST/GraphQL testing, and integration testing
1418
+ - **bug-reporting-excellence**: Write high-quality bug reports that get fixed quickly - includes templates, examples, and best practices
1419
+ - **context-driven-testing**: Apply context-driven testing principles where practices are chosen based on project context, not universal "best practices"
1420
+ - **exploratory-testing-advanced**: Advanced exploratory testing techniques with Session-Based Test Management (SBTM), RST heuristics, and test tours
1421
+ - **holistic-testing-pact**: Apply the Holistic Testing Model evolved with PACT (Proactive, Autonomous, Collaborative, Targeted) principles
1422
+ - **tdd-london-chicago**: Apply both London and Chicago school TDD approaches - understanding different TDD philosophies and choosing the right testing style
1423
+ - **pair-programming**: AI-assisted pair programming with multiple modes (driver/navigator/switch), real-time verification, quality monitoring
1424
+ - **verification-quality**: Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold
1425
+ - **xp-practices**: Apply XP practices including pair programming, ensemble programming, continuous integration, and sustainable pace
1426
+
1427
+ ### AgentDB Skills (5 skills)
1428
+ - **agentdb-advanced**: Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search
1429
+ - **agentdb-learning**: Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms (Decision Transformer, Q-Learning, SARSA, Actor-Critic)
1430
+ - **agentdb-memory-patterns**: Implement persistent memory patterns for AI agents using AgentDB (session memory, long-term storage, pattern learning)
1431
+ - **agentdb-optimization**: Optimize AgentDB performance with quantization (4-32x memory reduction), HNSW indexing (150x faster search), caching
1432
+ - **agentdb-vector-search**: Implement semantic vector search with AgentDB for intelligent document retrieval, similarity matching, and context-aware querying
1433
+
1434
+ ### Using Skills
1435
+
1436
+ #### Via CLI
1437
+ \\\`\\\`\\\`bash
1438
+ # List all available skills
1439
+ aqe skills list
1440
+
1441
+ # Search for specific skills
1442
+ aqe skills search "testing"
1443
+
1444
+ # Show skill details
1445
+ aqe skills show agentic-quality-engineering
1446
+
1447
+ # Show skill statistics
1448
+ aqe skills stats
1449
+ \\\`\\\`\\\`
1450
+
1451
+ #### Via Skill Tool in Claude Code
1452
+ \\\`\\\`\\\`javascript
1453
+ // Execute a skill
1454
+ Skill("agentic-quality-engineering")
1455
+ Skill("tdd-london-chicago")
1456
+ Skill("api-testing-patterns")
1457
+ \\\`\\\`\\\`
1458
+
1459
+ #### Integration with Agents
1460
+ All QE agents automatically have access to relevant skills based on their specialization:
1461
+ - **Test generators** use: agentic-quality-engineering, api-testing-patterns, tdd-london-chicago
1462
+ - **Coverage analyzers** use: agentic-quality-engineering, quality-metrics, risk-based-testing
1463
+ - **Flaky test hunters** use: agentic-quality-engineering, exploratory-testing-advanced
1464
+ - **Performance testers** use: agentic-quality-engineering, performance-testing, quality-metrics
1465
+ - **Security scanners** use: agentic-quality-engineering, security-testing, risk-based-testing
1466
+
1467
+ ## 🧠 Q-Learning Integration (Phase 2)
1468
+
1469
+ All agents automatically learn from task execution through Q-learning:
1470
+
1471
+ ### Observability
1472
+ \\\`\\\`\\\`bash
1473
+ # Check learning status
1474
+ aqe learn status --agent test-gen
1475
+
1476
+ # View learned patterns
1477
+ aqe learn history --agent test-gen --limit 50
1478
+
1479
+ # Export learning data
1480
+ aqe learn export --agent test-gen --output learning.json
1481
+ \\\`\\\`\\\`
1482
+
1483
+ ### Pattern Management
1484
+ \\\`\\\`\\\`bash
1485
+ # List test patterns
1486
+ aqe patterns list --framework jest
1487
+
1488
+ # Search patterns
1489
+ aqe patterns search "api validation"
1490
+
1491
+ # Extract patterns from tests
1492
+ aqe patterns extract ./tests --framework jest
1493
+ \\\`\\\`\\\`
1494
+
1495
+ ### Improvement Loop
1496
+ \\\`\\\`\\\`bash
1497
+ # Start continuous improvement
1498
+ aqe improve start
1499
+
1500
+ # Check improvement status
1501
+ aqe improve status
1502
+
1503
+ # Run single improvement cycle
1504
+ aqe improve cycle
1505
+ \\\`\\\`\\\`
1506
+
1087
1507
  ## 📚 Documentation
1088
1508
 
1089
1509
  - **Agent Definitions**: \\\`.claude/agents/\\\` - ${agentCount} specialized QE agents
1510
+ - **Skills**: \\\`.claude/skills/\\\` - 17 specialized QE skills for agents
1090
1511
  - **Fleet Config**: \\\`.agentic-qe/config/fleet.json\\\`
1091
1512
  - **Routing Config**: \\\`.agentic-qe/config/routing.json\\\` (Multi-Model Router settings)
1092
1513
  - **AQE Hooks Config**: \\\`.agentic-qe/config/aqe-hooks.json\\\` (zero dependencies, 100-500x faster)
@@ -1566,6 +1987,53 @@ VALUES ('1.1.0', 'Initial QE ReasoningBank schema');
1566
1987
  console.log(chalk_1.default.gray(' • Improvement loop optimizes continuously (1 hour cycles)'));
1567
1988
  console.log('');
1568
1989
  }
1990
+ /**
1991
+ * Get relevant skills for an agent
1992
+ */
1993
+ static getAgentSkills(agentName) {
1994
+ const skillMap = {
1995
+ 'qe-test-generator': ['agentic-quality-engineering', 'api-testing-patterns', 'tdd-london-chicago', 'test-automation-strategy'],
1996
+ 'qe-coverage-analyzer': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
1997
+ 'qe-flaky-test-hunter': ['agentic-quality-engineering', 'exploratory-testing-advanced', 'risk-based-testing'],
1998
+ 'qe-performance-tester': ['agentic-quality-engineering', 'performance-testing', 'quality-metrics'],
1999
+ 'qe-security-scanner': ['agentic-quality-engineering', 'security-testing', 'risk-based-testing'],
2000
+ 'qe-quality-gate': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
2001
+ 'qe-api-contract-validator': ['agentic-quality-engineering', 'api-testing-patterns'],
2002
+ 'qe-test-executor': ['agentic-quality-engineering', 'test-automation-strategy'],
2003
+ 'qe-requirements-validator': ['agentic-quality-engineering', 'context-driven-testing'],
2004
+ 'qe-quality-analyzer': ['agentic-quality-engineering', 'quality-metrics'],
2005
+ 'qe-visual-tester': ['agentic-quality-engineering', 'exploratory-testing-advanced'],
2006
+ 'qe-chaos-engineer': ['agentic-quality-engineering', 'risk-based-testing'],
2007
+ 'qe-production-intelligence': ['agentic-quality-engineering', 'context-driven-testing'],
2008
+ 'qe-fleet-commander': ['agentic-quality-engineering'],
2009
+ 'qe-deployment-readiness': ['agentic-quality-engineering', 'risk-based-testing', 'quality-metrics'],
2010
+ 'qe-regression-risk-analyzer': ['agentic-quality-engineering', 'risk-based-testing'],
2011
+ 'qe-test-data-architect': ['agentic-quality-engineering', 'test-automation-strategy']
2012
+ };
2013
+ return skillMap[agentName] || ['agentic-quality-engineering'];
2014
+ }
2015
+ /**
2016
+ * Get skill documentation for agent
2017
+ */
2018
+ static getSkillDocumentation(agentName) {
2019
+ const skills = this.getAgentSkills(agentName);
2020
+ const skillDescriptions = {
2021
+ 'agentic-quality-engineering': 'AI agents as force multipliers in quality work (PACT principles)',
2022
+ 'api-testing-patterns': 'REST, GraphQL, contract testing patterns',
2023
+ 'tdd-london-chicago': 'Both TDD schools, when to use each approach',
2024
+ 'test-automation-strategy': 'When/how to automate effectively',
2025
+ 'quality-metrics': 'Meaningful metrics vs vanity metrics',
2026
+ 'risk-based-testing': 'Focus testing where failure hurts most',
2027
+ 'exploratory-testing-advanced': 'RST heuristics, SBTM, test tours',
2028
+ 'performance-testing': 'Load, stress, soak testing strategies',
2029
+ 'security-testing': 'OWASP Top 10, vulnerability patterns',
2030
+ 'context-driven-testing': 'RST techniques and contextual best practices'
2031
+ };
2032
+ return skills.map(skill => {
2033
+ const description = skillDescriptions[skill] || 'Quality engineering expertise';
2034
+ return `- **${skill}**: ${description}`;
2035
+ }).join('\n');
2036
+ }
1569
2037
  }
1570
2038
  exports.InitCommand = InitCommand;
1571
2039
  //# sourceMappingURL=init.js.map