agentic-qe 3.6.1 → 3.6.3

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 (517) hide show
  1. package/.claude/agents/v3/qe-accessibility-auditor.md +14 -9
  2. package/.claude/agents/v3/qe-bdd-generator.md +14 -9
  3. package/.claude/agents/v3/qe-chaos-engineer.md +15 -10
  4. package/.claude/agents/v3/qe-code-complexity.md +14 -9
  5. package/.claude/agents/v3/qe-code-intelligence.md +14 -9
  6. package/.claude/agents/v3/qe-contract-validator.md +14 -9
  7. package/.claude/agents/v3/qe-coverage-specialist.md +14 -9
  8. package/.claude/agents/v3/qe-defect-predictor.md +14 -9
  9. package/.claude/agents/v3/qe-dependency-mapper.md +14 -9
  10. package/.claude/agents/v3/qe-deployment-advisor.md +14 -9
  11. package/.claude/agents/v3/qe-flaky-hunter.md +14 -9
  12. package/.claude/agents/v3/qe-fleet-commander.md +14 -9
  13. package/.claude/agents/v3/qe-gap-detector.md +14 -9
  14. package/.claude/agents/v3/qe-graphql-tester.md +14 -9
  15. package/.claude/agents/v3/qe-impact-analyzer.md +14 -9
  16. package/.claude/agents/v3/qe-kg-builder.md +14 -9
  17. package/.claude/agents/v3/qe-load-tester.md +14 -9
  18. package/.claude/agents/v3/qe-message-broker-tester.md +15 -10
  19. package/.claude/agents/v3/qe-metrics-optimizer.md +14 -9
  20. package/.claude/agents/v3/qe-middleware-validator.md +15 -10
  21. package/.claude/agents/v3/qe-mutation-tester.md +14 -9
  22. package/.claude/agents/v3/qe-odata-contract-tester.md +17 -12
  23. package/.claude/agents/v3/qe-performance-tester.md +14 -9
  24. package/.claude/agents/v3/qe-product-factors-assessor.md +19 -0
  25. package/.claude/agents/v3/qe-property-tester.md +14 -9
  26. package/.claude/agents/v3/qe-quality-criteria-recommender.md +2 -2
  27. package/.claude/agents/v3/qe-qx-partner.md +101 -14
  28. package/.claude/agents/v3/qe-regression-analyzer.md +14 -9
  29. package/.claude/agents/v3/qe-requirements-validator.md +14 -9
  30. package/.claude/agents/v3/qe-responsive-tester.md +14 -9
  31. package/.claude/agents/v3/qe-retry-handler.md +14 -9
  32. package/.claude/agents/v3/qe-risk-assessor.md +14 -9
  33. package/.claude/agents/v3/qe-root-cause-analyzer.md +14 -9
  34. package/.claude/agents/v3/qe-sap-idoc-tester.md +16 -11
  35. package/.claude/agents/v3/qe-sap-rfc-tester.md +15 -10
  36. package/.claude/agents/v3/qe-security-auditor.md +18 -9
  37. package/.claude/agents/v3/qe-security-scanner.md +15 -10
  38. package/.claude/agents/v3/qe-soap-tester.md +15 -10
  39. package/.claude/agents/v3/qe-sod-analyzer.md +17 -12
  40. package/.claude/agents/v3/qe-test-architect.md +14 -9
  41. package/.claude/agents/v3/qe-transfer-specialist.md +14 -9
  42. package/.claude/agents/v3/subagents/qe-code-reviewer.md +14 -9
  43. package/.claude/agents/v3/subagents/qe-integration-reviewer.md +14 -9
  44. package/.claude/agents/v3/subagents/qe-performance-reviewer.md +14 -9
  45. package/.claude/agents/v3/subagents/qe-security-reviewer.md +14 -9
  46. package/.claude/agents/v3/subagents/qe-tdd-green.md +14 -9
  47. package/.claude/agents/v3/subagents/qe-tdd-red.md +14 -9
  48. package/.claude/agents/v3/subagents/qe-tdd-refactor.md +14 -9
  49. package/.claude/agents/v3/templates/qx-report-template.html +26 -22
  50. package/.claude/skills/.validation/README.md +2 -2
  51. package/.claude/skills/.validation/skill-validation-mcp-integration.md +1 -1
  52. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  53. package/.claude/skills/TRUST-TIERS.md +55 -55
  54. package/.claude/skills/a11y-ally/SKILL.md +1 -1
  55. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  56. package/.claude/skills/a11y-ally/scripts/validate-config.json +42 -0
  57. package/.claude/skills/accessibility-testing/SKILL.md +1 -1
  58. package/.claude/skills/accessibility-testing/scripts/validate-config.json +56 -0
  59. package/.claude/skills/api-testing-patterns/SKILL.md +1 -1
  60. package/.claude/skills/api-testing-patterns/scripts/validate-config.json +61 -0
  61. package/.claude/skills/brutal-honesty-review/SKILL.md +1 -1
  62. package/.claude/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  63. package/.claude/skills/bug-reporting-excellence/SKILL.md +1 -1
  64. package/.claude/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
  65. package/.claude/skills/chaos-engineering-resilience/SKILL.md +1 -1
  66. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  67. package/.claude/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
  68. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +1 -1
  69. package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  70. package/.claude/skills/code-review-quality/SKILL.md +1 -1
  71. package/.claude/skills/code-review-quality/scripts/validate-config.json +34 -0
  72. package/.claude/skills/compatibility-testing/SKILL.md +1 -1
  73. package/.claude/skills/compatibility-testing/scripts/validate-config.json +44 -0
  74. package/.claude/skills/compliance-testing/SKILL.md +1 -1
  75. package/.claude/skills/compliance-testing/scripts/validate-config.json +39 -0
  76. package/.claude/skills/contract-testing/SKILL.md +1 -1
  77. package/.claude/skills/contract-testing/scripts/validate-config.json +59 -0
  78. package/.claude/skills/database-testing/SKILL.md +1 -1
  79. package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
  80. package/.claude/skills/database-testing/scripts/validate-config.json +48 -0
  81. package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
  82. package/.claude/skills/localization-testing/SKILL.md +1 -1
  83. package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
  84. package/.claude/skills/localization-testing/scripts/validate-config.json +42 -0
  85. package/.claude/skills/middleware-testing-patterns/SKILL.md +1 -1
  86. package/.claude/skills/mobile-testing/SKILL.md +1 -1
  87. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  88. package/.claude/skills/mobile-testing/scripts/validate-config.json +43 -0
  89. package/.claude/skills/mutation-testing/SKILL.md +1 -1
  90. package/.claude/skills/mutation-testing/scripts/validate-config.json +44 -0
  91. package/.claude/skills/n8n-expression-testing/SKILL.md +1 -1
  92. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  93. package/.claude/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  94. package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +1 -1
  95. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  96. package/.claude/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  97. package/.claude/skills/n8n-security-testing/SKILL.md +1 -1
  98. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  99. package/.claude/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  100. package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +1 -1
  101. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  102. package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  103. package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +1 -1
  104. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  105. package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  106. package/.claude/skills/observability-testing-patterns/SKILL.md +1 -1
  107. package/.claude/skills/pentest-validation/SKILL.md +1 -1
  108. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  109. package/.claude/skills/pentest-validation/scripts/validate-config.json +12 -0
  110. package/.claude/skills/performance-analysis/SKILL.md +1 -1
  111. package/.claude/skills/performance-analysis/scripts/validate-config.json +36 -0
  112. package/.claude/skills/performance-testing/SKILL.md +1 -1
  113. package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
  114. package/.claude/skills/performance-testing/scripts/validate-config.json +55 -0
  115. package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -1
  116. package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -1
  117. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -1
  118. package/.claude/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  119. package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -1
  120. package/.claude/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  121. package/.claude/skills/qe-chaos-resilience/SKILL.md +1 -1
  122. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  123. package/.claude/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
  124. package/.claude/skills/qe-code-intelligence/SKILL.md +1 -1
  125. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  126. package/.claude/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
  127. package/.claude/skills/qe-contract-testing/SKILL.md +1 -1
  128. package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
  129. package/.claude/skills/qe-contract-testing/scripts/validate-config.json +42 -0
  130. package/.claude/skills/qe-coverage-analysis/SKILL.md +1 -1
  131. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  132. package/.claude/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
  133. package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -1
  134. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  135. package/.claude/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
  136. package/.claude/skills/qe-iterative-loop/SKILL.md +1 -1
  137. package/.claude/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
  138. package/.claude/skills/qe-learning-optimization/SKILL.md +1 -1
  139. package/.claude/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
  140. package/.claude/skills/qe-quality-assessment/SKILL.md +1 -1
  141. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  142. package/.claude/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
  143. package/.claude/skills/qe-requirements-validation/SKILL.md +1 -1
  144. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  145. package/.claude/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
  146. package/.claude/skills/qe-security-compliance/SKILL.md +1 -1
  147. package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
  148. package/.claude/skills/qe-security-compliance/scripts/validate-config.json +41 -0
  149. package/.claude/skills/qe-test-execution/SKILL.md +1 -1
  150. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  151. package/.claude/skills/qe-test-execution/scripts/validate-config.json +37 -0
  152. package/.claude/skills/qe-test-generation/SKILL.md +1 -1
  153. package/.claude/skills/qe-test-generation/scripts/validate-config.json +25 -0
  154. package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -1
  155. package/.claude/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
  156. package/.claude/skills/quality-metrics/SKILL.md +1 -1
  157. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  158. package/.claude/skills/quality-metrics/scripts/validate-config.json +43 -0
  159. package/.claude/skills/refactoring-patterns/SKILL.md +1 -1
  160. package/.claude/skills/refactoring-patterns/scripts/validate-config.json +35 -0
  161. package/.claude/skills/regression-testing/SKILL.md +1 -1
  162. package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
  163. package/.claude/skills/regression-testing/scripts/validate-config.json +50 -0
  164. package/.claude/skills/risk-based-testing/SKILL.md +1 -1
  165. package/.claude/skills/risk-based-testing/scripts/validate-config.json +25 -0
  166. package/.claude/skills/security-testing/SKILL.md +1 -1
  167. package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
  168. package/.claude/skills/security-testing/scripts/validate-config.json +45 -0
  169. package/.claude/skills/security-visual-testing/SKILL.md +1 -1
  170. package/.claude/skills/security-visual-testing/scripts/validate-config.json +45 -0
  171. package/.claude/skills/sherlock-review/SKILL.md +1 -1
  172. package/.claude/skills/sherlock-review/scripts/validate-config.json +35 -0
  173. package/.claude/skills/shift-left-testing/SKILL.md +1 -1
  174. package/.claude/skills/shift-left-testing/scripts/validate-config.json +25 -0
  175. package/.claude/skills/shift-right-testing/SKILL.md +1 -1
  176. package/.claude/skills/shift-right-testing/scripts/validate-config.json +25 -0
  177. package/.claude/skills/skill-builder/SKILL.md +2 -2
  178. package/.claude/skills/skills-manifest.json +1 -1
  179. package/.claude/skills/tdd-london-chicago/SKILL.md +1 -1
  180. package/.claude/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
  181. package/.claude/skills/test-automation-strategy/SKILL.md +1 -1
  182. package/.claude/skills/test-automation-strategy/scripts/validate-config.json +39 -0
  183. package/.claude/skills/test-data-management/SKILL.md +1 -1
  184. package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
  185. package/.claude/skills/test-data-management/scripts/validate-config.json +41 -0
  186. package/.claude/skills/test-design-techniques/SKILL.md +1 -1
  187. package/.claude/skills/test-design-techniques/scripts/validate-config.json +36 -0
  188. package/.claude/skills/test-reporting-analytics/SKILL.md +1 -1
  189. package/.claude/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
  190. package/.claude/skills/testability-scoring/SKILL.md +1 -1
  191. package/.claude/skills/testability-scoring/scripts/validate-config.json +42 -0
  192. package/.claude/skills/trust-tier-manifest.json +106 -106
  193. package/.claude/skills/verification-quality/scripts/validate-config.json +36 -0
  194. package/.claude/skills/visual-testing-advanced/SKILL.md +1 -1
  195. package/.claude/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
  196. package/.claude/skills/wms-testing-patterns/SKILL.md +1 -1
  197. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  198. package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -0
  199. package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  200. package/README.md +20 -20
  201. package/package.json +6 -6
  202. package/scripts/cloud-db-config.json +1 -1
  203. package/scripts/migrate-validators.cjs +171 -0
  204. package/scripts/postinstall.cjs +57 -0
  205. package/scripts/preinstall.cjs +28 -8
  206. package/scripts/test-schema-validation.js +2 -2
  207. package/scripts/update-skill-manifest.ts +3 -3
  208. package/scripts/validate-skill.cjs +384 -0
  209. package/scripts/validate-tier3.cjs +61 -0
  210. package/scripts/validator-lib.cjs +274 -0
  211. package/v3/CHANGELOG.md +32 -0
  212. package/v3/assets/agents/v3/qe-product-factors-assessor.md +19 -0
  213. package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +2 -2
  214. package/v3/assets/agents/v3/qe-qx-partner.md +27 -0
  215. package/v3/assets/skills/.validation/README.md +1 -1
  216. package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +1 -1
  217. package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  218. package/v3/assets/skills/accessibility-testing/SKILL.md +1 -1
  219. package/v3/assets/skills/accessibility-testing/scripts/validate-config.json +56 -0
  220. package/v3/assets/skills/api-testing-patterns/SKILL.md +1 -1
  221. package/v3/assets/skills/api-testing-patterns/scripts/validate-config.json +61 -0
  222. package/v3/assets/skills/bug-reporting-excellence/SKILL.md +1 -1
  223. package/v3/assets/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
  224. package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +1 -1
  225. package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  226. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
  227. package/v3/assets/skills/code-review-quality/SKILL.md +1 -1
  228. package/v3/assets/skills/code-review-quality/scripts/validate-config.json +34 -0
  229. package/v3/assets/skills/compatibility-testing/SKILL.md +1 -1
  230. package/v3/assets/skills/compatibility-testing/scripts/validate-config.json +44 -0
  231. package/v3/assets/skills/compliance-testing/SKILL.md +1 -1
  232. package/v3/assets/skills/compliance-testing/scripts/validate-config.json +39 -0
  233. package/v3/assets/skills/contract-testing/SKILL.md +1 -1
  234. package/v3/assets/skills/contract-testing/scripts/validate-config.json +59 -0
  235. package/v3/assets/skills/database-testing/SKILL.md +1 -1
  236. package/v3/assets/skills/database-testing/evals/database-testing.yaml +1 -1
  237. package/v3/assets/skills/database-testing/scripts/validate-config.json +48 -0
  238. package/v3/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
  239. package/v3/assets/skills/localization-testing/SKILL.md +1 -1
  240. package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
  241. package/v3/assets/skills/localization-testing/scripts/validate-config.json +42 -0
  242. package/v3/assets/skills/middleware-testing-patterns/SKILL.md +1 -1
  243. package/v3/assets/skills/mobile-testing/SKILL.md +1 -1
  244. package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  245. package/v3/assets/skills/mobile-testing/scripts/validate-config.json +43 -0
  246. package/v3/assets/skills/mutation-testing/SKILL.md +1 -1
  247. package/v3/assets/skills/mutation-testing/scripts/validate-config.json +44 -0
  248. package/v3/assets/skills/observability-testing-patterns/SKILL.md +1 -1
  249. package/v3/assets/skills/pentest-validation/SKILL.md +1 -1
  250. package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  251. package/v3/assets/skills/performance-testing/SKILL.md +1 -1
  252. package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
  253. package/v3/assets/skills/performance-testing/scripts/validate-config.json +55 -0
  254. package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -1
  255. package/v3/assets/skills/qcsd-development-swarm/SKILL.md +1 -1
  256. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -1
  257. package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -1
  258. package/v3/assets/skills/qe-chaos-resilience/SKILL.md +1 -1
  259. package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  260. package/v3/assets/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
  261. package/v3/assets/skills/qe-code-intelligence/SKILL.md +1 -1
  262. package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  263. package/v3/assets/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
  264. package/v3/assets/skills/qe-contract-testing/SKILL.md +1 -1
  265. package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
  266. package/v3/assets/skills/qe-contract-testing/scripts/validate-config.json +42 -0
  267. package/v3/assets/skills/qe-coverage-analysis/SKILL.md +1 -1
  268. package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  269. package/v3/assets/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
  270. package/v3/assets/skills/qe-defect-intelligence/SKILL.md +1 -1
  271. package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  272. package/v3/assets/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
  273. package/v3/assets/skills/qe-iterative-loop/SKILL.md +1 -1
  274. package/v3/assets/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
  275. package/v3/assets/skills/qe-learning-optimization/SKILL.md +1 -1
  276. package/v3/assets/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
  277. package/v3/assets/skills/qe-quality-assessment/SKILL.md +1 -1
  278. package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  279. package/v3/assets/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
  280. package/v3/assets/skills/qe-requirements-validation/SKILL.md +1 -1
  281. package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  282. package/v3/assets/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
  283. package/v3/assets/skills/qe-security-compliance/SKILL.md +1 -1
  284. package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
  285. package/v3/assets/skills/qe-security-compliance/scripts/validate-config.json +41 -0
  286. package/v3/assets/skills/qe-test-execution/SKILL.md +1 -1
  287. package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  288. package/v3/assets/skills/qe-test-execution/scripts/validate-config.json +37 -0
  289. package/v3/assets/skills/qe-test-generation/SKILL.md +1 -1
  290. package/v3/assets/skills/qe-test-generation/scripts/validate-config.json +25 -0
  291. package/v3/assets/skills/qe-visual-accessibility/SKILL.md +1 -1
  292. package/v3/assets/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
  293. package/v3/assets/skills/quality-metrics/SKILL.md +1 -1
  294. package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  295. package/v3/assets/skills/quality-metrics/scripts/validate-config.json +43 -0
  296. package/v3/assets/skills/refactoring-patterns/SKILL.md +1 -1
  297. package/v3/assets/skills/refactoring-patterns/scripts/validate-config.json +35 -0
  298. package/v3/assets/skills/regression-testing/SKILL.md +1 -1
  299. package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
  300. package/v3/assets/skills/regression-testing/scripts/validate-config.json +50 -0
  301. package/v3/assets/skills/risk-based-testing/SKILL.md +1 -1
  302. package/v3/assets/skills/risk-based-testing/scripts/validate-config.json +25 -0
  303. package/v3/assets/skills/security-testing/SKILL.md +1 -1
  304. package/v3/assets/skills/security-testing/evals/security-testing.yaml +1 -1
  305. package/v3/assets/skills/security-testing/scripts/validate-config.json +45 -0
  306. package/v3/assets/skills/security-visual-testing/SKILL.md +1 -1
  307. package/v3/assets/skills/shift-left-testing/SKILL.md +1 -1
  308. package/v3/assets/skills/shift-left-testing/scripts/validate-config.json +25 -0
  309. package/v3/assets/skills/shift-right-testing/SKILL.md +1 -1
  310. package/v3/assets/skills/shift-right-testing/scripts/validate-config.json +25 -0
  311. package/v3/assets/skills/tdd-london-chicago/SKILL.md +1 -1
  312. package/v3/assets/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
  313. package/v3/assets/skills/test-automation-strategy/SKILL.md +1 -1
  314. package/v3/assets/skills/test-automation-strategy/scripts/validate-config.json +39 -0
  315. package/v3/assets/skills/test-data-management/SKILL.md +1 -1
  316. package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
  317. package/v3/assets/skills/test-data-management/scripts/validate-config.json +41 -0
  318. package/v3/assets/skills/test-design-techniques/SKILL.md +1 -1
  319. package/v3/assets/skills/test-design-techniques/scripts/validate-config.json +36 -0
  320. package/v3/assets/skills/test-reporting-analytics/SKILL.md +1 -1
  321. package/v3/assets/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
  322. package/v3/assets/skills/verification-quality/SKILL.md +0 -6
  323. package/v3/assets/skills/verification-quality/scripts/validate-config.json +36 -0
  324. package/v3/assets/skills/visual-testing-advanced/SKILL.md +1 -1
  325. package/v3/assets/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
  326. package/v3/assets/skills/wms-testing-patterns/SKILL.md +1 -1
  327. package/v3/dist/adapters/claude-flow/model-router-bridge.js +3 -3
  328. package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
  329. package/v3/dist/adapters/claude-flow/pretrain-bridge.js +4 -4
  330. package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
  331. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +4 -4
  332. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
  333. package/v3/dist/cli/bundle.js +172 -159
  334. package/v3/dist/cli/commands/claude-flow-setup.js +3 -3
  335. package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -1
  336. package/v3/dist/cli/commands/completions.d.ts.map +1 -1
  337. package/v3/dist/cli/commands/completions.js +2 -1
  338. package/v3/dist/cli/commands/completions.js.map +1 -1
  339. package/v3/dist/cli/commands/hooks.js +8 -8
  340. package/v3/dist/cli/commands/hooks.js.map +1 -1
  341. package/v3/dist/cli/completions/index.d.ts.map +1 -1
  342. package/v3/dist/cli/completions/index.js +4 -3
  343. package/v3/dist/cli/completions/index.js.map +1 -1
  344. package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js +5 -5
  345. package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js.map +1 -1
  346. package/v3/dist/domains/requirements-validation/services/quality-criteria/quality-criteria-service.js +1 -1
  347. package/v3/dist/domains/requirements-validation/services/quality-criteria/quality-criteria-service.js.map +1 -1
  348. package/v3/dist/init/agents-installer.d.ts +5 -1
  349. package/v3/dist/init/agents-installer.d.ts.map +1 -1
  350. package/v3/dist/init/agents-installer.js +13 -5
  351. package/v3/dist/init/agents-installer.js.map +1 -1
  352. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
  353. package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -12
  354. package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
  355. package/v3/dist/init/enhancements/detector.js +2 -2
  356. package/v3/dist/init/enhancements/detector.js.map +1 -1
  357. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  358. package/v3/dist/init/init-wizard.js +17 -33
  359. package/v3/dist/init/init-wizard.js.map +1 -1
  360. package/v3/dist/init/phases/07-hooks.js +9 -9
  361. package/v3/dist/init/phases/07-hooks.js.map +1 -1
  362. package/v3/dist/init/phases/10-workers.d.ts.map +1 -1
  363. package/v3/dist/init/phases/10-workers.js +74 -85
  364. package/v3/dist/init/phases/10-workers.js.map +1 -1
  365. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  366. package/v3/dist/init/phases/12-verification.js +13 -1
  367. package/v3/dist/init/phases/12-verification.js.map +1 -1
  368. package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
  369. package/v3/dist/kernel/hybrid-backend.js +4 -1
  370. package/v3/dist/kernel/hybrid-backend.js.map +1 -1
  371. package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
  372. package/v3/dist/kernel/memory-backend.js +3 -0
  373. package/v3/dist/kernel/memory-backend.js.map +1 -1
  374. package/v3/dist/mcp/bundle.js +1340 -19
  375. package/v3/dist/mcp/tools/index.d.ts +2 -1
  376. package/v3/dist/mcp/tools/index.d.ts.map +1 -1
  377. package/v3/dist/mcp/tools/index.js +5 -1
  378. package/v3/dist/mcp/tools/index.js.map +1 -1
  379. package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts +33 -0
  380. package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts.map +1 -0
  381. package/v3/dist/mcp/tools/qx-analysis/analyze.js +679 -0
  382. package/v3/dist/mcp/tools/qx-analysis/analyze.js.map +1 -0
  383. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts +38 -0
  384. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts.map +1 -0
  385. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js +458 -0
  386. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js.map +1 -0
  387. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts +16 -0
  388. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts.map +1 -0
  389. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js +175 -0
  390. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js.map +1 -0
  391. package/v3/dist/mcp/tools/qx-analysis/index.d.ts +27 -0
  392. package/v3/dist/mcp/tools/qx-analysis/index.d.ts.map +1 -0
  393. package/v3/dist/mcp/tools/qx-analysis/index.js +34 -0
  394. package/v3/dist/mcp/tools/qx-analysis/index.js.map +1 -0
  395. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts +22 -0
  396. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts.map +1 -0
  397. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js +194 -0
  398. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js.map +1 -0
  399. package/v3/dist/mcp/tools/qx-analysis/types.d.ts +278 -0
  400. package/v3/dist/mcp/tools/qx-analysis/types.d.ts.map +1 -0
  401. package/v3/dist/mcp/tools/qx-analysis/types.js +46 -0
  402. package/v3/dist/mcp/tools/qx-analysis/types.js.map +1 -0
  403. package/v3/dist/mcp/tools/registry.d.ts +1 -0
  404. package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
  405. package/v3/dist/mcp/tools/registry.js +5 -0
  406. package/v3/dist/mcp/tools/registry.js.map +1 -1
  407. package/v3/dist/sync/cloud/tunnel-manager.d.ts.map +1 -1
  408. package/v3/dist/sync/cloud/tunnel-manager.js +11 -0
  409. package/v3/dist/sync/cloud/tunnel-manager.js.map +1 -1
  410. package/v3/package.json +5 -5
  411. package/.claude/skills/.validation/templates/validate.template.sh +0 -1060
  412. package/.claude/skills/.validation/templates/validator-lib.sh +0 -1031
  413. package/.claude/skills/a11y-ally/scripts/validate.sh +0 -690
  414. package/.claude/skills/accessibility-testing/scripts/validate.sh +0 -943
  415. package/.claude/skills/api-testing-patterns/scripts/validate.sh +0 -931
  416. package/.claude/skills/brutal-honesty-review/scripts/validate.sh +0 -130
  417. package/.claude/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
  418. package/.claude/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
  419. package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate.sh +0 -310
  420. package/.claude/skills/code-review-quality/scripts/validate.sh +0 -113
  421. package/.claude/skills/compatibility-testing/scripts/validate.sh +0 -605
  422. package/.claude/skills/compliance-testing/scripts/validate.sh +0 -888
  423. package/.claude/skills/contract-testing/scripts/validate.sh +0 -1033
  424. package/.claude/skills/database-testing/scripts/validate.sh +0 -1099
  425. package/.claude/skills/localization-testing/scripts/validate.sh +0 -131
  426. package/.claude/skills/mobile-testing/scripts/validate.sh +0 -127
  427. package/.claude/skills/mutation-testing/scripts/validate.sh +0 -992
  428. package/.claude/skills/n8n-expression-testing/scripts/validate.sh +0 -162
  429. package/.claude/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
  430. package/.claude/skills/n8n-security-testing/scripts/validate.sh +0 -120
  431. package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
  432. package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
  433. package/.claude/skills/pentest-validation/scripts/validate.sh +0 -402
  434. package/.claude/skills/performance-analysis/scripts/validate.sh +0 -63
  435. package/.claude/skills/performance-testing/scripts/validate.sh +0 -1090
  436. package/.claude/skills/qcsd-ideation-swarm/scripts/validate.sh +0 -56
  437. package/.claude/skills/qcsd-refinement-swarm/scripts/validate.sh +0 -56
  438. package/.claude/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
  439. package/.claude/skills/qe-code-intelligence/scripts/validate.sh +0 -408
  440. package/.claude/skills/qe-contract-testing/scripts/validate.sh +0 -421
  441. package/.claude/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
  442. package/.claude/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
  443. package/.claude/skills/qe-iterative-loop/scripts/validate.sh +0 -474
  444. package/.claude/skills/qe-learning-optimization/scripts/validate.sh +0 -56
  445. package/.claude/skills/qe-quality-assessment/scripts/validate.sh +0 -352
  446. package/.claude/skills/qe-requirements-validation/scripts/validate.sh +0 -275
  447. package/.claude/skills/qe-security-compliance/scripts/validate.sh +0 -305
  448. package/.claude/skills/qe-test-execution/scripts/validate.sh +0 -323
  449. package/.claude/skills/qe-test-generation/scripts/validate.sh +0 -56
  450. package/.claude/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
  451. package/.claude/skills/quality-metrics/scripts/validate.sh +0 -434
  452. package/.claude/skills/refactoring-patterns/scripts/validate.sh +0 -241
  453. package/.claude/skills/regression-testing/scripts/validate.sh +0 -130
  454. package/.claude/skills/risk-based-testing/scripts/validate.sh +0 -56
  455. package/.claude/skills/security-testing/scripts/validate.sh +0 -967
  456. package/.claude/skills/security-visual-testing/scripts/validate.sh +0 -748
  457. package/.claude/skills/sherlock-review/scripts/validate.sh +0 -115
  458. package/.claude/skills/shift-left-testing/scripts/validate.sh +0 -56
  459. package/.claude/skills/shift-right-testing/scripts/validate.sh +0 -56
  460. package/.claude/skills/tdd-london-chicago/scripts/validate.sh +0 -214
  461. package/.claude/skills/test-automation-strategy/scripts/validate.sh +0 -195
  462. package/.claude/skills/test-data-management/scripts/validate.sh +0 -137
  463. package/.claude/skills/test-design-techniques/scripts/validate.sh +0 -91
  464. package/.claude/skills/test-reporting-analytics/scripts/validate.sh +0 -77
  465. package/.claude/skills/testability-scoring/scripts/validate.sh +0 -891
  466. package/.claude/skills/verification-quality/scripts/validate.sh +0 -77
  467. package/.claude/skills/visual-testing-advanced/scripts/validate.sh +0 -77
  468. package/v3/assets/skills/.validation/templates/validate.template.sh +0 -1060
  469. package/v3/assets/skills/.validation/templates/validator-lib.sh +0 -1031
  470. package/v3/assets/skills/accessibility-testing/scripts/validate.sh +0 -943
  471. package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +0 -931
  472. package/v3/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
  473. package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
  474. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
  475. package/v3/assets/skills/code-review-quality/scripts/validate.sh +0 -113
  476. package/v3/assets/skills/compatibility-testing/scripts/validate.sh +0 -605
  477. package/v3/assets/skills/compliance-testing/scripts/validate.sh +0 -888
  478. package/v3/assets/skills/contract-testing/scripts/validate.sh +0 -1033
  479. package/v3/assets/skills/database-testing/scripts/validate.sh +0 -1099
  480. package/v3/assets/skills/localization-testing/scripts/validate.sh +0 -131
  481. package/v3/assets/skills/mobile-testing/scripts/validate.sh +0 -127
  482. package/v3/assets/skills/mutation-testing/scripts/validate.sh +0 -992
  483. package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +0 -162
  484. package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
  485. package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +0 -120
  486. package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
  487. package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
  488. package/v3/assets/skills/pentest-validation/scripts/validate.sh +0 -402
  489. package/v3/assets/skills/performance-testing/scripts/validate.sh +0 -1090
  490. package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
  491. package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +0 -408
  492. package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +0 -421
  493. package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
  494. package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
  495. package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +0 -474
  496. package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +0 -56
  497. package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +0 -352
  498. package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +0 -275
  499. package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +0 -305
  500. package/v3/assets/skills/qe-test-execution/scripts/validate.sh +0 -323
  501. package/v3/assets/skills/qe-test-generation/scripts/validate.sh +0 -56
  502. package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
  503. package/v3/assets/skills/quality-metrics/scripts/validate.sh +0 -434
  504. package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +0 -241
  505. package/v3/assets/skills/regression-testing/scripts/validate.sh +0 -130
  506. package/v3/assets/skills/risk-based-testing/scripts/validate.sh +0 -56
  507. package/v3/assets/skills/security-testing/scripts/validate.sh +0 -967
  508. package/v3/assets/skills/security-visual-testing/scripts/validate.sh +0 -748
  509. package/v3/assets/skills/shift-left-testing/scripts/validate.sh +0 -56
  510. package/v3/assets/skills/shift-right-testing/scripts/validate.sh +0 -56
  511. package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +0 -214
  512. package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +0 -195
  513. package/v3/assets/skills/test-data-management/scripts/validate.sh +0 -137
  514. package/v3/assets/skills/test-design-techniques/scripts/validate.sh +0 -91
  515. package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +0 -77
  516. package/v3/assets/skills/verification-quality/scripts/validate.sh +0 -77
  517. package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +0 -77
