agentic-qe 3.7.8 → 3.7.10

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 (569) hide show
  1. package/.claude/skills/.validation/README.md +111 -111
  2. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
  3. package/.claude/skills/.validation/examples/performance-testing-output.example.json +252 -252
  4. package/.claude/skills/.validation/examples/security-testing-output.example.json +413 -413
  5. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +350 -350
  6. package/.claude/skills/.validation/schemas/skill-eval.schema.json +462 -462
  7. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
  8. package/.claude/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
  9. package/.claude/skills/.validation/schemas/skill-output.template.json +610 -610
  10. package/.claude/skills/.validation/skill-validation-mcp-integration.md +250 -250
  11. package/.claude/skills/.validation/templates/eval.template.yaml +366 -366
  12. package/.claude/skills/.validation/templates/schemas/output.json +145 -145
  13. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
  14. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
  15. package/.claude/skills/.validation/test-data/invalid-output.json +5 -5
  16. package/.claude/skills/.validation/test-data/minimal-output.json +9 -9
  17. package/.claude/skills/.validation/test-data/sample-output.json +73 -73
  18. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
  19. package/.claude/skills/a11y-ally/schemas/output.json +549 -549
  20. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
  21. package/.claude/skills/accessibility-testing/schemas/output.json +776 -776
  22. package/.claude/skills/accessibility-testing/test-data/sample-output.json +191 -191
  23. package/.claude/skills/agentic-quality-engineering/schemas/output.json +577 -577
  24. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
  25. package/.claude/skills/api-testing-patterns/schemas/output.json +845 -845
  26. package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
  27. package/.claude/skills/brutal-honesty-review/schemas/output.json +291 -291
  28. package/.claude/skills/bug-reporting-excellence/schemas/output.json +288 -288
  29. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
  30. package/.claude/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
  31. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
  32. package/.claude/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
  33. package/.claude/skills/code-review-quality/schemas/output.json +264 -264
  34. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
  35. package/.claude/skills/compatibility-testing/schemas/output.json +551 -551
  36. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
  37. package/.claude/skills/compliance-testing/schemas/output.json +845 -845
  38. package/.claude/skills/consultancy-practices/schemas/output.json +282 -282
  39. package/.claude/skills/contract-testing/evals/contract-testing.yaml +748 -748
  40. package/.claude/skills/contract-testing/schemas/output.json +638 -638
  41. package/.claude/skills/database-testing/evals/database-testing.yaml +968 -968
  42. package/.claude/skills/database-testing/schemas/output.json +1446 -1446
  43. package/.claude/skills/debug-loop/SKILL.md +61 -61
  44. package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -735
  45. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  46. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  47. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  48. package/.claude/skills/iterative-loop/SKILL.md +371 -371
  49. package/.claude/skills/localization-testing/evals/localization-testing.yaml +544 -544
  50. package/.claude/skills/localization-testing/schemas/output.json +325 -325
  51. package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -798
  52. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  53. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  54. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  55. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
  56. package/.claude/skills/mobile-testing/schemas/output.json +318 -318
  57. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
  58. package/.claude/skills/mutation-testing/schemas/output.json +707 -707
  59. package/.claude/skills/mutation-testing/test-data/sample-output.json +295 -295
  60. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
  61. package/.claude/skills/n8n-expression-testing/schemas/output.json +369 -369
  62. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
  63. package/.claude/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
  64. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
  65. package/.claude/skills/n8n-security-testing/schemas/output.json +293 -293
  66. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
  67. package/.claude/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
  68. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
  69. package/.claude/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
  70. package/.claude/skills/observability-testing-patterns/SKILL.md +930 -930
  71. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  72. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  73. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  74. package/.claude/skills/pentest-validation/SKILL.md +268 -268
  75. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
  76. package/.claude/skills/pentest-validation/schemas/output.json +281 -281
  77. package/.claude/skills/performance-analysis/evals/performance-analysis.yaml +144 -144
  78. package/.claude/skills/performance-analysis/schemas/output.json +588 -588
  79. package/.claude/skills/performance-testing/evals/performance-testing.yaml +772 -772
  80. package/.claude/skills/performance-testing/schemas/output.json +1184 -1184
  81. package/.claude/skills/pr-review/SKILL.md +61 -61
  82. package/.claude/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
  83. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  84. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  85. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  86. package/.claude/skills/qcsd-development-swarm/SKILL.md +2154 -2154
  87. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  88. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  89. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  90. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
  91. package/.claude/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
  92. package/.claude/skills/qcsd-production-swarm/SKILL.md +2781 -2781
  93. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
  94. package/.claude/skills/qcsd-production-swarm/schemas/output.json +505 -505
  95. package/.claude/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
  96. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
  97. package/.claude/skills/qe-chaos-resilience/schemas/output.json +314 -314
  98. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
  99. package/.claude/skills/qe-code-intelligence/schemas/output.json +315 -315
  100. package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
  101. package/.claude/skills/qe-contract-testing/schemas/output.json +295 -295
  102. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
  103. package/.claude/skills/qe-coverage-analysis/schemas/output.json +286 -286
  104. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
  105. package/.claude/skills/qe-defect-intelligence/schemas/output.json +283 -283
  106. package/.claude/skills/qe-iterative-loop/schemas/output.json +264 -264
  107. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
  108. package/.claude/skills/qe-learning-optimization/schemas/output.json +288 -288
  109. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
  110. package/.claude/skills/qe-quality-assessment/schemas/output.json +550 -550
  111. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
  112. package/.claude/skills/qe-requirements-validation/schemas/output.json +587 -587
  113. package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
  114. package/.claude/skills/qe-security-compliance/schemas/output.json +498 -498
  115. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
  116. package/.claude/skills/qe-test-execution/schemas/output.json +529 -529
  117. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
  118. package/.claude/skills/qe-test-generation/schemas/output.json +439 -439
  119. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
  120. package/.claude/skills/qe-visual-accessibility/schemas/output.json +491 -491
  121. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
  122. package/.claude/skills/quality-metrics/schemas/output.json +403 -403
  123. package/.claude/skills/refactoring-patterns/schemas/output.json +475 -475
  124. package/.claude/skills/regression-testing/evals/regression-testing.yaml +504 -504
  125. package/.claude/skills/regression-testing/schemas/output.json +311 -311
  126. package/.claude/skills/release/SKILL.md +347 -347
  127. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
  128. package/.claude/skills/risk-based-testing/schemas/output.json +480 -480
  129. package/.claude/skills/security-testing/evals/security-testing.yaml +789 -789
  130. package/.claude/skills/security-testing/schemas/output.json +879 -879
  131. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
  132. package/.claude/skills/security-visual-testing/schemas/output.json +486 -486
  133. package/.claude/skills/sfdipot-product-factors/SKILL.md +239 -239
  134. package/.claude/skills/sherlock-review/schemas/output.json +297 -297
  135. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
  136. package/.claude/skills/shift-left-testing/schemas/output.json +459 -459
  137. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
  138. package/.claude/skills/shift-right-testing/schemas/output.json +418 -418
  139. package/.claude/skills/skills-manifest.json +1 -1
  140. package/.claude/skills/tdd-london-chicago/schemas/output.json +444 -444
  141. package/.claude/skills/technical-writing/schemas/output.json +268 -268
  142. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
  143. package/.claude/skills/test-automation-strategy/schemas/output.json +444 -444
  144. package/.claude/skills/test-data-management/evals/test-data-management.yaml +504 -504
  145. package/.claude/skills/test-data-management/schemas/output.json +284 -284
  146. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
  147. package/.claude/skills/test-design-techniques/schemas/output.json +295 -295
  148. package/.claude/skills/test-environment-management/schemas/output.json +310 -310
  149. package/.claude/skills/test-idea-rewriting/SKILL.md +229 -229
  150. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
  151. package/.claude/skills/test-reporting-analytics/schemas/output.json +329 -329
  152. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
  153. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -84
  154. package/.claude/skills/testability-scoring/schemas/output.json +606 -606
  155. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
  156. package/.claude/skills/trust-tier-manifest.json +78 -7
  157. package/.claude/skills/verification-quality/evals/verification-quality.yaml +150 -150
  158. package/.claude/skills/verification-quality/schemas/output.json +432 -432
  159. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
  160. package/.claude/skills/visual-testing-advanced/schemas/output.json +294 -294
  161. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
  162. package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -150
  163. package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
  164. package/CHANGELOG.md +34 -0
  165. package/README.md +169 -900
  166. package/assets/agents/v3/helpers/quality-criteria/evidence-classification.md +116 -116
  167. package/assets/agents/v3/helpers/quality-criteria/htsm-categories.md +139 -139
  168. package/assets/governance/constitution.md +202 -202
  169. package/assets/governance/shards/chaos-resilience.shard.md +221 -221
  170. package/assets/governance/shards/code-intelligence.shard.md +178 -178
  171. package/assets/governance/shards/contract-testing.shard.md +206 -206
  172. package/assets/governance/shards/coverage-analysis.shard.md +146 -146
  173. package/assets/governance/shards/defect-intelligence.shard.md +182 -182
  174. package/assets/governance/shards/learning-optimization.shard.md +248 -248
  175. package/assets/governance/shards/quality-assessment.shard.md +165 -165
  176. package/assets/governance/shards/requirements-validation.shard.md +177 -177
  177. package/assets/governance/shards/security-compliance.shard.md +196 -196
  178. package/assets/governance/shards/test-execution.shard.md +156 -156
  179. package/assets/governance/shards/test-generation.shard.md +128 -128
  180. package/assets/governance/shards/visual-accessibility.shard.md +209 -209
  181. package/assets/hooks/cross-phase-memory.yaml +253 -253
  182. package/assets/patterns/adr-051-booster-patterns.json +78 -78
  183. package/assets/patterns/adr-051-embedding-patterns.json +147 -147
  184. package/assets/patterns/adr-051-integration-summary.json +62 -62
  185. package/assets/patterns/adr-051-reasoning-patterns.json +166 -166
  186. package/assets/patterns/adr-051-router-patterns.json +113 -113
  187. package/assets/patterns/index.json +136 -136
  188. package/assets/skills/.validation/README.md +111 -111
  189. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
  190. package/assets/skills/.validation/examples/performance-testing-output.example.json +252 -252
  191. package/assets/skills/.validation/examples/security-testing-output.example.json +413 -413
  192. package/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -350
  193. package/assets/skills/.validation/schemas/skill-eval.schema.json +462 -462
  194. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
  195. package/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
  196. package/assets/skills/.validation/schemas/skill-output.template.json +610 -610
  197. package/assets/skills/.validation/skill-validation-mcp-integration.md +250 -250
  198. package/assets/skills/.validation/templates/eval.template.yaml +366 -366
  199. package/assets/skills/.validation/templates/schemas/output.json +145 -145
  200. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
  201. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
  202. package/assets/skills/.validation/test-data/invalid-output.json +5 -5
  203. package/assets/skills/.validation/test-data/minimal-output.json +9 -9
  204. package/assets/skills/.validation/test-data/sample-output.json +73 -73
  205. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  206. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  207. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  208. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  209. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
  210. package/assets/skills/accessibility-testing/schemas/output.json +776 -776
  211. package/assets/skills/accessibility-testing/test-data/sample-output.json +191 -191
  212. package/assets/skills/agentic-quality-engineering/schemas/output.json +577 -577
  213. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
  214. package/assets/skills/api-testing-patterns/schemas/output.json +845 -845
  215. package/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
  216. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  217. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  218. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  219. package/assets/skills/bug-reporting-excellence/schemas/output.json +288 -288
  220. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
  221. package/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
  222. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  223. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  224. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  225. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  226. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  227. package/assets/skills/code-review-quality/schemas/output.json +264 -264
  228. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
  229. package/assets/skills/compatibility-testing/schemas/output.json +551 -551
  230. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
  231. package/assets/skills/compliance-testing/schemas/output.json +845 -845
  232. package/assets/skills/consultancy-practices/schemas/output.json +282 -282
  233. package/assets/skills/contract-testing/evals/contract-testing.yaml +748 -748
  234. package/assets/skills/contract-testing/schemas/output.json +638 -638
  235. package/assets/skills/database-testing/evals/database-testing.yaml +968 -968
  236. package/assets/skills/database-testing/schemas/output.json +1446 -1446
  237. package/assets/skills/debug-loop/SKILL.md +61 -61
  238. package/assets/skills/enterprise-integration-testing/SKILL.md +735 -735
  239. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  240. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  241. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  242. package/assets/skills/localization-testing/evals/localization-testing.yaml +544 -544
  243. package/assets/skills/localization-testing/schemas/output.json +325 -325
  244. package/assets/skills/middleware-testing-patterns/SKILL.md +798 -798
  245. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  246. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  247. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  248. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
  249. package/assets/skills/mobile-testing/schemas/output.json +318 -318
  250. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
  251. package/assets/skills/mutation-testing/schemas/output.json +707 -707
  252. package/assets/skills/mutation-testing/test-data/sample-output.json +295 -295
  253. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  254. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  255. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  256. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  257. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  258. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  259. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  260. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  261. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  262. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  263. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  264. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  265. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  266. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  267. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  268. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  269. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  270. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  271. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  272. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  273. package/assets/skills/observability-testing-patterns/SKILL.md +930 -930
  274. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  275. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  276. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  277. package/assets/skills/pentest-validation/SKILL.md +268 -268
  278. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
  279. package/assets/skills/pentest-validation/schemas/output.json +281 -281
  280. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  281. package/assets/skills/performance-testing/evals/performance-testing.yaml +772 -772
  282. package/assets/skills/performance-testing/schemas/output.json +1184 -1184
  283. package/assets/skills/pr-review/SKILL.md +61 -61
  284. package/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
  285. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  286. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  287. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  288. package/assets/skills/qcsd-development-swarm/SKILL.md +2154 -2154
  289. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  290. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  291. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  292. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  293. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  294. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  295. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  296. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  297. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  298. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  299. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  300. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  301. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  302. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
  303. package/assets/skills/qe-chaos-resilience/schemas/output.json +314 -314
  304. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
  305. package/assets/skills/qe-code-intelligence/schemas/output.json +315 -315
  306. package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
  307. package/assets/skills/qe-contract-testing/schemas/output.json +295 -295
  308. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
  309. package/assets/skills/qe-coverage-analysis/schemas/output.json +286 -286
  310. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
  311. package/assets/skills/qe-defect-intelligence/schemas/output.json +283 -283
  312. package/assets/skills/qe-iterative-loop/schemas/output.json +264 -264
  313. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
  314. package/assets/skills/qe-learning-optimization/schemas/output.json +288 -288
  315. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
  316. package/assets/skills/qe-quality-assessment/schemas/output.json +550 -550
  317. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
  318. package/assets/skills/qe-requirements-validation/schemas/output.json +587 -587
  319. package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
  320. package/assets/skills/qe-security-compliance/schemas/output.json +498 -498
  321. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
  322. package/assets/skills/qe-test-execution/schemas/output.json +529 -529
  323. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
  324. package/assets/skills/qe-test-generation/schemas/output.json +439 -439
  325. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
  326. package/assets/skills/qe-visual-accessibility/schemas/output.json +491 -491
  327. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
  328. package/assets/skills/quality-metrics/schemas/output.json +403 -403
  329. package/assets/skills/refactoring-patterns/schemas/output.json +475 -475
  330. package/assets/skills/regression-testing/evals/regression-testing.yaml +504 -504
  331. package/assets/skills/regression-testing/schemas/output.json +311 -311
  332. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
  333. package/assets/skills/risk-based-testing/schemas/output.json +480 -480
  334. package/assets/skills/security-testing/evals/security-testing.yaml +789 -789
  335. package/assets/skills/security-testing/schemas/output.json +879 -879
  336. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
  337. package/assets/skills/security-visual-testing/schemas/output.json +486 -486
  338. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  339. package/assets/skills/sfdipot-product-factors/SKILL.md +239 -239
  340. package/assets/skills/sherlock-review/SKILL.md +5 -0
  341. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  342. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  343. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
  344. package/assets/skills/shift-left-testing/schemas/output.json +459 -459
  345. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
  346. package/assets/skills/shift-right-testing/schemas/output.json +418 -418
  347. package/assets/skills/tdd-london-chicago/schemas/output.json +444 -444
  348. package/assets/skills/technical-writing/schemas/output.json +268 -268
  349. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
  350. package/assets/skills/test-automation-strategy/schemas/output.json +444 -444
  351. package/assets/skills/test-data-management/evals/test-data-management.yaml +504 -504
  352. package/assets/skills/test-data-management/schemas/output.json +284 -284
  353. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
  354. package/assets/skills/test-design-techniques/schemas/output.json +295 -295
  355. package/assets/skills/test-environment-management/schemas/output.json +310 -310
  356. package/assets/skills/test-idea-rewriting/SKILL.md +229 -229
  357. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
  358. package/assets/skills/test-reporting-analytics/schemas/output.json +329 -329
  359. package/assets/skills/testability-scoring/SKILL.md +5 -0
  360. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  361. package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -84
  362. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  363. package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
  364. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  365. package/assets/skills/trust-tier-manifest.json +2404 -0
  366. package/assets/skills/verification-quality/evals/verification-quality.yaml +150 -150
  367. package/assets/skills/verification-quality/schemas/output.json +432 -432
  368. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
  369. package/assets/skills/visual-testing-advanced/schemas/output.json +294 -294
  370. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  371. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  372. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  373. package/assets/templates/validation-summary.json +56 -56
  374. package/dist/benchmarks/performance-benchmarks.js +1 -1
  375. package/dist/cli/bundle.js +9158 -2288
  376. package/dist/cli/commands/hooks.d.ts.map +1 -1
  377. package/dist/cli/commands/hooks.js +92 -0
  378. package/dist/cli/commands/hooks.js.map +1 -1
  379. package/dist/cli/commands/mcp.d.ts.map +1 -1
  380. package/dist/cli/commands/mcp.js +11 -9
  381. package/dist/cli/commands/mcp.js.map +1 -1
  382. package/dist/cli/commands/migrate.js +2 -2
  383. package/dist/coordination/constants.d.ts +1 -1
  384. package/dist/coordination/constants.js +1 -1
  385. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  386. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  387. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  388. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  389. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  390. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  391. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  392. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  393. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  394. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  395. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  396. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  397. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  398. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  399. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  400. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  401. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  402. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  403. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  404. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  405. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  406. package/dist/domains/test-generation/coordinator.js +3 -3
  407. package/dist/domains/test-generation/coordinator.js.map +1 -1
  408. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  409. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  410. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  411. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  412. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  413. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  414. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  415. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  416. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  417. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  418. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  419. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  420. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  421. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  422. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  423. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  424. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  425. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  426. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  427. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  428. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  429. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  430. package/dist/domains/test-generation/generators/index.js +8 -0
  431. package/dist/domains/test-generation/generators/index.js.map +1 -1
  432. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  433. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  434. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  435. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  436. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  437. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  438. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  439. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  440. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  441. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  442. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  443. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  444. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  445. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  446. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  447. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  448. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  449. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  450. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  451. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  452. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  453. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  454. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  455. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  456. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  457. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  458. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  459. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  460. package/dist/domains/test-generation/interfaces.d.ts +11 -2
  461. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  462. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  463. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  464. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  465. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  466. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  467. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  468. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  469. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  470. package/dist/domains/test-generation/services/index.d.ts +2 -1
  471. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  472. package/dist/domains/test-generation/services/index.js +3 -1
  473. package/dist/domains/test-generation/services/index.js.map +1 -1
  474. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  475. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  476. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  477. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  478. package/dist/domains/test-generation/services/test-generator.d.ts +10 -0
  479. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  480. package/dist/domains/test-generation/services/test-generator.js +87 -10
  481. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  482. package/dist/governance/feature-flags.js +2 -2
  483. package/dist/governance/feature-flags.js.map +1 -1
  484. package/dist/governance/shard-embeddings.js +1 -1
  485. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  486. package/dist/init/init-wizard-hooks.js +0 -1
  487. package/dist/init/init-wizard-hooks.js.map +1 -1
  488. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  489. package/dist/init/phases/07-hooks.js +0 -2
  490. package/dist/init/phases/07-hooks.js.map +1 -1
  491. package/dist/init/phases/08-mcp.d.ts +8 -4
  492. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  493. package/dist/init/phases/08-mcp.js +13 -31
  494. package/dist/init/phases/08-mcp.js.map +1 -1
  495. package/dist/init/phases/10-workers.js +4 -4
  496. package/dist/init/phases/10-workers.js.map +1 -1
  497. package/dist/init/settings-merge.d.ts.map +1 -1
  498. package/dist/init/settings-merge.js +0 -2
  499. package/dist/init/settings-merge.js.map +1 -1
  500. package/dist/init/token-bootstrap.js +1 -1
  501. package/dist/init/token-bootstrap.js.map +1 -1
  502. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  503. package/dist/kernel/constants.d.ts +2 -2
  504. package/dist/kernel/constants.js +2 -2
  505. package/dist/kernel/hnsw-adapter.js +1 -1
  506. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  507. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  508. package/dist/learning/dream/concept-graph.d.ts +1 -1
  509. package/dist/learning/dream/concept-graph.js +1 -1
  510. package/dist/learning/dream/dream-engine.d.ts +1 -1
  511. package/dist/learning/dream/dream-engine.js +1 -1
  512. package/dist/learning/dream/index.d.ts +1 -1
  513. package/dist/learning/dream/index.js +1 -1
  514. package/dist/learning/dream/types.d.ts +1 -1
  515. package/dist/learning/dream/types.d.ts.map +1 -1
  516. package/dist/learning/dream/types.js +1 -1
  517. package/dist/learning/dream/types.js.map +1 -1
  518. package/dist/learning/token-tracker.js +1 -1
  519. package/dist/learning/token-tracker.js.map +1 -1
  520. package/dist/mcp/bundle.js +7538 -893
  521. package/dist/routing/qe-agent-registry.js +4 -4
  522. package/dist/routing/qe-agent-registry.js.map +1 -1
  523. package/dist/routing/types.d.ts +5 -8
  524. package/dist/routing/types.d.ts.map +1 -1
  525. package/dist/routing/types.js.map +1 -1
  526. package/dist/shared/embeddings/embedding-cache.js +2 -2
  527. package/dist/shared/embeddings/index.d.ts +2 -2
  528. package/dist/shared/embeddings/index.js +2 -2
  529. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  530. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  531. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  532. package/dist/shared/embeddings/ollama-client.js +2 -2
  533. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  534. package/dist/shared/embeddings/types.d.ts +2 -2
  535. package/dist/shared/embeddings/types.js +2 -2
  536. package/dist/shared/language-detector.d.ts +46 -0
  537. package/dist/shared/language-detector.d.ts.map +1 -0
  538. package/dist/shared/language-detector.js +183 -0
  539. package/dist/shared/language-detector.js.map +1 -0
  540. package/dist/shared/llm/providers/ollama.js +1 -1
  541. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  542. package/dist/shared/metrics/code-metrics.js +24 -1
  543. package/dist/shared/metrics/code-metrics.js.map +1 -1
  544. package/dist/shared/parsers/index.d.ts +2 -0
  545. package/dist/shared/parsers/index.d.ts.map +1 -1
  546. package/dist/shared/parsers/index.js +2 -0
  547. package/dist/shared/parsers/index.js.map +1 -1
  548. package/dist/shared/parsers/interfaces.d.ts +81 -0
  549. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  550. package/dist/shared/parsers/interfaces.js +6 -0
  551. package/dist/shared/parsers/interfaces.js.map +1 -0
  552. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  553. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  554. package/dist/shared/parsers/multi-language-parser.js +1271 -0
  555. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  556. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  557. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  558. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  559. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  560. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  561. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  562. package/dist/shared/parsers/typescript-parser.js +85 -0
  563. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  564. package/dist/shared/types/test-frameworks.d.ts +25 -0
  565. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  566. package/dist/shared/types/test-frameworks.js +111 -0
  567. package/dist/shared/types/test-frameworks.js.map +1 -0
  568. package/package.json +1 -1
  569. package/scripts/prepare-assets.sh +16 -2
