qa-skills 3.0.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/README.md +168 -0
  2. package/bin/cli.js +42 -0
  3. package/dist/agents/registry.d.ts +5 -0
  4. package/dist/agents/registry.d.ts.map +1 -0
  5. package/dist/agents/registry.js +101 -0
  6. package/dist/agents/registry.js.map +1 -0
  7. package/dist/agents/types.d.ts +9 -0
  8. package/dist/agents/types.d.ts.map +1 -0
  9. package/dist/agents/types.js +2 -0
  10. package/dist/agents/types.js.map +1 -0
  11. package/dist/dependencies.d.ts +21 -0
  12. package/dist/dependencies.d.ts.map +1 -0
  13. package/dist/dependencies.js +125 -0
  14. package/dist/dependencies.js.map +1 -0
  15. package/dist/installer.d.ts +25 -0
  16. package/dist/installer.d.ts.map +1 -0
  17. package/dist/installer.js +437 -0
  18. package/dist/installer.js.map +1 -0
  19. package/dist/scaffold.d.ts +27 -0
  20. package/dist/scaffold.d.ts.map +1 -0
  21. package/dist/scaffold.js +182 -0
  22. package/dist/scaffold.js.map +1 -0
  23. package/package.json +40 -0
  24. package/skills/qa-accessibility-test-writer/SKILL.md +127 -0
  25. package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +349 -0
  26. package/skills/qa-accessibility-test-writer/references/best-practices.md +184 -0
  27. package/skills/qa-accessibility-test-writer/references/wcag-tests.md +331 -0
  28. package/skills/qa-api-contract-curator/SKILL.md +104 -0
  29. package/skills/qa-api-contract-curator/references/breaking-changes.md +363 -0
  30. package/skills/qa-api-contract-curator/references/openapi-structure.md +404 -0
  31. package/skills/qa-browser-data-collector/SKILL.md +132 -0
  32. package/skills/qa-browser-data-collector/references/data-collection-checklist.md +91 -0
  33. package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +113 -0
  34. package/skills/qa-bug-ticket-creator/SKILL.md +148 -0
  35. package/skills/qa-bug-ticket-creator/references/bug-report-format.md +149 -0
  36. package/skills/qa-bug-ticket-creator/references/severity-guide.md +81 -0
  37. package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +39 -0
  38. package/skills/qa-changelog-analyzer/SKILL.md +134 -0
  39. package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +138 -0
  40. package/skills/qa-changelog-analyzer/references/impact-mapping.md +120 -0
  41. package/skills/qa-clickup-integration/SKILL.md +166 -0
  42. package/skills/qa-clickup-integration/references/api-patterns.md +102 -0
  43. package/skills/qa-clickup-integration/references/field-mapping.md +71 -0
  44. package/skills/qa-codeceptjs-writer/SKILL.md +136 -0
  45. package/skills/qa-codeceptjs-writer/references/best-practices.md +207 -0
  46. package/skills/qa-codeceptjs-writer/references/config.md +255 -0
  47. package/skills/qa-codeceptjs-writer/references/patterns.md +285 -0
  48. package/skills/qa-coverage-analyzer/SKILL.md +166 -0
  49. package/skills/qa-coverage-analyzer/references/best-practices.md +142 -0
  50. package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +155 -0
  51. package/skills/qa-coverage-analyzer/references/tools.md +204 -0
  52. package/skills/qa-cypress-writer/SKILL.md +134 -0
  53. package/skills/qa-cypress-writer/references/assertions.md +121 -0
  54. package/skills/qa-cypress-writer/references/best-practices.md +82 -0
  55. package/skills/qa-cypress-writer/references/config.md +121 -0
  56. package/skills/qa-cypress-writer/references/patterns.md +170 -0
  57. package/skills/qa-data-factory/SKILL.md +126 -0
  58. package/skills/qa-data-factory/references/factory-patterns.md +164 -0
  59. package/skills/qa-data-factory/references/faker-guide.md +131 -0
  60. package/skills/qa-diagram-generator/SKILL.md +125 -0
  61. package/skills/qa-diagram-generator/references/c4-model.md +53 -0
  62. package/skills/qa-diagram-generator/references/charts.md +58 -0
  63. package/skills/qa-diagram-generator/references/class-diagram.md +85 -0
  64. package/skills/qa-diagram-generator/references/er-diagram.md +69 -0
  65. package/skills/qa-diagram-generator/references/flowchart.md +92 -0
  66. package/skills/qa-diagram-generator/references/from-screenshot.md +45 -0
  67. package/skills/qa-diagram-generator/references/gantt.md +49 -0
  68. package/skills/qa-diagram-generator/references/journey.md +50 -0
  69. package/skills/qa-diagram-generator/references/mindmap.md +75 -0
  70. package/skills/qa-diagram-generator/references/sequence.md +69 -0
  71. package/skills/qa-diagram-generator/references/state-diagram.md +56 -0
  72. package/skills/qa-discovery-interview/SKILL.md +182 -0
  73. package/skills/qa-discovery-interview/references/completeness-checklist.md +53 -0
  74. package/skills/qa-discovery-interview/references/conflict-patterns.md +101 -0
  75. package/skills/qa-discovery-interview/references/qa-categories.md +147 -0
  76. package/skills/qa-discovery-interview/templates/qa-brief-template.md +168 -0
  77. package/skills/qa-environment-checker/SKILL.md +142 -0
  78. package/skills/qa-environment-checker/references/dependency-matrix.md +101 -0
  79. package/skills/qa-environment-checker/references/health-checks.md +209 -0
  80. package/skills/qa-environment-checker/templates/env-readiness-template.md +64 -0
  81. package/skills/qa-flaky-detector/SKILL.md +153 -0
  82. package/skills/qa-flaky-detector/references/ci-analysis.md +140 -0
  83. package/skills/qa-flaky-detector/references/flaky-patterns.md +247 -0
  84. package/skills/qa-github-issues-enhanced/SKILL.md +175 -0
  85. package/skills/qa-github-issues-enhanced/references/issue-templates.md +425 -0
  86. package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +130 -0
  87. package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +188 -0
  88. package/skills/qa-httpx-writer/SKILL.md +138 -0
  89. package/skills/qa-httpx-writer/references/assertions.md +195 -0
  90. package/skills/qa-httpx-writer/references/best-practices.md +140 -0
  91. package/skills/qa-httpx-writer/references/config.md +212 -0
  92. package/skills/qa-httpx-writer/references/patterns.md +262 -0
  93. package/skills/qa-jest-writer/SKILL.md +131 -0
  94. package/skills/qa-jest-writer/references/assertions.md +125 -0
  95. package/skills/qa-jest-writer/references/best-practices.md +136 -0
  96. package/skills/qa-jest-writer/references/config.md +134 -0
  97. package/skills/qa-jest-writer/references/patterns.md +172 -0
  98. package/skills/qa-jira-integration/SKILL.md +135 -0
  99. package/skills/qa-jira-integration/references/api-patterns.md +143 -0
  100. package/skills/qa-jira-integration/references/field-mapping.md +79 -0
  101. package/skills/qa-jira-integration/references/xray-integration.md +85 -0
  102. package/skills/qa-jmeter-writer/SKILL.md +171 -0
  103. package/skills/qa-jmeter-writer/references/best-practices.md +157 -0
  104. package/skills/qa-jmeter-writer/references/config.md +204 -0
  105. package/skills/qa-jmeter-writer/references/patterns.md +242 -0
  106. package/skills/qa-junit5-writer/SKILL.md +157 -0
  107. package/skills/qa-junit5-writer/references/assertions.md +118 -0
  108. package/skills/qa-junit5-writer/references/config.md +97 -0
  109. package/skills/qa-junit5-writer/references/patterns.md +162 -0
  110. package/skills/qa-k6-writer/SKILL.md +155 -0
  111. package/skills/qa-k6-writer/references/best-practices.md +236 -0
  112. package/skills/qa-k6-writer/references/config.md +219 -0
  113. package/skills/qa-k6-writer/references/patterns.md +304 -0
  114. package/skills/qa-linear-integration/SKILL.md +137 -0
  115. package/skills/qa-linear-integration/references/api-patterns.md +249 -0
  116. package/skills/qa-linear-integration/references/field-mapping.md +121 -0
  117. package/skills/qa-locust-writer/SKILL.md +151 -0
  118. package/skills/qa-locust-writer/references/best-practices.md +126 -0
  119. package/skills/qa-locust-writer/references/config.md +170 -0
  120. package/skills/qa-locust-writer/references/patterns.md +235 -0
  121. package/skills/qa-manual-test-designer/SKILL.md +145 -0
  122. package/skills/qa-manual-test-designer/references/exploratory-charters.md +138 -0
  123. package/skills/qa-manual-test-designer/references/personas.md +146 -0
  124. package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +47 -0
  125. package/skills/qa-manual-test-designer/templates/test-case-template.md +31 -0
  126. package/skills/qa-mobile-test-writer/SKILL.md +144 -0
  127. package/skills/qa-mobile-test-writer/references/best-practices.md +214 -0
  128. package/skills/qa-mobile-test-writer/references/config.md +309 -0
  129. package/skills/qa-mobile-test-writer/references/patterns.md +304 -0
  130. package/skills/qa-nfr-analyst/SKILL.md +177 -0
  131. package/skills/qa-nfr-analyst/references/iso-25010-model.md +159 -0
  132. package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +202 -0
  133. package/skills/qa-nfr-analyst/references/wcag-checklist.md +184 -0
  134. package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +89 -0
  135. package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +48 -0
  136. package/skills/qa-orchestrator/SKILL.md +132 -0
  137. package/skills/qa-orchestrator/references/handoff-chains.md +105 -0
  138. package/skills/qa-orchestrator/references/pipeline-modes.md +115 -0
  139. package/skills/qa-orchestrator/references/scheduler-rules.md +84 -0
  140. package/skills/qa-pact-writer/SKILL.md +133 -0
  141. package/skills/qa-pact-writer/references/best-practices.md +100 -0
  142. package/skills/qa-pact-writer/references/config.md +135 -0
  143. package/skills/qa-pact-writer/references/patterns.md +161 -0
  144. package/skills/qa-plan-creator/SKILL.md +139 -0
  145. package/skills/qa-plan-creator/references/introduction-plan.md +43 -0
  146. package/skills/qa-plan-creator/references/migration-plan.md +44 -0
  147. package/skills/qa-plan-creator/references/onboarding-plan.md +46 -0
  148. package/skills/qa-plan-creator/references/performance-plan.md +44 -0
  149. package/skills/qa-plan-creator/references/regression-plan.md +45 -0
  150. package/skills/qa-plan-creator/references/release-plan.md +45 -0
  151. package/skills/qa-plan-creator/references/sprint-plan.md +44 -0
  152. package/skills/qa-plan-creator/references/test-plan.md +59 -0
  153. package/skills/qa-plan-creator/references/uat-plan.md +43 -0
  154. package/skills/qa-plan-creator/templates/checklist-template.md +36 -0
  155. package/skills/qa-plan-creator/templates/regression-checklist-template.md +49 -0
  156. package/skills/qa-plan-creator/templates/release-checklist-template.md +46 -0
  157. package/skills/qa-plan-creator/templates/test-plan-template.md +74 -0
  158. package/skills/qa-playwright-py-writer/SKILL.md +156 -0
  159. package/skills/qa-playwright-py-writer/references/best-practices.md +194 -0
  160. package/skills/qa-playwright-py-writer/references/config.md +195 -0
  161. package/skills/qa-playwright-py-writer/references/patterns.md +212 -0
  162. package/skills/qa-playwright-ts-writer/SKILL.md +151 -0
  163. package/skills/qa-playwright-ts-writer/references/assertions.md +109 -0
  164. package/skills/qa-playwright-ts-writer/references/best-practices.md +191 -0
  165. package/skills/qa-playwright-ts-writer/references/config.md +144 -0
  166. package/skills/qa-playwright-ts-writer/references/patterns.md +171 -0
  167. package/skills/qa-pytest-writer/SKILL.md +145 -0
  168. package/skills/qa-pytest-writer/references/assertions.md +149 -0
  169. package/skills/qa-pytest-writer/references/best-practices.md +97 -0
  170. package/skills/qa-pytest-writer/references/config.md +176 -0
  171. package/skills/qa-pytest-writer/references/patterns.md +251 -0
  172. package/skills/qa-qase-integration/SKILL.md +149 -0
  173. package/skills/qa-qase-integration/references/api-reference.md +354 -0
  174. package/skills/qa-qase-integration/references/ci-integration.md +196 -0
  175. package/skills/qa-qase-integration/references/field-mapping.md +157 -0
  176. package/skills/qa-requirements-generator/SKILL.md +152 -0
  177. package/skills/qa-requirements-generator/references/iso-29148-structure.md +153 -0
  178. package/skills/qa-requirements-generator/references/requirement-patterns.md +278 -0
  179. package/skills/qa-rest-assured-writer/SKILL.md +137 -0
  180. package/skills/qa-rest-assured-writer/references/best-practices.md +50 -0
  181. package/skills/qa-rest-assured-writer/references/config.md +124 -0
  182. package/skills/qa-rest-assured-writer/references/patterns.md +192 -0
  183. package/skills/qa-risk-analyzer/SKILL.md +158 -0
  184. package/skills/qa-risk-analyzer/references/impact-analysis.md +133 -0
  185. package/skills/qa-risk-analyzer/references/risk-factors.md +123 -0
  186. package/skills/qa-robot-framework-writer/SKILL.md +147 -0
  187. package/skills/qa-robot-framework-writer/references/best-practices.md +249 -0
  188. package/skills/qa-robot-framework-writer/references/config.md +204 -0
  189. package/skills/qa-robot-framework-writer/references/libraries.md +273 -0
  190. package/skills/qa-robot-framework-writer/references/patterns.md +216 -0
  191. package/skills/qa-security-test-writer/SKILL.md +123 -0
  192. package/skills/qa-security-test-writer/references/best-practices.md +155 -0
  193. package/skills/qa-security-test-writer/references/owasp-top10.md +331 -0
  194. package/skills/qa-security-test-writer/references/zap-config.md +258 -0
  195. package/skills/qa-selenium-java-writer/SKILL.md +143 -0
  196. package/skills/qa-selenium-java-writer/references/best-practices.md +59 -0
  197. package/skills/qa-selenium-java-writer/references/config.md +143 -0
  198. package/skills/qa-selenium-java-writer/references/patterns.md +170 -0
  199. package/skills/qa-selenium-py-writer/SKILL.md +150 -0
  200. package/skills/qa-selenium-py-writer/references/best-practices.md +175 -0
  201. package/skills/qa-selenium-py-writer/references/config.md +224 -0
  202. package/skills/qa-selenium-py-writer/references/patterns.md +255 -0
  203. package/skills/qa-shortcut-integration/SKILL.md +143 -0
  204. package/skills/qa-shortcut-integration/references/api-patterns.md +126 -0
  205. package/skills/qa-shortcut-integration/references/field-mapping.md +66 -0
  206. package/skills/qa-spec-auditor/SKILL.md +162 -0
  207. package/skills/qa-spec-auditor/references/audit-checklist.md +144 -0
  208. package/skills/qa-spec-auditor/references/drift-patterns.md +207 -0
  209. package/skills/qa-spec-writer/SKILL.md +143 -0
  210. package/skills/qa-spec-writer/references/gherkin-guide.md +253 -0
  211. package/skills/qa-spec-writer/references/specification-patterns.md +274 -0
  212. package/skills/qa-spring-test-writer/SKILL.md +170 -0
  213. package/skills/qa-spring-test-writer/references/best-practices.md +57 -0
  214. package/skills/qa-spring-test-writer/references/config.md +179 -0
  215. package/skills/qa-spring-test-writer/references/patterns.md +235 -0
  216. package/skills/qa-supertest-writer/SKILL.md +150 -0
  217. package/skills/qa-supertest-writer/references/assertions.md +192 -0
  218. package/skills/qa-supertest-writer/references/best-practices.md +102 -0
  219. package/skills/qa-supertest-writer/references/config.md +166 -0
  220. package/skills/qa-supertest-writer/references/patterns.md +242 -0
  221. package/skills/qa-task-creator/SKILL.md +142 -0
  222. package/skills/qa-task-creator/references/linking-patterns.md +127 -0
  223. package/skills/qa-task-creator/references/task-types.md +169 -0
  224. package/skills/qa-task-creator/templates/task-template.md +24 -0
  225. package/skills/qa-test-doc-compiler/SKILL.md +114 -0
  226. package/skills/qa-test-doc-compiler/references/agile-tailoring.md +220 -0
  227. package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +302 -0
  228. package/skills/qa-test-healer/SKILL.md +101 -0
  229. package/skills/qa-test-healer/references/diagnosis-patterns.md +142 -0
  230. package/skills/qa-test-healer/references/fix-strategies.md +177 -0
  231. package/skills/qa-test-reporter/SKILL.md +130 -0
  232. package/skills/qa-test-reporter/references/best-practices.md +162 -0
  233. package/skills/qa-test-reporter/references/iso-29119-reports.md +236 -0
  234. package/skills/qa-test-reporter/references/report-formats.md +287 -0
  235. package/skills/qa-test-reviewer/SKILL.md +142 -0
  236. package/skills/qa-test-reviewer/references/anti-patterns.md +268 -0
  237. package/skills/qa-test-reviewer/references/review-checklist.md +93 -0
  238. package/skills/qa-test-strategy/SKILL.md +133 -0
  239. package/skills/qa-test-strategy/references/entry-exit-criteria.md +176 -0
  240. package/skills/qa-test-strategy/references/risk-matrix.md +102 -0
  241. package/skills/qa-test-strategy/references/testing-types.md +143 -0
  242. package/skills/qa-testcase-from-docs/SKILL.md +161 -0
  243. package/skills/qa-testcase-from-docs/references/test-case-format.md +196 -0
  244. package/skills/qa-testcase-from-docs/references/test-design-techniques.md +126 -0
  245. package/skills/qa-testcase-from-docs/templates/test-case-template.md +31 -0
  246. package/skills/qa-testcase-from-ui/SKILL.md +109 -0
  247. package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +126 -0
  248. package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +146 -0
  249. package/skills/qa-testcase-from-ui/templates/test-case-template.md +31 -0
  250. package/skills/qa-visual-regression-writer/SKILL.md +175 -0
  251. package/skills/qa-visual-regression-writer/references/best-practices.md +154 -0
  252. package/skills/qa-visual-regression-writer/references/config.md +220 -0
  253. package/skills/qa-visual-regression-writer/references/patterns.md +213 -0
  254. package/skills/qa-vitest-writer/SKILL.md +141 -0
  255. package/skills/qa-vitest-writer/references/assertions.md +105 -0
  256. package/skills/qa-vitest-writer/references/best-practices.md +62 -0
  257. package/skills/qa-vitest-writer/references/config.md +127 -0
  258. package/skills/qa-vitest-writer/references/patterns.md +141 -0
  259. package/skills/qa-webdriverio-writer/SKILL.md +145 -0
  260. package/skills/qa-webdriverio-writer/references/best-practices.md +176 -0
  261. package/skills/qa-webdriverio-writer/references/config.md +240 -0
  262. package/skills/qa-webdriverio-writer/references/patterns.md +269 -0
