agentic-qe 1.9.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +95 -1336
  2. package/.claude/agents/qe-chaos-engineer.md +152 -1211
  3. package/.claude/agents/qe-code-complexity.md +144 -707
  4. package/.claude/agents/qe-coverage-analyzer.md +147 -743
  5. package/.claude/agents/qe-deployment-readiness.md +143 -1496
  6. package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
  7. package/.claude/agents/qe-fleet-commander.md +12 -12
  8. package/.claude/agents/qe-performance-tester.md +150 -886
  9. package/.claude/agents/qe-production-intelligence.md +155 -1396
  10. package/.claude/agents/qe-quality-analyzer.md +6 -6
  11. package/.claude/agents/qe-quality-gate.md +151 -648
  12. package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
  13. package/.claude/agents/qe-requirements-validator.md +149 -932
  14. package/.claude/agents/qe-security-scanner.md +157 -797
  15. package/.claude/agents/qe-test-data-architect.md +96 -1365
  16. package/.claude/agents/qe-test-executor.md +8 -8
  17. package/.claude/agents/qe-test-generator.md +145 -1540
  18. package/.claude/agents/qe-visual-tester.md +153 -1257
  19. package/.claude/agents/qx-partner.md +248 -0
  20. package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
  21. package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
  22. package/.claude/agents/subagents/qe-data-generator.md +41 -125
  23. package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
  24. package/.claude/agents/subagents/qe-integration-tester.md +53 -141
  25. package/.claude/agents/subagents/qe-performance-validator.md +54 -130
  26. package/.claude/agents/subagents/qe-security-auditor.md +56 -114
  27. package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
  28. package/.claude/agents/subagents/qe-test-implementer.md +58 -551
  29. package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
  30. package/.claude/agents/subagents/qe-test-writer.md +63 -726
  31. package/.claude/skills/accessibility-testing/SKILL.md +144 -692
  32. package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
  33. package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
  34. package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
  35. package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
  36. package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
  38. package/.claude/skills/code-review-quality/SKILL.md +158 -608
  39. package/.claude/skills/compatibility-testing/SKILL.md +148 -38
  40. package/.claude/skills/compliance-testing/SKILL.md +132 -63
  41. package/.claude/skills/consultancy-practices/SKILL.md +114 -446
  42. package/.claude/skills/context-driven-testing/SKILL.md +117 -381
  43. package/.claude/skills/contract-testing/SKILL.md +176 -141
  44. package/.claude/skills/database-testing/SKILL.md +137 -130
  45. package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
  46. package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
  47. package/.claude/skills/localization-testing/SKILL.md +145 -33
  48. package/.claude/skills/mobile-testing/SKILL.md +132 -448
  49. package/.claude/skills/mutation-testing/SKILL.md +147 -41
  50. package/.claude/skills/performance-testing/SKILL.md +200 -546
  51. package/.claude/skills/quality-metrics/SKILL.md +164 -519
  52. package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
  53. package/.claude/skills/regression-testing/SKILL.md +120 -926
  54. package/.claude/skills/risk-based-testing/SKILL.md +157 -660
  55. package/.claude/skills/security-testing/SKILL.md +199 -538
  56. package/.claude/skills/sherlock-review/SKILL.md +163 -699
  57. package/.claude/skills/shift-left-testing/SKILL.md +161 -465
  58. package/.claude/skills/shift-right-testing/SKILL.md +161 -519
  59. package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
  60. package/.claude/skills/skills-manifest.json +683 -0
  61. package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
  62. package/.claude/skills/technical-writing/SKILL.md +103 -154
  63. package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
  64. package/.claude/skills/test-data-management/SKILL.md +126 -910
  65. package/.claude/skills/test-design-techniques/SKILL.md +179 -89
  66. package/.claude/skills/test-environment-management/SKILL.md +136 -91
  67. package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
  68. package/.claude/skills/testability-scoring/README.md +71 -0
  69. package/.claude/skills/testability-scoring/SKILL.md +245 -0
  70. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
  71. package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
  72. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
  73. package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
  74. package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
  75. package/.claude/skills/xp-practices/SKILL.md +151 -587
  76. package/CHANGELOG.md +110 -0
  77. package/README.md +55 -21
  78. package/dist/agents/QXPartnerAgent.d.ts +146 -0
  79. package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
  80. package/dist/agents/QXPartnerAgent.js +1831 -0
  81. package/dist/agents/QXPartnerAgent.js.map +1 -0
  82. package/dist/agents/index.d.ts +1 -0
  83. package/dist/agents/index.d.ts.map +1 -1
  84. package/dist/agents/index.js +82 -2
  85. package/dist/agents/index.js.map +1 -1
  86. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  87. package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
  88. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  89. package/dist/cli/commands/debug/agent.d.ts.map +1 -1
  90. package/dist/cli/commands/debug/agent.js +19 -6
  91. package/dist/cli/commands/debug/agent.js.map +1 -1
  92. package/dist/cli/commands/debug/health-check.js +20 -7
  93. package/dist/cli/commands/debug/health-check.js.map +1 -1
  94. package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
  95. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
  96. package/dist/cli/commands/init-claude-md-template.js +18 -3
  97. package/dist/cli/commands/init-claude-md-template.js.map +1 -1
  98. package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
  99. package/dist/cli/commands/workflow/cancel.js +4 -3
  100. package/dist/cli/commands/workflow/cancel.js.map +1 -1
  101. package/dist/cli/commands/workflow/list.d.ts.map +1 -1
  102. package/dist/cli/commands/workflow/list.js +4 -3
  103. package/dist/cli/commands/workflow/list.js.map +1 -1
  104. package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
  105. package/dist/cli/commands/workflow/pause.js +4 -3
  106. package/dist/cli/commands/workflow/pause.js.map +1 -1
  107. package/dist/cli/init/claude-config.d.ts.map +1 -1
  108. package/dist/cli/init/claude-config.js +3 -8
  109. package/dist/cli/init/claude-config.js.map +1 -1
  110. package/dist/cli/init/claude-md.d.ts.map +1 -1
  111. package/dist/cli/init/claude-md.js +44 -2
  112. package/dist/cli/init/claude-md.js.map +1 -1
  113. package/dist/cli/init/database-init.js +1 -1
  114. package/dist/cli/init/index.d.ts.map +1 -1
  115. package/dist/cli/init/index.js +13 -6
  116. package/dist/cli/init/index.js.map +1 -1
  117. package/dist/cli/init/skills.d.ts.map +1 -1
  118. package/dist/cli/init/skills.js +2 -1
  119. package/dist/cli/init/skills.js.map +1 -1
  120. package/dist/core/SwarmCoordinator.d.ts +180 -0
  121. package/dist/core/SwarmCoordinator.d.ts.map +1 -0
  122. package/dist/core/SwarmCoordinator.js +473 -0
  123. package/dist/core/SwarmCoordinator.js.map +1 -0
  124. package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
  125. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
  126. package/dist/core/memory/AgentDBIntegration.js +66 -10
  127. package/dist/core/memory/AgentDBIntegration.js.map +1 -1
  128. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
  129. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
  130. package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
  131. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
  132. package/dist/core/memory/index.d.ts +5 -0
  133. package/dist/core/memory/index.d.ts.map +1 -1
  134. package/dist/core/memory/index.js +23 -1
  135. package/dist/core/memory/index.js.map +1 -1
  136. package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
  137. package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
  138. package/dist/core/metrics/MetricsAggregator.js +482 -0
  139. package/dist/core/metrics/MetricsAggregator.js.map +1 -0
  140. package/dist/core/metrics/index.d.ts +5 -0
  141. package/dist/core/metrics/index.d.ts.map +1 -0
  142. package/dist/core/metrics/index.js +11 -0
  143. package/dist/core/metrics/index.js.map +1 -0
  144. package/dist/core/optimization/SwarmOptimizer.d.ts +190 -0
  145. package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
  146. package/dist/core/optimization/SwarmOptimizer.js +648 -0
  147. package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
  148. package/dist/core/optimization/index.d.ts +9 -0
  149. package/dist/core/optimization/index.d.ts.map +1 -0
  150. package/dist/core/optimization/index.js +25 -0
  151. package/dist/core/optimization/index.js.map +1 -0
  152. package/dist/core/optimization/types.d.ts +53 -0
  153. package/dist/core/optimization/types.d.ts.map +1 -0
  154. package/dist/core/optimization/types.js +6 -0
  155. package/dist/core/optimization/types.js.map +1 -0
  156. package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
  157. package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
  158. package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
  159. package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
  160. package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
  161. package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
  162. package/dist/core/orchestration/PriorityQueue.js +122 -0
  163. package/dist/core/orchestration/PriorityQueue.js.map +1 -0
  164. package/dist/core/orchestration/WorkflowOrchestrator.d.ts +189 -0
  165. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
  166. package/dist/core/orchestration/WorkflowOrchestrator.js +845 -0
  167. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
  168. package/dist/core/orchestration/index.d.ts +7 -0
  169. package/dist/core/orchestration/index.d.ts.map +1 -0
  170. package/dist/core/orchestration/index.js +11 -0
  171. package/dist/core/orchestration/index.js.map +1 -0
  172. package/dist/core/orchestration/types.d.ts +96 -0
  173. package/dist/core/orchestration/types.d.ts.map +1 -0
  174. package/dist/core/orchestration/types.js +6 -0
  175. package/dist/core/orchestration/types.js.map +1 -0
  176. package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
  177. package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
  178. package/dist/core/recovery/CircuitBreaker.js +382 -0
  179. package/dist/core/recovery/CircuitBreaker.js.map +1 -0
  180. package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
  181. package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
  182. package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
  183. package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
  184. package/dist/core/recovery/RetryStrategy.d.ts +127 -0
  185. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
  186. package/dist/core/recovery/RetryStrategy.js +314 -0
  187. package/dist/core/recovery/RetryStrategy.js.map +1 -0
  188. package/dist/core/recovery/index.d.ts +8 -0
  189. package/dist/core/recovery/index.d.ts.map +1 -0
  190. package/dist/core/recovery/index.js +27 -0
  191. package/dist/core/recovery/index.js.map +1 -0
  192. package/dist/core/skills/DependencyResolver.d.ts +99 -0
  193. package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
  194. package/dist/core/skills/DependencyResolver.js +260 -0
  195. package/dist/core/skills/DependencyResolver.js.map +1 -0
  196. package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
  197. package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
  198. package/dist/core/skills/DynamicSkillLoader.js +353 -0
  199. package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
  200. package/dist/core/skills/ManifestGenerator.d.ts +114 -0
  201. package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
  202. package/dist/core/skills/ManifestGenerator.js +449 -0
  203. package/dist/core/skills/ManifestGenerator.js.map +1 -0
  204. package/dist/core/skills/index.d.ts +9 -0
  205. package/dist/core/skills/index.d.ts.map +1 -0
  206. package/dist/core/skills/index.js +24 -0
  207. package/dist/core/skills/index.js.map +1 -0
  208. package/dist/core/skills/types.d.ts +118 -0
  209. package/dist/core/skills/types.d.ts.map +1 -0
  210. package/dist/core/skills/types.js +7 -0
  211. package/dist/core/skills/types.js.map +1 -0
  212. package/dist/core/transport/QUICTransport.d.ts +320 -0
  213. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  214. package/dist/core/transport/QUICTransport.js +711 -0
  215. package/dist/core/transport/QUICTransport.js.map +1 -0
  216. package/dist/core/transport/index.d.ts +40 -0
  217. package/dist/core/transport/index.d.ts.map +1 -0
  218. package/dist/core/transport/index.js +46 -0
  219. package/dist/core/transport/index.js.map +1 -0
  220. package/dist/core/transport/quic-loader.d.ts +123 -0
  221. package/dist/core/transport/quic-loader.d.ts.map +1 -0
  222. package/dist/core/transport/quic-loader.js +293 -0
  223. package/dist/core/transport/quic-loader.js.map +1 -0
  224. package/dist/core/transport/quic.d.ts +154 -0
  225. package/dist/core/transport/quic.d.ts.map +1 -0
  226. package/dist/core/transport/quic.js +214 -0
  227. package/dist/core/transport/quic.js.map +1 -0
  228. package/dist/mcp/server.d.ts +9 -9
  229. package/dist/mcp/server.d.ts.map +1 -1
  230. package/dist/mcp/server.js +1 -2
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  233. package/dist/mcp/services/AgentRegistry.js +4 -1
  234. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  235. package/dist/types/index.d.ts +2 -1
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/index.js +2 -0
  238. package/dist/types/index.js.map +1 -1
  239. package/dist/types/qx.d.ts +429 -0
  240. package/dist/types/qx.d.ts.map +1 -0
  241. package/dist/types/qx.js +71 -0
  242. package/dist/types/qx.js.map +1 -0
  243. package/dist/visualization/api/RestEndpoints.js +2 -2
  244. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  245. package/dist/visualization/api/WebSocketServer.d.ts +44 -0
  246. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
  247. package/dist/visualization/api/WebSocketServer.js +144 -23
  248. package/dist/visualization/api/WebSocketServer.js.map +1 -1
  249. package/dist/visualization/core/DataTransformer.d.ts +10 -0
  250. package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
  251. package/dist/visualization/core/DataTransformer.js +60 -5
  252. package/dist/visualization/core/DataTransformer.js.map +1 -1
  253. package/dist/visualization/emit-event.d.ts +75 -0
  254. package/dist/visualization/emit-event.d.ts.map +1 -0
  255. package/dist/visualization/emit-event.js +213 -0
  256. package/dist/visualization/emit-event.js.map +1 -0
  257. package/dist/visualization/index.d.ts +1 -0
  258. package/dist/visualization/index.d.ts.map +1 -1
  259. package/dist/visualization/index.js +7 -1
  260. package/dist/visualization/index.js.map +1 -1
  261. package/docs/reference/skills.md +63 -1
  262. package/package.json +16 -58
