qa-skills 3.0.0 → 3.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/README.md +20 -149
  2. package/bin/cli.js +1 -40
  3. package/package.json +23 -26
  4. package/dist/agents/registry.d.ts +0 -5
  5. package/dist/agents/registry.d.ts.map +0 -1
  6. package/dist/agents/registry.js +0 -101
  7. package/dist/agents/registry.js.map +0 -1
  8. package/dist/agents/types.d.ts +0 -9
  9. package/dist/agents/types.d.ts.map +0 -1
  10. package/dist/agents/types.js +0 -2
  11. package/dist/agents/types.js.map +0 -1
  12. package/dist/dependencies.d.ts +0 -21
  13. package/dist/dependencies.d.ts.map +0 -1
  14. package/dist/dependencies.js +0 -125
  15. package/dist/dependencies.js.map +0 -1
  16. package/dist/installer.d.ts +0 -25
  17. package/dist/installer.d.ts.map +0 -1
  18. package/dist/installer.js +0 -437
  19. package/dist/installer.js.map +0 -1
  20. package/dist/scaffold.d.ts +0 -27
  21. package/dist/scaffold.d.ts.map +0 -1
  22. package/dist/scaffold.js +0 -182
  23. package/dist/scaffold.js.map +0 -1
  24. package/skills/qa-accessibility-test-writer/SKILL.md +0 -127
  25. package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +0 -349
  26. package/skills/qa-accessibility-test-writer/references/best-practices.md +0 -184
  27. package/skills/qa-accessibility-test-writer/references/wcag-tests.md +0 -331
  28. package/skills/qa-api-contract-curator/SKILL.md +0 -104
  29. package/skills/qa-api-contract-curator/references/breaking-changes.md +0 -363
  30. package/skills/qa-api-contract-curator/references/openapi-structure.md +0 -404
  31. package/skills/qa-browser-data-collector/SKILL.md +0 -132
  32. package/skills/qa-browser-data-collector/references/data-collection-checklist.md +0 -91
  33. package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +0 -113
  34. package/skills/qa-bug-ticket-creator/SKILL.md +0 -148
  35. package/skills/qa-bug-ticket-creator/references/bug-report-format.md +0 -149
  36. package/skills/qa-bug-ticket-creator/references/severity-guide.md +0 -81
  37. package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +0 -39
  38. package/skills/qa-changelog-analyzer/SKILL.md +0 -134
  39. package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +0 -138
  40. package/skills/qa-changelog-analyzer/references/impact-mapping.md +0 -120
  41. package/skills/qa-clickup-integration/SKILL.md +0 -166
  42. package/skills/qa-clickup-integration/references/api-patterns.md +0 -102
  43. package/skills/qa-clickup-integration/references/field-mapping.md +0 -71
  44. package/skills/qa-codeceptjs-writer/SKILL.md +0 -136
  45. package/skills/qa-codeceptjs-writer/references/best-practices.md +0 -207
  46. package/skills/qa-codeceptjs-writer/references/config.md +0 -255
  47. package/skills/qa-codeceptjs-writer/references/patterns.md +0 -285
  48. package/skills/qa-coverage-analyzer/SKILL.md +0 -166
  49. package/skills/qa-coverage-analyzer/references/best-practices.md +0 -142
  50. package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +0 -155
  51. package/skills/qa-coverage-analyzer/references/tools.md +0 -204
  52. package/skills/qa-cypress-writer/SKILL.md +0 -134
  53. package/skills/qa-cypress-writer/references/assertions.md +0 -121
  54. package/skills/qa-cypress-writer/references/best-practices.md +0 -82
  55. package/skills/qa-cypress-writer/references/config.md +0 -121
  56. package/skills/qa-cypress-writer/references/patterns.md +0 -170
  57. package/skills/qa-data-factory/SKILL.md +0 -126
  58. package/skills/qa-data-factory/references/factory-patterns.md +0 -164
  59. package/skills/qa-data-factory/references/faker-guide.md +0 -131
  60. package/skills/qa-diagram-generator/SKILL.md +0 -125
  61. package/skills/qa-diagram-generator/references/c4-model.md +0 -53
  62. package/skills/qa-diagram-generator/references/charts.md +0 -58
  63. package/skills/qa-diagram-generator/references/class-diagram.md +0 -85
  64. package/skills/qa-diagram-generator/references/er-diagram.md +0 -69
  65. package/skills/qa-diagram-generator/references/flowchart.md +0 -92
  66. package/skills/qa-diagram-generator/references/from-screenshot.md +0 -45
  67. package/skills/qa-diagram-generator/references/gantt.md +0 -49
  68. package/skills/qa-diagram-generator/references/journey.md +0 -50
  69. package/skills/qa-diagram-generator/references/mindmap.md +0 -75
  70. package/skills/qa-diagram-generator/references/sequence.md +0 -69
  71. package/skills/qa-diagram-generator/references/state-diagram.md +0 -56
  72. package/skills/qa-discovery-interview/SKILL.md +0 -182
  73. package/skills/qa-discovery-interview/references/completeness-checklist.md +0 -53
  74. package/skills/qa-discovery-interview/references/conflict-patterns.md +0 -101
  75. package/skills/qa-discovery-interview/references/qa-categories.md +0 -147
  76. package/skills/qa-discovery-interview/templates/qa-brief-template.md +0 -168
  77. package/skills/qa-environment-checker/SKILL.md +0 -142
  78. package/skills/qa-environment-checker/references/dependency-matrix.md +0 -101
  79. package/skills/qa-environment-checker/references/health-checks.md +0 -209
  80. package/skills/qa-environment-checker/templates/env-readiness-template.md +0 -64
  81. package/skills/qa-flaky-detector/SKILL.md +0 -153
  82. package/skills/qa-flaky-detector/references/ci-analysis.md +0 -140
  83. package/skills/qa-flaky-detector/references/flaky-patterns.md +0 -247
  84. package/skills/qa-github-issues-enhanced/SKILL.md +0 -175
  85. package/skills/qa-github-issues-enhanced/references/issue-templates.md +0 -425
  86. package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +0 -130
  87. package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +0 -188
  88. package/skills/qa-httpx-writer/SKILL.md +0 -138
  89. package/skills/qa-httpx-writer/references/assertions.md +0 -195
  90. package/skills/qa-httpx-writer/references/best-practices.md +0 -140
  91. package/skills/qa-httpx-writer/references/config.md +0 -212
  92. package/skills/qa-httpx-writer/references/patterns.md +0 -262
  93. package/skills/qa-jest-writer/SKILL.md +0 -131
  94. package/skills/qa-jest-writer/references/assertions.md +0 -125
  95. package/skills/qa-jest-writer/references/best-practices.md +0 -136
  96. package/skills/qa-jest-writer/references/config.md +0 -134
  97. package/skills/qa-jest-writer/references/patterns.md +0 -172
  98. package/skills/qa-jira-integration/SKILL.md +0 -135
  99. package/skills/qa-jira-integration/references/api-patterns.md +0 -143
  100. package/skills/qa-jira-integration/references/field-mapping.md +0 -79
  101. package/skills/qa-jira-integration/references/xray-integration.md +0 -85
  102. package/skills/qa-jmeter-writer/SKILL.md +0 -171
  103. package/skills/qa-jmeter-writer/references/best-practices.md +0 -157
  104. package/skills/qa-jmeter-writer/references/config.md +0 -204
  105. package/skills/qa-jmeter-writer/references/patterns.md +0 -242
  106. package/skills/qa-junit5-writer/SKILL.md +0 -157
  107. package/skills/qa-junit5-writer/references/assertions.md +0 -118
  108. package/skills/qa-junit5-writer/references/config.md +0 -97
  109. package/skills/qa-junit5-writer/references/patterns.md +0 -162
  110. package/skills/qa-k6-writer/SKILL.md +0 -155
  111. package/skills/qa-k6-writer/references/best-practices.md +0 -236
  112. package/skills/qa-k6-writer/references/config.md +0 -219
  113. package/skills/qa-k6-writer/references/patterns.md +0 -304
  114. package/skills/qa-linear-integration/SKILL.md +0 -137
  115. package/skills/qa-linear-integration/references/api-patterns.md +0 -249
  116. package/skills/qa-linear-integration/references/field-mapping.md +0 -121
  117. package/skills/qa-locust-writer/SKILL.md +0 -151
  118. package/skills/qa-locust-writer/references/best-practices.md +0 -126
  119. package/skills/qa-locust-writer/references/config.md +0 -170
  120. package/skills/qa-locust-writer/references/patterns.md +0 -235
  121. package/skills/qa-manual-test-designer/SKILL.md +0 -145
  122. package/skills/qa-manual-test-designer/references/exploratory-charters.md +0 -138
  123. package/skills/qa-manual-test-designer/references/personas.md +0 -146
  124. package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +0 -47
  125. package/skills/qa-manual-test-designer/templates/test-case-template.md +0 -31
  126. package/skills/qa-mobile-test-writer/SKILL.md +0 -144
  127. package/skills/qa-mobile-test-writer/references/best-practices.md +0 -214
  128. package/skills/qa-mobile-test-writer/references/config.md +0 -309
  129. package/skills/qa-mobile-test-writer/references/patterns.md +0 -304
  130. package/skills/qa-nfr-analyst/SKILL.md +0 -177
  131. package/skills/qa-nfr-analyst/references/iso-25010-model.md +0 -159
  132. package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +0 -202
  133. package/skills/qa-nfr-analyst/references/wcag-checklist.md +0 -184
  134. package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +0 -89
  135. package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +0 -48
  136. package/skills/qa-orchestrator/SKILL.md +0 -132
  137. package/skills/qa-orchestrator/references/handoff-chains.md +0 -105
  138. package/skills/qa-orchestrator/references/pipeline-modes.md +0 -115
  139. package/skills/qa-orchestrator/references/scheduler-rules.md +0 -84
  140. package/skills/qa-pact-writer/SKILL.md +0 -133
  141. package/skills/qa-pact-writer/references/best-practices.md +0 -100
  142. package/skills/qa-pact-writer/references/config.md +0 -135
  143. package/skills/qa-pact-writer/references/patterns.md +0 -161
  144. package/skills/qa-plan-creator/SKILL.md +0 -139
  145. package/skills/qa-plan-creator/references/introduction-plan.md +0 -43
  146. package/skills/qa-plan-creator/references/migration-plan.md +0 -44
  147. package/skills/qa-plan-creator/references/onboarding-plan.md +0 -46
  148. package/skills/qa-plan-creator/references/performance-plan.md +0 -44
  149. package/skills/qa-plan-creator/references/regression-plan.md +0 -45
  150. package/skills/qa-plan-creator/references/release-plan.md +0 -45
  151. package/skills/qa-plan-creator/references/sprint-plan.md +0 -44
  152. package/skills/qa-plan-creator/references/test-plan.md +0 -59
  153. package/skills/qa-plan-creator/references/uat-plan.md +0 -43
  154. package/skills/qa-plan-creator/templates/checklist-template.md +0 -36
  155. package/skills/qa-plan-creator/templates/regression-checklist-template.md +0 -49
  156. package/skills/qa-plan-creator/templates/release-checklist-template.md +0 -46
  157. package/skills/qa-plan-creator/templates/test-plan-template.md +0 -74
  158. package/skills/qa-playwright-py-writer/SKILL.md +0 -156
  159. package/skills/qa-playwright-py-writer/references/best-practices.md +0 -194
  160. package/skills/qa-playwright-py-writer/references/config.md +0 -195
  161. package/skills/qa-playwright-py-writer/references/patterns.md +0 -212
  162. package/skills/qa-playwright-ts-writer/SKILL.md +0 -151
  163. package/skills/qa-playwright-ts-writer/references/assertions.md +0 -109
  164. package/skills/qa-playwright-ts-writer/references/best-practices.md +0 -191
  165. package/skills/qa-playwright-ts-writer/references/config.md +0 -144
  166. package/skills/qa-playwright-ts-writer/references/patterns.md +0 -171
  167. package/skills/qa-pytest-writer/SKILL.md +0 -145
  168. package/skills/qa-pytest-writer/references/assertions.md +0 -149
  169. package/skills/qa-pytest-writer/references/best-practices.md +0 -97
  170. package/skills/qa-pytest-writer/references/config.md +0 -176
  171. package/skills/qa-pytest-writer/references/patterns.md +0 -251
  172. package/skills/qa-qase-integration/SKILL.md +0 -149
  173. package/skills/qa-qase-integration/references/api-reference.md +0 -354
  174. package/skills/qa-qase-integration/references/ci-integration.md +0 -196
  175. package/skills/qa-qase-integration/references/field-mapping.md +0 -157
  176. package/skills/qa-requirements-generator/SKILL.md +0 -152
  177. package/skills/qa-requirements-generator/references/iso-29148-structure.md +0 -153
  178. package/skills/qa-requirements-generator/references/requirement-patterns.md +0 -278
  179. package/skills/qa-rest-assured-writer/SKILL.md +0 -137
  180. package/skills/qa-rest-assured-writer/references/best-practices.md +0 -50
  181. package/skills/qa-rest-assured-writer/references/config.md +0 -124
  182. package/skills/qa-rest-assured-writer/references/patterns.md +0 -192
  183. package/skills/qa-risk-analyzer/SKILL.md +0 -158
  184. package/skills/qa-risk-analyzer/references/impact-analysis.md +0 -133
  185. package/skills/qa-risk-analyzer/references/risk-factors.md +0 -123
  186. package/skills/qa-robot-framework-writer/SKILL.md +0 -147
  187. package/skills/qa-robot-framework-writer/references/best-practices.md +0 -249
  188. package/skills/qa-robot-framework-writer/references/config.md +0 -204
  189. package/skills/qa-robot-framework-writer/references/libraries.md +0 -273
  190. package/skills/qa-robot-framework-writer/references/patterns.md +0 -216
  191. package/skills/qa-security-test-writer/SKILL.md +0 -123
  192. package/skills/qa-security-test-writer/references/best-practices.md +0 -155
  193. package/skills/qa-security-test-writer/references/owasp-top10.md +0 -331
  194. package/skills/qa-security-test-writer/references/zap-config.md +0 -258
  195. package/skills/qa-selenium-java-writer/SKILL.md +0 -143
  196. package/skills/qa-selenium-java-writer/references/best-practices.md +0 -59
  197. package/skills/qa-selenium-java-writer/references/config.md +0 -143
  198. package/skills/qa-selenium-java-writer/references/patterns.md +0 -170
  199. package/skills/qa-selenium-py-writer/SKILL.md +0 -150
  200. package/skills/qa-selenium-py-writer/references/best-practices.md +0 -175
  201. package/skills/qa-selenium-py-writer/references/config.md +0 -224
  202. package/skills/qa-selenium-py-writer/references/patterns.md +0 -255
  203. package/skills/qa-shortcut-integration/SKILL.md +0 -143
  204. package/skills/qa-shortcut-integration/references/api-patterns.md +0 -126
  205. package/skills/qa-shortcut-integration/references/field-mapping.md +0 -66
  206. package/skills/qa-spec-auditor/SKILL.md +0 -162
  207. package/skills/qa-spec-auditor/references/audit-checklist.md +0 -144
  208. package/skills/qa-spec-auditor/references/drift-patterns.md +0 -207
  209. package/skills/qa-spec-writer/SKILL.md +0 -143
  210. package/skills/qa-spec-writer/references/gherkin-guide.md +0 -253
  211. package/skills/qa-spec-writer/references/specification-patterns.md +0 -274
  212. package/skills/qa-spring-test-writer/SKILL.md +0 -170
  213. package/skills/qa-spring-test-writer/references/best-practices.md +0 -57
  214. package/skills/qa-spring-test-writer/references/config.md +0 -179
  215. package/skills/qa-spring-test-writer/references/patterns.md +0 -235
  216. package/skills/qa-supertest-writer/SKILL.md +0 -150
  217. package/skills/qa-supertest-writer/references/assertions.md +0 -192
  218. package/skills/qa-supertest-writer/references/best-practices.md +0 -102
  219. package/skills/qa-supertest-writer/references/config.md +0 -166
  220. package/skills/qa-supertest-writer/references/patterns.md +0 -242
  221. package/skills/qa-task-creator/SKILL.md +0 -142
  222. package/skills/qa-task-creator/references/linking-patterns.md +0 -127
  223. package/skills/qa-task-creator/references/task-types.md +0 -169
  224. package/skills/qa-task-creator/templates/task-template.md +0 -24
  225. package/skills/qa-test-doc-compiler/SKILL.md +0 -114
  226. package/skills/qa-test-doc-compiler/references/agile-tailoring.md +0 -220
  227. package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +0 -302
  228. package/skills/qa-test-healer/SKILL.md +0 -101
  229. package/skills/qa-test-healer/references/diagnosis-patterns.md +0 -142
  230. package/skills/qa-test-healer/references/fix-strategies.md +0 -177
  231. package/skills/qa-test-reporter/SKILL.md +0 -130
  232. package/skills/qa-test-reporter/references/best-practices.md +0 -162
  233. package/skills/qa-test-reporter/references/iso-29119-reports.md +0 -236
  234. package/skills/qa-test-reporter/references/report-formats.md +0 -287
  235. package/skills/qa-test-reviewer/SKILL.md +0 -142
  236. package/skills/qa-test-reviewer/references/anti-patterns.md +0 -268
  237. package/skills/qa-test-reviewer/references/review-checklist.md +0 -93
  238. package/skills/qa-test-strategy/SKILL.md +0 -133
  239. package/skills/qa-test-strategy/references/entry-exit-criteria.md +0 -176
  240. package/skills/qa-test-strategy/references/risk-matrix.md +0 -102
  241. package/skills/qa-test-strategy/references/testing-types.md +0 -143
  242. package/skills/qa-testcase-from-docs/SKILL.md +0 -161
  243. package/skills/qa-testcase-from-docs/references/test-case-format.md +0 -196
  244. package/skills/qa-testcase-from-docs/references/test-design-techniques.md +0 -126
  245. package/skills/qa-testcase-from-docs/templates/test-case-template.md +0 -31
  246. package/skills/qa-testcase-from-ui/SKILL.md +0 -109
  247. package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +0 -126
  248. package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +0 -146
  249. package/skills/qa-testcase-from-ui/templates/test-case-template.md +0 -31
  250. package/skills/qa-visual-regression-writer/SKILL.md +0 -175
  251. package/skills/qa-visual-regression-writer/references/best-practices.md +0 -154
  252. package/skills/qa-visual-regression-writer/references/config.md +0 -220
  253. package/skills/qa-visual-regression-writer/references/patterns.md +0 -213
  254. package/skills/qa-vitest-writer/SKILL.md +0 -141
  255. package/skills/qa-vitest-writer/references/assertions.md +0 -105
  256. package/skills/qa-vitest-writer/references/best-practices.md +0 -62
  257. package/skills/qa-vitest-writer/references/config.md +0 -127
  258. package/skills/qa-vitest-writer/references/patterns.md +0 -141
  259. package/skills/qa-webdriverio-writer/SKILL.md +0 -145
  260. package/skills/qa-webdriverio-writer/references/best-practices.md +0 -176
  261. package/skills/qa-webdriverio-writer/references/config.md +0 -240
  262. package/skills/qa-webdriverio-writer/references/patterns.md +0 -269