@@ -1,690 +0,0 @@
1
- #!/bin/bash
2
- # =============================================================================
3
- # AQE Skill Validator: a11y-ally v1.0.0
4
- # Validates accessibility audit skill output per ADR-056
5
- # =============================================================================
6
- #
7
- # This validator checks:
8
- # 1. JSON schema compliance (WCAG 2.2, ARIA, accessibility standards)
9
- # 2. Required tools availability (playwright, axe-core, chromium)
10
- # 3. Accessibility findings structure and completeness
11
- # 4. Video caption and audio description generation
12
- # 5. Accessibility standards compliance
13
- #
14
- # Usage: ./validate.sh <output-file> [options]
15
- #
16
- # Options:
17
- # --self-test Run validator self-test mode
18
- # --verbose Enable verbose output
19
- # --json Output results as JSON only
20
- # --list-tools Show available validation tools
21
- # --help Show this help message
22
- #
23
- # Exit Codes:
24
- # 0 - Validation passed
25
- # 1 - Validation failed
26
- # 2 - Validation skipped (missing required tools)
27
- #
28
- # =============================================================================
29
-
30
- set -euo pipefail
31
-
32
- # Get script directory
33
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
34
-
35
- # Navigate to skill directory and project root
36
- SKILL_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
37
- PROJECT_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
38
-
39
- # Source validator library
40
- VALIDATOR_LIB=""
41
- for lib_path in \
42
- "$PROJECT_ROOT/.claude/skills/.validation/templates/validator-lib.sh" \
43
- "$SKILL_DIR/scripts/validator-lib.sh" \
44
- "$SCRIPT_DIR/validator-lib.sh"; do
45
- if [[ -f "$lib_path" ]]; then
46
- VALIDATOR_LIB="$lib_path"
47
- break
48
- fi
49
- done
50
-
51
- if [[ -n "$VALIDATOR_LIB" ]]; then
52
- # shellcheck source=/dev/null
53
- source "$VALIDATOR_LIB"
54
- else
55
- echo "ERROR: Validator library not found"
56
- exit 1
57
- fi
58
-
59
- # =============================================================================
60
- # SKILL-SPECIFIC CONFIGURATION
61
- # =============================================================================
62
-
63
- SKILL_NAME="a11y-ally"
64
- SKILL_VERSION="1.0.0"
65
-
66
- REQUIRED_TOOLS=("jq")
67
- OPTIONAL_TOOLS=("npm" "playwright" "axe-core" "python3")
68
-
69
- SCHEMA_PATH="$SKILL_DIR/schemas/output.json"
70
-
71
- REQUIRED_FIELDS=("skillName" "status" "output" "output.summary" "output.findings")
72
- REQUIRED_NON_EMPTY_FIELDS=("output.summary")
73
-
74
- MUST_CONTAIN_TERMS=("WCAG" "accessibility" "a11y")
75
- MUST_NOT_CONTAIN_TERMS=("TODO" "placeholder" "FIXME")
76
-
77
- ENUM_VALIDATIONS=(
78
- ".status:success,partial,failed,skipped"
79
- )
80
-
81
- MIN_ARRAY_LENGTHS=()
82
-
83
- # =============================================================================
84
- # Argument Parsing
85
- # =============================================================================
86
-
87
- OUTPUT_FILE=""
88
- SELF_TEST=false
89
- VERBOSE=false
90
- JSON_ONLY=false
91
- LIST_TOOLS=false
92
-
93
- while [[ $# -gt 0 ]]; do
94
- case "$1" in
95
- --self-test) SELF_TEST=true; shift ;;
96
- --verbose|-v) VERBOSE=true; export AQE_DEBUG=1; shift ;;
97
- --json) JSON_ONLY=true; shift ;;
98
- --list-tools) LIST_TOOLS=true; shift ;;
99
- -h|--help)
100
- cat << 'HELP_EOF'
101
- AQE a11y-ally Skill Validator v1.0.0
102
-
103
- Usage: ./validate.sh <output-file> [options]
104
- ./validate.sh --self-test [--verbose]
105
- ./validate.sh --list-tools
106
-
107
- Arguments:
108
- <output-file> Path to skill output JSON file to validate
109
-
110
- Options:
111
- --self-test Run validator self-test mode
112
- --verbose, -v Enable verbose/debug output
113
- --json Output results as JSON only (for CI integration)
114
- --list-tools Show available validation tools and exit
115
- --help, -h Show this help message
116
-
117
- Exit Codes:
118
- 0 - Validation passed
119
- 1 - Validation failed
120
- 2 - Validation skipped (missing required tools)
121
-
122
- Accessibility Tool Requirements:
123
- Required: jq (JSON parsing)
124
- Optional: playwright (browser automation), axe-core (accessibility testing)
125
-
126
- Examples:
127
- ./validate.sh a11y-output.json # Validate output file
128
- ./validate.sh a11y-output.json --json # JSON output for CI
129
- ./validate.sh --self-test --verbose # Self-test with debug
130
- ./validate.sh --list-tools # Show available tools
131
-
132
- HELP_EOF
133
- exit 0
134
- ;;
135
- -*) error "Unknown option: $1"; exit 1 ;;
136
- *) OUTPUT_FILE="$1"; shift ;;
137
- esac
138
- done
139
-
140
- # Handle --list-tools mode
141
- if [[ "$LIST_TOOLS" == "true" ]]; then
142
- echo "=============================================="
143
- echo "Available Validation Tools for $SKILL_NAME"
144
- echo "=============================================="
145
- echo ""
146
- echo "Required tools:"
147
- for tool in "${REQUIRED_TOOLS[@]}"; do
148
- if command_exists "$tool"; then
149
- echo " [OK] $tool"
150
- else
151
- echo " [MISSING] $tool"
152
- fi
153
- done
154
- echo ""
155
- echo "Optional tools:"
156
- for tool in "${OPTIONAL_TOOLS[@]}"; do
157
- if command_exists "$tool"; then
158
- version=$($tool --version 2>&1 | head -1 || echo "installed")
159
- echo " [OK] $tool"
160
- else
161
- echo " [MISSING] $tool"
162
- fi
163
- done
164
- exit 0
165
- fi
166
-
167
- # =============================================================================
168
- # Self-Test Mode
169
- # =============================================================================
170
-
171
- if [[ "$SELF_TEST" == "true" ]]; then
172
- echo "=============================================="
173
- info "Running $SKILL_NAME Validator Self-Test"
174
- echo "=============================================="
175
- echo ""
176
-
177
- self_test_passed=true
178
- self_test_warnings=0
179
-
180
- echo "--- Step 1: Required Tools ---"
181
- for tool in "${REQUIRED_TOOLS[@]}"; do
182
- if command_exists "$tool"; then
183
- success "Required tool available: $tool"
184
- else
185
- error "Required tool MISSING: $tool"
186
- self_test_passed=false
187
- fi
188
- done
189
- echo ""
190
-
191
- echo "--- Step 2: Accessibility Tools ---"
192
- a11y_tools=("playwright" "axe-core")
193
- available_a11y=0
194
- for tool in "${a11y_tools[@]}"; do
195
- if command_exists "$tool"; then
196
- success "Tool available: $tool"
197
- ((available_a11y++)) || true
198
- else
199
- warn "Tool missing: $tool"
200
- ((self_test_warnings++)) || true
201
- fi
202
- done
203
-
204
- if [[ $available_a11y -eq 0 ]]; then
205
- warn "No accessibility tools available - reduced capabilities"
206
- ((self_test_warnings++)) || true
207
- fi
208
- echo ""
209
-
210
- echo "--- Step 3: Schema File ---"
211
- if [[ -f "$SCHEMA_PATH" ]]; then
212
- success "Schema file exists"
213
- if validate_json "$SCHEMA_PATH" 2>/dev/null; then
214
- success "Schema file is valid JSON"
215
- else
216
- error "Schema file is NOT valid JSON"
217
- self_test_passed=false
218
- fi
219
- else
220
- error "Schema file not found: $SCHEMA_PATH"
221
- self_test_passed=false
222
- fi
223
- echo ""
224
-
225
- echo "--- Step 4: Library Self-Test ---"
226
- if run_self_test 2>/dev/null; then
227
- success "Library self-test passed"
228
- else
229
- error "Library self-test FAILED"
230
- self_test_passed=false
231
- fi
232
- echo ""
233
-
234
- echo "=============================================="
235
- if [[ "$self_test_passed" == "true" ]]; then
236
- if [[ $self_test_warnings -gt 0 ]]; then
237
- warn "Self-test PASSED with $self_test_warnings warning(s)"
238
- exit 0
239
- else
240
- success "Self-test PASSED"
241
- exit 0
242
- fi
243
- else
244
- error "Self-test FAILED"
245
- exit 1
246
- fi
247
- fi
248
-
249
- # =============================================================================
250
- # SKILL-SPECIFIC VALIDATION FUNCTIONS
251
- # =============================================================================
252
-
253
- validate_accessibility_findings() {
254
- local output_file="$1"
255
-
256
- local finding_count
257
- finding_count=$(json_count "$output_file" ".output.findings" 2>/dev/null)
258
-
259
- if [[ -z "$finding_count" ]] || [[ "$finding_count" == "null" ]]; then
260
- finding_count=0
261
- fi
262
-
263
- debug "Found $finding_count accessibility findings"
264
-
265
- if [[ "$finding_count" -gt 0 ]]; then
266
- local first_wcag first_impact
267
- first_wcag=$(json_get "$output_file" ".output.findings[0].wcagLevel" 2>/dev/null)
268
- first_impact=$(json_get "$output_file" ".output.findings[0].impact" 2>/dev/null)
269
-
270
- if [[ -z "$first_wcag" ]] || [[ "$first_wcag" == "null" ]]; then
271
- warn "Finding missing WCAG level classification"
272
- fi
273
-
274
- if [[ -z "$first_impact" ]] || [[ "$first_impact" == "null" ]]; then
275
- warn "Finding missing impact classification"
276
- fi
277
- fi
278
-
279
- return 0
280
- }
281
-
282
- validate_wcag_coverage() {
283
- local output_file="$1"
284
-
285
- local wcag_data
286
- wcag_data=$(json_get "$output_file" ".output.wcagCompliance" 2>/dev/null)
287
-
288
- if [[ -z "$wcag_data" ]] || [[ "$wcag_data" == "null" ]]; then
289
- warn "Missing WCAG compliance data in output"
290
- return 1
291
- fi
292
-
293
- return 0
294
- }
295
-
296
- validate_video_captions() {
297
- local output_file="$1"
298
-
299
- local captions_data
300
- captions_data=$(json_get "$output_file" ".output.videoCaptions" 2>/dev/null)
301
-
302
- if [[ -z "$captions_data" ]] || [[ "$captions_data" == "null" ]]; then
303
- warn "No video captions generated"
304
- return 0
305
- fi
306
-
307
- debug "Video captions found in output"
308
- return 0
309
- }
310
-
311
- validate_skill_specific() {
312
- local output_file="$1"
313
- local has_errors=false
314
-
315
- debug "Running a11y-ally specific validations..."
316
-
317
- if ! validate_accessibility_findings "$output_file"; then
318
- has_errors=true
319
- else
320
- success "Accessibility findings validation passed"
321
- fi
322
-
323
- if ! validate_wcag_coverage "$output_file"; then
324
- has_errors=true
325
- else
326
- success "WCAG coverage validation passed"
327
- fi
328
-
329
- if ! validate_video_captions "$output_file"; then
330
- has_errors=true
331
- else
332
- success "Video captions validation passed"
333
- fi
334
-
335
- if [[ "$has_errors" == "true" ]]; then
336
- return 1
337
- fi
338
-
339
- return 0
340
- }
341
-
342
- # =============================================================================
343
- # Validation Functions
344
- # =============================================================================
345
-
346
- validate_tools() {
347
- if [[ ${#REQUIRED_TOOLS[@]} -eq 0 ]]; then
348
- debug "No required tools specified"
349
- return 0
350
- fi
351
-
352
- local missing=()
353
- for tool in "${REQUIRED_TOOLS[@]}"; do
354
- if ! command_exists "$tool"; then
355
- missing+=("$tool")
356
- fi
357
- done
358
-
359
- if [[ ${#missing[@]} -gt 0 ]]; then
360
- error "Missing required tools: ${missing[*]}"
361
- return 1
362
- fi
363
-
364
- debug "All required tools available"
365
- return 0
366
- }
367
-
368
- validate_schema() {
369
- local output_file="$1"
370
-
371
- if [[ -z "$SCHEMA_PATH" ]]; then
372
- debug "No schema path configured, skipping schema validation"
373
- return 2
374
- fi
375
-
376
- if [[ ! -f "$SCHEMA_PATH" ]]; then
377
- warn "Schema file not found: $SCHEMA_PATH"
378
- return 2
379
- fi
380
-
381
- debug "Validating against schema: $SCHEMA_PATH"
382
-
383
- local result
384
- result=$(validate_json_schema "$SCHEMA_PATH" "$output_file" 2>&1)
385
- local status=$?
386
-
387
- case $status in
388
- 0)
389
- success "Schema validation passed"
390
- return 0
391
- ;;
392
- 1)
393
- error "Schema validation failed"
394
- if [[ "$VERBOSE" == "true" ]]; then
395
- echo "$result" | while read -r line; do
396
- echo " $line"
397
- done
398
- fi
399
- return 1
400
- ;;
401
- 2)
402
- warn "Schema validation skipped (no validator available)"
403
- return 2
404
- ;;
405
- esac
406
- }
407
-
408
- validate_required_fields() {
409
- local output_file="$1"
410
- local missing=()
411
- local empty=()
412
-
413
- for field in "${REQUIRED_FIELDS[@]}"; do
414
- local value
415
- value=$(json_get "$output_file" ".$field" 2>/dev/null)
416
- if [[ -z "$value" ]] || [[ "$value" == "null" ]]; then
417
- missing+=("$field")
418
- fi
419
- done
420
-
421
- for field in "${REQUIRED_NON_EMPTY_FIELDS[@]}"; do
422
- local value
423
- value=$(json_get "$output_file" ".$field" 2>/dev/null)
424
- if [[ -z "$value" ]] || [[ "$value" == "null" ]] || [[ "$value" == "" ]] || [[ "$value" == "[]" ]] || [[ "$value" == "{}" ]]; then
425
- empty+=("$field")
426
- fi
427
- done
428
-
429
- local has_errors=false
430
-
431
- if [[ ${#missing[@]} -gt 0 ]]; then
432
- error "Missing required fields: ${missing[*]}"
433
- has_errors=true
434
- fi
435
-
436
- if [[ ${#empty[@]} -gt 0 ]]; then
437
- error "Empty required fields: ${empty[*]}"
438
- has_errors=true
439
- fi
440
-
441
- if [[ "$has_errors" == "true" ]]; then
442
- return 1
443
- fi
444
-
445
- success "All required fields present and valid"
446
- return 0
447
- }
448
-
449
- validate_enum_fields() {
450
- local output_file="$1"
451
-
452
- if [[ ${#ENUM_VALIDATIONS[@]} -eq 0 ]]; then
453
- return 0
454
- fi
455
-
456
- local has_errors=false
457
-
458
- for validation in "${ENUM_VALIDATIONS[@]}"; do
459
- local field_path="${validation%%:*}"
460
- local allowed_values="${validation#*:}"
461
-
462
- local actual_value
463
- actual_value=$(json_get "$output_file" "$field_path" 2>/dev/null)
464
-
465
- if [[ -z "$actual_value" ]] || [[ "$actual_value" == "null" ]]; then
466
- continue
467
- fi
468
-
469
- local found=false
470
- IFS=',' read -ra allowed_array <<< "$allowed_values"
471
- for allowed in "${allowed_array[@]}"; do
472
- if [[ "$actual_value" == "$allowed" ]]; then
473
- found=true
474
- break
475
- fi
476
- done
477
-
478
- if [[ "$found" == "false" ]]; then
479
- error "Invalid value for $field_path: '$actual_value' (allowed: $allowed_values)"
480
- has_errors=true
481
- fi
482
- done
483
-
484
- if [[ "$has_errors" == "true" ]]; then
485
- return 1
486
- fi
487
-
488
- success "All enum fields have valid values"
489
- return 0
490
- }
491
-
492
- validate_content_terms() {
493
- local output_file="$1"
494
- local content
495
- content=$(cat "$output_file")
496
-
497
- local has_errors=false
498
-
499
- if [[ ${#MUST_CONTAIN_TERMS[@]} -gt 0 ]]; then
500
- local missing_terms=()
501
- for term in "${MUST_CONTAIN_TERMS[@]}"; do
502
- if ! grep -qi "$term" <<< "$content"; then
503
- missing_terms+=("$term")
504
- fi
505
- done
506
-
507
- if [[ ${#missing_terms[@]} -gt 0 ]]; then
508
- error "Output missing required accessibility terms: ${missing_terms[*]}"
509
- has_errors=true
510
- else
511
- success "All required accessibility terms found"
512
- fi
513
- fi
514
-
515
- if [[ ${#MUST_NOT_CONTAIN_TERMS[@]} -gt 0 ]]; then
516
- local found_forbidden=()
517
- for term in "${MUST_NOT_CONTAIN_TERMS[@]}"; do
518
- if grep -qi "$term" <<< "$content"; then
519
- found_forbidden+=("$term")
520
- fi
521
- done
522
-
523
- if [[ ${#found_forbidden[@]} -gt 0 ]]; then
524
- error "Output contains forbidden terms: ${found_forbidden[*]}"
525
- has_errors=true
526
- else
527
- success "No forbidden terms found"
528
- fi
529
- fi
530
-
531
- if [[ "$has_errors" == "true" ]]; then
532
- return 1
533
- fi
534
-
535
- return 0
536
- }
537
-
538
- # =============================================================================
539
- # Main Validation Flow
540
- # =============================================================================
541
-
542
- main() {
543
- if [[ -z "$OUTPUT_FILE" ]]; then
544
- error "No output file specified"
545
- echo "Usage: $0 <output-file> [options]"
546
- exit 1
547
- fi
548
-
549
- if [[ ! -f "$OUTPUT_FILE" ]]; then
550
- error "Output file not found: $OUTPUT_FILE"
551
- exit 1
552
- fi
553
-
554
- if [[ "$JSON_ONLY" != "true" ]]; then
555
- echo "=============================================="
556
- info "Validating $SKILL_NAME Output"
557
- echo "=============================================="
558
- echo ""
559
- fi
560
-
561
- local tool_status="passed"
562
- local json_status="passed"
563
- local schema_status="passed"
564
- local fields_status="passed"
565
- local enums_status="passed"
566
- local content_status="passed"
567
- local specific_status="passed"
568
- local error_count=0
569
- local warning_count=0
570
-
571
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 1: Tool Availability ---"
572
-
573
- if ! validate_tools; then
574
- tool_status="failed"
575
- ((error_count++)) || true
576
- if [[ "$JSON_ONLY" == "true" ]]; then
577
- output_validation_report "$SKILL_NAME" "skipped" "skipped" "failed"
578
- fi
579
- exit $EXIT_SKIP
580
- fi
581
-
582
- [[ "$JSON_ONLY" != "true" ]] && success "Tool check passed" && echo ""
583
-
584
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 2: JSON Syntax ---"
585
-
586
- if ! validate_json "$OUTPUT_FILE"; then
587
- json_status="failed"
588
- ((error_count++)) || true
589
- if [[ "$JSON_ONLY" == "true" ]]; then
590
- output_validation_report "$SKILL_NAME" "failed" "failed" "$tool_status"
591
- fi
592
- exit $EXIT_FAIL
593
- fi
594
-
595
- [[ "$JSON_ONLY" != "true" ]] && success "JSON syntax valid" && echo ""
596
-
597
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 3: Schema Validation ---"
598
-
599
- local schema_exit_code
600
- validate_schema "$OUTPUT_FILE" && schema_exit_code=0 || schema_exit_code=$?
601
-
602
- case $schema_exit_code in
603
- 0) [[ "$JSON_ONLY" != "true" ]] && echo "" ;;
604
- 1) schema_status="failed"; ((error_count++)) || true; [[ "$JSON_ONLY" != "true" ]] && echo "" ;;
605
- 2) schema_status="skipped"; ((warning_count++)) || true; [[ "$JSON_ONLY" != "true" ]] && echo "" ;;
606
- esac
607
-
608
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 4: Required Fields ---"
609
-
610
- if ! validate_required_fields "$OUTPUT_FILE"; then
611
- fields_status="failed"
612
- ((error_count++)) || true
613
- fi
614
-
615
- [[ "$JSON_ONLY" != "true" ]] && echo ""
616
-
617
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 5: Enum Validation ---"
618
-
619
- if ! validate_enum_fields "$OUTPUT_FILE"; then
620
- enums_status="failed"
621
- ((error_count++)) || true
622
- fi
623
-
624
- [[ "$JSON_ONLY" != "true" ]] && echo ""
625
-
626
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 6: Content Terms ---"
627
-
628
- if ! validate_content_terms "$OUTPUT_FILE"; then
629
- content_status="failed"
630
- ((error_count++)) || true
631
- fi
632
-
633
- [[ "$JSON_ONLY" != "true" ]] && echo ""
634
-
635
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 7: Accessibility-Specific Validation ---"
636
-
637
- if ! validate_skill_specific "$OUTPUT_FILE"; then
638
- specific_status="failed"
639
- ((error_count++)) || true
640
- fi
641
-
642
- [[ "$JSON_ONLY" != "true" ]] && echo ""
643
-
644
- local overall_status="passed"
645
- local content_overall="passed"
646
-
647
- if [[ "$fields_status" == "failed" ]] || \
648
- [[ "$enums_status" == "failed" ]] || \
649
- [[ "$content_status" == "failed" ]] || \
650
- [[ "$specific_status" == "failed" ]]; then
651
- content_overall="failed"
652
- fi
653
-
654
- if [[ "$json_status" == "failed" ]] || \
655
- [[ "$schema_status" == "failed" ]] || \
656
- [[ "$content_overall" == "failed" ]]; then
657
- overall_status="failed"
658
- elif [[ "$schema_status" == "skipped" ]]; then
659
- overall_status="partial"
660
- fi
661
-
662
- if [[ "$JSON_ONLY" == "true" ]]; then
663
- output_validation_report "$SKILL_NAME" "$schema_status" "$content_overall" "$tool_status"
664
- else
665
- echo "=============================================="
666
- echo "Validation Summary for $SKILL_NAME"
667
- echo "=============================================="
668
- echo ""
669
- echo " Tools: $tool_status"
670
- echo " JSON Syntax: $json_status"
671
- echo " Schema: $schema_status"
672
- echo " Required Fields: $fields_status"
673
- echo " Enum Values: $enums_status"
674
- echo " Content Terms: $content_status"
675
- echo " Accessibility: $specific_status"
676
- echo ""
677
- echo " Overall: $overall_status"
678
- echo " Errors: $error_count"
679
- echo " Warnings: $warning_count"
680
- echo "=============================================="
681
- fi
682
-
683
- case "$overall_status" in
684
- "passed") exit $EXIT_PASS ;;
685
- "partial") exit $EXIT_PASS ;;
686
- "failed") exit $EXIT_FAIL ;;
687
- esac
688
- }
689
-
690
- main