@@ -1,137 +1,214 @@
1
1
  ---
2
2
  name: test-reporting-analytics
3
- description: Advanced test reporting, quality dashboards, predictive analytics, trend analysis, and executive reporting for QE metrics. Use when communicating quality status, tracking trends, or making data-driven decisions.
3
+ description: "Advanced test reporting, quality dashboards, predictive analytics, trend analysis, and executive reporting for QE metrics. Use when communicating quality status, tracking trends, or making data-driven decisions."
4
+ category: analytics
5
+ priority: high
6
+ tokenEstimate: 850
7
+ agents: [qe-quality-analyzer, qe-quality-gate, qe-deployment-readiness]
8
+ implementation_status: optimized
9
+ optimization_version: 1.0
10
+ last_optimized: 2025-12-03
11
+ dependencies: []
12
+ quick_reference_card: true
13
+ tags: [reporting, analytics, dashboards, metrics, trends, predictive]
4
14
  ---
5
15
 
6
16
  # Test Reporting & Analytics
7
17
 
8
- ## Core Principle
18
+ <default_to_action>
19
+ When building test reports:
20
+ 1. DEFINE audience (dev team vs executives)
21
+ 2. CHOOSE key metrics (max 5-7)
22
+ 3. SHOW trends (not just snapshots)
23
+ 4. HIGHLIGHT actions (what to do about it)
24
+ 5. AUTOMATE generation
9
25
 
