agentic-qe 3.7.8 → 3.7.9

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 (285) hide show
  1. package/.claude/skills/debug-loop/SKILL.md +1 -1
  2. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  3. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  4. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  5. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  6. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  7. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  8. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  9. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  10. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  11. package/.claude/skills/pr-review/SKILL.md +1 -1
  12. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  13. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  14. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  15. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  16. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  17. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  18. package/.claude/skills/skills-manifest.json +1 -1
  19. package/.claude/skills/trust-tier-manifest.json +78 -7
  20. package/CHANGELOG.md +20 -0
  21. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  22. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  23. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  24. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  25. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  26. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  27. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  28. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  29. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  30. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  31. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  32. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  33. package/assets/skills/debug-loop/SKILL.md +1 -1
  34. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  35. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  36. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  37. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  38. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  39. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  40. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  41. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  42. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  43. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  44. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  45. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  46. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  47. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  48. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  49. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  50. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  51. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  52. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  53. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  54. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  55. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  56. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  57. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  58. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  59. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  60. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  61. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  62. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  63. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  64. package/assets/skills/pr-review/SKILL.md +1 -1
  65. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  66. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  67. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  68. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  69. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  70. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  71. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  72. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  73. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  74. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  75. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  76. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  77. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  78. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  79. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  80. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  81. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  82. package/assets/skills/sherlock-review/SKILL.md +5 -0
  83. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  84. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  85. package/assets/skills/testability-scoring/SKILL.md +5 -0
  86. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  87. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  88. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  89. package/assets/skills/trust-tier-manifest.json +2404 -0
  90. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  91. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  92. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  93. package/dist/benchmarks/performance-benchmarks.js +1 -1
  94. package/dist/cli/bundle.js +9130 -2283
  95. package/dist/cli/commands/hooks.d.ts.map +1 -1
  96. package/dist/cli/commands/hooks.js +92 -0
  97. package/dist/cli/commands/hooks.js.map +1 -1
  98. package/dist/cli/commands/migrate.js +2 -2
  99. package/dist/coordination/constants.d.ts +1 -1
  100. package/dist/coordination/constants.js +1 -1
  101. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  102. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  103. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  104. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  105. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  106. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  107. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  108. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  109. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  110. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  111. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  112. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  113. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  114. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  115. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  116. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  117. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  118. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  119. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  120. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  121. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  122. package/dist/domains/test-generation/coordinator.js +3 -3
  123. package/dist/domains/test-generation/coordinator.js.map +1 -1
  124. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  125. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  126. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  127. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  128. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  129. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  130. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  131. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  132. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  133. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  134. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  135. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  136. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  137. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  138. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  139. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  140. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  141. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  142. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  143. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  144. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  145. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  146. package/dist/domains/test-generation/generators/index.js +8 -0
  147. package/dist/domains/test-generation/generators/index.js.map +1 -1
  148. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  149. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  150. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  151. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  152. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  153. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  154. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  155. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  156. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  157. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  158. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  159. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  160. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  161. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  162. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  163. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  164. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  165. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  166. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  167. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  168. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  169. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  170. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  171. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  172. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  173. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  174. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  175. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  176. package/dist/domains/test-generation/interfaces.d.ts +11 -2
  177. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  178. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  179. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  180. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  181. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  182. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  183. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  184. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  185. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  186. package/dist/domains/test-generation/services/index.d.ts +2 -1
  187. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  188. package/dist/domains/test-generation/services/index.js +3 -1
  189. package/dist/domains/test-generation/services/index.js.map +1 -1
  190. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  191. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  192. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  193. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  194. package/dist/domains/test-generation/services/test-generator.d.ts +10 -0
  195. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  196. package/dist/domains/test-generation/services/test-generator.js +87 -10
  197. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  198. package/dist/governance/feature-flags.js +2 -2
  199. package/dist/governance/feature-flags.js.map +1 -1
  200. package/dist/governance/shard-embeddings.js +1 -1
  201. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  202. package/dist/init/init-wizard-hooks.js +0 -1
  203. package/dist/init/init-wizard-hooks.js.map +1 -1
  204. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  205. package/dist/init/phases/07-hooks.js +0 -2
  206. package/dist/init/phases/07-hooks.js.map +1 -1
  207. package/dist/init/phases/08-mcp.d.ts +8 -4
  208. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  209. package/dist/init/phases/08-mcp.js +13 -31
  210. package/dist/init/phases/08-mcp.js.map +1 -1
  211. package/dist/init/phases/10-workers.js +2 -2
  212. package/dist/init/phases/10-workers.js.map +1 -1
  213. package/dist/init/settings-merge.d.ts.map +1 -1
  214. package/dist/init/settings-merge.js +0 -2
  215. package/dist/init/settings-merge.js.map +1 -1
  216. package/dist/init/token-bootstrap.js +1 -1
  217. package/dist/init/token-bootstrap.js.map +1 -1
  218. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  219. package/dist/kernel/constants.d.ts +2 -2
  220. package/dist/kernel/constants.js +2 -2
  221. package/dist/kernel/hnsw-adapter.js +1 -1
  222. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  223. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  224. package/dist/learning/dream/concept-graph.d.ts +1 -1
  225. package/dist/learning/dream/concept-graph.js +1 -1
  226. package/dist/learning/dream/dream-engine.d.ts +1 -1
  227. package/dist/learning/dream/dream-engine.js +1 -1
  228. package/dist/learning/dream/index.d.ts +1 -1
  229. package/dist/learning/dream/index.js +1 -1
  230. package/dist/learning/dream/types.d.ts +1 -1
  231. package/dist/learning/dream/types.d.ts.map +1 -1
  232. package/dist/learning/dream/types.js +1 -1
  233. package/dist/learning/dream/types.js.map +1 -1
  234. package/dist/learning/token-tracker.js +1 -1
  235. package/dist/learning/token-tracker.js.map +1 -1
  236. package/dist/mcp/bundle.js +7515 -893
  237. package/dist/routing/qe-agent-registry.js +4 -4
  238. package/dist/routing/qe-agent-registry.js.map +1 -1
  239. package/dist/routing/types.d.ts +5 -8
  240. package/dist/routing/types.d.ts.map +1 -1
  241. package/dist/routing/types.js.map +1 -1
  242. package/dist/shared/embeddings/embedding-cache.js +2 -2
  243. package/dist/shared/embeddings/index.d.ts +2 -2
  244. package/dist/shared/embeddings/index.js +2 -2
  245. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  246. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  247. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  248. package/dist/shared/embeddings/ollama-client.js +2 -2
  249. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  250. package/dist/shared/embeddings/types.d.ts +2 -2
  251. package/dist/shared/embeddings/types.js +2 -2
  252. package/dist/shared/language-detector.d.ts +46 -0
  253. package/dist/shared/language-detector.d.ts.map +1 -0
  254. package/dist/shared/language-detector.js +183 -0
  255. package/dist/shared/language-detector.js.map +1 -0
  256. package/dist/shared/llm/providers/ollama.js +1 -1
  257. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  258. package/dist/shared/metrics/code-metrics.js +24 -1
  259. package/dist/shared/metrics/code-metrics.js.map +1 -1
  260. package/dist/shared/parsers/index.d.ts +2 -0
  261. package/dist/shared/parsers/index.d.ts.map +1 -1
  262. package/dist/shared/parsers/index.js +2 -0
  263. package/dist/shared/parsers/index.js.map +1 -1
  264. package/dist/shared/parsers/interfaces.d.ts +81 -0
  265. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  266. package/dist/shared/parsers/interfaces.js +6 -0
  267. package/dist/shared/parsers/interfaces.js.map +1 -0
  268. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  269. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  270. package/dist/shared/parsers/multi-language-parser.js +1232 -0
  271. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  272. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  273. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  274. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  275. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  276. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  277. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  278. package/dist/shared/parsers/typescript-parser.js +85 -0
  279. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  280. package/dist/shared/types/test-frameworks.d.ts +25 -0
  281. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  282. package/dist/shared/types/test-frameworks.js +111 -0
  283. package/dist/shared/types/test-frameworks.js.map +1 -0
  284. package/package.json +1 -1
  285. package/scripts/prepare-assets.sh +8 -2
