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,152 +0,0 @@
1
- ---
2
- name: qa-requirements-generator
3
- description: Extract and normalize requirements from any source (URL, Figma, code, description) into structured specifications per ISO 29148.
4
- output_dir: docs/requirements
5
- dependencies:
6
- recommended:
7
- - qa-discovery-interview
8
- ---
9
-
10
- # QA Requirements Generator
11
-
12
- ## Purpose
13
- Extract and normalize requirements from any source into structured specification documents following ISO/IEC/IEEE 29148 standards.
14
-
15
- ## Sub-Modes (Input Sources)
16
-
17
- ### `from-url`
18
- Navigate a live application via Playwright MCP, collect user flows, page structure, form fields, navigation paths, and generate requirements from observed behavior.
19
-
20
- **Steps:**
21
- 1. Use Playwright MCP to navigate the provided URL
22
- 2. Capture accessibility snapshots of each page
23
- 3. Identify user flows, forms, buttons, navigation elements
24
- 4. Extract validation rules, error messages, API endpoints
25
- 5. Generate requirements from observed functionality
26
-
27
- ### `from-figma`
28
- Analyze Figma exports or UI screenshots via vision capabilities.
29
-
30
- **Steps:**
31
- 1. Accept image paths (screenshots, Figma exports, mockups)
32
- 2. Analyze UI elements: fields, buttons, tables, modals, forms
33
- 3. Infer functional requirements from visual design
34
- 4. Map user interactions from layout and component relationships
35
-
36
- ### `from-code`
37
- Analyze repository structure, components, API routes, models, and database schemas.
38
-
39
- **Steps:**
40
- 1. Scan project structure (components, routes, models, services)
41
- 2. Extract API endpoints and their signatures
42
- 3. Identify data models and relationships
43
- 4. Derive requirements from existing implementation
44
-
45
- ### `from-description`
46
- Transform text descriptions from PM/developer/stakeholder into structured requirements.
47
-
48
- **Steps:**
49
- 1. Parse natural language input
50
- 2. Identify actors, actions, and outcomes
51
- 3. Decompose into atomic requirements
52
- 4. Add acceptance criteria (Given/When/Then)
53
-
54
- ### `full-audit`
55
- Combine all sources for comprehensive requirement extraction.
56
-
57
- ## Output Format
58
-
59
- Requirements document following ISO 29148 SRS structure. See `references/iso-29148-structure.md` for full section descriptions.
60
-
61
- ### Document Structure
62
- ```
63
- 1. Introduction
64
- 1.1 Purpose
65
- 1.2 Scope
66
- 1.3 Definitions
67
- 2. Overall Description
68
- 2.1 Product Perspective
69
- 2.2 User Classes and Characteristics
70
- 2.3 Operating Environment
71
- 3. Functional Requirements
72
- [REQ-FN-001] ...
73
- 4. Non-Functional Requirements
74
- [REQ-NFR-001] ...
75
- 5. External Interface Requirements
76
- 6. Constraints
77
- 7. Dependencies
78
- ```
79
-
80
- ### Requirement Format
81
- Each requirement MUST include:
82
- - **ID:** `[REQ-{type}-{number}]` (e.g., REQ-FN-001)
83
- - **Title:** Short descriptive title
84
- - **Description:** Clear, unambiguous statement
85
- - **Priority:** Critical / High / Medium / Low
86
- - **Acceptance Criteria:** Given/When/Then format
87
- - **Source:** URL / Figma / Code / Description
88
- - **Dependencies:** Links to related requirements
89
- - **Status:** Draft / Reviewed / Approved
90
-
91
- ### User Story Format
92
- ```
93
- As a [user role]
94
- I want to [action]
95
- So that [benefit]
96
-
97
- Acceptance Criteria:
98
- Given [precondition]
99
- When [action]
100
- Then [expected outcome]
101
- ```
102
-
103
- ## Scope
104
-
105
- **Can do (autonomous):**
106
- - Generate requirements from any supported input source
107
- - Create user stories with acceptance criteria
108
- - Assign requirement IDs and priorities
109
- - Build dependency graphs between requirements
110
- - Call qa-diagram-generator for flow diagrams
111
-
112
- **Cannot do (requires confirmation):**
113
- - Modify existing approved requirements
114
- - Change requirement priorities set by stakeholders
115
- - Delete requirements from registry
116
-
117
- **Will not do (out of scope):**
118
- - Implement features described in requirements
119
- - Deploy or modify production systems
120
- - Make business decisions about scope
121
-
122
- ## MCP Tools Used
123
- - **Playwright MCP:** For `from-url` mode (navigate, screenshot, accessibility snapshot)
124
- - **Sequential Thinking MCP:** For complex requirement decomposition
125
- - **Filesystem MCP:** For reading codebase in `from-code` mode
126
-
127
- ## Embedding: Diagram Generator
128
- When visualization is needed, reference qa-diagram-generator:
129
- - User flows → `references/flowchart.md`
130
- - API interactions → `references/sequence.md`
131
- - Data models → `references/er-diagram.md`
132
-
133
- ## Requirement Patterns
134
- See `references/requirement-patterns.md` for templates: CRUD, auth, search/filter, notifications, file upload, pagination, error handling.
135
-
136
- ## Quality Checklist
137
- - [ ] Every requirement has a unique ID
138
- - [ ] No ambiguous language (avoid: "should", "may", "might")
139
- - [ ] All requirements are testable (measurable acceptance criteria)
140
- - [ ] Dependencies are explicitly linked
141
- - [ ] Priority is assigned based on business value
142
- - [ ] Traceability links to source material
143
- - [ ] No duplicate or conflicting requirements
144
-
145
- ## Troubleshooting
146
-
147
- | Symptom | Likely Cause | Fix |
148
- | ------- | ------------ | --- |
149
- | Empty requirements from URL | Page requires authentication | Provide login credentials, use Playwright to authenticate first |
150
- | Vague requirements generated | Input description too brief | Ask for more detail, use multiple sub-modes |
151
- | Missing non-functional requirements | Only functional analysis done | Run qa-nfr-analyst separately or use full-audit mode |
152
- | Duplicate requirements | Multiple sources overlap | Run deduplication pass, merge by intent |
@@ -1,153 +0,0 @@
1
- # ISO/IEC/IEEE 29148 SRS Structure Reference
2
-
3
- ISO/IEC/IEEE 29148 defines the structure and content of Software Requirements Specifications (SRS). Use this reference when generating requirements documents.
4
-
5
- ## Document Sections
6
-
7
- ### 1. Introduction
8
-
9
- #### 1.1 Purpose
10
- Identifies the product and describes the purpose of the SRS document.
11
-
12
- **Example:**
13
- > This Software Requirements Specification defines the functional and non-functional requirements for the Customer Portal application. It serves as the authoritative source for development, testing, and validation activities.
14
-
15
- #### 1.2 Scope
16
- Describes the product scope, major functions, and exclusions.
17
-
18
- **Example:**
19
- > The Customer Portal enables authenticated users to manage their profile, view order history, and submit support tickets. Out of scope: payment processing (handled by external gateway), mobile native apps.
20
-
21
- #### 1.3 Definitions, Acronyms, and Abbreviations
22
- Glossary of terms used in the document.
23
-
24
- **Example:**
25
- > - **User:** An authenticated individual with access to the system
26
- > - **Session:** A period of authenticated interaction bounded by login and logout
27
- > - **API:** Application Programming Interface
28
-
29
- ---
30
-
31
- ### 2. Overall Description
32
-
33
- #### 2.1 Product Perspective
34
- Describes the product in context: interfaces to other systems, hardware, software, users.
35
-
36
- **Example:**
37
- > The Customer Portal integrates with the Order Management System (OMS) via REST API, authenticates against Microsoft Entra ID, and runs in a containerized environment on Azure.
38
-
39
- #### 2.2 User Classes and Characteristics
40
- Identifies user roles and their characteristics.
41
-
42
- **Example:**
43
- > - **End User:** General customer; requires simple, guided workflows
44
- > - **Support Agent:** Internal staff; requires bulk operations and search
45
- > - **Administrator:** System config; requires audit trails and role management
46
-
47
- #### 2.3 Operating Environment
48
- Hardware, software, and network constraints.
49
-
50
- **Example:**
51
- > - Browsers: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
52
- > - Resolution: 1280×720 minimum
53
- > - Network: HTTPS required; offline mode not supported
54
-
55
- ---
56
-
57
- ### 3. Functional Requirements
58
-
59
- Each requirement follows the format:
60
-
61
- ```
62
- [REQ-FN-XXX] Title
63
- Description: [Clear, unambiguous statement]
64
- Priority: Critical | High | Medium | Low
65
- Acceptance Criteria:
66
- Given [precondition]
67
- When [action]
68
- Then [expected outcome]
69
- Source: [URL | Figma | Code | Description]
70
- Dependencies: [REQ-FN-YYY, ...]
71
- Status: Draft | Reviewed | Approved
72
- ```
73
-
74
- **Numbering:** Use sequential numbering (001, 002, ...) within each type.
75
-
76
- ---
77
-
78
- ### 4. Non-Functional Requirements
79
-
80
- Categories per ISO 25010:
81
-
82
- | Category | Examples |
83
- |----------|----------|
84
- | Performance | Response time, throughput, resource usage |
85
- | Security | Authentication, authorization, data protection |
86
- | Usability | Learnability, accessibility (WCAG) |
87
- | Reliability | Availability, fault tolerance |
88
- | Maintainability | Modularity, testability |
89
- | Portability | Platform independence |
90
-
91
- **Format:** `[REQ-NFR-XXX]` with same structure as functional requirements.
92
-
93
- ---
94
-
95
- ### 5. External Interface Requirements
96
-
97
- #### 5.1 User Interfaces
98
- Screens, layouts, interaction patterns.
99
-
100
- #### 5.2 Hardware Interfaces
101
- Devices, sensors, peripherals.
102
-
103
- #### 5.3 Software Interfaces
104
- APIs, databases, third-party services.
105
-
106
- #### 5.4 Communication Interfaces
107
- Protocols, formats, ports.
108
-
109
- ---
110
-
111
- ### 6. Constraints
112
-
113
- Regulatory, technical, or business constraints.
114
-
115
- **Example:**
116
- > - GDPR: Personal data must be deletable within 30 days of request
117
- > - PCI-DSS: No storage of full card numbers
118
- > - Must support RTL languages for future localization
119
-
120
- ---
121
-
122
- ### 7. Dependencies
123
-
124
- External systems, libraries, or conditions the product depends on.
125
-
126
- **Example:**
127
- > - OMS API v2.1 or later
128
- > - Entra ID tenant configuration
129
- > - CDN for static assets
130
-
131
- ---
132
-
133
- ## Requirement Quality Attributes (ISO 29148)
134
-
135
- | Attribute | Description |
136
- |-----------|-------------|
137
- | Complete | No missing information |
138
- | Correct | Accurately reflects stakeholder needs |
139
- | Unambiguous | Single interpretation |
140
- | Verifiable | Can be tested or demonstrated |
141
- | Consistent | No conflicts with other requirements |
142
- | Traceable | Links to source and downstream artifacts |
143
- | Modifiable | Structured for change management |
144
-
145
- ---
146
-
147
- ## Requirement Writing Rules
148
-
149
- 1. **Use "shall"** for mandatory requirements (not "should", "may", "might")
150
- 2. **One requirement per statement** — avoid compound sentences
151
- 3. **Avoid vague terms** — "user-friendly", "fast", "robust" need quantification
152
- 4. **Include measurable criteria** — "within 2 seconds", "99.9% uptime"
153
- 5. **Link to source** — traceability for each requirement
@@ -1,278 +0,0 @@
1
- # Common Requirement Patterns
2
-
3
- Reusable requirement templates for recurring functionality. Adapt IDs, entity names, and specifics to the project.
4
-
5
- ---
6
-
7
- ## CRUD Operations
8
-
9
- ### Create
10
-
11
- ```
12
- [REQ-FN-XXX] Create [Entity]
13
- Description: The system shall allow [user role] to create a new [entity] by providing [required fields].
14
- Priority: High
15
- Acceptance Criteria:
16
- Given [user] is authenticated with [create] permission
17
- When [user] submits the [entity] form with valid [fields]
18
- Then the system shall persist the [entity] and return a confirmation
19
- And the system shall assign a unique identifier to the new [entity]
20
- And the system shall validate [field] according to [rules]
21
- Source: [Code | Description]
22
- Dependencies: [REQ-FN-AUTH]
23
- Status: Draft
24
- ```
25
-
26
- ### Read (Single)
27
-
28
- ```
29
- [REQ-FN-XXX] View [Entity] Details
30
- Description: The system shall allow [user role] to view details of an existing [entity] by [entity] ID.
31
- Priority: High
32
- Acceptance Criteria:
33
- Given [user] is authenticated and has access to [entity]
34
- When [user] requests [entity] with ID [id]
35
- Then the system shall return [entity] details if authorized
36
- And the system shall return 404 if [entity] does not exist
37
- And the system shall return 403 if [user] lacks permission
38
- Source: [Code | Description]
39
- Dependencies: [REQ-FN-AUTH]
40
- Status: Draft
41
- ```
42
-
43
- ### Update
44
-
45
- ```
46
- [REQ-FN-XXX] Update [Entity]
47
- Description: The system shall allow [user role] to update an existing [entity] by modifying [editable fields].
48
- Priority: High
49
- Acceptance Criteria:
50
- Given [user] is authenticated with [update] permission
51
- When [user] submits changes to [entity] [id]
52
- Then the system shall validate and persist the changes
53
- And the system shall preserve [immutable fields]
54
- And the system shall record the modification timestamp and actor
55
- Source: [Code | Description]
56
- Dependencies: [REQ-FN-READ]
57
- Status: Draft
58
- ```
59
-
60
- ### Delete
61
-
62
- ```
63
- [REQ-FN-XXX] Delete [Entity]
64
- Description: The system shall allow [user role] to delete an [entity] when [conditions].
65
- Priority: Medium
66
- Acceptance Criteria:
67
- Given [user] is authenticated with [delete] permission
68
- When [user] requests deletion of [entity] [id]
69
- Then the system shall perform [soft|hard] delete
70
- And the system shall [cascade|prevent] deletion if [entity] has [dependencies]
71
- And the system shall require confirmation for [destructive] operations
72
- Source: [Code | Description]
73
- Dependencies: [REQ-FN-READ]
74
- Status: Draft
75
- ```
76
-
77
- ---
78
-
79
- ## Authentication / Authorization
80
-
81
- ### Login
82
-
83
- ```
84
- [REQ-FN-XXX] User Login
85
- Description: The system shall authenticate users via [method: password | SSO | MFA].
86
- Priority: Critical
87
- Acceptance Criteria:
88
- Given a user with valid credentials
89
- When the user submits login credentials
90
- Then the system shall validate credentials against [identity provider]
91
- And the system shall create a session with [token type] valid for [duration]
92
- And the system shall return an error for invalid credentials without revealing which field failed
93
- And the system shall enforce [lockout policy] after [N] failed attempts
94
- Source: [Code | Description]
95
- Dependencies: []
96
- Status: Draft
97
- ```
98
-
99
- ### Logout
100
-
101
- ```
102
- [REQ-FN-XXX] User Logout
103
- Description: The system shall allow authenticated users to terminate their session.
104
- Priority: High
105
- Acceptance Criteria:
106
- Given an authenticated user
107
- When the user initiates logout
108
- Then the system shall invalidate the session/token
109
- And the system shall redirect the user to [login | home] page
110
- And the system shall clear client-side session data
111
- Source: [Code | Description]
112
- Dependencies: [REQ-FN-LOGIN]
113
- Status: Draft
114
- ```
115
-
116
- ### Role-Based Access
117
-
118
- ```
119
- [REQ-FN-XXX] Role-Based Access Control
120
- Description: The system shall enforce access to [resources] based on user roles [list roles].
121
- Priority: Critical
122
- Acceptance Criteria:
123
- Given a user with role [R]
124
- When the user attempts to [action] on [resource]
125
- Then the system shall allow the action if role [R] has permission
126
- And the system shall return 403 Forbidden if permission is denied
127
- And the system shall not expose [resource] existence when access is denied [if applicable]
128
- Source: [Code | Description]
129
- Dependencies: [REQ-FN-LOGIN]
130
- Status: Draft
131
- ```
132
-
133
- ---
134
-
135
- ## Search / Filter
136
-
137
- ```
138
- [REQ-FN-XXX] Search [Entities]
139
- Description: The system shall allow users to search [entities] by [searchable fields].
140
- Priority: High
141
- Acceptance Criteria:
142
- Given [user] is authenticated
143
- When [user] enters search criteria [fields] and submits
144
- Then the system shall return [entities] matching [matching logic: exact | partial | fuzzy]
145
- And the system shall support [AND | OR] combination of criteria
146
- And the system shall return results within [time] for [volume]
147
- And the system shall support [pagination | infinite scroll]
148
- Source: [Code | Description]
149
- Dependencies: [REQ-FN-READ-LIST]
150
- Status: Draft
151
- ```
152
-
153
- ```
154
- [REQ-FN-XXX] Filter [Entities] List
155
- Description: The system shall allow users to filter [entities] by [filterable attributes].
156
- Priority: Medium
157
- Acceptance Criteria:
158
- Given a list of [entities]
159
- When [user] applies filters [filter1, filter2, ...]
160
- Then the system shall return only [entities] matching all active filters
161
- And the system shall support [single | multi] select per filter
162
- And the system shall persist filter state in [URL | session] for shareability
163
- Source: [Code | Description]
164
- Dependencies: [REQ-FN-READ-LIST]
165
- Status: Draft
166
- ```
167
-
168
- ---
169
-
170
- ## Notifications
171
-
172
- ```
173
- [REQ-FN-XXX] In-App Notifications
174
- Description: The system shall display notifications to users for [events].
175
- Priority: Medium
176
- Acceptance Criteria:
177
- Given [user] is authenticated and [event] occurs
178
- When the event is relevant to the user
179
- Then the system shall create a notification visible in [notification center | bell icon]
180
- And the system shall mark notifications as read when [user views | user dismisses]
181
- And the system shall support [real-time | polled] delivery
182
- Source: [Code | Description]
183
- Dependencies: [REQ-FN-LOGIN]
184
- Status: Draft
185
- ```
186
-
187
- ```
188
- [REQ-FN-XXX] Email Notifications
189
- Description: The system shall send email notifications for [events] to [recipients].
190
- Priority: Medium
191
- Acceptance Criteria:
192
- Given [event] occurs
193
- When the event triggers an email (e.g., [welcome, password reset, order confirmation])
194
- Then the system shall send an email to [recipient] within [time]
195
- And the system shall include [required content]
196
- And the system shall respect user notification preferences
197
- And the system shall use [template] with [personalization]
198
- Source: [Code | Description]
199
- Dependencies: []
200
- Status: Draft
201
- ```
202
-
203
- ---
204
-
205
- ## File Upload
206
-
207
- ```
208
- [REQ-FN-XXX] File Upload
209
- Description: The system shall allow [user role] to upload files for [purpose].
210
- Priority: High
211
- Acceptance Criteria:
212
- Given [user] is authenticated
213
- When [user] selects a file for upload
214
- Then the system shall accept files of type [MIME types] up to [size] MB
215
- And the system shall validate [virus scan | content check] before persisting
216
- And the system shall store the file in [storage] and record metadata
217
- And the system shall return [progress | success | error] feedback
218
- And the system shall reject files exceeding size or type limits with a clear message
219
- Source: [Code | Description]
220
- Dependencies: [REQ-FN-AUTH]
221
- Status: Draft
222
- ```
223
-
224
- ---
225
-
226
- ## Pagination
227
-
228
- ```
229
- [REQ-FN-XXX] Paginated List
230
- Description: The system shall paginate [entity] lists with configurable page size.
231
- Priority: Medium
232
- Acceptance Criteria:
233
- Given a list of [entities] with [N] total items
234
- When [user] requests page [P] with size [S]
235
- Then the system shall return items [(P-1)*S] through [P*S - 1]
236
- And the system shall include metadata: total count, page number, page size, hasNext, hasPrev
237
- And the system shall support page sizes [10, 25, 50, 100]
238
- And the system shall default to page size [25]
239
- Source: [Code | Description]
240
- Dependencies: [REQ-FN-READ-LIST]
241
- Status: Draft
242
- ```
243
-
244
- ---
245
-
246
- ## Error Handling
247
-
248
- ```
249
- [REQ-FN-XXX] User-Facing Error Messages
250
- Description: The system shall display clear, actionable error messages for [error types].
251
- Priority: High
252
- Acceptance Criteria:
253
- Given an error occurs during [operation]
254
- When the error is user-facing
255
- Then the system shall display a message that [describes the problem | suggests next steps]
256
- And the system shall avoid exposing [internal details | stack traces]
257
- And the system shall use [localization] for error text
258
- And the system shall log full error details server-side for debugging
259
- Source: [Code | Description]
260
- Dependencies: []
261
- Status: Draft
262
- ```
263
-
264
- ```
265
- [REQ-FN-XXX] Validation Error Feedback
266
- Description: The system shall provide field-level validation feedback for form submissions.
267
- Priority: High
268
- Acceptance Criteria:
269
- Given [user] submits a form with invalid data
270
- When validation fails for [field(s)]
271
- Then the system shall highlight invalid fields and display error messages
272
- And the system shall prevent submission until all errors are resolved
273
- And the system shall support [client-side | server-side | both] validation
274
- And the system shall show errors [inline | summary | both]
275
- Source: [Code | Description]
276
- Dependencies: []
277
- Status: Draft
278
- ```