10
- **Measure to improve. Report to communicate.**
26
+ **Dashboard Quick Setup:**
27
+ ```
28
+ +------------------+------------------+------------------+
29
+ | Tests Passed | Code Coverage | Flaky Tests |
30
+ | 1,247/1,250 ✅ | 82.3% ⬆️ +2.1% | 1.2% ⬇️ -0.3% |
31
+ +------------------+------------------+------------------+
32
+ | Critical Bugs | Deploy Freq | MTTR |
33
+ | 0 open ✅ | 12x/day ⬆️ | 2.3h ⬇️ |
34
+ +------------------+------------------+------------------+
35
+ ```
11
36
 
12
- Test reporting transforms raw test data into actionable insights. Analytics enable data-driven quality decisions.
37
+ **Key Metrics by Audience:**
38
+ - **Dev Team**: Pass rate, flaky %, execution time, coverage gaps
39
+ - **QE Team**: Defect detection rate, test velocity, automation ROI
40
+ - **Leadership**: Escaped defects, deployment frequency, quality cost
41
+ </default_to_action>
13
42
 
14
- ## Key Metrics
43
+ ## Quick Reference Card
15
44
 
16
- ### Test Execution Metrics
17
- - Pass/Fail rate
18
- - Flaky test percentage
19
- - Execution time (total, per test)
20
- - Test coverage (code, requirements)
45
+ ### Essential Metrics
21
46
 
