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,138 +0,0 @@
1
- # Git Diff Parsing Patterns
2
-
3
- ## Overview
4
-
5
- Parse git diff output to extract changed files, classify change types, and map to modules. Used by qa-changelog-analyzer for impact analysis.
6
-
7
- ---
8
-
9
- ## 1. Git Diff Commands
10
-
11
- ### Staged Changes (Pre-Commit)
12
-
13
- ```bash
14
- git diff --name-only --cached
15
- git diff --stat --cached
16
- ```
17
-
18
- ### Committed Changes
19
-
20
- ```bash
21
- # Last commit
22
- git diff --name-only HEAD~1..HEAD
23
-
24
- # Last N commits
25
- git diff --name-only HEAD~5..HEAD
26
-
27
- # Specific commit range
28
- git diff --name-only abc123..def456
29
- ```
30
-
31
- ### Branch Comparison
32
-
33
- ```bash
34
- # PR: feature branch vs main
35
- git diff --name-only origin/main...HEAD
36
-
37
- # Branch vs branch
38
- git diff --name-only base_branch..feature_branch
39
- ```
40
-
41
- ### With Rename Detection
42
-
43
- ```bash
44
- git diff --name-only -M50% base..HEAD
45
- git diff --find-renames base..HEAD
46
- ```
47
-
48
- ---
49
-
50
- ## 2. Parsing Output
51
-
52
- ### Name-Only Format
53
-
54
- ```
55
- src/auth/login.ts
56
- src/auth/session.ts
57
- tests/auth/login.spec.ts
58
- config/env.example
59
- ```
60
-
61
- - One path per line
62
- - Use `git status -s` for staged + unstaged with status prefix (`A`, `M`, `D`, `R`)
63
-
64
- ### Stat Format
65
-
66
- ```
67
- src/auth/login.ts | 12 +++++----
68
- src/auth/session.ts | 5 +++++
69
- 2 files changed, 17 insertions(+), 4 deletions(-)
70
- ```
71
-
72
- - Parse for file paths and change magnitude
73
- - Useful for prioritization (more changes = higher impact)
74
-
75
- ### Change Type Detection
76
-
77
- | Git Status | Meaning | Action |
78
- |------------|---------|--------|
79
- | `A` or `??` (new) | Added | Need new tests |
80
- | `M` | Modified | Run existing; check for updates |
81
- | `D` | Deleted | Remove/update related tests |
82
- | `R` or `R100` | Renamed | Update imports in tests |
83
-
84
- ---
85
-
86
- ## 3. File-to-Module Mapping
87
-
88
- ### Directory-Based
89
-
90
- ```
91
- src/auth/login.ts → auth
92
- src/auth/session.ts → auth
93
- src/api/users.ts → api
94
- packages/core/utils.ts → core
95
- ```
96
-
97
- - Use first path segment after `src/`, `packages/`, `lib/`, etc.
98
- - Configurable per project
99
-
100
- ### Package/Import-Based (JS/TS)
101
-
102
- - Parse `package.json` name
103
- - Use import path: `@/auth` → auth
104
- - Monorepo: `packages/auth` → auth
105
-
106
- ### Python
107
-
108
- - `src.auth.login` → auth
109
- - Directory: `src/auth/` → auth
110
-
111
- ### Config Override
112
-
113
- - `impact-mapping.json` or `.qa-mapping` for custom mappings
114
- - Override automatic detection when structure is non-standard
115
-
116
- ---
117
-
118
- ## 4. Exclusions
119
-
120
- Common exclusions from impact analysis:
121
-
122
- - `node_modules/`, `vendor/`, `__pycache__/`
123
- - Generated files: `*.generated.ts`, `dist/`, `build/`
124
- - Lock files: `package-lock.json`, `yarn.lock` (optional; may affect env)
125
- - Docs only: `*.md`, `docs/` (optional; no test impact)
126
- - Test files themselves: include in "tests to run" but not "modules affected"
127
-
128
- ---
129
-
130
- ## 5. Edge Cases
131
-
132
- | Case | Handling |
133
- |------|----------|
134
- | Binary files | Skip or flag; no line-level analysis |
135
- | Submodule changes | Treat as config; may need integration tests |
136
- | Merge commits | Use `-m` or first parent; avoid duplicate counting |
137
- | Large diff | Summarize by module; avoid listing every file |
138
- | No git repo | Return error; require valid git context |
@@ -1,120 +0,0 @@
1
- # Mapping Code Changes to Test Recommendations
2
-
3
- ## Overview
4
-
5
- Map code changes to concrete test recommendations: tests to run, tests to update, and tests to add. Used by qa-changelog-analyzer to produce actionable output.
6
-
7
- ---
8
-
9
- ## 1. Tests to Run (Regression Scope)
10
-
11
- ### Direct Mapping
12
-
13
- Changed file → tests that cover it:
14
-
15
- | Source | Method | Example |
16
- |--------|--------|---------|
17
- | Coverage report | Istanbul, JaCoCo, coverage.py | `auth/login.ts` → `login.spec.ts` |
18
- | Path convention | `tests/<module>/` or `*.spec.ts` | `auth/` → `tests/auth/*` |
19
- | Import grep | `import.*from.*auth` in tests | Find test files importing changed module |
20
-
21
- ### Priority Levels
22
-
23
- - **Must run:** Direct unit/integration tests for changed modules
24
- - **Should run:** Integration tests that use changed APIs/components
25
- - **Optional:** Full suite, E2E, smoke (if risk threshold exceeded)
26
-
27
- ### Downstream Impact
28
-
29
- - If `auth/session.ts` changed → check who imports it
30
- - API changes → integration tests for API consumers
31
- - DB schema → migration tests, repository tests
32
-
33
- ---
34
-
35
- ## 2. Tests to Update
36
-
37
- ### When Source Diverged
38
-
39
- - Assertions expect old behavior
40
- - Selectors target removed/changed elements
41
- - Mocks no longer match API shape
42
-
43
- ### Detection Hints
44
-
45
- - Test file in same module as changed source
46
- - Test imports changed file
47
- - Test name suggests coverage of changed functionality
48
-
49
- ### Recommendation Format
50
-
51
- ```markdown
52
- - **tests/auth/login.spec.ts** — `login.ts` changed; verify assertions match new validation logic
53
- - **tests/api/users.integration.spec.ts** — `users.ts` response shape changed; update expectations
54
- ```
55
-
56
- ---
57
-
58
- ## 3. Tests to Add
59
-
60
- ### New Files
61
-
62
- - New source file with no corresponding test
63
- - New module/component
64
- - New API endpoint
65
-
66
- ### Uncovered Code Paths
67
-
68
- - New branches, error handlers, edge cases in modified files
69
- - Use coverage report: new lines with 0% coverage
70
-
71
- ### Recommendation Format
72
-
73
- ```markdown
74
- - **Add unit tests for** `src/auth/oauth.ts` — new file, no coverage
75
- - **Add integration test for** `POST /api/v2/users` — new endpoint
76
- ```
77
-
78
- ---
79
-
80
- ## 4. Tests to Remove
81
-
82
- ### Deleted Source
83
-
84
- - Source file deleted → tests that only cover it are obsolete
85
- - Remove or repurpose tests
86
-
87
- ### Deprecated Features
88
-
89
- - Feature removed → remove feature-specific tests
90
- - Keep shared setup/utilities if still used
91
-
92
- ---
93
-
94
- ## 5. Config and Environment Changes
95
-
96
- | Change | Recommendation |
97
- |--------|----------------|
98
- | `.env`, `config/*` | Run env-specific tests; validate config loading |
99
- | `package.json`, `requirements.txt` | Run install + smoke; may affect dependencies |
100
- | CI config (`.github/`, `Jenkinsfile`) | Validate pipeline; run full suite once |
101
- | Dockerfile, k8s | Integration/E2E in target environment |
102
-
103
- ---
104
-
105
- ## 6. Task Handoff to qa-task-creator
106
-
107
- Format suggestions for qa-task-creator:
108
-
109
- ```markdown
110
- ## Tasks
111
-
112
- 1. **Add:** Unit tests for `src/auth/oauth.ts` (new file)
113
- 2. **Update:** `tests/auth/login.spec.ts` — assertions for new validation
114
- 3. **Remove:** `tests/legacy/deprecated.spec.ts` — source deleted
115
- 4. **Run:** Regression scope (see Must Run list above)
116
- ```
117
-
118
- - Each task is self-contained with file/module reference
119
- - Link to change impact report for context
120
- - Use labels: `qa`, `development`, `test-coverage`
@@ -1,166 +0,0 @@
1
- ---
2
- name: qa-clickup-integration
3
- description: ClickUp integration for creating tasks, managing lists/spaces, and tracking QA workflows via REST API.
4
- dependencies:
5
- recommended:
6
- - qa-bug-ticket-creator
7
- - qa-task-creator
8
- ---
9
-
10
- # QA ClickUp Integration
11
-
12
- ## Purpose
13
-
14
- Integrate QA workflow with ClickUp for task management. Create and manage tasks, lists, folders, and spaces; attach QA metadata via custom fields; and sync bug reports and work tasks from qa-bug-ticket-creator and qa-task-creator into ClickUp.
15
-
16
- ## Primary Target
17
-
18
- **ClickUp** via REST API. Base URL: `https://api.clickup.com/api/v2`.
19
-
20
- ## Features
21
-
22
- ### Task Management
23
-
24
- | Feature | Description |
25
- | ------- | ----------- |
26
- | **Create tasks** | POST to list; set name, description, assignees, status, priority |
27
- | **Update tasks** | PUT to modify existing tasks |
28
- | **Get task** | GET task by ID for status checks |
29
- | **Subtasks** | Create subtasks for test steps or breakdown |
30
- | **Checklists** | Add checklist items for acceptance criteria |
31
- | **Attachments** | Attach screenshots, logs, HAR files |
32
-
33
- ### Hierarchy
34
-
35
- | Level | API | Use |
36
- | ----- | --- | --- |
37
- | **Space** | GET /api/v2/team/{team_id}/space | QA workspace or project |
38
- | **Folder** | GET /api/v2/space/{space_id}/folder | Feature or module grouping |
39
- | **List** | GET /api/v2/folder/{folder_id}/list | Sprint, release, or backlog |
40
- | **Task** | POST /api/v2/list/{list_id}/task | Individual work item |
41
-
42
- ### QA Metadata
43
-
44
- | Custom Field | Purpose |
45
- | ------------ | ------- |
46
- | **Severity** | Blocker / Critical / Major / Minor / Trivial |
47
- | **Test Type** | Unit / Integration / E2E / Performance / Security |
48
- | **Coverage** | Requirement or module coverage reference |
49
- | **Environment** | OS, browser, app version |
50
- | **Component** | Affected area (auth, checkout, API) |
51
-
52
- ### Relationships
53
-
54
- - **Blocking** — Task A blocks Task B
55
- - **Waiting on** — Task A waits on Task B
56
- - **Linked** — Related tasks for traceability
57
-
58
- ### Tags and Priorities
59
-
60
- - **Tags** — `bug`, `test-coverage`, `flaky`, `docs`, component tags
61
- - **Priority** — Urgent (1), High (2), Normal (3), Low (4)
62
-
63
- ## Authentication
64
-
65
- | Variable | Description |
66
- | -------- | ----------- |
67
- | `CLICKUP_API_TOKEN` | Personal API token (starts with `pk_`) from .env |
68
-
69
- **Header:** `Authorization: <token>`
70
-
71
- Generate tokens at: ClickUp Settings → Apps → API Token.
72
-
73
- ## Key API Endpoints
74
-
75
- | Method | Endpoint | Use |
76
- | ------ | -------- | --- |
77
- | POST | `/api/v2/list/{list_id}/task` | Create task |
78
- | GET | `/api/v2/task/{task_id}` | Get task details |
79
- | PUT | `/api/v2/task/{task_id}` | Update task |
80
- | GET | `/api/v2/team/{team_id}/space` | List spaces |
81
- | GET | `/api/v2/space/{space_id}/folder` | List folders |
82
- | GET | `/api/v2/folder/{folder_id}/list` | List lists |
83
- | POST | `/api/v2/task/{task_id}/attachment` | Add attachment |
84
-
85
- See `references/api-patterns.md` for request/response examples.
86
-
87
- ## Integration with QA Skills
88
-
89
- | Skill | Integration |
90
- | ----- | ----------- |
91
- | **qa-bug-ticket-creator** | Create ClickUp tasks from bug reports; map severity, component, evidence |
92
- | **qa-task-creator** | Create ClickUp tasks from coverage gaps, spec findings, fix tasks |
93
- | **qa-test-reporter** | Attach test reports as task attachments; link failures to tasks |
94
-
95
- ### Handoff Flow
96
-
97
- 1. **Bug report** → qa-bug-ticket-creator structures report → qa-clickup-integration creates task in target list
98
- 2. **Fix task** → qa-task-creator generates task → qa-clickup-integration creates task, links to bug task
99
- 3. **Coverage gap** → qa-coverage-analyzer output → qa-task-creator → qa-clickup-integration
100
-
101
- ## Trigger Phrases
102
-
103
- - "Create ClickUp task from [bug report / test failure]"
104
- - "Add task to ClickUp list [name]"
105
- - "Sync bug to ClickUp with severity and evidence"
106
- - "Create ClickUp task from coverage gap"
107
- - "Link fix task to bug in ClickUp"
108
- - "Attach screenshot to ClickUp task [id]"
109
- - "Get ClickUp task status for [id]"
110
-
111
- ## Workflow
112
-
113
- 1. **Input** — Bug report, task description, coverage gap, or user request
114
- 2. **Resolve target** — Team ID, Space, Folder, List (from user or config)
115
- 3. **Map fields** — Map QA fields to ClickUp task fields per `references/field-mapping.md`
116
- 4. **Create/update** — POST or PUT via REST API
117
- 5. **Attach** — Add screenshots, logs when provided
118
- 6. **Link** — Set blocking/waiting-on when paired with bug or fix task
119
-
120
- ## Scope
121
-
122
- **Can do (autonomous):**
123
- - Create and update tasks in specified lists
124
- - Map severity, priority, component, test type to ClickUp fields
125
- - Add subtasks, checklists, attachments
126
- - Set task relationships (blocking, waiting on)
127
- - Resolve space/folder/list from user input or config
128
- - Integrate with qa-bug-ticket-creator and qa-task-creator output
129
-
130
- **Cannot do (requires confirmation):**
131
- - Create spaces, folders, or lists (assume they exist)
132
- - Override user-specified list or assignee
133
- - Set custom fields without workspace configuration
134
-
135
- **Will not do (out of scope):**
136
- - Modify production or test code
137
- - Delete tasks or archives (user responsibility)
138
- - Create ClickUp workspaces or teams
139
-
140
- ## Quality Checklist
141
-
142
- - [ ] Task includes name, description, and appropriate priority
143
- - [ ] QA metadata (severity, test type, component) mapped per field-mapping
144
- - [ ] Attachments added when evidence provided
145
- - [ ] No hardcoded secrets; token from .env
146
- - [ ] List ID resolved before create; task ID validated before update
147
- - [ ] Relationships set when linking bug to fix task
148
- - [ ] Error handling for 401, 404, 429 (rate limit)
149
-
150
- ## Troubleshooting
151
-
152
- | Symptom | Likely Cause | Fix |
153
- | ------- | ------------ | --- |
154
- | 401 Unauthorized | Token missing or invalid | Check `CLICKUP_API_TOKEN` in .env; regenerate if expired |
155
- | 404 Not Found | Invalid list_id or task_id | Verify IDs; use GET to list spaces/folders/lists |
156
- | 429 Rate limit | Too many requests | Implement backoff; batch operations |
157
- | Custom field not applied | Field ID wrong or not configured | Check workspace custom fields; use correct field ID |
158
- | Attachment fails | File size or format | ClickUp limits; use supported formats (png, jpg, txt, etc.) |
159
- | Wrong list | List ID from wrong folder | Resolve full hierarchy: team → space → folder → list |
160
-
161
- ## Reference Files
162
-
163
- | Topic | File |
164
- | ----- | ---- |
165
- | API patterns: tasks, lists, spaces, custom fields | `references/api-patterns.md` |
166
- | Mapping QA fields to ClickUp task fields | `references/field-mapping.md` |
@@ -1,102 +0,0 @@
1
- # ClickUp API Patterns
2
-
3
- ## Base URL and Auth
4
-
5
- ```
6
- Base: https://api.clickup.com/api/v2
7
- Header: Authorization: <CLICKUP_API_TOKEN>
8
- Content-Type: application/json
9
- ```
10
-
11
- ## Hierarchy Resolution
12
-
13
- 1. **Team** — `GET /api/v2/team` returns teams; use `team_id` for spaces
14
- 2. **Space** — `GET /api/v2/team/{team_id}/space` returns spaces
15
- 3. **Folder** — `GET /api/v2/space/{space_id}/folder` returns folders (archived: false)
16
- 4. **List** — `GET /api/v2/folder/{folder_id}/list` returns lists
17
-
18
- ## Create Task
19
-
20
- **POST** `/api/v2/list/{list_id}/task`
21
-
22
- ```json
23
- {
24
- "name": "Login fails when password contains special chars",
25
- "description": "**Expected:** User can log in with special chars in password.\n**Actual:** 500 error.\n**Steps:** 1. Go to /login 2. Enter user@test.com + pass!@# 3. Submit",
26
- "assignees": [12345],
27
- "tags": ["bug", "auth"],
28
- "status": "to do",
29
- "priority": 2,
30
- "due_date": 1709856000000,
31
- "custom_task_ids": false,
32
- "notify_all": false
33
- }
34
- ```
35
-
36
- **Response:** Task object with `id`, `url`, `status`, etc.
37
-
38
- ## Get Task
39
-
40
- **GET** `/api/v2/task/{task_id}`
41
-
42
- Returns full task including custom fields, subtasks, checklists.
43
-
44
- ## Update Task
45
-
46
- **PUT** `/api/v2/task/{task_id}`
47
-
48
- Same body shape as create; only include fields to update.
49
-
50
- ## Custom Fields
51
-
52
- Custom fields are workspace-specific. Use `GET /api/v2/list/{list_id}/field` to list available fields.
53
-
54
- Example custom field in task:
55
- ```json
56
- {
57
- "custom_fields": [
58
- {
59
- "id": "abc123",
60
- "value": "Critical"
61
- }
62
- ]
63
- }
64
- ```
65
-
66
- ## Subtasks
67
-
68
- Create subtask: **POST** `/api/v2/list/{list_id}/task` with `parent` set to parent task ID.
69
-
70
- Or add via task update with subtasks array.
71
-
72
- ## Checklists
73
-
74
- **POST** `/api/v2/task/{task_id}/checklist`
75
-
76
- ```json
77
- {
78
- "name": "Acceptance Criteria",
79
- "items": [
80
- { "name": "User can log in with special chars" },
81
- { "name": "Error message is user-friendly" }
82
- ]
83
- }
84
- ```
85
-
86
- ## Attachments
87
-
88
- **POST** `/api/v2/task/{task_id}/attachment`
89
-
90
- `Content-Type: multipart/form-data` with file.
91
-
92
- Supported: png, jpg, gif, pdf, txt, log, har, etc.
93
-
94
- ## Task Relationships
95
-
96
- - **Linked tasks** — Use `linking` in task body or separate linking API
97
- - **Blocking** — Set via custom workflow or dependency field if configured
98
-
99
- ## Rate Limits
100
-
101
- - Typical: 100 requests per minute per token
102
- - 429 response: retry with exponential backoff
@@ -1,71 +0,0 @@
1
- # QA Field to ClickUp Mapping
2
-
3
- ## Standard Task Fields
4
-
5
- | QA Field | ClickUp Field | Notes |
6
- | -------- | ------------- | ----- |
7
- | Title | `name` | Direct mapping |
8
- | Description | `description` | Markdown supported |
9
- | Severity | `priority` or custom | 1=Urgent, 2=High, 3=Normal, 4=Low |
10
- | Priority (P1–P5) | `priority` | P1→1, P2→2, P3→3, P4/P5→4 |
11
- | Component | `tags` | Add as tag, e.g. `auth`, `checkout` |
12
- | Assignee | `assignees` | Array of member IDs |
13
- | Due date | `due_date` | Unix ms |
14
- | Status | `status` | Must match list status names |
15
-
16
- ## QA-Specific → ClickUp Custom Fields
17
-
18
- Configure these custom fields in your ClickUp workspace, then map by field ID:
19
-
20
- | QA Field | Custom Field Type | Example Value |
21
- | -------- | ----------------- | ------------- |
22
- | Severity (ISO) | Dropdown | Blocker, Critical, Major, Minor, Trivial |
23
- | Test Type | Dropdown | Unit, Integration, E2E, Performance, Security |
24
- | Coverage | Text/URL | Requirement ID or module path |
25
- | Environment | Text | "Chrome 120, Windows 11, v2.1.0" |
26
- | Expected Result | Long text | From bug report template |
27
- | Actual Result | Long text | From bug report template |
28
- | Steps to Reproduce | Long text | Numbered steps |
29
- | Evidence | Attachment | Screenshots, logs via attachment API |
30
-
31
- ## Bug Report Template Mapping
32
-
33
- | Bug Report Field | ClickUp Target |
34
- | ---------------- | -------------- |
35
- | Title | `name` |
36
- | Expected Result | `description` or custom field |
37
- | Actual Result | `description` or custom field |
38
- | Steps to Reproduce | `description` or checklist |
39
- | Environment | Custom field or `description` |
40
- | Evidence | Attachments |
41
- | Severity | `priority` + custom field |
42
- | Priority | `priority` |
43
- | Component/Module | `tags` |
44
-
45
- ## Task Creator Output Mapping
46
-
47
- | Task Field | ClickUp Target |
48
- | ---------- | -------------- |
49
- | Title | `name` |
50
- | Description | `description` |
51
- | Acceptance criteria | Checklist |
52
- | Labels (task, qa, component) | `tags` |
53
- | Links (Fixes #N) | `description` (inline) or custom URL field |
54
- | Task type | `tags` (e.g. `development`, `qa`, `documentation`) |
55
-
56
- ## Tag Conventions
57
-
58
- | QA Source | Suggested Tags |
59
- | --------- | --------------- |
60
- | Bug | `bug`, `{component}` |
61
- | Coverage gap | `test-coverage`, `{component}` |
62
- | Flaky test | `flaky`, `{component}` |
63
- | Fix task | `fix`, `development` |
64
- | QA task | `qa`, `testing` |
65
- | Documentation | `docs`, `documentation` |
66
-
67
- ## Resolving Field IDs
68
-
69
- 1. Use ClickUp API: `GET /api/v2/list/{list_id}/field`
70
- 2. Or: Workspace Settings → Custom Fields → copy field ID from URL or API
71
- 3. Store mapping in config or pass via user input for workspace-specific setups