@@ -0,0 +1,168 @@
1
+ ---
2
+ id: "{{brief_id}}"
3
+ title: "QA Discovery Brief — {{project_name}}"
4
+ project: "{{project_name}}"
5
+ version: "{{document_version}}"
6
+ date: "{{YYYY-MM-DD}}"
7
+ interviewer: "{{interviewer}}"
8
+ interviewee: "{{interviewee}}"
9
+ status: "{{Draft | Reviewed | Approved}}"
10
+ ---
11
+
12
+ # QA Discovery Brief — {{project_name}}
13
+
14
+ ## 1. Product Overview
15
+
16
+ ### 1.1 What We're Testing
17
+ {{Brief description of the product/feature, its purpose, and core value proposition.}}
18
+
19
+ ### 1.2 Business Context
20
+ - **Impact of defects:** {{What happens if this ships with bugs?}}
21
+ - **User base:** {{Who uses it, how many, technical proficiency}}
22
+ - **Project type:** {{New / Existing / Migration / Redesign}}
23
+
24
+ ## 2. Testing Scope & Objectives
25
+
26
+ ### 2.1 In Scope
27
+ | Testing Type | Priority | Rationale |
28
+ |-------------|----------|-----------|
29
+ | {{Functional}} | {{P0}} | {{Core user flows}} |
30
+ | {{Performance}} | {{P1}} | {{SLA requirements}} |
31
+ | {{Security}} | {{P1}} | {{Handles PII}} |
32
+ | {{Accessibility}} | {{P2}} | {{WCAG AA target}} |
33
+
34
+ ### 2.2 Out of Scope
35
+ | Area | Reason |
36
+ |------|--------|
37
+ | {{area}} | {{rationale}} |
38
+
39
+ ### 2.3 Exit Criteria
40
+ - [ ] {{exit_criterion_1}}
41
+ - [ ] {{exit_criterion_2}}
42
+ - [ ] {{exit_criterion_3}}
43
+
44
+ ## 3. Critical User Flows
45
+
46
+ ### Flow 1: {{flow_name}}
47
+ {{Step-by-step description of the primary happy path.}}
48
+
49
+ ### Flow 2: {{flow_name}}
50
+ {{Step-by-step description of the second critical flow.}}
51
+
52
+ ### Flow 3: {{flow_name}}
53
+ {{Step-by-step description of the third critical flow.}}
54
+
55
+ ### Edge Cases & Negative Scenarios
56
+ - {{edge_case_1}}
57
+ - {{edge_case_2}}
58
+ - {{negative_scenario_1}}
59
+
60
+ ## 4. Technical Landscape
61
+
62
+ ### 4.1 Technology Stack
63
+ | Layer | Technology |
64
+ |-------|-----------|
65
+ | Frontend | {{framework, language}} |
66
+ | Backend | {{framework, language}} |
67
+ | Database | {{type, engine}} |
68
+ | Infrastructure | {{cloud, hosting}} |
69
+
70
+ ### 4.2 Architecture
71
+ {{Monolith / Microservices / Serverless / Hybrid — brief description.}}
72
+
73
+ ### 4.3 External Integrations
74
+ | Service | Type | Mock Available? |
75
+ |---------|------|-----------------|
76
+ | {{service}} | {{API / webhook / SDK}} | {{Yes / No / Partial}} |
77
+
78
+ ### 4.4 Technical Constraints
79
+ - {{constraint_1}}
80
+ - {{constraint_2}}
81
+
82
+ ## 5. Risk Assessment
83
+
84
+ | Risk | Probability | Impact | Mitigation |
85
+ |------|-------------|--------|------------|
86
+ | {{risk_1}} | {{High/Med/Low}} | {{High/Med/Low}} | {{action}} |
87
+ | {{risk_2}} | {{High/Med/Low}} | {{High/Med/Low}} | {{action}} |
88
+ | {{risk_3}} | {{High/Med/Low}} | {{High/Med/Low}} | {{action}} |
89
+
90
+ ### Defect History / Known Problem Areas
91
+ - {{known_issue_1}}
92
+ - {{known_issue_2}}
93
+
94
+ ## 6. Existing QA State
95
+
96
+ ### 6.1 Current Testing
97
+ | Type | Coverage | Tools |
98
+ |------|----------|-------|
99
+ | {{Manual}} | {{areas}} | {{tool}} |
100
+ | {{Automated}} | {{areas}} | {{framework}} |
101
+
102
+ ### 6.2 CI/CD Pipeline
103
+ {{Description of current pipeline, what runs automatically, deployment process.}}
104
+
105
+ ### 6.3 Test Management
106
+ {{Tools used: Jira, Qase, TestRail, spreadsheets, none.}}
107
+
108
+ ## 7. Team & Infrastructure
109
+
110
+ ### 7.1 Team
111
+ | Role | Count | Automation Experience |
112
+ |------|-------|----------------------|
113
+ | {{QA}} | {{N}} | {{Junior/Mid/Senior}} |
114
+ | {{Dev}} | {{N}} | {{unit test writing}} |
115
+
116
+ ### 7.2 Environments
117
+ | Environment | Purpose | Status |
118
+ |-------------|---------|--------|
119
+ | {{dev}} | {{development}} | {{Active}} |
120
+ | {{staging}} | {{pre-production}} | {{Active / Missing}} |
121
+
122
+ ### 7.3 Browser / Device Matrix
123
+ | Browser/Device | Version | Priority |
124
+ |---------------|---------|----------|
125
+ | {{Chrome}} | {{latest}} | {{P0}} |
126
+ | {{Safari/iOS}} | {{latest}} | {{P1}} |
127
+
128
+ ## 8. Compliance & Standards
129
+
130
+ | Standard | Applicability | Level/Scope |
131
+ |----------|--------------|-------------|
132
+ | {{WCAG 2.2}} | {{Yes / No / TBD}} | {{Level AA}} |
133
+ | {{OWASP}} | {{Yes / No / TBD}} | {{Top 10}} |
134
+ | {{GDPR}} | {{Yes / No / TBD}} | {{EU users}} |
135
+ | {{Industry-specific}} | {{Yes / No / TBD}} | {{scope}} |
136
+
137
+ ## 9. Recommendations
138
+
139
+ ### 9.1 Recommended Testing Approach
140
+ {{Summary of recommended testing types, frameworks, and strategy.}}
141
+
142
+ ### 9.2 Recommended QA Skills Pipeline
143
+ ```
144
+ {{skill_1}} → {{skill_2}} → {{skill_3}} → {{skill_4}}
145
+ ```
146
+
147
+ ### 9.3 Estimated Timeline
148
+ | Phase | Duration | Activities |
149
+ |-------|----------|------------|
150
+ | {{Setup}} | {{X days}} | {{environment, tools, framework}} |
151
+ | {{Test Design}} | {{X days}} | {{test cases, test data}} |
152
+ | {{Automation}} | {{X days}} | {{test writing, CI integration}} |
153
+ | {{Execution}} | {{X days}} | {{test runs, bug filing}} |
154
+
155
+ ## 10. Open Questions & Assumptions
156
+
157
+ ### Open Questions
158
+ 1. {{question_needing_follow_up}}
159
+ 2. {{question_needing_follow_up}}
160
+
161
+ ### Assumptions
162
+ 1. {{assumption_made_during_interview}}
163
+ 2. {{assumption_made_during_interview}}
164
+
165
+ ### Conflicts Resolved
166
+ | Conflict | Resolution | Decided By |
167
+ |----------|------------|------------|
168
+ | {{conflict}} | {{resolution}} | {{stakeholder}} |
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: qa-environment-checker
3
+ description: Verify test environment readiness by checking services, databases, required accounts, configurations, dependencies, and tool availability before test execution.
4
+ ---
5
+
6
+ # QA Environment Checker
7
+
8
+ ## Purpose
9
+
10
+ Verify that the test environment is ready for test execution. Checks service health, database connectivity, required accounts, configuration files, dependencies, and tool availability. Produces an environment readiness report with pass/fail per check, setup instructions for failures, and automated fix suggestions.
11
+
12
+ ## Trigger Phrases
13
+
14
+ - "Check test environment" / "Environment readiness"
15
+ - "Verify environment before tests" / "Pre-test environment check"
16
+ - "Is my test env ready?" / "Environment validation"
17
+ - "Check services, DB, config before running tests"
18
+ - "Environment setup verification"
19
+ - "Dependency check for tests"
20
+ - "Health check for test environment"
21
+
22
+ ## Checks Performed
23
+
24
+ | Category | Checks |
25
+ |----------|--------|
26
+ | **Service health** | API endpoints responding (HTTP 2xx), health endpoints |
27
+ | **Database** | Connectivity, schema state, migrations applied |
28
+ | **Accounts/credentials** | Required test accounts exist; credentials valid |
29
+ | **Configuration** | Config files present and valid (JSON, YAML, .env) |
30
+ | **Dependencies** | Node.js, Python, Playwright browsers, npm/pnpm packages |
31
+ | **Tools** | git, npm/pnpm/yarn, docker, CLI tools available |
32
+ | **Environment variables** | .env validation; required vars set |
33
+ | **Port availability** | Required ports free (e.g., 3000, 5432, 8080) |
34
+ | **Disk space** | Sufficient space for test artifacts |
35
+ | **Network** | Connectivity to external services if needed |
36
+
37
+ See `references/health-checks.md` for service health patterns and `references/dependency-matrix.md` for dependency requirements by test type.
38
+
39
+ ## Output Format
40
+
41
+ ### Environment Readiness Report Template
42
+
43
+ ```markdown
44
+ # Environment Readiness Report
45
+
46
+ **Generated:** [timestamp]
47
+ **Target:** [project/env name]
48
+
49
+ ## Summary
50
+ | Status | Count |
51
+ |--------|-------|
52
+ | Pass | X |
53
+ | Fail | Y |
54
+ | Skip | Z |
55
+
56
+ **Overall:** Ready / Not ready
57
+
58
+ ## Checks
59
+
60
+ ### [Category]: [Check name]
61
+ - **Status:** Pass / Fail / Skip
62
+ - **Details:** [output or error message]
63
+ - **Fix (if failed):** [setup instructions or command]
64
+ - **Auto-fix available:** Yes / No
65
+
66
+ ## Failed Checks Summary
67
+ 1. [Check] — [Brief fix]
68
+ 2. [Check] — [Brief fix]
69
+
70
+ ## Setup Instructions
71
+ [Step-by-step for failed checks]
72
+
73
+ ## References
74
+ - Health checks: references/health-checks.md
75
+ - Dependency matrix: references/dependency-matrix.md
76
+ ```
77
+
78
+ ## Workflow
79
+
80
+ 1. **Identify scope** — User specifies project, test type (E2E, API, unit), or config path
81
+ 2. **Load dependency matrix** — Use `references/dependency-matrix.md` for required tools per test type
82
+ 3. **Run checks** — Execute health checks, connectivity tests, config validation
83
+ 4. **Collect results** — Pass/fail per check with details
84
+ 5. **Generate report** — Structured output per template
85
+ 6. **Provide fix suggestions** — Setup instructions, commands, or automated fix scripts for failures
86
+
87
+ ## Integration with Other Skills
88
+
89
+ | Need | Skill | Usage |
90
+ |------|-------|-------|
91
+ | Run tests after env ready | qa-playwright-ts-writer, qa-pytest-writer | Environment checker runs first |
92
+ | API contract for health | qa-api-contract-curator | Health endpoint specs |
93
+ | Test data setup | qa-data-factory | Seed data after DB check passes |
94
+
95
+ ## Scope
96
+
97
+ **Can do (autonomous):**
98
+ - Check service health (HTTP requests to health endpoints)
99
+ - Validate config files (syntax, required keys)
100
+ - Verify tool availability (which, version commands)
101
+ - Check env vars from .env (without exposing secrets)
102
+ - Produce readiness report with fix suggestions
103
+ - Reference health-checks and dependency-matrix
104
+
105
+ **Cannot do (requires confirmation):**
106
+ - Install dependencies or modify system (suggest only)
107
+ - Create accounts or credentials
108
+ - Run migrations (suggest commands only)
109
+ - Modify production or shared environments
110
+
111
+ **Will not do (out of scope):**
112
+ - Execute actual tests (only verify environment)
113
+ - Deploy or provision infrastructure
114
+ - Access restricted systems without permission
115
+ - Expose secrets in reports
116
+
117
+ ## References
118
+
119
+ | Topic | File |
120
+ |-------|------|
121
+ | Service health check patterns | `references/health-checks.md` |
122
+ | Dependency matrix by test type | `references/dependency-matrix.md` |
123
+
124
+ ## Quality Checklist
125
+
126
+ - [ ] All relevant checks run per test type (see dependency-matrix)
127
+ - [ ] Report includes pass/fail and fix suggestions for failures
128
+ - [ ] No secrets exposed in report output
129
+ - [ ] Setup instructions are actionable (commands, steps)
130
+ - [ ] Skip reason documented when check skipped
131
+ - [ ] References to health-checks and dependency-matrix correct
132
+
133
+ ## Troubleshooting
134
+
135
+ | Symptom | Likely Cause | Fix |
136
+ |---------|--------------|-----|
137
+ | Health check fails but service works | Wrong URL, auth, or timeout | Verify health endpoint in config; check health-checks.md |
138
+ | Dependency check reports missing | Wrong version or path | Update dependency-matrix for project stack |
139
+ | Config validation fails | Schema mismatch | Compare expected vs actual schema; document in report |
140
+ | Port check false positive | Process bound to different interface | Check 127.0.0.1 vs 0.0.0.0; document in health-checks |
141
+ | Report too noisy | Too many checks | Scope to test type; use dependency-matrix to filter |
142
+ | Auto-fix suggested but risky | Modifies system state | Mark as manual; require user confirmation |
@@ -0,0 +1,101 @@
1
+ # Dependency Matrix for Test Types
2
+
3
+ ## Overview
4
+
5
+ This reference defines which dependencies and tools are required for different test types. Use this to scope environment checks and avoid running irrelevant checks.
6
+
7
+ ## Test Type → Dependencies
8
+
9
+ | Test Type | Runtime | Tools | Services | Config |
10
+ |-----------|---------|-------|----------|--------|
11
+ | **Unit (Jest/Vitest)** | Node.js | npm/pnpm, jest/vitest | None | package.json, jest.config |
12
+ | **Unit (pytest)** | Python | pip, pytest | None | pyproject.toml, pytest.ini |
13
+ | **E2E (Playwright TS)** | Node.js | npm/pnpm, Playwright, browsers | Optional API | playwright.config.ts |
14
+ | **E2E (Playwright Py)** | Python | pip, Playwright, browsers | Optional API | pytest.ini, playwright |
15
+ | **E2E (Cypress)** | Node.js | npm/pnpm, Cypress | Optional API | cypress.config.ts |
16
+ | **API (Supertest/httpx)** | Node/Python | Runtime + HTTP client | API under test | BASE_URL, .env |
17
+ | **API (Postman/k6)** | Node/standalone | Postman/k6 CLI | API under test | Collection, env vars |
18
+ | **DB integration** | Runtime | DB client | Database | DATABASE_URL, migrations |
19
+ | **Visual regression** | Node.js | Playwright/Percy/Backstop | App server | Screenshot config |
20
+ | **Performance (k6)** | Standalone | k6 binary | Target URL | k6 script |
21
+ | **Performance (JMeter)** | JVM | Java, JMeter | Target URL | .jmx plan |
22
+ | **Security (ZAP)** | Java | Java, ZAP | Target URL | ZAP config |
23
+ | **Mobile (Appium)** | Node/Python | Appium, drivers | Device/emulator | Appium config |
24
+
25
+ ## Runtime Version Requirements
26
+
27
+ | Runtime | Minimum | Recommended |
28
+ |---------|---------|-------------|
29
+ | Node.js | 18.x | 20.x LTS |
30
+ | Python | 3.10 | 3.12 |
31
+ | Java (JMeter) | 11 | 17 |
32
+ | Java (ZAP) | 11 | 17 |
33
+
34
+ ## Package Manager Checks
35
+
36
+ | Manager | Check Command |
37
+ |---------|---------------|
38
+ | npm | `npm --version` |
39
+ | pnpm | `pnpm --version` |
40
+ | yarn | `yarn --version` |
41
+ | pip | `pip --version` |
42
+ | poetry | `poetry --version` |
43
+
44
+ ## Browser/Driver Checks
45
+
46
+ | Tool | Check |
47
+ |------|-------|
48
+ | Playwright | `npx playwright install chromium` (or verify browsers exist) |
49
+ | Cypress | `npx cypress verify` |
50
+ | Chrome/Chromium | Path in PATH or known location |
51
+ | WebDriver | chromedriver/geckodriver version |
52
+
53
+ ## Database Clients
54
+
55
+ | DB | Package/Driver |
56
+ |----|----------------|
57
+ | PostgreSQL | psycopg2, pg, postgres.js |
58
+ | MySQL | mysql-connector, mysql2 |
59
+ | MongoDB | pymongo, mongodb |
60
+ | SQLite | built-in (sqlite3) |
61
+ | Redis | redis, ioredis |
62
+
63
+ ## Environment Variables by Test Type
64
+
65
+ | Test Type | Typical Required Vars |
66
+ |-----------|------------------------|
67
+ | E2E | BASE_URL, (optional) TEST_USER, TEST_PASSWORD |
68
+ | API | BASE_URL, API_KEY (if auth) |
69
+ | DB | DATABASE_URL |
70
+ | Auth tests | TEST_USER, TEST_PASSWORD, ADMIN_USER |
71
+ | External services | MOCK_SERVER_URL, WEBHOOK_URL |
72
+
73
+ ## Config File Locations
74
+
75
+ | Stack | Config Files |
76
+ |-------|--------------|
77
+ | Node/TS | package.json, tsconfig.json, .env |
78
+ | Jest | jest.config.js, jest.config.ts |
79
+ | Vitest | vitest.config.ts |
80
+ | Playwright | playwright.config.ts |
81
+ | Cypress | cypress.config.ts |
82
+ | pytest | pyproject.toml, pytest.ini, conftest.py |
83
+ | Robot | robot.yaml, variables.py |
84
+
85
+ ## Check Order Recommendation
86
+
87
+ 1. **Runtime** (Node/Python/Java) — Fail fast if missing
88
+ 2. **Package manager** — Required for install
89
+ 3. **Config files** — Present and valid
90
+ 4. **Dependencies installed** — node_modules, venv, etc.
91
+ 5. **Tools** (Playwright, Cypress) — If E2E
92
+ 6. **Services** (API, DB) — If integration/E2E
93
+ 7. **Env vars** — Required vars set
94
+ 8. **Ports** — If binding local server
95
+
96
+ ## Skipping Checks
97
+
98
+ - **Unit-only:** Skip API, DB, browser checks
99
+ - **API-only:** Skip browser, DB (unless API uses DB)
100
+ - **E2E:** Run full matrix
101
+ - **CI vs local:** CI may have different env (e.g., no browsers in headless runner)
@@ -0,0 +1,209 @@
1
+ # Service Health Check Patterns
2
+
3
+ ## Overview
4
+
5
+ This reference documents patterns for verifying service health before test execution. Use these patterns when implementing environment checks for APIs, databases, and external services.
6
+
7
+ ## HTTP Health Endpoints
8
+
9
+ ### Basic GET Check
10
+
11
+ ```bash
12
+ # Simple health check
13
+ curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/health
14
+ # Expected: 200
15
+ ```
16
+
17
+ ### With Timeout
18
+
19
+ ```bash
20
+ curl -s -o /dev/null -w "%{http_code}" --max-time 5 http://localhost:3000/health
21
+ ```
22
+
23
+ ### TypeScript/Node (fetch)
24
+
25
+ ```typescript
26
+ async function checkHealth(url: string, timeoutMs = 5000): Promise<boolean> {
27
+ const controller = new AbortController();
28
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
29
+ try {
30
+ const res = await fetch(url, { signal: controller.signal });
31
+ clearTimeout(timeout);
32
+ return res.ok; // 2xx
33
+ } catch {
34
+ clearTimeout(timeout);
35
+ return false;
36
+ }
37
+ }
38
+ ```
39
+
40
+ ### Python (httpx/requests)
41
+
42
+ ```python
43
+ def check_health(url: str, timeout: float = 5.0) -> bool:
44
+ try:
45
+ r = httpx.get(url, timeout=timeout)
46
+ return 200 <= r.status_code < 300
47
+ except Exception:
48
+ return False
49
+ ```
50
+
51
+ ## Common Health Endpoint Paths
52
+
53
+ | Framework/Stack | Typical Path | Notes |
54
+ |-----------------|--------------|-------|
55
+ | Express/Koa | `/health`, `/healthz`, `/ready` | Often custom |
56
+ | Spring Boot | `/actuator/health` | JSON with status |
57
+ | FastAPI | `/health`, `/docs` | OpenAPI at /docs |
58
+ | Django | `/health/` | May need django-health-check |
59
+ | Kubernetes | `/healthz`, `/readyz` | Liveness vs readiness |
60
+
61
+ ## Database Connectivity
62
+
63
+ ### PostgreSQL
64
+
65
+ ```bash
66
+ pg_isready -h localhost -p 5432 -U testuser
67
+ # Exit 0 = ready
68
+ ```
69
+
70
+ ```python
71
+ # Python
72
+ def check_postgres(conn_str: str) -> bool:
73
+ try:
74
+ with psycopg2.connect(conn_str) as conn:
75
+ conn.execute("SELECT 1")
76
+ return True
77
+ except Exception:
78
+ return False
79
+ ```
80
+
81
+ ### MySQL/MariaDB
82
+
83
+ ```bash
84
+ mysqladmin ping -h localhost -u testuser -p
85
+ ```
86
+
87
+ ### MongoDB
88
+
89
+ ```bash
90
+ mongosh --eval "db.adminCommand('ping')" --quiet
91
+ # Exit 0 = ok
92
+ ```
93
+
94
+ ### SQLite
95
+
96
+ ```python
97
+ def check_sqlite(path: str) -> bool:
98
+ try:
99
+ conn = sqlite3.connect(path, timeout=2)
100
+ conn.execute("SELECT 1")
101
+ conn.close()
102
+ return True
103
+ except Exception:
104
+ return False
105
+ ```
106
+
107
+ ## Redis
108
+
109
+ ```bash
110
+ redis-cli ping
111
+ # Expected: PONG
112
+ ```
113
+
114
+ ## Docker Services
115
+
116
+ ```bash
117
+ # Check container running
118
+ docker ps --filter "name=postgres" --format "{{.Status}}"
119
+ # Expected: Up X minutes/hours
120
+
121
+ # Check container health (if healthcheck defined)
122
+ docker inspect --format='{{.State.Health.Status}}' postgres
123
+ # Expected: healthy
124
+ ```
125
+
126
+ ## Port Availability
127
+
128
+ ### Check if port is in use
129
+
130
+ ```bash
131
+ # Linux/macOS
132
+ lsof -i :3000
133
+ # Or
134
+ netstat -tuln | grep 3000
135
+
136
+ # Windows
137
+ netstat -ano | findstr :3000
138
+ ```
139
+
140
+ ### Check if port is free (for binding)
141
+
142
+ ```python
143
+ import socket
144
+ def is_port_free(host: str, port: int) -> bool:
145
+ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
146
+ try:
147
+ s.bind((host, port))
148
+ return True
149
+ except OSError:
150
+ return False
151
+ ```
152
+
153
+ ## Environment Variables
154
+
155
+ ### Required vars validation
156
+
157
+ ```python
158
+ REQUIRED_VARS = ["DATABASE_URL", "API_KEY", "BASE_URL"]
159
+
160
+ def check_env_vars() -> list[str]:
161
+ missing = [v for v in REQUIRED_VARS if not os.environ.get(v)]
162
+ return missing
163
+ ```
164
+
165
+ ### .env file presence and format
166
+
167
+ - Check file exists
168
+ - Parse and validate (no secrets in output)
169
+ - Report missing required keys
170
+
171
+ ## Tool Availability
172
+
173
+ ### Version checks
174
+
175
+ ```bash
176
+ node --version # v18.x, v20.x
177
+ python --version # 3.10+
178
+ pnpm --version
179
+ docker --version
180
+ git --version
181
+ ```
182
+
183
+ ### Playwright browsers
184
+
185
+ ```bash
186
+ npx playwright install --dry-run
187
+ # Or
188
+ npx playwright install chromium
189
+ ```
190
+
191
+ ## Retry and Backoff
192
+
193
+ For flaky services, use retry with exponential backoff:
194
+
195
+ ```python
196
+ def check_with_retry(check_fn, max_attempts=3, delay=2):
197
+ for i in range(max_attempts):
198
+ if check_fn():
199
+ return True
200
+ if i < max_attempts - 1:
201
+ time.sleep(delay * (2 ** i))
202
+ return False
203
+ ```
204
+
205
+ ## Security Notes
206
+
207
+ - Never log or report full connection strings or secrets
208
+ - Use masked values in reports (e.g., `DATABASE_URL=***@localhost`)
209
+ - Prefer health endpoints over raw DB checks when available
@@ -0,0 +1,64 @@
1
+ # Environment Readiness Checklist
2
+
3
+ **Environment:** {staging | UAT | production | local}
4
+ **Date:** {YYYY-MM-DD}
5
+ **Checked by:** {name}
6
+
7
+ ---
8
+
9
+ ## Services
10
+
11
+ | Service | URL | Status | Notes |
12
+ |---------|-----|--------|-------|
13
+ | {service name} | {URL} | ☐ Up ☐ Down ☐ Unknown | |
14
+ | {service name} | {URL} | ☐ Up ☐ Down ☐ Unknown | |
15
+ | {service name} | {URL} | ☐ Up ☐ Down ☐ Unknown | |
16
+
17
+ ---
18
+
19
+ ## Database
20
+
21
+ | Check | Status | Notes |
22
+ |-------|--------|-------|
23
+ | Connection | ☐ OK ☐ Fail | {connection string or host} |
24
+ | Migrations applied | ☐ Yes ☐ No ☐ N/A | {version if applicable} |
25
+ | Test data seeded | ☐ Yes ☐ No ☐ N/A | |
26
+
27
+ ---
28
+
29
+ ## Accounts
30
+
31
+ | Account | Purpose | Status |
32
+ |---------|---------|--------|
33
+ | {user/role} | {purpose} | ☐ Ready ☐ Missing |
34
+ | {user/role} | {purpose} | ☐ Ready ☐ Missing |
35
+
36
+ ---
37
+
38
+ ## Configuration
39
+
40
+ - ☐ Config files present: {path}
41
+ - ☐ Environment variables set: {list or N/A}
42
+ - ☐ Feature flags: {enabled/disabled as expected}
43
+
44
+ ---
45
+
46
+ ## Dependencies & Tools
47
+
48
+ | Tool | Required Version | Installed | Status |
49
+ |------|------------------|-----------|--------|
50
+ | {tool} | {version} | {version} | ☐ OK ☐ Missing |
51
+ | {tool} | {version} | {version} | ☐ OK ☐ Missing |
52
+
53
+ ---
54
+
55
+ ## Ports & Network
56
+
57
+ | Port | Service | Status |
58
+ |------|---------|--------|
59
+ | {port} | {service} | ☐ Open ☐ Blocked |
60
+ | {port} | {service} | ☐ Open ☐ Blocked |
61
+
62
+ ---
63
+
64
+ **Overall:** ☐ Ready for testing ☐ Not ready — blockers: {list}