22
- ### Quality Metrics
23
- - Defect density
24
- - Defect detection rate
25
- - Escaped defects
26
- - Mean time to detect (MTTD)
27
- - Mean time to resolve (MTTR)
47
+ | Category | Metric | Target |
48
+ |----------|--------|--------|
49
+ | **Execution** | Pass Rate | >98% |
50
+ | **Execution** | Flaky Test % | <2% |
51
+ | **Execution** | Suite Duration | <10 min |
52
+ | **Coverage** | Line Coverage | >80% |
53
+ | **Coverage** | Branch Coverage | >70% |
54
+ | **Quality** | Escaped Defects | <5/release |
55
+ | **Quality** | MTTR | <4 hours |
56
+ | **Efficiency** | Automation Rate | >90% |
28
57
 
29
- ### Efficiency Metrics
30
- - Automation rate
31
- - Test maintenance cost
32
- - ROI of automation
33
- - Velocity (features tested/sprint)
58
+ ### Trend Indicators
34
59
 
35
- ## Dashboards
60
+ | Symbol | Meaning | Action |
61
+ |--------|---------|--------|
62
+ | ⬆️ | Improving | Continue current approach |
63
+ | ⬇️ | Declining | Investigate root cause |
64
+ | ➡️ | Stable | Maintain or improve |
65
+ | ⚠️ | Threshold breach | Immediate attention |
36
66
 
37
- **Real-Time Quality Dashboard:**
38
- ```
39
- +------------------+------------------+------------------+
40
- | Tests Passed | Code Coverage | Flaky Tests |
41
- | 1,247 / 1,250 | 82.3% | 1.2% |
42
- | 99.76% ✅ | ⬆️ +2.1% | ⬇️ -0.3% |
43
- +------------------+------------------+------------------+
67
+ ---
44
68
 
45
- +------------------+------------------+------------------+
46
- | Critical Bugs | Test Velocity | Deploy Freq |
47
- | 0 open | 47 tests/sprint | 12x/day |
48
- | ✅ | ⬆️ +5 | ⬆️ +2x |
49
- +------------------+------------------+------------------+
69
+ ## Report Types
50
70
 
51
- Recent Trends (30 days):
52
- [Graph showing pass rate, coverage, flaky tests over time]
71
+ ### Real-Time Dashboard
72
+ ```
73
+ Live quality status for CI/CD
74
+ - Build status (green/red)
75
+ - Test results (pass/fail counts)
76
+ - Coverage delta
77
+ - Flaky test alerts
53
78
  ```
54
79
 
55
- ## Trend Analysis
56
-
57
- ```javascript
58
- // Identify trends
59
- const testResults = await fetchTestResults(30); // 30 days
80
+ ### Sprint Summary
81
+ ```markdown
82
+ ## Sprint 47 Quality Summary
83
+
84
+ ### Metrics
85
+ | Metric | Value | Trend |
86
+ |--------|-------|-------|
87
+ | Tests Added | +47 | ⬆️ |
88
+ | Coverage | 82.3% | ⬆️ +2.1% |
89
+ | Bugs Found | 12 | ➡️ |
90
+ | Escaped | 0 | ✅ |
91
+
92
+ ### Highlights
93
+ - ✅ Zero escaped defects
94
+ - ⚠️ E2E suite now 45min (target: 30min)
95
+
96
+ ### Actions
97
+ 1. Optimize slow E2E tests
98
+ 2. Add coverage for payment module
99
+ ```
60
100
 
