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,404 @@
1
+ # OpenAPI 3.x Specification Structure Reference
2
+
3
+ Reference for building and validating OpenAPI 3.x specifications. Use when generating or curating API contracts.
4
+
5
+ ## Document Root
6
+
7
+ ```yaml
8
+ openapi: 3.0.3
9
+ info:
10
+ title: API Title
11
+ description: API description
12
+ version: 1.0.0
13
+ contact:
14
+ name: API Support
15
+ email: support@example.com
16
+ servers:
17
+ - url: https://api.example.com/v1
18
+ description: Production
19
+ - url: https://staging-api.example.com/v1
20
+ description: Staging
21
+ paths: {}
22
+ components: {}
23
+ ```
24
+
25
+ ## Paths
26
+
27
+ ### Basic Path Structure
28
+
29
+ ```yaml
30
+ paths:
31
+ /users:
32
+ get:
33
+ summary: List users
34
+ operationId: listUsers
35
+ tags:
36
+ - Users
37
+ parameters: []
38
+ responses:
39
+ '200':
40
+ description: Success
41
+ content:
42
+ application/json:
43
+ schema:
44
+ $ref: '#/components/schemas/UserList'
45
+ post:
46
+ summary: Create user
47
+ operationId: createUser
48
+ tags:
49
+ - Users
50
+ requestBody:
51
+ required: true
52
+ content:
53
+ application/json:
54
+ schema:
55
+ $ref: '#/components/schemas/UserCreate'
56
+ responses:
57
+ '201':
58
+ description: Created
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: '#/components/schemas/User'
63
+ '400':
64
+ description: Validation error
65
+ content:
66
+ application/json:
67
+ schema:
68
+ $ref: '#/components/schemas/Error'
69
+
70
+ /users/{userId}:
71
+ parameters:
72
+ - $ref: '#/components/parameters/UserId'
73
+ get:
74
+ summary: Get user by ID
75
+ operationId: getUserById
76
+ responses:
77
+ '200':
78
+ description: Success
79
+ content:
80
+ application/json:
81
+ schema:
82
+ $ref: '#/components/schemas/User'
83
+ '404':
84
+ description: Not found
85
+ ```
86
+
87
+ ### Path Parameters
88
+
89
+ ```yaml
90
+ /users/{userId}/orders/{orderId}:
91
+ parameters:
92
+ - name: userId
93
+ in: path
94
+ required: true
95
+ schema:
96
+ type: string
97
+ format: uuid
98
+ - name: orderId
99
+ in: path
100
+ required: true
101
+ schema:
102
+ type: string
103
+ ```
104
+
105
+ ## Parameters
106
+
107
+ ### Query Parameters
108
+
109
+ ```yaml
110
+ parameters:
111
+ - name: page
112
+ in: query
113
+ description: Page number (1-based)
114
+ schema:
115
+ type: integer
116
+ minimum: 1
117
+ default: 1
118
+ - name: limit
119
+ in: query
120
+ description: Items per page
121
+ schema:
122
+ type: integer
123
+ minimum: 1
124
+ maximum: 100
125
+ default: 20
126
+ - name: sort
127
+ in: query
128
+ schema:
129
+ type: string
130
+ enum: [createdAt, updatedAt, name]
131
+ - name: filter
132
+ in: query
133
+ description: JSON filter expression
134
+ schema:
135
+ type: string
136
+ ```
137
+
138
+ ### Header Parameters
139
+
140
+ ```yaml
141
+ parameters:
142
+ - name: X-Request-ID
143
+ in: header
144
+ description: Idempotency key
145
+ schema:
146
+ type: string
147
+ format: uuid
148
+ - name: X-Correlation-ID
149
+ in: header
150
+ schema:
151
+ type: string
152
+ ```
153
+
154
+ ## Schemas (Components)
155
+
156
+ ### Basic Schema
157
+
158
+ ```yaml
159
+ components:
160
+ schemas:
161
+ User:
162
+ type: object
163
+ required:
164
+ - id
165
+ - email
166
+ properties:
167
+ id:
168
+ type: string
169
+ format: uuid
170
+ readOnly: true
171
+ email:
172
+ type: string
173
+ format: email
174
+ name:
175
+ type: string
176
+ nullable: true
177
+ createdAt:
178
+ type: string
179
+ format: date-time
180
+ readOnly: true
181
+ ```
182
+
183
+ ### Schema with Examples
184
+
185
+ ```yaml
186
+ User:
187
+ type: object
188
+ properties:
189
+ id:
190
+ type: string
191
+ format: uuid
192
+ example: "550e8400-e29b-41d4-a716-446655440000"
193
+ email:
194
+ type: string
195
+ format: email
196
+ example: "user@example.com"
197
+ example:
198
+ id: "550e8400-e29b-41d4-a716-446655440000"
199
+ email: "user@example.com"
200
+ name: "Jane Doe"
201
+ createdAt: "2024-01-15T10:30:00Z"
202
+ ```
203
+
204
+ ### Array Schema
205
+
206
+ ```yaml
207
+ UserList:
208
+ type: object
209
+ properties:
210
+ items:
211
+ type: array
212
+ items:
213
+ $ref: '#/components/schemas/User'
214
+ total:
215
+ type: integer
216
+ description: Total count
217
+ page:
218
+ type: integer
219
+ limit:
220
+ type: integer
221
+ ```
222
+
223
+ ### Enum and OneOf
224
+
225
+ ```yaml
226
+ OrderStatus:
227
+ type: string
228
+ enum: [pending, confirmed, shipped, delivered, cancelled]
229
+
230
+ PaymentMethod:
231
+ oneOf:
232
+ - $ref: '#/components/schemas/CardPayment'
233
+ - $ref: '#/components/schemas/BankTransfer'
234
+ ```
235
+
236
+ ### Error Schema
237
+
238
+ ```yaml
239
+ Error:
240
+ type: object
241
+ required:
242
+ - code
243
+ - message
244
+ properties:
245
+ code:
246
+ type: string
247
+ example: "VALIDATION_ERROR"
248
+ message:
249
+ type: string
250
+ example: "Invalid input"
251
+ details:
252
+ type: array
253
+ items:
254
+ type: object
255
+ properties:
256
+ field:
257
+ type: string
258
+ reason:
259
+ type: string
260
+ ```
261
+
262
+ ## Security Schemes
263
+
264
+ ### API Key (Header)
265
+
266
+ ```yaml
267
+ components:
268
+ securitySchemes:
269
+ ApiKeyAuth:
270
+ type: apiKey
271
+ in: header
272
+ name: X-API-Key
273
+ description: API key for authentication
274
+ ```
275
+
276
+ ### Bearer JWT
277
+
278
+ ```yaml
279
+ BearerAuth:
280
+ type: http
281
+ scheme: bearer
282
+ bearerFormat: JWT
283
+ description: JWT token from /auth/login
284
+ ```
285
+
286
+ ### OAuth2
287
+
288
+ ```yaml
289
+ OAuth2:
290
+ type: oauth2
291
+ flows:
292
+ authorizationCode:
293
+ authorizationUrl: https://auth.example.com/oauth/authorize
294
+ tokenUrl: https://auth.example.com/oauth/token
295
+ scopes:
296
+ read: Read access
297
+ write: Write access
298
+ ```
299
+
300
+ ### Applying Security
301
+
302
+ ```yaml
303
+ # Global (all operations)
304
+ security:
305
+ - ApiKeyAuth: []
306
+
307
+ # Per-operation override
308
+ paths:
309
+ /users:
310
+ get:
311
+ security: [] # Public
312
+ post:
313
+ security:
314
+ - BearerAuth: [write]
315
+ ```
316
+
317
+ ## Responses
318
+
319
+ ### Success and Error Responses
320
+
321
+ ```yaml
322
+ responses:
323
+ '200':
324
+ description: Success
325
+ content:
326
+ application/json:
327
+ schema:
328
+ $ref: '#/components/schemas/User'
329
+ examples:
330
+ default:
331
+ value:
332
+ id: "550e8400-e29b-41d4-a716-446655440000"
333
+ email: "user@example.com"
334
+ '400':
335
+ description: Bad request
336
+ content:
337
+ application/json:
338
+ schema:
339
+ $ref: '#/components/schemas/Error'
340
+ '401':
341
+ description: Unauthorized
342
+ '404':
343
+ description: Not found
344
+ '500':
345
+ description: Internal server error
346
+ ```
347
+
348
+ ## Reusable Components
349
+
350
+ ### Parameters
351
+
352
+ ```yaml
353
+ components:
354
+ parameters:
355
+ UserId:
356
+ name: userId
357
+ in: path
358
+ required: true
359
+ schema:
360
+ type: string
361
+ format: uuid
362
+ PageSize:
363
+ name: limit
364
+ in: query
365
+ schema:
366
+ type: integer
367
+ default: 20
368
+ maximum: 100
369
+ ```
370
+
371
+ ### Examples
372
+
373
+ ```yaml
374
+ components:
375
+ examples:
376
+ UserExample:
377
+ summary: Sample user
378
+ value:
379
+ id: "550e8400-e29b-41d4-a716-446655440000"
380
+ email: "jane@example.com"
381
+ name: "Jane Doe"
382
+ ```
383
+
384
+ ## Tags
385
+
386
+ ```yaml
387
+ tags:
388
+ - name: Users
389
+ description: User management operations
390
+ - name: Orders
391
+ description: Order lifecycle operations
392
+ ```
393
+
394
+ ## Deprecation
395
+
396
+ ```yaml
397
+ paths:
398
+ /v1/legacy/users:
399
+ deprecated: true
400
+ get:
401
+ summary: List users (deprecated)
402
+ deprecated: true
403
+ description: Use GET /v2/users instead. Will be removed in v3.
404
+ ```
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: qa-browser-data-collector
3
+ description: Autonomously explore live web applications using Playwright MCP to collect page structure, form fields, validation rules, API endpoints, and user flows for test case generation.
4
+ ---
5
+
6
+ # QA Browser Data Collector
7
+
8
+ ## Purpose
9
+
10
+ Use Playwright MCP to autonomously explore live web applications and collect structured data for test generation. The skill navigates URLs, captures accessibility snapshots, inspects forms, records network traffic, and maps navigation paths—producing a "UI spec" that feeds into test case generators (e.g., qa-testcase-from-docs, qa-playwright-ts-writer).
11
+
12
+ ## Trigger Phrases
13
+
14
+ - "Collect data from [URL]" / "Explore [app URL] and gather UI spec"
15
+ - "Capture form fields and validation from [URL]"
16
+ - "Map navigation and API calls for [application]"
17
+ - "Generate UI spec from live app at [URL]"
18
+ - "Browser data collection for test generation"
19
+ - "Explore [URL] and extract page structure, forms, and endpoints"
20
+
21
+ ## Data Collection Workflow
22
+
23
+ 1. **Navigate URLs** — Open target URLs via Playwright MCP; support multiple entry points (home, login, key flows).
24
+ 2. **Capture accessibility snapshots** — Use snapshot tools to extract DOM structure, headings, landmarks, interactive elements.
25
+ 3. **Collect form fields & validation rules** — Identify inputs, selects, textareas; infer types, required/optional, placeholders, validation patterns.
26
+ 4. **Record error messages** — Trigger validation (e.g., submit empty), capture error text, fallback pages, toast/alert messages.
27
+ 5. **Capture API endpoints from network** — Intercept or record XHR/fetch requests: endpoints, methods, status codes, payloads.
28
+ 6. **Map navigation paths** — Extract links, menus, breadcrumbs, routing patterns; document user flow sequences.
29
+ 7. **Screenshot pages** — Capture key screens for visual reference and test traceability.
30
+ 8. **Extract state transitions** — Document login/logout, modal open/close, tab switches, conditional visibility.
31
+
32
+ ## Collected Data Types
33
+
34
+ | Category | Examples |
35
+ |----------|----------|
36
+ | **Page structure** | DOM tree, headings (h1–h6), landmarks (main, nav, aside), ARIA roles |
37
+ | **Forms** | Fields (name, type, placeholder, required/optional), validation rules, submit targets |
38
+ | **Navigation** | Links (href, text), menus, breadcrumbs, routing patterns |
39
+ | **API calls** | Endpoints, HTTP methods, status codes, request/response payloads |
40
+ | **Error handling** | Validation messages, error pages, fallbacks, console errors |
41
+ | **Authentication flows** | Login form, session indicators, token storage, logout paths |
42
+
43
+ ## Output Format
44
+
45
+ Structured "UI spec" suitable for test case generators:
46
+
47
+ ```json
48
+ {
49
+ "url": "https://example.com/login",
50
+ "collectedAt": "ISO8601",
51
+ "pages": [
52
+ {
53
+ "path": "/login",
54
+ "title": "Sign In",
55
+ "headings": ["Sign In", "Forgot password?"],
56
+ "forms": [
57
+ {
58
+ "id": "login-form",
59
+ "fields": [
60
+ { "name": "email", "type": "email", "required": true },
61
+ { "name": "password", "type": "password", "required": true }
62
+ ],
63
+ "submitButton": "Sign In",
64
+ "validationMessages": ["Email is required", "Invalid email format"]
65
+ }
66
+ ],
67
+ "links": [...],
68
+ "apiCalls": [...]
69
+ }
70
+ ],
71
+ "navigationPaths": [...],
72
+ "authFlow": { "login": "/login", "logout": "/logout" }
73
+ }
74
+ ```
75
+
76
+ Markdown output is also supported for human-readable specs. See `references/data-collection-checklist.md` for a full checklist.
77
+
78
+ ## Scope
79
+
80
+ **Can do (autonomous):**
81
+ - Navigate to provided URLs and follow links within scope
82
+ - Capture accessibility snapshots and extract structure
83
+ - Inspect forms (fields, types, validation) without submitting real data
84
+ - Record network requests (endpoints, methods, status codes)
85
+ - Map navigation paths and document user flows
86
+ - Take screenshots for reference
87
+ - Produce structured JSON/markdown UI spec
88
+ - Reference `references/data-collection-checklist.md` and `references/playwright-mcp-patterns.md`
89
+
90
+ **Cannot do (requires confirmation):**
91
+ - Navigate to URLs not explicitly provided
92
+ - Submit forms with real user data (use placeholders/test data only)
93
+ - Access authenticated areas without credentials provided by user
94
+ - Modify app state beyond read-only exploration
95
+
96
+ **Will not do (out of scope):**
97
+ - **Modify any data in the application** — No form submissions with real data, no create/update/delete actions
98
+ - Execute tests or assertions
99
+ - Generate test code (hand off to qa-playwright-ts-writer or similar)
100
+ - Bypass security or access restricted areas without permission
101
+
102
+ ## Quality Checklist
103
+
104
+ Before delivering a UI spec:
105
+
106
+ - [ ] All target URLs explored per user scope
107
+ - [ ] Page structure captured (headings, landmarks, key elements)
108
+ - [ ] Forms documented with field types, required/optional, validation
109
+ - [ ] API endpoints recorded with method, path, and status
110
+ - [ ] Navigation paths mapped (links, menus, flows)
111
+ - [ ] Error/validation messages captured where applicable
112
+ - [ ] Screenshots taken for key pages
113
+ - [ ] Output format valid (JSON or markdown)
114
+ - [ ] No real user data submitted or stored
115
+ - [ ] Scope boundaries respected (no unintended modifications)
116
+
117
+ ## Troubleshooting
118
+
119
+ | Symptom | Likely Cause | Fix |
120
+ |---------|--------------|-----|
121
+ | Snapshot empty or incomplete | Page not fully loaded, SPA hydration | Use wait patterns; retry snapshot after load |
122
+ | Forms not detected | Dynamic forms, iframes | Check for iframes; wait for form visibility |
123
+ | API calls not captured | Network interception not active | Ensure network recording started before navigation |
124
+ | Login required | Protected area | Ask user for test credentials or skip authenticated routes |
125
+ | Rate limiting / blocking | Bot detection | Reduce request frequency; use realistic delays |
126
+ | CORS or mixed content | Cross-origin restrictions | Document observed behavior; note limitations |
127
+ | Element refs stale | DOM changed between snapshot and action | Re-snapshot before interaction |
128
+
129
+ ## References
130
+
131
+ - `references/data-collection-checklist.md` — Checklist of data points to collect per page
132
+ - `references/playwright-mcp-patterns.md` — Common Playwright MCP patterns for data collection
@@ -0,0 +1,91 @@
1
+ # Data Collection Checklist
2
+
3
+ Use this checklist when collecting data from each page during browser exploration. Tick items as they are captured.
4
+
5
+ ## Page Metadata
6
+
7
+ - [ ] **URL** — Full URL of the page
8
+ - [ ] **Title** — Document title (`<title>`)
9
+ - [ ] **Timestamp** — When the page was captured
10
+
11
+ ## Page Structure
12
+
13
+ - [ ] **Headings** — h1, h2, h3, h4, h5, h6 (text and hierarchy)
14
+ - [ ] **Landmarks** — main, nav, aside, header, footer, section
15
+ - [ ] **ARIA roles** — role attributes on key containers
16
+ - [ ] **DOM depth** — Notable nesting for key interactive areas
17
+
18
+ ## Forms
19
+
20
+ - [ ] **Form ID/name** — Form identifier
21
+ - [ ] **Action URL** — Form action (if present)
22
+ - [ ] **Method** — GET or POST
23
+ - [ ] **Fields:**
24
+ - [ ] Name/label
25
+ - [ ] Input type (text, email, password, number, checkbox, radio, select, textarea)
26
+ - [ ] Required vs optional
27
+ - [ ] Placeholder text
28
+ - [ ] Validation attributes (min, max, pattern, maxlength)
29
+ - [ ] Autocomplete hints
30
+ - [ ] **Submit button** — Text and selector
31
+ - [ ] **Validation messages** — Trigger validation and capture error text
32
+
33
+ ## Links
34
+
35
+ - [ ] **Internal links** — href, link text, destination
36
+ - [ ] **External links** — href, link text (for documentation)
37
+ - [ ] **Navigation menu items** — Structure and labels
38
+ - [ ] **Breadcrumbs** — If present, full path
39
+
40
+ ## Buttons
41
+
42
+ - [ ] **Primary actions** — Text, type (button/submit), associated form
43
+ - [ ] **Secondary actions** — Cancel, back, etc.
44
+ - [ ] **Icon buttons** — aria-label or title for accessibility
45
+
46
+ ## Images
47
+
48
+ - [ ] **Decorative images** — Count and context
49
+ - [ ] **Content images** — alt text, src (for traceability)
50
+ - [ ] **Lazy-loaded images** — Note loading behavior
51
+
52
+ ## Tables
53
+
54
+ - [ ] **Table structure** — Headers, rows, columns
55
+ - [ ] **Sortable columns** — If applicable
56
+ - [ ] **Row actions** — Edit, delete, view links
57
+ - [ ] **Pagination** — Controls and behavior
58
+
59
+ ## Modals & Dialogs
60
+
61
+ - [ ] **Modal triggers** — Buttons/links that open modals
62
+ - [ ] **Modal content** — Title, body, form fields
63
+ - [ ] **Close behavior** — Close button, overlay click, Escape
64
+ - [ ] **Confirm/Cancel** — Button labels and actions
65
+
66
+ ## Network Requests
67
+
68
+ - [ ] **XHR/Fetch** — Endpoint, method, status code
69
+ - [ ] **Request payload** — Structure (not sensitive values)
70
+ - [ ] **Response structure** — Key fields for assertions
71
+ - [ ] **WebSocket** — If applicable, connection URL and message types
72
+
73
+ ## Console & Errors
74
+
75
+ - [ ] **Console errors** — JavaScript errors on load
76
+ - [ ] **Console warnings** — Notable warnings
77
+ - [ ] **404 or error pages** — Structure of error fallbacks
78
+
79
+ ## State & Transitions
80
+
81
+ - [ ] **Authentication state** — Logged in vs logged out indicators
82
+ - [ ] **Conditional visibility** — Elements that appear based on state
83
+ - [ ] **Tab/accordion state** — Default open/closed
84
+ - [ ] **Loading states** — Spinners, skeletons, disabled buttons
85
+
86
+ ## Screenshots
87
+
88
+ - [ ] **Full page** — For key pages
89
+ - [ ] **Above-the-fold** — Initial viewport
90
+ - [ ] **Modals** — When open (if applicable)
91
+ - [ ] **Error states** — Validation or error page captures