@@ -1,113 +0,0 @@
1
- # Playwright MCP Patterns for Data Collection
2
-
3
- Common patterns for using Playwright MCP to collect browser data. Adapt tool names to the specific Playwright MCP server in use (e.g., `@playwright/mcp`, cursor-ide-browser).
4
-
5
- ## Navigation
6
-
7
- | Goal | Pattern |
8
- |------|---------|
9
- | Open URL | `browser_navigate` or `playwright_navigate` with target URL |
10
- | New tab | Use `newTab: true` or equivalent when opening a new context |
11
- | Back/forward | `browser_navigate_back`, `browser_navigate_forward` |
12
- | Reload | `browser_reload` after state changes |
13
-
14
- **Best practice:** Lock the browser before a sequence of actions; unlock when done to avoid user interference.
15
-
16
- ## Snapshots
17
-
18
- | Goal | Pattern |
19
- |------|---------|
20
- | Page structure | `browser_snapshot` — returns accessibility tree (headings, landmarks, interactive elements) |
21
- | Interactive only | Use `interactive: true` to filter to clickable/focusable elements |
22
- | Scoped snapshot | Use `selector` to snapshot a subtree (e.g., a form or modal) |
23
- | Compact output | Use `compact: true` for smaller payloads |
24
-
25
- **Best practice:** Take a snapshot after each navigation and after modals open. Use snapshots as the primary source for form fields, links, and buttons.
26
-
27
- ## Waiting
28
-
29
- | Goal | Pattern |
30
- |------|---------|
31
- | Fixed delay | `browser_wait_for` with `time` (seconds) |
32
- | Text appears | `browser_wait_for` with `text` and optional `timeout` |
33
- | Text disappears | `browser_wait_for` with `textGone` |
34
-
35
- **Best practice:** Prefer short incremental waits (1–3 seconds) with snapshot checks rather than one long wait. Proceed as soon as content is ready.
36
-
37
- ## Form Inspection
38
-
39
- | Goal | Pattern |
40
- |------|---------|
41
- | Read input value | `browser_get_input_value` with element ref from snapshot |
42
- | Check checkbox/radio | `browser_is_checked` |
43
- | List options | Use snapshot with `selector` on `<select>` to see options |
44
- | Trigger validation | `browser_click` submit with empty/invalid data; capture error text from snapshot |
45
-
46
- **Best practice:** Do not submit forms with real data. Use placeholders or leave empty to trigger validation only.
47
-
48
- ## Network Interception
49
-
50
- | Goal | Pattern |
51
- |------|---------|
52
- | List requests | `browser_network_requests` — returns requests since page load |
53
- | Filter by type | Inspect returned list for XHR, fetch, document |
54
- | Capture timing | Note request/response timing if available |
55
-
56
- **Best practice:** Start network capture (or ensure it's active) before navigating. Re-navigate if needed to get a clean request list.
57
-
58
- ## Screenshots
59
-
60
- | Goal | Pattern |
61
- |------|---------|
62
- | Viewport | `browser_take_screenshot` |
63
- | Full page | Use `fullPage: true` if supported |
64
- | Element | Use `ref` or `selector` for element-specific screenshots |
65
-
66
- **Best practice:** Take screenshots after key state changes (e.g., after login, after modal open).
67
-
68
- ## Element Interaction (Read-Only)
69
-
70
- | Goal | Pattern |
71
- |------|---------|
72
- | Click (e.g., open modal) | `browser_click` with ref from snapshot |
73
- | Hover | `browser_hover` to reveal tooltips or dropdowns |
74
- | Scroll into view | `browser_scroll` with `scrollIntoView: true` before interacting |
75
- | Read attribute | `browser_get_attribute` for href, aria-*, data-* |
76
-
77
- **Best practice:** Use interactions only to reveal data (open modals, expand sections). Do not submit forms or change persistent data.
78
-
79
- ## Lock/Unlock Workflow
80
-
81
- 1. Navigate to the page (or use existing tab).
82
- 2. Call `browser_lock` before a sequence of automated actions.
83
- 3. Perform snapshot, network capture, form inspection, screenshots.
84
- 4. Call `browser_unlock` when done.
85
-
86
- ## Typical Collection Sequence
87
-
88
- ```
89
- 1. browser_navigate(url)
90
- 2. browser_wait_for(time: 2)
91
- 3. browser_snapshot()
92
- 4. browser_network_requests()
93
- 5. [For each form] Inspect snapshot for fields; optionally trigger validation
94
- 6. [For modals] browser_click(trigger) → wait → snapshot
95
- 7. browser_take_screenshot()
96
- 8. browser_unlock()
97
- ```
98
-
99
- ## Tool Name Mapping
100
-
101
- If using a different Playwright MCP implementation, map concepts:
102
-
103
- | Concept | cursor-ide-browser | @playwright/mcp (typical) |
104
- |---------|--------------------|---------------------------|
105
- | Navigate | browser_navigate | playwright_navigate / goto |
106
- | Snapshot | browser_snapshot | accessibility_snapshot / getTree |
107
- | Wait | browser_wait_for | wait_for_selector / wait |
108
- | Network | browser_network_requests | network_requests / har |
109
- | Screenshot | browser_take_screenshot | screenshot |
110
- | Click | browser_click | click |
111
- | Lock | browser_lock | (session-scoped) |
112
-
113
- Refer to your MCP server's documentation for exact tool names and parameters.
@@ -1,148 +0,0 @@
1
- ---
2
- name: qa-bug-ticket-creator
3
- description: Generate structured bug reports from test failures with expected/actual results, reproduction steps, evidence, severity/priority, and auto-create GitHub Issues via GitHub MCP with duplicate detection.
4
- output_dir: docs/bug-tickets
5
- dependencies:
6
- recommended:
7
- - qa-task-creator
8
- - qa-github-issues-enhanced
9
- ---
10
-
11
- # QA Bug Ticket Creator
12
-
13
- ## Purpose
14
-
15
- Create structured bug reports from test failures, manual findings, or defect descriptions. Transform raw failure data into ISO 29119-3 compliant incident reports and auto-create GitHub Issues via GitHub MCP with duplicate detection and smart assignment.
16
-
17
- ## Primary Target
18
-
19
- **GitHub Issues** via GitHub MCP. Extensible to Jira, Linear, Azure DevOps via adapters (see `references/` for future patterns).
20
-
21
- ## Bug Report Template
22
-
23
- Every bug report includes:
24
-
25
- | Field | Description |
26
- | ----- | ----------- |
27
- | **Title** | Concise, actionable summary (e.g., "Login fails when password contains special chars") |
28
- | **Expected Result** | What should happen per spec/requirements |
29
- | **Actual Result** | What actually happens |
30
- | **Steps to Reproduce** | Numbered, minimal steps |
31
- | **Environment** | OS, browser, app version, test framework |
32
- | **Evidence** | Screenshots, logs, stack traces, HAR files |
33
- | **Severity** | Blocker / Critical / Major / Minor / Trivial |
34
- | **Priority** | P1–P5 or equivalent |
35
- | **Component/Module** | Affected area (e.g., auth, checkout, API) |
36
-
37
- See `references/bug-report-format.md` for detailed format and examples.
38
-
39
- ## Auto-Assignment
40
-
41
- When creating GitHub Issues, auto-assign based on component:
42
-
43
- - **Labels** — Map component to labels (e.g., `auth`, `frontend`, `api`)
44
- - **Milestones** — Map to sprint/release milestone when provided
45
- - **Assignees** — Map component to team member when mapping is configured
46
-
47
- ## Duplicate Detection
48
-
49
- Before creating a new issue:
50
-
51
- 1. **Search** existing open issues via GitHub MCP (search by title keywords, component, error message)
52
- 2. **Compare** — If similar issue exists (same failure, same component, same root cause), link to it instead of creating duplicate
53
- 3. **Create** — Only create new issue when no suitable duplicate found
54
-
55
- ## ISO 29119-3 Compliance
56
-
57
- Structure aligns with ISO/IEC/IEEE 29119-3 incident report:
58
-
59
- - Incident identifier
60
- - Summary and description
61
- - Expected vs actual results
62
- - Steps to reproduce
63
- - Severity and priority
64
- - Status and lifecycle
65
- - Related test cases / requirements
66
-
67
- ## Pairing with qa-task-creator
68
-
69
- When a bug is created, optionally auto-create a linked **fix task** via qa-task-creator:
70
-
71
- - Bug → Fix task (development)
72
- - Bug → Verification task (QA re-test)
73
-
74
- See `references/linking-patterns.md` in qa-task-creator for patterns.
75
-
76
- ## Trigger Phrases
77
-
78
- - "Create bug report from [test failure / JUnit output / error log]"
79
- - "File a GitHub issue for this failure"
80
- - "Generate bug ticket from Playwright/pytest/Jest failure"
81
- - "Incident report for [defect description]"
82
- - "Check for duplicate before creating bug"
83
- - "Bug report with severity and priority"
84
-
85
- ## Workflow
86
-
87
- 1. **Input** — Test failure (JUnit, Playwright, pytest output), manual description, or error log
88
- 2. **Parse** — Extract test name, failure message, stack trace, environment
89
- 3. **Structure** — Map to bug report template; assign severity/priority per `references/severity-guide.md`
90
- 4. **Duplicate check** — Search GitHub Issues for similar open issues
91
- 5. **Create or link** — Create new issue or comment on duplicate with additional context
92
- 6. **Optional** — Invoke qa-task-creator for linked fix task
93
-
94
- ## Integrations
95
-
96
- | Integration | Use |
97
- | ----------- | --- |
98
- | **GitHub MCP** | Create issues, search for duplicates, add labels/milestones/assignees |
99
- | **qa-task-creator** | Create linked fix/verification tasks |
100
- | **qa-test-reporter** | Consume failure data from aggregated reports |
101
-
102
- ## Scope
103
-
104
- **Can do (autonomous):**
105
- - Parse test failures from JUnit XML, Playwright JSON, pytest output, or free-text description
106
- - Generate structured bug reports per template
107
- - Search GitHub for duplicate issues before creating
108
- - Create GitHub Issues with full body, labels, milestones
109
- - Assign severity/priority per `references/severity-guide.md`
110
- - Invoke qa-task-creator for linked fix tasks when requested
111
-
112
- **Cannot do (requires confirmation):**
113
- - Create issues in repos without write access
114
- - Override user-specified severity/priority
115
- - Assign assignees without configured mapping
116
-
117
- **Will not do (out of scope):**
118
- - Modify production code or test code
119
- - Close or resolve issues (user/stakeholder responsibility)
120
- - Create issues in Jira/Linear/Azure DevOps (future adapter; use references)
121
-
122
- ## Quality Checklist
123
-
124
- - [ ] Bug report includes all template fields (title, expected/actual, steps, environment, evidence)
125
- - [ ] Severity and priority assigned per `references/severity-guide.md`
126
- - [ ] Duplicate search performed before creating new issue
127
- - [ ] GitHub Issue body formatted for readability (headers, code blocks, lists)
128
- - [ ] Labels and component correctly mapped
129
- - [ ] No hardcoded secrets; repo/org from user input or env
130
- - [ ] ISO 29119-3 incident structure present where applicable
131
-
132
- ## Troubleshooting
133
-
134
- | Symptom | Likely Cause | Fix |
135
- | ------- | ------------ | --- |
136
- | GitHub MCP create fails | Token missing, no repo access | Check `GITHUB_PERSONAL_ACCESS_TOKEN`; verify repo permissions |
137
- | Duplicate not detected | Search query too narrow | Broaden keywords; search by component + error snippet |
138
- | Severity wrong | Default mapping doesn't fit project | Use project-specific severity guide; ask user to confirm |
139
- | Missing stack trace | Parser doesn't support format | Add parser for framework; request raw output from user |
140
- | Issue body truncated | GitHub body length limit | Split evidence into comments or attach as file |
141
- | Wrong labels applied | Component mapping missing | Add component→label mapping; ask user for mapping |
142
-
143
- ## Reference Files
144
-
145
- | Topic | File |
146
- | ----- | ---- |
147
- | Bug report format with examples | `references/bug-report-format.md` |
148
- | Severity and priority classification | `references/severity-guide.md` |
@@ -1,149 +0,0 @@
1
- # Bug Report Format Reference
2
-
3
- *Detailed format for structured bug reports per ISO 29119-3 incident report structure.*
4
-
5
- ---
6
-
7
- ## Template Structure
8
-
9
- ### 1. Title
10
-
11
- - **Format:** `[Component] Brief description of the failure`
12
- - **Example:** `[Auth] Login fails when password contains special characters`
13
- - **Rules:** Concise, actionable, no jargon; include component when known
14
-
15
- ### 2. Expected Result
16
-
17
- - What **should** happen per specification, requirements, or design
18
- - Reference requirement/spec ID when available
19
- - **Example:** "User should be able to log in with a password containing `!@#$%^&*()` per REQ-AUTH-001"
20
-
21
- ### 3. Actual Result
22
-
23
- - What **actually** happens
24
- - Include error messages, HTTP status codes, UI state
25
- - **Example:** "Login returns 500 Internal Server Error; UI shows 'Something went wrong'"
26
-
27
- ### 4. Steps to Reproduce
28
-
29
- - Numbered, minimal steps
30
- - Include test data (e.g., username, input values) when relevant
31
- - **Example:**
32
- 1. Navigate to /login
33
- 2. Enter username `test@example.com`
34
- 3. Enter password `P@ssw0rd!`
35
- 4. Click "Sign In"
36
-
37
- ### 5. Environment
38
-
39
- | Field | Example |
40
- | ----- | ------- |
41
- | OS | Windows 11, macOS 14, Ubuntu 22.04 |
42
- | Browser/App | Chrome 120, Firefox 121, Safari 17 |
43
- | App Version | 2.3.1 |
44
- | Test Framework | Playwright 1.40, pytest 7.4 |
45
-
46
- ### 6. Evidence
47
-
48
- - **Screenshots** — UI state, error dialogs
49
- - **Logs** — Application logs, test runner output
50
- - **Stack traces** — Full trace for exceptions
51
- - **HAR / Network** — When API or network-related
52
-
53
- Use code blocks for logs and stack traces:
54
-
55
- ```text
56
- AssertionError: Expected status 200, got 500
57
- at LoginPage.submit (login.spec.ts:42)
58
- at test (login.spec.ts:38)
59
- ```
60
-
61
- ### 7. Severity
62
-
63
- See `references/severity-guide.md` for classification.
64
-
65
- ### 8. Priority
66
-
67
- P1 (Critical) through P5 (Low) or equivalent.
68
-
69
- ### 9. Component/Module
70
-
71
- - Affected area: `auth`, `checkout`, `api`, `frontend`, `backend`, etc.
72
- - Used for labels, routing, and duplicate search
73
-
74
- ---
75
-
76
- ## Example: Full Bug Report (Markdown)
77
-
78
- ```markdown
79
- ## [Auth] Login fails when password contains special characters
80
-
81
- ### Expected Result
82
- User should be able to log in with a password containing special characters `!@#$%^&*()` per REQ-AUTH-001.
83
-
84
- ### Actual Result
85
- Login returns HTTP 500; UI displays "Something went wrong". No error details shown to user.
86
-
87
- ### Steps to Reproduce
88
- 1. Navigate to https://app.example.com/login
89
- 2. Enter username: `test@example.com`
90
- 3. Enter password: `P@ssw0rd!`
91
- 4. Click "Sign In"
92
-
93
- ### Environment
94
- - OS: Windows 11
95
- - Browser: Chrome 120
96
- - App Version: 2.3.1
97
- - Test: Playwright 1.40
98
-
99
- ### Evidence
100
- ```
101
- POST /api/auth/login → 500 Internal Server Error
102
- Response: {"error":"Internal server error"}
103
-
104
- Stack trace:
105
- at AuthService.login (auth.service.ts:45)
106
- at LoginController.handle (login.controller.ts:22)
107
- ```
108
-
109
- ### Severity
110
- **Major** — Core functionality affected; workaround exists (avoid special chars)
111
-
112
- ### Priority
113
- P2
114
-
115
- ### Component
116
- auth
117
- ```
118
-
119
- ---
120
-
121
- ## Mapping from Test Failure Formats
122
-
123
- ### JUnit XML
124
-
125
- | JUnit Field | Bug Report Field |
126
- | ----------- | ---------------- |
127
- | `testcase.name` | Title (sanitized) |
128
- | `testcase.classname` | Component (derived) |
129
- | `failure.message` | Actual result |
130
- | `failure` (text) | Evidence (stack trace) |
131
- | `testsuite.name` | Component / Module |
132
-
133
- ### Playwright JSON
134
-
135
- | Playwright Field | Bug Report Field |
136
- | ---------------- | ---------------- |
137
- | `test.title` | Title |
138
- | `test.file` | Component (from path) |
139
- | `result.error.message` | Actual result |
140
- | `result.error.stack` | Evidence |
141
- | `attachments` | Evidence (screenshots, traces) |
142
-
143
- ### pytest
144
-
145
- | pytest Field | Bug Report Field |
146
- | ------------ | ---------------- |
147
- | `nodeid` | Title, Component |
148
- | `longrepr` | Actual result, Evidence |
149
- | `call` (traceback) | Evidence |
@@ -1,81 +0,0 @@
1
- # Severity and Priority Classification Guide
2
-
3
- *Reference for assigning severity and priority to bug reports.*
4
-
5
- ---
6
-
7
- ## Severity (Impact)
8
-
9
- Severity reflects the **impact** of the defect on the system or user.
10
-
11
- | Severity | Definition | Examples |
12
- | -------- | ---------- | -------- |
13
- | **Blocker** | System unusable; blocks testing or deployment | App crashes on launch, login completely broken, data loss |
14
- | **Critical** | Major feature broken; no workaround | Checkout fails for all users, API returns 500 for core endpoint |
15
- | **Major** | Significant feature impaired; workaround exists | Login fails with special chars, search returns wrong results |
16
- | **Minor** | Small defect; limited impact | Typo, minor UI misalignment, non-critical validation |
17
- | **Trivial** | Cosmetic or negligible | Font size off by 1px, redundant message |
18
-
19
- ### Severity Decision Tree
20
-
21
- 1. **Blocks deployment or testing?** → Blocker
22
- 2. **Core feature completely broken?** → Critical
23
- 3. **Core feature impaired with workaround?** → Major
24
- 4. **Non-core feature affected?** → Minor
25
- 5. **Cosmetic only?** → Trivial
26
-
27
- ---
28
-
29
- ## Priority (Urgency)
30
-
31
- Priority reflects **when** the defect should be fixed (business/urgency).
32
-
33
- | Priority | Definition | Typical Use |
34
- | -------- | ---------- | ----------- |
35
- | **P1** | Fix immediately | Production down, security vulnerability |
36
- | **P2** | Fix in current sprint | Critical for release |
37
- | **P3** | Fix in next sprint | Important but not blocking |
38
- | **P4** | Fix when possible | Low impact |
39
- | **P5** | Backlog / wishlist | Trivial, nice-to-have |
40
-
41
- ### Priority vs Severity
42
-
43
- - **High severity** usually implies **high priority**, but not always
44
- - Example: Blocker in deprecated feature → P3
45
- - **Low severity** can be **high priority**
46
- - Example: Legal/compliance typo → P1
47
-
48
- ---
49
-
50
- ## Default Mapping (Test Failures)
51
-
52
- When deriving from test failures without explicit user input:
53
-
54
- | Failure Type | Default Severity | Default Priority |
55
- | ------------ | ---------------- | ----------------- |
56
- | E2E test failure (core flow) | Major | P2 |
57
- | E2E test failure (edge flow) | Minor | P3 |
58
- | Unit test failure | Major | P2 |
59
- | API test failure (4xx/5xx) | Critical if 5xx, Major if 4xx | P2 |
60
- | Visual regression | Minor | P3 |
61
- | Accessibility failure | Major (WCAG) | P2 |
62
- | Performance threshold breach | Major | P2 |
63
-
64
- Override when user provides explicit severity/priority.
65
-
66
- ---
67
-
68
- ## Component → Label Mapping (GitHub)
69
-
70
- Suggested label mapping by component:
71
-
72
- | Component | Labels |
73
- | --------- | ------ |
74
- | auth | `bug`, `auth`, `security` |
75
- | api | `bug`, `api`, `backend` |
76
- | frontend | `bug`, `frontend`, `ui` |
77
- | checkout | `bug`, `checkout`, `critical` |
78
- | search | `bug`, `search` |
79
- | mobile | `bug`, `mobile` |
80
-
81
- Customize per project; store in skill config or user input.
@@ -1,39 +0,0 @@
1
- # Bug Report
2
-
3
- ## [BUG-{ID}] {Title}
4
-
5
- **Severity:** {Blocker | Critical | Major | Minor | Trivial}
6
- **Priority:** {P1 | P2 | P3 | P4 | P5}
7
- **Component:** {component name}
8
- **Environment:** {browser, OS, version, URL}
9
- **Reporter:** {name}
10
- **Assignee:** {name or unassigned}
11
- **Date:** {YYYY-MM-DD}
12
-
13
- ## Description
14
- {Brief description of the bug}
15
-
16
- ## Steps to Reproduce
17
- 1. {Step 1}
18
- 2. {Step 2}
19
- 3. {Step 3}
20
-
21
- ## Expected Result
22
- {What should happen}
23
-
24
- ## Actual Result
25
- {What actually happens}
26
-
27
- ## Evidence
28
- - Screenshots: {attach or path}
29
- - Logs: {relevant log output}
30
- - Video: {link if available}
31
-
32
- ## Additional Context
33
- - Related requirement: [REQ-{ID}]
34
- - Related test case: [TC-{ID}]
35
- - Regression: {Yes/No}
36
- - Frequency: {Always | Sometimes | Rarely | Once}
37
-
38
- ## Labels
39
- `type/bug` `priority/{level}` `component/{name}`
@@ -1,134 +0,0 @@
1
- ---
2
- name: qa-changelog-analyzer
3
- description: Analyze git diff and commit history to recommend which tests to add, update, or run based on code changes.
4
- output_dir: reports/changelog
5
- ---
6
-
7
- # QA Changelog Analyzer
8
-
9
- ## Purpose
10
-
11
- Analyze code changes (git diff, commit history, branch comparisons) to determine testing impact. Map changed files to modules/components, identify affected tests, and produce actionable recommendations: **tests to run** (regression scope), **tests to update** (if source changed), and **tests to add** (if new code uncovered).
12
-
13
- ## Trigger Phrases
14
-
15
- - "What tests should I run for this PR?"
16
- - "Analyze git diff for test impact"
17
- - "Changelog analysis" / "Change impact report"
18
- - "Which tests are affected by [branch/commit]?"
19
- - "Recommend regression scope for [changes]"
20
- - "Tests to add/update for recent commits"
21
-
22
- ## Workflow
23
-
24
- 1. **Read git diff** — Staged (`git diff --cached`), committed (`git diff HEAD~1..HEAD`), or between branches (`git diff base..HEAD`)
25
- 2. **Map changed files to modules** — Use directory structure, package/import conventions, or config (see `references/git-analysis-patterns.md`)
26
- 3. **Identify affected test files** — Coverage-based, path-based, or import-based mapping
27
- 4. **Recommend:**
28
- - **Tests to run** — Regression scope (must run, should run, optional)
29
- - **Tests to update** — If source changed and tests may be outdated
30
- - **Tests to add** — If new code has no coverage
31
-
32
- ## Change Analysis
33
-
34
- | Change Type | Action | Recommendation |
35
- |-------------|--------|-----------------|
36
- | **New files** | Need new tests | Add unit/integration tests; flag for qa-task-creator |
37
- | **Modified files** | Check existing coverage | Run existing tests; update if assertions/source diverged |
38
- | **Deleted files** | Remove/update related tests | Remove obsolete tests; update imports in remaining tests |
39
- | **Renamed/moved files** | Update imports in tests | Fix import paths; run affected tests |
40
- | **Config changes** | Validate environment | Run env-specific/smoke tests; verify config loading |
41
-
42
- See `references/impact-mapping.md` for mapping strategies.
43
-
44
- ## Output Deliverables
45
-
46
- 1. **Change Impact Report** — Summary of changed files, modules affected, and impact level
47
- 2. **Recommended Regression Scope** — Must run / Should run / Optional test lists
48
- 3. **Task Suggestions for qa-task-creator** — Add tests, update tests, remove obsolete tests
49
-
50
- ### Change Impact Report Template
51
-
52
- ```markdown
53
- # Change Impact Report — [Branch/PR/Commit]
54
-
55
- ## Summary
56
- | Change Type | Count | Modules Affected |
57
- |-------------|-------|------------------|
58
- | Added | N | [list] |
59
- | Modified | N | [list] |
60
- | Deleted | N | [list] |
61
-
62
- ## Regression Scope
63
-
64
- ### Must Run (High Impact)
65
- - [test file paths]
66
-
67
- ### Should Run (Medium Impact)
68
- - [test file paths]
69
-
70
- ### Optional (Low Impact)
71
- - [test file paths]
72
-
73
- ## Task Suggestions
74
- - **Add:** [new modules/files needing tests]
75
- - **Update:** [tests that may need assertion/import updates]
76
- - **Remove:** [obsolete tests for deleted code]
77
- ```
78
-
79
- ## Integration with Other Skills
80
-
81
- | Need | Skill | Usage |
82
- |------|-------|-------|
83
- | Create tasks from recommendations | qa-task-creator | Pass task suggestions for add/update/remove |
84
- | Coverage data for mapping | qa-coverage-analyzer | Which tests cover changed files |
85
- | Risk prioritization | qa-risk-analyzer | Combine with risk scores for regression order |
86
- | Git diff patterns | — | `references/git-analysis-patterns.md` |
87
- | Impact mapping | — | `references/impact-mapping.md` |
88
-
89
- ## Scope
90
-
91
- **Can do (autonomous):**
92
- - Parse git diff (staged, committed, between branches)
93
- - Map changed files to modules/components
94
- - Identify affected test files (path, import, or coverage-based)
95
- - Produce change impact report and regression scope
96
- - Generate task suggestions for qa-task-creator
97
-
98
- **Cannot do (requires confirmation):**
99
- - Run tests or generate coverage (consume existing data)
100
- - Modify source or test code
101
- - Exclude files from analysis without justification
102
-
103
- **Will not do (out of scope):**
104
- - Execute tests or deployments
105
- - Modify git history or branches
106
- - Override project-specific mapping without config
107
-
108
- ## Quality Checklist
109
-
110
- - [ ] Git diff correctly parsed (staged/committed/branch)
111
- - [ ] Changed files mapped to modules
112
- - [ ] Affected tests identified (path, import, or coverage)
113
- - [ ] Regression scope categorized (must/should/optional)
114
- - [ ] Task suggestions actionable for qa-task-creator
115
- - [ ] No hardcoded paths; respect project structure
116
- - [ ] Config changes flagged for env validation
117
-
118
- ## Troubleshooting
119
-
120
- | Symptom | Likely Cause | Fix |
121
- |---------|--------------|-----|
122
- | No changed files | Wrong diff range or branch | Verify `git diff` range; check branch names |
123
- | Module mapping empty | Unclear structure | Use directory convention; add `impact-mapping` config |
124
- | Too many tests in scope | Broad imports or coverage | Narrow to direct tests first; use risk prioritization |
125
- | Missing coverage data | qa-coverage-analyzer not run | Use path/import mapping as fallback |
126
- | Renamed files not detected | Git rename detection off | Use `git diff -M` or `--find-renames` |
127
- | Config changes missed | Only tracking source files | Include config paths in analysis (e.g. `.env`, `config/`) |
128
-
129
- ## Reference Files
130
-
131
- | Topic | Reference |
132
- |-------|-----------|
133
- | Git diff parsing, file-to-module mapping | `references/git-analysis-patterns.md` |
134
- | Mapping code changes to test recommendations | `references/impact-mapping.md` |