61
- const trend = analyzeTrend(testResults, 'passRate');
62
- if (trend === 'declining') {
63
- alert('⚠️ Test pass rate declining for 7 days');
64
- }
101
+ ### Executive Report
102
+ ```markdown
103
+ ## Monthly Quality Report - Oct 2025
65
104
 
66
- const coverage = analyzeTrend(testResults, 'coverage');
67
- if (coverage === 'stagnant') {
68
- alert('ℹ️ Code coverage unchanged. Add tests for new code.');
69
- }
105
+ ### Executive Summary
106
+ Production uptime: 99.97% (target: 99.95%)
107
+ Deploy frequency: 12x/day (up from 8x)
108
+ ⚠️ Coverage: 82.3% (target: 85%)
109
+
110
+ ### Business Impact
111
+ - Automation saves 120 hrs/month
112
+ - Bug cost: $150/bug found vs $5,000 escaped
113
+ - Estimated annual savings: $450K
114
+
115
+ ### Recommendations
116
+ 1. Invest in performance testing tooling
117
+ 2. Hire senior QE for mobile coverage
70
118
  ```
71
119
 
120
+ ---
121
+
72
122
  ## Predictive Analytics
73
123
 
74
124
  ```typescript
75
125
  // Predict test failures
76
- const prediction = await agent.predictTestFailures({
77
- historicalData: testResults,
126
+ const prediction = await Task("Predict Failures", {
78
127
  codeChanges: prDiff,
79
- teamMetrics: velocityData
80
- });
128
+ historicalData: last90Days,
129
+ model: 'gradient-boosting'
130
+ }, "qe-quality-analyzer");
81
131
 
82
132
  // Returns:
83
133
  // {
84
- // probabilityOfFailure: 0.73,
85
- // likelyFailingTests: ['payment.test.ts', 'checkout.test.ts'],
86
- // suggestedAction: 'Review payment module changes carefully',
134
+ // failureProbability: 0.73,
135
+ // likelyFailingTests: ['payment.test.ts'],
136
+ // suggestedAction: 'Review payment module carefully',
87
137
  // confidence: 0.89
88
138
  // }
139
+
140
+ // Trend analysis with anomaly detection
141
+ const trends = await Task("Analyze Trends", {
142
+ metrics: ['passRate', 'coverage', 'flakyRate'],
143
+ period: '30d',
144
+ detectAnomalies: true
145
+ }, "qe-quality-analyzer");
89
146
  ```
90
147
 
91
- ## Executive Reporting
148
+ ---
92
149
 