@@ -0,0 +1,549 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentic-qe.dev/schemas/a11y-ally-output.json",
4
+ "title": "A11y Ally Accessibility Skill Output Schema",
5
+ "description": "Schema for comprehensive accessibility audit output with WCAG compliance, video captions, screenshots, and POUR analysis.",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "a11y-ally",
12
+ "description": "Must be 'a11y-ally'"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
17
+ },
18
+ "timestamp": {
19
+ "type": "string",
20
+ "format": "date-time"
21
+ },
22
+ "status": {
23
+ "type": "string",
24
+ "enum": ["success", "partial", "failed", "skipped"]
25
+ },
26
+ "trustTier": {
27
+ "type": "integer",
28
+ "minimum": 0,
29
+ "maximum": 3
30
+ },
31
+ "output": {
32
+ "type": "object",
33
+ "required": ["summary", "a11yResults", "conformanceLevel"],
34
+ "properties": {
35
+ "summary": {
36
+ "type": "string",
37
+ "minLength": 50,
38
+ "maxLength": 2000
39
+ },
40
+ "a11yResults": {
41
+ "$ref": "#/$defs/a11yResults"
42
+ },
43
+ "conformanceLevel": {
44
+ "type": "string",
45
+ "enum": ["A", "AA", "AAA", "none"],
46
+ "description": "WCAG conformance level achieved"
47
+ },
48
+ "screenshots": {
49
+ "$ref": "#/$defs/screenshots"
50
+ },
51
+ "videoCaptions": {
52
+ "$ref": "#/$defs/videoCaptions"
53
+ },
54
+ "pourBreakdown": {
55
+ "$ref": "#/$defs/pourBreakdown"
56
+ },
57
+ "findings": {
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "#/$defs/a11yFinding"
61
+ },
62
+ "maxItems": 200
63
+ },
64
+ "recommendations": {
65
+ "type": "array",
66
+ "items": {
67
+ "$ref": "#/$defs/recommendation"
68
+ },
69
+ "maxItems": 100
70
+ },
71
+ "artifacts": {
72
+ "type": "array",
73
+ "items": {
74
+ "$ref": "#/$defs/artifact"
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "metadata": {
80
+ "$ref": "#/$defs/metadata"
81
+ },
82
+ "validation": {
83
+ "$ref": "#/$defs/validationResult"
84
+ },
85
+ "learning": {
86
+ "$ref": "#/$defs/learningData"
87
+ }
88
+ },
89
+ "$defs": {
90
+ "a11yResults": {
91
+ "type": "object",
92
+ "required": ["totalChecks", "passed", "failed", "score"],
93
+ "properties": {
94
+ "totalChecks": {
95
+ "type": "integer",
96
+ "minimum": 0
97
+ },
98
+ "passed": {
99
+ "type": "integer",
100
+ "minimum": 0
101
+ },
102
+ "failed": {
103
+ "type": "integer",
104
+ "minimum": 0
105
+ },
106
+ "warnings": {
107
+ "type": "integer",
108
+ "minimum": 0
109
+ },
110
+ "score": {
111
+ "type": "number",
112
+ "minimum": 0,
113
+ "maximum": 100,
114
+ "description": "Accessibility score"
115
+ },
116
+ "grade": {
117
+ "type": "string",
118
+ "pattern": "^[A-F][+-]?$"
119
+ },
120
+ "wcagVersion": {
121
+ "type": "string",
122
+ "enum": ["2.0", "2.1", "2.2"]
123
+ },
124
+ "targetLevel": {
125
+ "type": "string",
126
+ "enum": ["A", "AA", "AAA"]
127
+ },
128
+ "criticalIssues": {
129
+ "type": "integer",
130
+ "minimum": 0
131
+ },
132
+ "seriousIssues": {
133
+ "type": "integer",
134
+ "minimum": 0
135
+ },
136
+ "moderateIssues": {
137
+ "type": "integer",
138
+ "minimum": 0
139
+ },
140
+ "minorIssues": {
141
+ "type": "integer",
142
+ "minimum": 0
143
+ },
144
+ "toolsUsed": {
145
+ "type": "array",
146
+ "items": {
147
+ "type": "string",
148
+ "enum": ["axe-core", "pa11y", "lighthouse", "claude-vision", "manual"]
149
+ }
150
+ }
151
+ }
152
+ },
153
+ "screenshots": {
154
+ "type": "object",
155
+ "properties": {
156
+ "total": {
157
+ "type": "integer",
158
+ "minimum": 0
159
+ },
160
+ "annotated": {
161
+ "type": "integer",
162
+ "minimum": 0,
163
+ "description": "Screenshots with accessibility issues highlighted"
164
+ },
165
+ "items": {
166
+ "type": "array",
167
+ "items": {
168
+ "type": "object",
169
+ "required": ["id", "path"],
170
+ "properties": {
171
+ "id": {
172
+ "type": "string"
173
+ },
174
+ "path": {
175
+ "type": "string"
176
+ },
177
+ "url": {
178
+ "type": "string"
179
+ },
180
+ "viewport": {
181
+ "type": "object",
182
+ "properties": {
183
+ "width": {
184
+ "type": "integer"
185
+ },
186
+ "height": {
187
+ "type": "integer"
188
+ }
189
+ }
190
+ },
191
+ "issuesHighlighted": {
192
+ "type": "integer",
193
+ "minimum": 0
194
+ },
195
+ "annotations": {
196
+ "type": "array",
197
+ "items": {
198
+ "type": "object",
199
+ "properties": {
200
+ "findingId": {
201
+ "type": "string"
202
+ },
203
+ "x": {
204
+ "type": "integer"
205
+ },
206
+ "y": {
207
+ "type": "integer"
208
+ },
209
+ "width": {
210
+ "type": "integer"
211
+ },
212
+ "height": {
213
+ "type": "integer"
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ }
222
+ },
223
+ "videoCaptions": {
224
+ "type": "object",
225
+ "properties": {
226
+ "videosAnalyzed": {
227
+ "type": "integer",
228
+ "minimum": 0
229
+ },
230
+ "captionsGenerated": {
231
+ "type": "integer",
232
+ "minimum": 0
233
+ },
234
+ "audioDescriptionsGenerated": {
235
+ "type": "integer",
236
+ "minimum": 0
237
+ },
238
+ "videos": {
239
+ "type": "array",
240
+ "items": {
241
+ "type": "object",
242
+ "required": ["videoId", "source"],
243
+ "properties": {
244
+ "videoId": {
245
+ "type": "string"
246
+ },
247
+ "source": {
248
+ "type": "string"
249
+ },
250
+ "duration": {
251
+ "type": "number",
252
+ "description": "Duration in seconds"
253
+ },
254
+ "framesAnalyzed": {
255
+ "type": "integer",
256
+ "minimum": 0
257
+ },
258
+ "captionsPath": {
259
+ "type": "string",
260
+ "description": "Path to WebVTT captions file"
261
+ },
262
+ "audioDescriptionPath": {
263
+ "type": "string",
264
+ "description": "Path to audio description VTT file"
265
+ },
266
+ "captionLanguage": {
267
+ "type": "string"
268
+ },
269
+ "frameDescriptions": {
270
+ "type": "array",
271
+ "items": {
272
+ "type": "object",
273
+ "properties": {
274
+ "frameNumber": {
275
+ "type": "integer"
276
+ },
277
+ "timestamp": {
278
+ "type": "string",
279
+ "pattern": "^\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$"
280
+ },
281
+ "description": {
282
+ "type": "string"
283
+ },
284
+ "scene": {
285
+ "type": "string"
286
+ },
287
+ "text": {
288
+ "type": "string"
289
+ },
290
+ "action": {
291
+ "type": "string"
292
+ }
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ }
299
+ }
300
+ },
301
+ "pourBreakdown": {
302
+ "type": "object",
303
+ "required": ["perceivable", "operable", "understandable", "robust"],
304
+ "properties": {
305
+ "perceivable": {
306
+ "$ref": "#/$defs/pourScore"
307
+ },
308
+ "operable": {
309
+ "$ref": "#/$defs/pourScore"
310
+ },
311
+ "understandable": {
312
+ "$ref": "#/$defs/pourScore"
313
+ },
314
+ "robust": {
315
+ "$ref": "#/$defs/pourScore"
316
+ }
317
+ }
318
+ },
319
+ "pourScore": {
320
+ "type": "object",
321
+ "required": ["score", "violationCount"],
322
+ "properties": {
323
+ "score": {
324
+ "type": "number",
325
+ "minimum": 0,
326
+ "maximum": 100
327
+ },
328
+ "violationCount": {
329
+ "type": "integer",
330
+ "minimum": 0
331
+ },
332
+ "criticalCount": {
333
+ "type": "integer",
334
+ "minimum": 0
335
+ },
336
+ "seriousCount": {
337
+ "type": "integer",
338
+ "minimum": 0
339
+ },
340
+ "moderateCount": {
341
+ "type": "integer",
342
+ "minimum": 0
343
+ },
344
+ "minorCount": {
345
+ "type": "integer",
346
+ "minimum": 0
347
+ }
348
+ }
349
+ },
350
+ "a11yFinding": {
351
+ "type": "object",
352
+ "required": ["id", "title", "severity", "wcagCriterion", "pourPrinciple"],
353
+ "properties": {
354
+ "id": {
355
+ "type": "string",
356
+ "pattern": "^A11Y-\\d{3,6}$"
357
+ },
358
+ "title": {
359
+ "type": "string",
360
+ "minLength": 5,
361
+ "maxLength": 200
362
+ },
363
+ "description": {
364
+ "type": "string",
365
+ "maxLength": 2000
366
+ },
367
+ "severity": {
368
+ "type": "string",
369
+ "enum": ["critical", "serious", "moderate", "minor"]
370
+ },
371
+ "wcagCriterion": {
372
+ "type": "string",
373
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
374
+ },
375
+ "wcagLevel": {
376
+ "type": "string",
377
+ "enum": ["A", "AA", "AAA"]
378
+ },
379
+ "pourPrinciple": {
380
+ "type": "string",
381
+ "enum": ["perceivable", "operable", "understandable", "robust"]
382
+ },
383
+ "impact": {
384
+ "type": "string",
385
+ "description": "Impact on users with disabilities"
386
+ },
387
+ "element": {
388
+ "type": "object",
389
+ "properties": {
390
+ "selector": {
391
+ "type": "string"
392
+ },
393
+ "html": {
394
+ "type": "string"
395
+ },
396
+ "tagName": {
397
+ "type": "string"
398
+ }
399
+ }
400
+ },
401
+ "remediation": {
402
+ "type": "string"
403
+ },
404
+ "codeExample": {
405
+ "type": "object",
406
+ "properties": {
407
+ "before": {
408
+ "type": "string"
409
+ },
410
+ "after": {
411
+ "type": "string"
412
+ }
413
+ }
414
+ },
415
+ "affectedUsers": {
416
+ "type": "array",
417
+ "items": {
418
+ "type": "string",
419
+ "enum": ["blind", "low-vision", "color-blind", "deaf", "hard-of-hearing", "motor-impaired", "cognitive", "photosensitive"]
420
+ }
421
+ },
422
+ "screenshotId": {
423
+ "type": "string",
424
+ "description": "Reference to screenshot showing the issue"
425
+ }
426
+ }
427
+ },
428
+ "recommendation": {
429
+ "type": "object",
430
+ "required": ["id", "title", "priority"],
431
+ "properties": {
432
+ "id": {
433
+ "type": "string",
434
+ "pattern": "^REC-\\d{3,6}$"
435
+ },
436
+ "title": {
437
+ "type": "string"
438
+ },
439
+ "description": {
440
+ "type": "string"
441
+ },
442
+ "priority": {
443
+ "type": "string",
444
+ "enum": ["critical", "high", "medium", "low"]
445
+ },
446
+ "effort": {
447
+ "type": "string",
448
+ "enum": ["trivial", "low", "medium", "high", "major"]
449
+ },
450
+ "wcagCriteria": {
451
+ "type": "array",
452
+ "items": {
453
+ "type": "string",
454
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
455
+ }
456
+ },
457
+ "relatedFindings": {
458
+ "type": "array",
459
+ "items": {
460
+ "type": "string",
461
+ "pattern": "^A11Y-\\d{3,6}$"
462
+ }
463
+ }
464
+ }
465
+ },
466
+ "artifact": {
467
+ "type": "object",
468
+ "required": ["type", "path"],
469
+ "properties": {
470
+ "type": {
471
+ "type": "string",
472
+ "enum": ["report", "captions", "audio-description", "screenshot", "data", "vtt"]
473
+ },
474
+ "path": {
475
+ "type": "string"
476
+ },
477
+ "format": {
478
+ "type": "string",
479
+ "enum": ["json", "html", "md", "vtt", "png", "jpg", "txt"]
480
+ },
481
+ "description": {
482
+ "type": "string"
483
+ }
484
+ }
485
+ },
486
+ "metadata": {
487
+ "type": "object",
488
+ "properties": {
489
+ "executionTimeMs": {
490
+ "type": "integer",
491
+ "minimum": 0
492
+ },
493
+ "toolsUsed": {
494
+ "type": "array",
495
+ "items": {
496
+ "type": "string"
497
+ }
498
+ },
499
+ "agentId": {
500
+ "type": "string"
501
+ },
502
+ "targetUrl": {
503
+ "type": "string",
504
+ "format": "uri"
505
+ },
506
+ "pagesAudited": {
507
+ "type": "integer",
508
+ "minimum": 1
509
+ },
510
+ "elementsAnalyzed": {
511
+ "type": "integer",
512
+ "minimum": 0
513
+ }
514
+ }
515
+ },
516
+ "validationResult": {
517
+ "type": "object",
518
+ "properties": {
519
+ "schemaValid": {
520
+ "type": "boolean"
521
+ },
522
+ "contentValid": {
523
+ "type": "boolean"
524
+ },
525
+ "confidence": {
526
+ "type": "number",
527
+ "minimum": 0,
528
+ "maximum": 1
529
+ }
530
+ }
531
+ },
532
+ "learningData": {
533
+ "type": "object",
534
+ "properties": {
535
+ "patternsDetected": {
536
+ "type": "array",
537
+ "items": {
538
+ "type": "string"
539
+ }
540
+ },
541
+ "reward": {
542
+ "type": "number",
543
+ "minimum": 0,
544
+ "maximum": 1
545
+ }
546
+ }
547
+ }
548
+ }
549
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "skillName": "a11y-ally",
3
+ "skillVersion": "1.0.0",
4
+ "requiredTools": [
5
+ "jq"
6
+ ],
7
+ "optionalTools": [
8
+ "npm",
9
+ "playwright",
10
+ "axe-core",
11
+ "python3"
12
+ ],
13
+ "schemaPath": "schemas/output.json",
14
+ "requiredFields": [
15
+ "skillName",
16
+ "status",
17
+ "output",
18
+ "output.summary",
19
+ "output.findings"
20
+ ],
21
+ "requiredNonEmptyFields": [
22
+ "output.summary"
23
+ ],
24
+ "mustContainTerms": [
25
+ "WCAG",
26
+ "accessibility",
27
+ "a11y"
28
+ ],
29
+ "mustNotContainTerms": [
30
+ "TODO",
31
+ "placeholder",
32
+ "FIXME"
33
+ ],
34
+ "enumValidations": {
35
+ ".status": [
36
+ "success",
37
+ "partial",
38
+ "failed",
39
+ "skipped"
40
+ ]
41
+ }
42
+ }
@@ -11,6 +11,11 @@ last_optimized: 2025-12-03
11
11
  dependencies: []
12
12
  quick_reference_card: true
13
13
  tags: [code-review, honesty, critical-thinking, technical-criticism, quality]
14
+ trust_tier: 2
15
+ validation:
16
+ schema_path: schemas/output.json
17
+ validator_path: scripts/validate-config.json
18
+
14
19
  ---
15
20
 
16
21
  # Brutal Honesty Review