@@ -1,696 +1,696 @@
1
- # =============================================================================
2
- # AQE API Testing Patterns Skill Evaluation Test Suite v1.0.0
3
- # Per ADR-056 - Trust Tier 3 Validation
4
- # =============================================================================
5
- #
6
- # This evaluation suite validates the api-testing-patterns skill behavior:
7
- # - REST API testing patterns
8
- # - GraphQL API testing patterns
9
- # - Contract testing (Pact)
10
- # - Authentication/Authorization testing
11
- # - Error handling and validation
12
- # - Pagination and filtering
13
- # - Integration with QE agents
14
- #
15
- # Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
16
- # Runner: scripts/run-skill-eval.ts
17
- #
18
- # =============================================================================
19
-
20
- skill: api-testing-patterns
21
- version: 1.0.0
22
- description: >
23
- Comprehensive evaluation suite for the api-testing-patterns skill.
24
- Tests core API testing patterns across REST, GraphQL, contract testing,
25
- and various critical scenarios to ensure consistent, high-quality output
26
- across multiple models.
27
-
28
- # =============================================================================
29
- # Multi-Model Configuration
30
- # =============================================================================
31
-
32
- models_to_test:
33
- - claude-sonnet-4 # Primary model (high accuracy expected)
34
- - claude-3-haiku # Fast model (minimum quality bar)
35
- - gpt-4o # Cross-vendor validation
36
-
37
- # =============================================================================
38
- # MCP Integration Configuration
39
- # =============================================================================
40
-
41
- mcp_integration:
42
- enabled: true
43
- namespace: skill-validation
44
-
45
- query_patterns: true
46
- track_outcomes: true
47
- store_patterns: true
48
- share_learning: true
49
- update_quality_gate: true
50
-
51
- target_agents:
52
- - qe-learning-coordinator
53
- - qe-queen-coordinator
54
- - qe-api-contract-validator
55
-
56
- # =============================================================================
57
- # ReasoningBank Learning Configuration
58
- # =============================================================================
59
-
60
- learning:
61
- store_success_patterns: true
62
- store_failure_patterns: true
63
- pattern_ttl_days: 90
64
- min_confidence_to_store: 0.7
65
- cross_model_comparison: true
66
-
67
- # =============================================================================
68
- # Result Format Configuration
69
- # =============================================================================
70
-
71
- result_format:
72
- json_output: true
73
- markdown_report: true
74
- include_raw_output: false
75
- include_timing: true
76
- include_token_usage: true
77
-
78
- # =============================================================================
79
- # Environment Setup
80
- # =============================================================================
81
-
82
- setup:
83
- required_tools:
84
- - jq
85
- environment_variables:
86
- AQE_VALIDATION_MODE: "eval"
87
- fixtures:
88
- - name: sample_openapi_spec
89
- path: fixtures/openapi-sample.yaml
90
- content: |
91
- openapi: "3.0.3"
92
- info:
93
- title: Sample API
94
- version: "1.0.0"
95
- paths:
96
- /users:
97
- get:
98
- operationId: getUsers
99
- responses:
100
- "200":
101
- description: List of users
102
- /users/{id}:
103
- get:
104
- operationId: getUserById
105
- parameters:
106
- - name: id
107
- in: path
108
- required: true
109
- schema:
110
- type: string
111
- responses:
112
- "200":
113
- description: User found
114
- "404":
115
- description: User not found
116
- - name: sample_express_api
117
- path: fixtures/express-api.js
118
- content: |
119
- const express = require('express');
120
- const app = express();
121
-
122
- app.get('/api/users', (req, res) => {
123
- const users = db.query('SELECT * FROM users');
124
- res.json(users);
125
- });
126
-
127
- app.post('/api/orders', (req, res) => {
128
- const { productId, quantity } = req.body;
129
- if (!productId) return res.status(400).json({ error: 'productId required' });
130
- const order = orderService.create({ productId, quantity });
131
- res.status(201).json(order);
132
- });
133
-
134
- app.get('/api/orders/:id', auth.required, (req, res) => {
135
- const order = orderService.findById(req.params.id);
136
- if (!order) return res.status(404).json({ error: 'Not found' });
137
- if (order.userId !== req.user.id) return res.status(403).json({ error: 'Forbidden' });
138
- res.json(order);
139
- });
140
-
141
- # =============================================================================
142
- # Test Cases
143
- # =============================================================================
144
-
145
- test_cases:
146
- # -------------------------------------------------------------------------
147
- # Basic Functionality Tests
148
- # -------------------------------------------------------------------------
149
-
150
- - id: tc001_basic_rest_analysis
151
- description: "Skill analyzes basic REST API and identifies test patterns"
152
- category: basic
153
- priority: critical
154
-
155
- input:
156
- prompt: |
157
- Analyze this REST API endpoint and recommend API testing patterns:
158
- ```javascript
159
- app.get('/api/users', (req, res) => {
160
- const users = db.query('SELECT * FROM users');
161
- res.json(users);
162
- });
163
- ```
164
- context:
165
- language: javascript
166
- framework: express
167
- apiType: rest
168
-
169
- expected_output:
170
- must_contain:
171
- - "GET"
172
- - "test"
173
- - "users"
174
- - "response"
175
- must_not_contain:
176
- - "unable to analyze"
177
- - "error"
178
- - "TODO"
179
-
180
- validation:
181
- schema_check: true
182
- keyword_match_threshold: 0.8
183
- reasoning_quality_min: 0.7
184
-
185
- - id: tc002_contract_testing_recommendation
186
- description: "Skill recommends consumer-driven contracts for microservices"
187
- category: contract
188
- priority: critical
189
-
190
- input:
191
- prompt: |
192
- I have a checkout-service that calls orders-api and payments-api.
193
- What API testing patterns should I use to ensure these services
194
- work correctly together?
195
- context:
196
- architecture: microservices
197
- services:
198
- - checkout-service
199
- - orders-api
200
- - payments-api
201
-
202
- expected_output:
203
- must_contain:
204
- - "contract"
205
- - "consumer"
206
- - "provider"
207
- must_match_regex:
208
- - "(?i)(pact|consumer-driven|contract test)"
209
-
210
- validation:
211
- schema_check: true
212
- keyword_match_threshold: 0.8
213
- reasoning_quality_min: 0.8
214
-
215
- - id: tc003_graphql_testing_patterns
216
- description: "Skill provides GraphQL-specific testing patterns"
217
- category: graphql
218
- priority: high
219
-
220
- input:
221
- prompt: |
222
- Analyze this GraphQL API for testing patterns:
223
- ```graphql
224
- type Query {
225
- user(id: ID!): User
226
- users(limit: Int, offset: Int): [User!]!
227
- }
228
-
229
- type Mutation {
230
- createUser(input: CreateUserInput!): User!
231
- updateUser(id: ID!, input: UpdateUserInput!): User
232
- }
233
- ```
234
- context:
235
- apiType: graphql
236
-
237
- expected_output:
238
- must_contain:
239
- - "query"
240
- - "mutation"
241
- - "GraphQL"
242
- must_not_contain:
243
- - "REST"
244
- - "HTTP method"
245
-
246
- validation:
247
- schema_check: true
248
- keyword_match_threshold: 0.7
249
-
250
- # -------------------------------------------------------------------------
251
- # Authentication Testing
252
- # -------------------------------------------------------------------------
253
-
254
- - id: tc004_auth_testing_patterns
255
- description: "Skill identifies authentication testing scenarios"
256
- category: auth
257
- priority: critical
258
-
259
- input:
260
- code: |
261
- app.get('/api/orders/:id', auth.required, (req, res) => {
262
- const order = orderService.findById(req.params.id);
263
- if (!order) return res.status(404).json({ error: 'Not found' });
264
- if (order.userId !== req.user.id) return res.status(403).json({ error: 'Forbidden' });
265
- res.json(order);
266
- });
267
- context:
268
- language: javascript
269
- framework: express
270
-
271
- expected_output:
272
- must_contain:
273
- - "401"
274
- - "403"
275
- - "auth"
276
- - "token"
277
- must_match_regex:
278
- - "(?i)(unauthorized|forbidden|access)"
279
-
280
- validation:
281
- schema_check: true
282
- keyword_match_threshold: 0.8
283
- grading_rubric:
284
- completeness: 0.4
285
- accuracy: 0.4
286
- actionability: 0.2
287
-
288
- - id: tc005_expired_token_scenario
289
- description: "Skill identifies expired token testing scenario"
290
- category: auth
291
- priority: high
292
-
293
- input:
294
- prompt: |
295
- For a JWT-authenticated API, what test scenarios should I cover
296
- for authentication failures?
297
- context:
298
- authType: jwt
299
-
300
- expected_output:
301
- must_contain:
302
- - "expired"
303
- - "invalid"
304
- - "token"
305
- must_match_regex:
306
- - "(?i)(expire|timeout|invalid.*token)"
307
-
308
- validation:
309
- schema_check: true
310
- keyword_match_threshold: 0.7
311
-
312
- # -------------------------------------------------------------------------
313
- # Error Handling Tests
314
- # -------------------------------------------------------------------------
315
-
316
- - id: tc006_error_handling_patterns
317
- description: "Skill recommends error handling test scenarios"
318
- category: error_handling
319
- priority: high
320
-
321
- input:
322
- prompt: |
323
- What error handling scenarios should I test for this API endpoint?
324
- ```javascript
325
- app.post('/api/orders', async (req, res) => {
326
- try {
327
- const order = await orderService.create(req.body);
328
- res.status(201).json(order);
329
- } catch (error) {
330
- if (error.code === 'VALIDATION_ERROR') {
331
- return res.status(400).json({ error: error.message });
332
- }
333
- res.status(500).json({ error: 'Internal server error' });
334
- }
335
- });
336
- ```
337
- context:
338
- language: javascript
339
-
340
- expected_output:
341
- must_contain:
342
- - "400"
343
- - "500"
344
- - "error"
345
- - "validation"
346
- must_not_contain:
347
- - "no errors"
348
- - "perfect"
349
-
350
- validation:
351
- schema_check: true
352
- keyword_match_threshold: 0.8
353
-
354
- - id: tc007_input_validation_testing
355
- description: "Skill identifies input validation test cases"
356
- category: validation
357
- priority: high
358
-
359
- input:
360
- code: |
361
- app.post('/api/users', (req, res) => {
362
- const { email, password, age } = req.body;
363
- if (!email) return res.status(400).json({ error: 'Email required' });
364
- if (!password || password.length < 8) return res.status(400).json({ error: 'Password must be 8+ chars' });
365
- if (age && (age < 0 || age > 150)) return res.status(400).json({ error: 'Invalid age' });
366
- // Create user...
367
- });
368
- context:
369
- language: javascript
370
-
371
- expected_output:
372
- must_contain:
373
- - "required"
374
- - "validation"
375
- - "email"
376
- - "password"
377
- must_match_regex:
378
- - "(?i)(boundary|range|length)"
379
- finding_count:
380
- min: 1
381
-
382
- validation:
383
- schema_check: true
384
- keyword_match_threshold: 0.7
385
-
386
- # -------------------------------------------------------------------------
387
- # Pagination and Filtering Tests
388
- # -------------------------------------------------------------------------
389
-
390
- - id: tc008_pagination_testing
391
- description: "Skill recommends pagination testing patterns"
392
- category: pagination
393
- priority: medium
394
-
395
- input:
396
- prompt: |
397
- This API supports pagination. What test scenarios should I cover?
398
- ```javascript
399
- app.get('/api/products', (req, res) => {
400
- const { page = 1, limit = 20, sort = 'name' } = req.query;
401
- const products = productService.find({ page, limit, sort });
402
- res.json({
403
- data: products,
404
- pagination: { page, limit, total: products.total }
405
- });
406
- });
407
- ```
408
- context:
409
- language: javascript
410
-
411
- expected_output:
412
- must_contain:
413
- - "page"
414
- - "limit"
415
- - "boundary"
416
- must_match_regex:
417
- - "(?i)(first.*page|last.*page|empty|zero)"
418
-
419
- validation:
420
- schema_check: true
421
- keyword_match_threshold: 0.7
422
-
423
- - id: tc009_filtering_testing
424
- description: "Skill recommends filter/search testing patterns"
425
- category: filtering
426
- priority: medium
427
-
428
- input:
429
- prompt: |
430
- How should I test filtering and search functionality?
431
- ```javascript
432
- app.get('/api/products', (req, res) => {
433
- const { category, minPrice, maxPrice, search } = req.query;
434
- const filters = { category, minPrice, maxPrice, search };
435
- const products = productService.search(filters);
436
- res.json(products);
437
- });
438
- ```
439
-
440
- expected_output:
441
- must_contain:
442
- - "filter"
443
- - "search"
444
- must_match_regex:
445
- - "(?i)(empty.*result|no.*match|invalid.*filter)"
446
-
447
- validation:
448
- schema_check: true
449
-
450
- # -------------------------------------------------------------------------
451
- # Idempotency and Concurrency Tests
452
- # -------------------------------------------------------------------------
453
-
454
- - id: tc010_idempotency_testing
455
- description: "Skill identifies idempotency testing patterns"
456
- category: idempotency
457
- priority: high
458
-
459
- input:
460
- prompt: |
461
- My payment API uses idempotency keys. What test scenarios should I cover?
462
- ```javascript
463
- app.post('/api/payments', async (req, res) => {
464
- const idempotencyKey = req.headers['idempotency-key'];
465
- if (idempotencyKey) {
466
- const existing = await cache.get(idempotencyKey);
467
- if (existing) return res.json(existing);
468
- }
469
- const payment = await paymentService.process(req.body);
470
- if (idempotencyKey) await cache.set(idempotencyKey, payment);
471
- res.status(201).json(payment);
472
- });
473
- ```
474
-
475
- expected_output:
476
- must_contain:
477
- - "idempotency"
478
- - "duplicate"
479
- - "key"
480
- must_match_regex:
481
- - "(?i)(same.*result|repeat|retry)"
482
-
483
- validation:
484
- schema_check: true
485
- keyword_match_threshold: 0.8
486
-
487
- - id: tc011_concurrency_testing
488
- description: "Skill identifies race condition testing scenarios"
489
- category: concurrency
490
- priority: high
491
-
492
- input:
493
- prompt: |
494
- How do I test for race conditions in this inventory API?
495
- ```javascript
496
- app.post('/api/orders', async (req, res) => {
497
- const product = await productService.findById(req.body.productId);
498
- if (product.stock < req.body.quantity) {
499
- return res.status(400).json({ error: 'Insufficient stock' });
500
- }
501
- await productService.decrementStock(req.body.productId, req.body.quantity);
502
- const order = await orderService.create(req.body);
503
- res.status(201).json(order);
504
- });
505
- ```
506
-
507
- expected_output:
508
- must_contain:
509
- - "race"
510
- - "concurrent"
511
- - "parallel"
512
- must_match_regex:
513
- - "(?i)(lock|atomic|transaction)"
514
-
515
- validation:
516
- schema_check: true
517
- keyword_match_threshold: 0.7
518
-
519
- # -------------------------------------------------------------------------
520
- # Integration Testing Patterns
521
- # -------------------------------------------------------------------------
522
-
523
- - id: tc012_integration_test_structure
524
- description: "Skill recommends proper integration test structure"
525
- category: integration
526
- priority: high
527
-
528
- input:
529
- prompt: |
530
- I need to write integration tests for my Express API that connects
531
- to PostgreSQL and Redis. What patterns should I follow?
532
- context:
533
- framework: express
534
- database: postgresql
535
- cache: redis
536
-
537
- expected_output:
538
- must_contain:
539
- - "database"
540
- - "setup"
541
- - "teardown"
542
- must_match_regex:
543
- - "(?i)(before|after|cleanup|seed)"
544
- recommendation_count:
545
- min: 1
546
-
547
- validation:
548
- schema_check: true
549
- grading_rubric:
550
- completeness: 0.3
551
- accuracy: 0.4
552
- actionability: 0.3
553
-
554
- - id: tc013_supertest_pattern
555
- description: "Skill demonstrates supertest usage for Node.js APIs"
556
- category: integration
557
- priority: medium
558
-
559
- input:
560
- prompt: |
561
- Show me how to use supertest for testing this Express API endpoint:
562
- ```javascript
563
- app.post('/api/users', (req, res) => {
564
- const user = userService.create(req.body);
565
- res.status(201).json(user);
566
- });
567
- ```
568
- context:
569
- framework: express
570
- testFramework: jest
571
-
572
- expected_output:
573
- must_contain:
574
- - "supertest"
575
- - "expect"
576
- - "201"
577
- must_match_regex:
578
- - "(?i)(request|post|send)"
579
-
580
- validation:
581
- schema_check: true
582
-
583
- # -------------------------------------------------------------------------
584
- # Negative Tests (Should NOT find issues)
585
- # -------------------------------------------------------------------------
586
-
587
- - id: tc014_well_tested_api
588
- description: "Skill acknowledges well-tested API without false positives"
589
- category: negative
590
- priority: high
591
-
592
- input:
593
- prompt: |
594
- This API already has comprehensive tests. What additional tests might be needed?
595
- - Unit tests for all service methods
596
- - Integration tests for all endpoints
597
- - Contract tests with all consumers
598
- - Load tests for high-traffic endpoints
599
- - Security tests for auth flows
600
- context:
601
- testCoverage: "comprehensive"
602
-
603
- expected_output:
604
- must_contain:
605
- - "comprehensive"
606
- must_not_contain:
607
- - "critical gap"
608
- - "missing"
609
- - "no tests"
610
-
611
- validation:
612
- schema_check: true
613
- finding_count:
614
- max: 3 # Allow minor suggestions only
615
-
616
- # -------------------------------------------------------------------------
617
- # Edge Cases
618
- # -------------------------------------------------------------------------
619
-
620
- - id: tc015_empty_api_spec
621
- description: "Skill handles empty or minimal API gracefully"
622
- category: edge_cases
623
- priority: medium
624
-
625
- input:
626
- prompt: "Analyze this API for testing patterns:"
627
- context:
628
- apiSpec: null
629
-
630
- expected_output:
631
- must_contain:
632
- - "provide"
633
- - "API"
634
- must_not_contain:
635
- - "exception"
636
- - "crash"
637
-
638
- validation:
639
- schema_check: true
640
- allow_partial: true
641
-
642
- - id: tc016_large_api_spec
643
- description: "Skill handles large API specifications"
644
- category: edge_cases
645
- priority: medium
646
- skip: false
647
-
648
- input:
649
- file_path: fixtures/openapi-sample.yaml
650
- context:
651
- apiType: rest
652
-
653
- expected_output:
654
- must_contain:
655
- - "endpoint"
656
- - "test"
657
-
658
- validation:
659
- schema_check: true
660
-
661
- timeout_ms: 60000
662
-
663
- # =============================================================================
664
- # Success Criteria
665
- # =============================================================================
666
-
667
- success_criteria:
668
- # Minimum percentage of tests that must pass
669
- pass_rate: 0.90
670
-
671
- # Critical tests must have 100% pass rate
672
- critical_pass_rate: 1.0
673
-
674
- # Average reasoning quality across all tests
675
- avg_reasoning_quality: 0.7
676
-
677
- # Maximum time for entire suite (5 minutes)
678
- max_execution_time_ms: 300000
679
-
680
- # Maximum variance between different models (15%)
681
- cross_model_variance: 0.15
682
-
683
- # =============================================================================
684
- # Metadata
685
- # =============================================================================
686
-
687
- metadata:
688
- author: "@agentic-qe"
689
- created: "2026-02-02"
690
- last_updated: "2026-02-02"
691
- coverage_target: >
692
- Core API testing patterns including REST, GraphQL, contract testing,
693
- authentication, error handling, pagination, idempotency, and concurrency.
694
- Tests 16 scenarios across 8 categories.
695
- adr_reference: "ADR-056"
696
- trust_tier: 3
1
+ # =============================================================================
2
+ # AQE API Testing Patterns Skill Evaluation Test Suite v1.0.0
3
+ # Per ADR-056 - Trust Tier 3 Validation
4
+ # =============================================================================
5
+ #
6
+ # This evaluation suite validates the api-testing-patterns skill behavior:
7
+ # - REST API testing patterns
8
+ # - GraphQL API testing patterns
9
+ # - Contract testing (Pact)
10
+ # - Authentication/Authorization testing
11
+ # - Error handling and validation
12
+ # - Pagination and filtering
13
+ # - Integration with QE agents
14
+ #
15
+ # Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
16
+ # Runner: scripts/run-skill-eval.ts
17
+ #
18
+ # =============================================================================
19
+
20
+ skill: api-testing-patterns
21
+ version: 1.0.0
22
+ description: >
23
+ Comprehensive evaluation suite for the api-testing-patterns skill.
24
+ Tests core API testing patterns across REST, GraphQL, contract testing,
25
+ and various critical scenarios to ensure consistent, high-quality output
26
+ across multiple models.
27
+
28
+ # =============================================================================
29
+ # Multi-Model Configuration
30
+ # =============================================================================
31
+
32
+ models_to_test:
33
+ - claude-sonnet-4 # Primary model (high accuracy expected)
34
+ - claude-3-haiku # Fast model (minimum quality bar)
35
+ - gpt-4o # Cross-vendor validation
36
+
37
+ # =============================================================================
38
+ # MCP Integration Configuration
39
+ # =============================================================================
40
+
41
+ mcp_integration:
42
+ enabled: true
43
+ namespace: skill-validation
44
+
45
+ query_patterns: true
46
+ track_outcomes: true
47
+ store_patterns: true
48
+ share_learning: true
49
+ update_quality_gate: true
50
+
51
+ target_agents:
52
+ - qe-learning-coordinator
53
+ - qe-queen-coordinator
54
+ - qe-api-contract-validator
55
+
56
+ # =============================================================================
57
+ # ReasoningBank Learning Configuration
58
+ # =============================================================================
59
+
60
+ learning:
61
+ store_success_patterns: true
62
+ store_failure_patterns: true
63
+ pattern_ttl_days: 90
64
+ min_confidence_to_store: 0.7
65
+ cross_model_comparison: true
66
+
67
+ # =============================================================================
68
+ # Result Format Configuration
69
+ # =============================================================================
70
+
71
+ result_format:
72
+ json_output: true
73
+ markdown_report: true
74
+ include_raw_output: false
75
+ include_timing: true
76
+ include_token_usage: true
77
+
78
+ # =============================================================================
79
+ # Environment Setup
80
+ # =============================================================================
81
+
82
+ setup:
83
+ required_tools:
84
+ - jq
85
+ environment_variables:
86
+ AQE_VALIDATION_MODE: "eval"
87
+ fixtures:
88
+ - name: sample_openapi_spec
89
+ path: fixtures/openapi-sample.yaml
90
+ content: |
91
+ openapi: "3.0.3"
92
+ info:
93
+ title: Sample API
94
+ version: "1.0.0"
95
+ paths:
96
+ /users:
97
+ get:
98
+ operationId: getUsers
99
+ responses:
100
+ "200":
101
+ description: List of users
102
+ /users/{id}:
103
+ get:
104
+ operationId: getUserById
105
+ parameters:
106
+ - name: id
107
+ in: path
108
+ required: true
109
+ schema:
110
+ type: string
111
+ responses:
112
+ "200":
113
+ description: User found
114
+ "404":
115
+ description: User not found
116
+ - name: sample_express_api
117
+ path: fixtures/express-api.js
118
+ content: |
119
+ const express = require('express');
120
+ const app = express();
121
+
122
+ app.get('/api/users', (req, res) => {
123
+ const users = db.query('SELECT * FROM users');
124
+ res.json(users);
125
+ });
126
+
127
+ app.post('/api/orders', (req, res) => {
128
+ const { productId, quantity } = req.body;
129
+ if (!productId) return res.status(400).json({ error: 'productId required' });
130
+ const order = orderService.create({ productId, quantity });
131
+ res.status(201).json(order);
132
+ });
133
+
134
+ app.get('/api/orders/:id', auth.required, (req, res) => {
135
+ const order = orderService.findById(req.params.id);
136
+ if (!order) return res.status(404).json({ error: 'Not found' });
137
+ if (order.userId !== req.user.id) return res.status(403).json({ error: 'Forbidden' });
138
+ res.json(order);
139
+ });
140
+
141
+ # =============================================================================
142
+ # Test Cases
143
+ # =============================================================================
144
+
145
+ test_cases:
146
+ # -------------------------------------------------------------------------
147
+ # Basic Functionality Tests
148
+ # -------------------------------------------------------------------------
149
+
150
+ - id: tc001_basic_rest_analysis
151
+ description: "Skill analyzes basic REST API and identifies test patterns"
152
+ category: basic
153
+ priority: critical
154
+
155
+ input:
156
+ prompt: |
157
+ Analyze this REST API endpoint and recommend API testing patterns:
158
+ ```javascript
159
+ app.get('/api/users', (req, res) => {
160
+ const users = db.query('SELECT * FROM users');
161
+ res.json(users);
162
+ });
163
+ ```
164
+ context:
165
+ language: javascript
166
+ framework: express
167
+ apiType: rest
168
+
169
+ expected_output:
170
+ must_contain:
171
+ - "GET"
172
+ - "test"
173
+ - "users"
174
+ - "response"
175
+ must_not_contain:
176
+ - "unable to analyze"
177
+ - "error"
178
+ - "TODO"
179
+
180
+ validation:
181
+ schema_check: true
182
+ keyword_match_threshold: 0.8
183
+ reasoning_quality_min: 0.7
184
+
185
+ - id: tc002_contract_testing_recommendation
186
+ description: "Skill recommends consumer-driven contracts for microservices"
187
+ category: contract
188
+ priority: critical
189
+
190
+ input:
191
+ prompt: |
192
+ I have a checkout-service that calls orders-api and payments-api.
193
+ What API testing patterns should I use to ensure these services
194
+ work correctly together?
195
+ context:
196
+ architecture: microservices
197
+ services:
198
+ - checkout-service
199
+ - orders-api
200
+ - payments-api
201
+
202
+ expected_output:
203
+ must_contain:
204
+ - "contract"
205
+ - "consumer"
206
+ - "provider"
207
+ must_match_regex:
208
+ - "(?i)(pact|consumer-driven|contract test)"
209
+
210
+ validation:
211
+ schema_check: true
212
+ keyword_match_threshold: 0.8
213
+ reasoning_quality_min: 0.8
214
+
215
+ - id: tc003_graphql_testing_patterns
216
+ description: "Skill provides GraphQL-specific testing patterns"
217
+ category: graphql
218
+ priority: high
219
+
220
+ input:
221
+ prompt: |
222
+ Analyze this GraphQL API for testing patterns:
223
+ ```graphql
224
+ type Query {
225
+ user(id: ID!): User
226
+ users(limit: Int, offset: Int): [User!]!
227
+ }
228
+
229
+ type Mutation {
230
+ createUser(input: CreateUserInput!): User!
231
+ updateUser(id: ID!, input: UpdateUserInput!): User
232
+ }
233
+ ```
234
+ context:
235
+ apiType: graphql
236
+
237
+ expected_output:
238
+ must_contain:
239
+ - "query"
240
+ - "mutation"
241
+ - "GraphQL"
242
+ must_not_contain:
243
+ - "REST"
244
+ - "HTTP method"
245
+
246
+ validation:
247
+ schema_check: true
248
+ keyword_match_threshold: 0.7
249
+
250
+ # -------------------------------------------------------------------------
251
+ # Authentication Testing
252
+ # -------------------------------------------------------------------------
253
+
254
+ - id: tc004_auth_testing_patterns
255
+ description: "Skill identifies authentication testing scenarios"
256
+ category: auth
257
+ priority: critical
258
+
259
+ input:
260
+ code: |
261
+ app.get('/api/orders/:id', auth.required, (req, res) => {
262
+ const order = orderService.findById(req.params.id);
263
+ if (!order) return res.status(404).json({ error: 'Not found' });
264
+ if (order.userId !== req.user.id) return res.status(403).json({ error: 'Forbidden' });
265
+ res.json(order);
266
+ });
267
+ context:
268
+ language: javascript
269
+ framework: express
270
+
271
+ expected_output:
272
+ must_contain:
273
+ - "401"
274
+ - "403"
275
+ - "auth"
276
+ - "token"
277
+ must_match_regex:
278
+ - "(?i)(unauthorized|forbidden|access)"
279
+
280
+ validation:
281
+ schema_check: true
282
+ keyword_match_threshold: 0.8
283
+ grading_rubric:
284
+ completeness: 0.4
285
+ accuracy: 0.4
286
+ actionability: 0.2
287
+
288
+ - id: tc005_expired_token_scenario
289
+ description: "Skill identifies expired token testing scenario"
290
+ category: auth
291
+ priority: high
292
+
293
+ input:
294
+ prompt: |
295
+ For a JWT-authenticated API, what test scenarios should I cover
296
+ for authentication failures?
297
+ context:
298
+ authType: jwt
299
+
300
+ expected_output:
301
+ must_contain:
302
+ - "expired"
303
+ - "invalid"
304
+ - "token"
305
+ must_match_regex:
306
+ - "(?i)(expire|timeout|invalid.*token)"
307
+
308
+ validation:
309
+ schema_check: true
310
+ keyword_match_threshold: 0.7
311
+
312
+ # -------------------------------------------------------------------------
313
+ # Error Handling Tests
314
+ # -------------------------------------------------------------------------
315
+
316
+ - id: tc006_error_handling_patterns
317
+ description: "Skill recommends error handling test scenarios"
318
+ category: error_handling
319
+ priority: high
320
+
321
+ input:
322
+ prompt: |
323
+ What error handling scenarios should I test for this API endpoint?
324
+ ```javascript
325
+ app.post('/api/orders', async (req, res) => {
326
+ try {
327
+ const order = await orderService.create(req.body);
328
+ res.status(201).json(order);
329
+ } catch (error) {
330
+ if (error.code === 'VALIDATION_ERROR') {
331
+ return res.status(400).json({ error: error.message });
332
+ }
333
+ res.status(500).json({ error: 'Internal server error' });
334
+ }
335
+ });
336
+ ```
337
+ context:
338
+ language: javascript
339
+
340
+ expected_output:
341
+ must_contain:
342
+ - "400"
343
+ - "500"
344
+ - "error"
345
+ - "validation"
346
+ must_not_contain:
347
+ - "no errors"
348
+ - "perfect"
349
+
350
+ validation:
351
+ schema_check: true
352
+ keyword_match_threshold: 0.8
353
+
354
+ - id: tc007_input_validation_testing
355
+ description: "Skill identifies input validation test cases"
356
+ category: validation
357
+ priority: high
358
+
359
+ input:
360
+ code: |
361
+ app.post('/api/users', (req, res) => {
362
+ const { email, password, age } = req.body;
363
+ if (!email) return res.status(400).json({ error: 'Email required' });
364
+ if (!password || password.length < 8) return res.status(400).json({ error: 'Password must be 8+ chars' });
365
+ if (age && (age < 0 || age > 150)) return res.status(400).json({ error: 'Invalid age' });
366
+ // Create user...
367
+ });
368
+ context:
369
+ language: javascript
370
+
371
+ expected_output:
372
+ must_contain:
373
+ - "required"
374
+ - "validation"
375
+ - "email"
376
+ - "password"
377
+ must_match_regex:
378
+ - "(?i)(boundary|range|length)"
379
+ finding_count:
380
+ min: 1
381
+
382
+ validation:
383
+ schema_check: true
384
+ keyword_match_threshold: 0.7
385
+
386
+ # -------------------------------------------------------------------------
387
+ # Pagination and Filtering Tests
388
+ # -------------------------------------------------------------------------
389
+
390
+ - id: tc008_pagination_testing
391
+ description: "Skill recommends pagination testing patterns"
392
+ category: pagination
393
+ priority: medium
394
+
395
+ input:
396
+ prompt: |
397
+ This API supports pagination. What test scenarios should I cover?
398
+ ```javascript
399
+ app.get('/api/products', (req, res) => {
400
+ const { page = 1, limit = 20, sort = 'name' } = req.query;
401
+ const products = productService.find({ page, limit, sort });
402
+ res.json({
403
+ data: products,
404
+ pagination: { page, limit, total: products.total }
405
+ });
406
+ });
407
+ ```
408
+ context:
409
+ language: javascript
410
+
411
+ expected_output:
412
+ must_contain:
413
+ - "page"
414
+ - "limit"
415
+ - "boundary"
416
+ must_match_regex:
417
+ - "(?i)(first.*page|last.*page|empty|zero)"
418
+
419
+ validation:
420
+ schema_check: true
421
+ keyword_match_threshold: 0.7
422
+
423
+ - id: tc009_filtering_testing
424
+ description: "Skill recommends filter/search testing patterns"
425
+ category: filtering
426
+ priority: medium
427
+
428
+ input:
429
+ prompt: |
430
+ How should I test filtering and search functionality?
431
+ ```javascript
432
+ app.get('/api/products', (req, res) => {
433
+ const { category, minPrice, maxPrice, search } = req.query;
434
+ const filters = { category, minPrice, maxPrice, search };
435
+ const products = productService.search(filters);
436
+ res.json(products);
437
+ });
438
+ ```
439
+
440
+ expected_output:
441
+ must_contain:
442
+ - "filter"
443
+ - "search"
444
+ must_match_regex:
445
+ - "(?i)(empty.*result|no.*match|invalid.*filter)"
446
+
447
+ validation:
448
+ schema_check: true
449
+
450
+ # -------------------------------------------------------------------------
451
+ # Idempotency and Concurrency Tests
452
+ # -------------------------------------------------------------------------
453
+
454
+ - id: tc010_idempotency_testing
455
+ description: "Skill identifies idempotency testing patterns"
456
+ category: idempotency
457
+ priority: high
458
+
459
+ input:
460
+ prompt: |
461
+ My payment API uses idempotency keys. What test scenarios should I cover?
462
+ ```javascript
463
+ app.post('/api/payments', async (req, res) => {
464
+ const idempotencyKey = req.headers['idempotency-key'];
465
+ if (idempotencyKey) {
466
+ const existing = await cache.get(idempotencyKey);
467
+ if (existing) return res.json(existing);
468
+ }
469
+ const payment = await paymentService.process(req.body);
470
+ if (idempotencyKey) await cache.set(idempotencyKey, payment);
471
+ res.status(201).json(payment);
472
+ });
473
+ ```
474
+
475
+ expected_output:
476
+ must_contain:
477
+ - "idempotency"
478
+ - "duplicate"
479
+ - "key"
480
+ must_match_regex:
481
+ - "(?i)(same.*result|repeat|retry)"
482
+
483
+ validation:
484
+ schema_check: true
485
+ keyword_match_threshold: 0.8
486
+
487
+ - id: tc011_concurrency_testing
488
+ description: "Skill identifies race condition testing scenarios"
489
+ category: concurrency
490
+ priority: high
491
+
492
+ input:
493
+ prompt: |
494
+ How do I test for race conditions in this inventory API?
495
+ ```javascript
496
+ app.post('/api/orders', async (req, res) => {
497
+ const product = await productService.findById(req.body.productId);
498
+ if (product.stock < req.body.quantity) {
499
+ return res.status(400).json({ error: 'Insufficient stock' });
500
+ }
501
+ await productService.decrementStock(req.body.productId, req.body.quantity);
502
+ const order = await orderService.create(req.body);
503
+ res.status(201).json(order);
504
+ });
505
+ ```
506
+
507
+ expected_output:
508
+ must_contain:
509
+ - "race"
510
+ - "concurrent"
511
+ - "parallel"
512
+ must_match_regex:
513
+ - "(?i)(lock|atomic|transaction)"
514
+
515
+ validation:
516
+ schema_check: true
517
+ keyword_match_threshold: 0.7
518
+
519
+ # -------------------------------------------------------------------------
520
+ # Integration Testing Patterns
521
+ # -------------------------------------------------------------------------
522
+
523
+ - id: tc012_integration_test_structure
524
+ description: "Skill recommends proper integration test structure"
525
+ category: integration
526
+ priority: high
527
+
528
+ input:
529
+ prompt: |
530
+ I need to write integration tests for my Express API that connects
531
+ to PostgreSQL and Redis. What patterns should I follow?
532
+ context:
533
+ framework: express
534
+ database: postgresql
535
+ cache: redis
536
+
537
+ expected_output:
538
+ must_contain:
539
+ - "database"
540
+ - "setup"
541
+ - "teardown"
542
+ must_match_regex:
543
+ - "(?i)(before|after|cleanup|seed)"
544
+ recommendation_count:
545
+ min: 1
546
+
547
+ validation:
548
+ schema_check: true
549
+ grading_rubric:
550
+ completeness: 0.3
551
+ accuracy: 0.4
552
+ actionability: 0.3
553
+
554
+ - id: tc013_supertest_pattern
555
+ description: "Skill demonstrates supertest usage for Node.js APIs"
556
+ category: integration
557
+ priority: medium
558
+
559
+ input:
560
+ prompt: |
561
+ Show me how to use supertest for testing this Express API endpoint:
562
+ ```javascript
563
+ app.post('/api/users', (req, res) => {
564
+ const user = userService.create(req.body);
565
+ res.status(201).json(user);
566
+ });
567
+ ```
568
+ context:
569
+ framework: express
570
+ testFramework: jest
571
+
572
+ expected_output:
573
+ must_contain:
574
+ - "supertest"
575
+ - "expect"
576
+ - "201"
577
+ must_match_regex:
578
+ - "(?i)(request|post|send)"
579
+
580
+ validation:
581
+ schema_check: true
582
+
583
+ # -------------------------------------------------------------------------
584
+ # Negative Tests (Should NOT find issues)
585
+ # -------------------------------------------------------------------------
586
+
587
+ - id: tc014_well_tested_api
588
+ description: "Skill acknowledges well-tested API without false positives"
589
+ category: negative
590
+ priority: high
591
+
592
+ input:
593
+ prompt: |
594
+ This API already has comprehensive tests. What additional tests might be needed?
595
+ - Unit tests for all service methods
596
+ - Integration tests for all endpoints
597
+ - Contract tests with all consumers
598
+ - Load tests for high-traffic endpoints
599
+ - Security tests for auth flows
600
+ context:
601
+ testCoverage: "comprehensive"
602
+
603
+ expected_output:
604
+ must_contain:
605
+ - "comprehensive"
606
+ must_not_contain:
607
+ - "critical gap"
608
+ - "missing"
609
+ - "no tests"
610
+
611
+ validation:
612
+ schema_check: true
613
+ finding_count:
614
+ max: 3 # Allow minor suggestions only
615
+
616
+ # -------------------------------------------------------------------------
617
+ # Edge Cases
618
+ # -------------------------------------------------------------------------
619
+
620
+ - id: tc015_empty_api_spec
621
+ description: "Skill handles empty or minimal API gracefully"
622
+ category: edge_cases
623
+ priority: medium
624
+
625
+ input:
626
+ prompt: "Analyze this API for testing patterns:"
627
+ context:
628
+ apiSpec: null
629
+
630
+ expected_output:
631
+ must_contain:
632
+ - "provide"
633
+ - "API"
634
+ must_not_contain:
635
+ - "exception"
636
+ - "crash"
637
+
638
+ validation:
639
+ schema_check: true
640
+ allow_partial: true
641
+
642
+ - id: tc016_large_api_spec
643
+ description: "Skill handles large API specifications"
644
+ category: edge_cases
645
+ priority: medium
646
+ skip: false
647
+
648
+ input:
649
+ file_path: fixtures/openapi-sample.yaml
650
+ context:
651
+ apiType: rest
652
+
653
+ expected_output:
654
+ must_contain:
655
+ - "endpoint"
656
+ - "test"
657
+
658
+ validation:
659
+ schema_check: true
660
+
661
+ timeout_ms: 60000
662
+
663
+ # =============================================================================
664
+ # Success Criteria
665
+ # =============================================================================
666
+
667
+ success_criteria:
668
+ # Minimum percentage of tests that must pass
669
+ pass_rate: 0.90
670
+
671
+ # Critical tests must have 100% pass rate
672
+ critical_pass_rate: 1.0
673
+
674
+ # Average reasoning quality across all tests
675
+ avg_reasoning_quality: 0.7
676
+
677
+ # Maximum time for entire suite (5 minutes)
678
+ max_execution_time_ms: 300000
679
+
680
+ # Maximum variance between different models (15%)
681
+ cross_model_variance: 0.15
682
+
683
+ # =============================================================================
684
+ # Metadata
685
+ # =============================================================================
686
+
687
+ metadata:
688
+ author: "@agentic-qe"
689
+ created: "2026-02-02"
690
+ last_updated: "2026-02-02"
691
+ coverage_target: >
692
+ Core API testing patterns including REST, GraphQL, contract testing,
693
+ authentication, error handling, pagination, idempotency, and concurrency.
694
+ Tests 16 scenarios across 8 categories.
695
+ adr_reference: "ADR-056"
696
+ trust_tier: 3