93
- **Monthly Quality Report:**
94
- ```markdown
95
- ## Quality Report - October 2025
150
+ ## Agent Integration
96
151
 
97
- ### Executive Summary
98
- Production: 99.97% uptime (target: 99.95%)
99
- Deployment: 12x/day (up from 8x/day)
100
- ⚠️ Test Coverage: 82.3% (target: 85%)
101
-
102
- ### Key Achievements
103
- - Reduced flaky tests from 3.2% to 1.2%
104
- - Automated 47 new tests (95% automation rate)
105
- - 0 critical bugs escaped to production
106
-
107
- ### Action Items
108
- - Increase coverage for new payment module
109
- - Address 3 long-running flaky tests
110
- - Train team on performance testing
111
-
112
- ### ROI
113
- - Automation saves 120 hours/month
114
- - Bug detection cost: $150/bug vs $5,000 in production
115
- - Estimated annual savings: $450k
152
+ ```typescript
153
+ // Generate comprehensive quality report
154
+ const report = await Task("Generate Quality Report", {
155
+ period: 'sprint',
156
+ audience: 'executive',
157
+ includeROI: true,
158
+ includeTrends: true
159
+ }, "qe-quality-analyzer");
160
+
161
+ // Real-time quality gate check
162
+ const gateResult = await Task("Quality Gate Check", {
163
+ metrics: currentMetrics,
164
+ thresholds: qualityPolicy,
165
+ environment: 'production'
166
+ }, "qe-quality-gate");
116
167
  ```
117
168
 
169
+ ---
170
+
171
+ ## Agent Coordination Hints
172
+
173
+ ### Memory Namespace
174
+ ```
175
+ aqe/reporting/
176
+ ├── dashboards/* - Dashboard configurations
177
+ ├── reports/* - Generated reports
178
+ ├── trends/* - Trend analysis data
179
+ └── predictions/* - Predictive model outputs
180
+ ```
181
+
182
+ ### Fleet Coordination
183
+ ```typescript
184
+ const reportingFleet = await FleetManager.coordinate({
185
+ strategy: 'quality-reporting',
186
+ agents: [
187
+ 'qe-quality-analyzer', // Metrics aggregation
188
+ 'qe-quality-gate', // Threshold validation
189
+ 'qe-deployment-readiness' // Release readiness
190
+ ],
191
+ topology: 'parallel'
192
+ });
193
+ ```
194
+
195
+ ---
196
+
118
197
  ## Related Skills
198
+ - [quality-metrics](../quality-metrics/) - Metric definitions
199
+ - [shift-right-testing](../shift-right-testing/) - Production metrics
200
+ - [consultancy-practices](../consultancy-practices/) - Client reporting
119
201
 
120
- - [quality-metrics](../quality-metrics/)
121
- - [agentic-quality-engineering](../agentic-quality-engineering/)
122
- - [continuous-testing-shift-left](../continuous-testing-shift-left/)
202
+ ---
123
203
 
124
204
  ## Remember
125
205
 
126
- **Track metrics to improve quality.**
127
-
128
- Report:
129
- - Test results (pass/fail trends)
130
- - Code coverage (gaps and trends)
131
- - Flaky test rate (reliability)
132
- - Defect metrics (escaped bugs)
133
- - ROI of testing (business value)
206
+ **Measure to improve. Report to communicate.**
134
207
 
135
- **Make data actionable, not just visible.**
208
+ Good reports:
209
+ - Answer "so what?" (actionable insights)
210
+ - Show trends (not just snapshots)
211
+ - Match audience needs
212
+ - Automate where possible
136
213
 
137
- **With Agents:** `qe-quality-analyzer` aggregates metrics, generates insights, predicts trends, and creates executive reports automatically.
214
+ **Data without action is noise. Action without data is guessing.**
@@ -0,0 +1,71 @@
1
+ # Testability Scoring Skill
2
+
3
+ Quick reference for AI-powered testability assessment using 10 principles of intrinsic testability.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Run assessment
9
+ .claude/skills/testability-scoring/scripts/run-assessment.sh https://example.com/
10
+
11
+ # Generate HTML report from JSON
12
+ AUTO_OPEN=false node .claude/skills/testability-scoring/scripts/generate-html-report.js tests/reports/testability-results-*.json
13
+ ```
14
+
15
+ ## 10 Principles
16
+
17
+ 1. **Observability** (15%) - Can we see what's happening?
18
+ 2. **Controllability** (15%) - Can we control the application?
19
+ 3. **Algorithmic Simplicity** (10%) - Are behaviors simple?
20
+ 4. **Algorithmic Transparency** (10%) - Can we understand it?
21
+ 5. **Algorithmic Stability** (10%) - Does it stay consistent?
22
+ 6. **Explainability** (10%) - Is the interface clear?
23
+ 7. **Unbugginess** (10%) - How error-free is it?
24
+ 8. **Smallness** (10%) - Are components appropriate size?
25
+ 9. **Decomposability** (5%) - Can we test parts separately?
26
+ 10. **Similarity** (5%) - How familiar is the tech?
27
+
28
+ ## Scoring
29
+
30
+ - **90-100 (A)**: Excellent
31
+ - **80-89 (B)**: Good
32
+ - **70-79 (C)**: Adequate
33
+ - **60-69 (D)**: Below average
34
+ - **0-59 (F)**: Poor
35
+
36
+ ## Files
37
+
38
+ ```
39
+ .claude/skills/testability-scoring/
40
+ ├── SKILL.md # Complete documentation
41
+ ├── scripts/
42
+ │ ├── run-assessment.sh # Main runner
43
+ │ └── generate-html-report.js # Report generator
44
+ └── resources/templates/ # Templates
45
+
46
+ tests/testability-scoring/
47
+ ├── testability-scoring.spec.js # Test implementation
48
+ └── config.js # Configuration
49
+
50
+ tests/reports/
51
+ ├── testability-results-*.json # Results
52
+ └── testability-report-*.html # Reports
53
+ ```
54
+
55
+ ## Common Commands
56
+
57
+ ```bash
58
+ # Disable auto-open
59
+ AUTO_OPEN=false ./scripts/run-assessment.sh https://example.com/
60
+
61
+ # With timeout
62
+ timeout 180 ./scripts/run-assessment.sh https://example.com/
63
+
64
+ # Specific browser
65
+ ./scripts/run-assessment.sh https://example.com/ firefox
66
+ ```
67
+
68
+ ## Credits
69
+
70
+ Based on James Bach and Michael Bolton's *Heuristics for Software Testability*
71
+ Implementation: https://github.com/fndlalit/testability-scorer
@@ -0,0 +1,245 @@
1
+ ---
2
+ name: testability-scoring
3
+ description: "AI-powered testability assessment using 10 principles of intrinsic testability with Playwright. Evaluates web applications against Observability, Controllability, Algorithmic Simplicity, Transparency, Stability, Explainability, Unbugginess, Smallness, Decomposability, and Similarity. Use when assessing software testability, evaluating test readiness, identifying testability improvements, or generating testability reports."
4
+ category: testing-methodologies
5
+ priority: high
6
+ tokenEstimate: 1100
7
+ agents: [qe-quality-analyzer, qx-partner, qe-visual-tester]
8
+ implementation_status: optimized
9
+ optimization_version: 2.1
10
+ last_optimized: 2025-12-03
11
+ dependencies: []
12
+ quick_reference_card: true
13
+ tags: [testability, scoring, playwright, assessment, 10-principles, intrinsic-testability, james-bach, michael-bolton]
14
+ contributor: "@fndlalit"
15
+ ---
16
+
17
+ # Testability Scoring
18
+
19
+ <default_to_action>
20
+ When assessing testability:
21
+ 1. RUN assessment against target URL
22
+ 2. ANALYZE all 10 principles automatically
23
+ 3. GENERATE HTML report with radar chart
24
+ 4. PRIORITIZE improvements by impact/effort
25
+ 5. INTEGRATE with QX Partner for holistic view
26
+
27
+ **Quick Assessment:**
28
+ ```bash
29
+ # Run assessment on any URL
30
+ TEST_URL='https://example.com/' npx playwright test tests/testability-scoring/testability-scoring.spec.js --project=chromium --workers=1
31
+
32
+ # Or use shell script wrapper
33
+ .claude/skills/testability-scoring/scripts/run-assessment.sh https://example.com/
34
+ ```
35
+
36
+ **The 10 Principles at a Glance:**
37
+ | Principle | Weight | Key Question |
38
+ |-----------|--------|--------------|
39
+ | **Observability** | 15% | Can we see what's happening? |
40
+ | **Controllability** | 15% | Can we control the application? |
41
+ | **Algorithmic Simplicity** | 10% | Are behaviors predictable? |
42
+ | **Algorithmic Transparency** | 10% | Can we understand what it does? |
43
+ | **Algorithmic Stability** | 10% | Does behavior remain consistent? |
44
+ | **Explainability** | 10% | Is the interface understandable? |
45
+ | **Unbugginess** | 10% | How error-free is it? |
46
+ | **Smallness** | 10% | Are components appropriately sized? |
47
+ | **Decomposability** | 5% | Can we test parts in isolation? |
48
+ | **Similarity** | 5% | Is the tech stack familiar? |
49
+
50
+ **Grade Scale:**
51
+ - **A (90-100)**: Excellent testability
52
+ - **B (80-89)**: Good testability
53
+ - **C (70-79)**: Adequate testability
54
+ - **D (60-69)**: Below average
55
+ - **F (0-59)**: Poor testability
56
+ </default_to_action>
57
+
58
+ ## Quick Reference Card
59
+
60
+ ### Running Assessments
61
+
62
+ | Method | Command | When to Use |
63
+ |--------|---------|-------------|
64
+ | Shell Script | `./scripts/run-assessment.sh URL` | One-time assessment |
65
+ | ENV Override | `TEST_URL='URL' npx playwright test...` | CI/CD integration |
66
+ | Config File | Update `tests/testability-scoring/config.js` | Repeated runs |
67
+
68
+ ### Principle Details
69
+
70
+ #### High Weight (15% each)
71
+ | Principle | Measures | Indicators |
72
+ |-----------|----------|------------|
73
+ | **Observability** | State visibility, logging, monitoring | Console output, network tracking, error visibility |
74
+ | **Controllability** | Input control, state manipulation | API access, test data injection, determinism |
75
+
76
+ #### Medium Weight (10% each)
77
+ | Principle | Measures | Indicators |
78
+ |-----------|----------|------------|
79
+ | **Simplicity** | Predictable behavior | Clear I/O relationships, low complexity |
80
+ | **Transparency** | Understanding what system does | Visible processes, readable code |
81
+ | **Stability** | Consistent behavior | Change resilience, maintainability |
82
+ | **Explainability** | Interface understanding | Good docs, semantic structure, help text |
83
+ | **Unbugginess** | Error-free operation | Console errors, warnings, runtime issues |
84
+ | **Smallness** | Component size | Element count, script bloat, page complexity |
85
+
86
+ #### Low Weight (5% each)
87
+ | Principle | Measures | Indicators |
88
+ |-----------|----------|------------|
89
+ | **Decomposability** | Isolation testing | Component separation, modular design |
90
+ | **Similarity** | Technology familiarity | Standard frameworks, known patterns |
91
+
92
+ ---
93
+
94
+ ## Assessment Workflow
95
+
96
+ ```
97
+ 1. Navigate to URL → 2. Collect Metrics → 3. Score Principles
98
+
99
+ 4. Generate JSON ← 5. Calculate Grades ← 6. Apply Weights
100
+
101
+ 7. Generate HTML Report with Radar Chart
102
+
103
+ 8. Open in Browser (auto-opens)
104
+ ```
105
+
106
+ ### Output Files
107
+
108
+ ```
109
+ tests/reports/
110
+ ├── testability-results-<timestamp>.json # Raw data
111
+ ├── testability-report-<timestamp>.html # Visual report
112
+ └── latest.json # Symlink
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Integration Examples
118
+
119
+ ### CI/CD Integration
120
+ ```yaml
121
+ # GitHub Actions
122
+ - name: Testability Assessment
123
+ run: |
124
+ timeout 180 .claude/skills/testability-scoring/scripts/run-assessment.sh ${{ env.APP_URL }}
125
+
126
+ - name: Upload Reports
127
+ uses: actions/upload-artifact@v3
128
+ with:
129
+ name: testability-reports
130
+ path: tests/reports/testability-*.html
131
+ ```
132
+
133
+ ### QX Partner Integration
134
+ ```typescript
135
+ // Combine testability with QX analysis
136
+ const qxAnalysis = await Task("QX Analysis", {
137
+ target: 'https://example.com',
138
+ integrateTestability: true
139
+ }, "qx-partner");
140
+
141
+ // Returns combined insights:
142
+ // - QX Score: 78/100
143
+ // - Testability Integration: Observability 72/100
144
+ // - Combined Insight: Low observability may mask UX issues
145
+ ```
146
+
147
+ ### Programmatic Usage
148
+ ```typescript
149
+ import { runTestabilityAssessment } from './testability';
150
+
151
+ const results = await runTestabilityAssessment('https://example.com');
152
+ console.log(`Overall: ${results.overallScore}/100 (${results.grade})`);
153
+ console.log('Recommendations:', results.recommendations);
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Agent Integration
159
+
160
+ ```typescript
161
+ // Run testability assessment
162
+ const assessment = await Task("Testability Assessment", {
163
+ url: 'https://example.com',
164
+ generateReport: true,
165
+ openBrowser: true
166
+ }, "qe-quality-analyzer");
167
+
168
+ // Use with QX Partner for holistic analysis
169
+ const qxReport = await Task("Full QX Analysis", {
170
+ target: 'https://example.com',
171
+ integrateTestability: true,
172
+ detectOracleProblems: true
173
+ }, "qx-partner");
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Agent Coordination Hints
179
+
180
+ ### Memory Namespace
181
+ ```
182
+ aqe/testability/
183
+ ├── assessments/* - Assessment results by URL
184
+ ├── historical/* - Historical scores for trend analysis
185
+ ├── recommendations/* - Improvement recommendations
186
+ └── integration/* - QX integration data
187
+ ```
188
+
189
+ ### Fleet Coordination
190
+ ```typescript
191
+ const testabilityFleet = await FleetManager.coordinate({
192
+ strategy: 'testability-assessment',
193
+ agents: [
194
+ 'qe-quality-analyzer', // Primary assessment
195
+ 'qx-partner', // UX integration
196
+ 'qe-visual-tester' // Visual validation
197
+ ],
198
+ topology: 'sequential'
199
+ });
200
+ ```
201
+
202
+ ---
203
+
204
+ ## Common Issues & Solutions
205
+
206
+ | Issue | Solution |
207
+ |-------|----------|
208
+ | Tests timing out | Increase timeout: `timeout 300 ./scripts/run-assessment.sh URL` |
209
+ | Partial results | Check console errors, increase network timeout |
210
+ | Report not opening | Use `AUTO_OPEN=false`, open manually |
211
+ | Config not updating | Use `TEST_URL` env var instead |
212
+
213
+ ---
214
+
215
+ ## Related Skills
216
+ - [accessibility-testing](../accessibility-testing/) - WCAG compliance (overlaps with Explainability)
217
+ - [visual-testing-advanced](../visual-testing-advanced/) - UI consistency
218
+ - [performance-testing](../performance-testing/) - Load time metrics
219
+
220
+ ---
221
+
222
+ ## Credits & References
223
+
224
+ ### Framework Origin
225
+ - **Heuristics for Software Testability** by James Bach and Michael Bolton
226
+ - Available at: https://www.satisfice.com/download/heuristics-of-software-testability
227
+
228
+ ### Implementation
229
+ - Based on https://github.com/fndlalit/testability-scorer (contributed by [@fndlalit](https://github.com/fndlalit))
230
+ - Playwright v1.49.0+ with AI capabilities
231
+ - Chart.js for radar visualizations
232
+
233
+ ---
234
+
235
+ ## Remember
236
+
237
+ **Testability is an investment, not an afterthought.**
238
+
239
+ Good testability:
240
+ - Reduces debugging time
241
+ - Enables faster feedback loops
242
+ - Makes defects easier to find
243
+ - Supports continuous testing
244
+
245
+ **Low scores = High risk. Prioritize improvements by weight × impact.**