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,113 @@
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.
@@ -0,0 +1,148 @@
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` |
@@ -0,0 +1,149 @@
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 |
@@ -0,0 +1,81 @@
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.
@@ -0,0 +1,39 @@
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}`
@@ -0,0 +1,134 @@
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` |