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.
- package/README.md +168 -0
- package/bin/cli.js +42 -0
- package/dist/agents/registry.d.ts +5 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +101 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/types.d.ts +9 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/dependencies.d.ts +21 -0
- package/dist/dependencies.d.ts.map +1 -0
- package/dist/dependencies.js +125 -0
- package/dist/dependencies.js.map +1 -0
- package/dist/installer.d.ts +25 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +437 -0
- package/dist/installer.js.map +1 -0
- package/dist/scaffold.d.ts +27 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +182 -0
- package/dist/scaffold.js.map +1 -0
- package/package.json +40 -0
- package/skills/qa-accessibility-test-writer/SKILL.md +127 -0
- package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +349 -0
- package/skills/qa-accessibility-test-writer/references/best-practices.md +184 -0
- package/skills/qa-accessibility-test-writer/references/wcag-tests.md +331 -0
- package/skills/qa-api-contract-curator/SKILL.md +104 -0
- package/skills/qa-api-contract-curator/references/breaking-changes.md +363 -0
- package/skills/qa-api-contract-curator/references/openapi-structure.md +404 -0
- package/skills/qa-browser-data-collector/SKILL.md +132 -0
- package/skills/qa-browser-data-collector/references/data-collection-checklist.md +91 -0
- package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +113 -0
- package/skills/qa-bug-ticket-creator/SKILL.md +148 -0
- package/skills/qa-bug-ticket-creator/references/bug-report-format.md +149 -0
- package/skills/qa-bug-ticket-creator/references/severity-guide.md +81 -0
- package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +39 -0
- package/skills/qa-changelog-analyzer/SKILL.md +134 -0
- package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +138 -0
- package/skills/qa-changelog-analyzer/references/impact-mapping.md +120 -0
- package/skills/qa-clickup-integration/SKILL.md +166 -0
- package/skills/qa-clickup-integration/references/api-patterns.md +102 -0
- package/skills/qa-clickup-integration/references/field-mapping.md +71 -0
- package/skills/qa-codeceptjs-writer/SKILL.md +136 -0
- package/skills/qa-codeceptjs-writer/references/best-practices.md +207 -0
- package/skills/qa-codeceptjs-writer/references/config.md +255 -0
- package/skills/qa-codeceptjs-writer/references/patterns.md +285 -0
- package/skills/qa-coverage-analyzer/SKILL.md +166 -0
- package/skills/qa-coverage-analyzer/references/best-practices.md +142 -0
- package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +155 -0
- package/skills/qa-coverage-analyzer/references/tools.md +204 -0
- package/skills/qa-cypress-writer/SKILL.md +134 -0
- package/skills/qa-cypress-writer/references/assertions.md +121 -0
- package/skills/qa-cypress-writer/references/best-practices.md +82 -0
- package/skills/qa-cypress-writer/references/config.md +121 -0
- package/skills/qa-cypress-writer/references/patterns.md +170 -0
- package/skills/qa-data-factory/SKILL.md +126 -0
- package/skills/qa-data-factory/references/factory-patterns.md +164 -0
- package/skills/qa-data-factory/references/faker-guide.md +131 -0
- package/skills/qa-diagram-generator/SKILL.md +125 -0
- package/skills/qa-diagram-generator/references/c4-model.md +53 -0
- package/skills/qa-diagram-generator/references/charts.md +58 -0
- package/skills/qa-diagram-generator/references/class-diagram.md +85 -0
- package/skills/qa-diagram-generator/references/er-diagram.md +69 -0
- package/skills/qa-diagram-generator/references/flowchart.md +92 -0
- package/skills/qa-diagram-generator/references/from-screenshot.md +45 -0
- package/skills/qa-diagram-generator/references/gantt.md +49 -0
- package/skills/qa-diagram-generator/references/journey.md +50 -0
- package/skills/qa-diagram-generator/references/mindmap.md +75 -0
- package/skills/qa-diagram-generator/references/sequence.md +69 -0
- package/skills/qa-diagram-generator/references/state-diagram.md +56 -0
- package/skills/qa-discovery-interview/SKILL.md +182 -0
- package/skills/qa-discovery-interview/references/completeness-checklist.md +53 -0
- package/skills/qa-discovery-interview/references/conflict-patterns.md +101 -0
- package/skills/qa-discovery-interview/references/qa-categories.md +147 -0
- package/skills/qa-discovery-interview/templates/qa-brief-template.md +168 -0
- package/skills/qa-environment-checker/SKILL.md +142 -0
- package/skills/qa-environment-checker/references/dependency-matrix.md +101 -0
- package/skills/qa-environment-checker/references/health-checks.md +209 -0
- package/skills/qa-environment-checker/templates/env-readiness-template.md +64 -0
- package/skills/qa-flaky-detector/SKILL.md +153 -0
- package/skills/qa-flaky-detector/references/ci-analysis.md +140 -0
- package/skills/qa-flaky-detector/references/flaky-patterns.md +247 -0
- package/skills/qa-github-issues-enhanced/SKILL.md +175 -0
- package/skills/qa-github-issues-enhanced/references/issue-templates.md +425 -0
- package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +130 -0
- package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +188 -0
- package/skills/qa-httpx-writer/SKILL.md +138 -0
- package/skills/qa-httpx-writer/references/assertions.md +195 -0
- package/skills/qa-httpx-writer/references/best-practices.md +140 -0
- package/skills/qa-httpx-writer/references/config.md +212 -0
- package/skills/qa-httpx-writer/references/patterns.md +262 -0
- package/skills/qa-jest-writer/SKILL.md +131 -0
- package/skills/qa-jest-writer/references/assertions.md +125 -0
- package/skills/qa-jest-writer/references/best-practices.md +136 -0
- package/skills/qa-jest-writer/references/config.md +134 -0
- package/skills/qa-jest-writer/references/patterns.md +172 -0
- package/skills/qa-jira-integration/SKILL.md +135 -0
- package/skills/qa-jira-integration/references/api-patterns.md +143 -0
- package/skills/qa-jira-integration/references/field-mapping.md +79 -0
- package/skills/qa-jira-integration/references/xray-integration.md +85 -0
- package/skills/qa-jmeter-writer/SKILL.md +171 -0
- package/skills/qa-jmeter-writer/references/best-practices.md +157 -0
- package/skills/qa-jmeter-writer/references/config.md +204 -0
- package/skills/qa-jmeter-writer/references/patterns.md +242 -0
- package/skills/qa-junit5-writer/SKILL.md +157 -0
- package/skills/qa-junit5-writer/references/assertions.md +118 -0
- package/skills/qa-junit5-writer/references/config.md +97 -0
- package/skills/qa-junit5-writer/references/patterns.md +162 -0
- package/skills/qa-k6-writer/SKILL.md +155 -0
- package/skills/qa-k6-writer/references/best-practices.md +236 -0
- package/skills/qa-k6-writer/references/config.md +219 -0
- package/skills/qa-k6-writer/references/patterns.md +304 -0
- package/skills/qa-linear-integration/SKILL.md +137 -0
- package/skills/qa-linear-integration/references/api-patterns.md +249 -0
- package/skills/qa-linear-integration/references/field-mapping.md +121 -0
- package/skills/qa-locust-writer/SKILL.md +151 -0
- package/skills/qa-locust-writer/references/best-practices.md +126 -0
- package/skills/qa-locust-writer/references/config.md +170 -0
- package/skills/qa-locust-writer/references/patterns.md +235 -0
- package/skills/qa-manual-test-designer/SKILL.md +145 -0
- package/skills/qa-manual-test-designer/references/exploratory-charters.md +138 -0
- package/skills/qa-manual-test-designer/references/personas.md +146 -0
- package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +47 -0
- package/skills/qa-manual-test-designer/templates/test-case-template.md +31 -0
- package/skills/qa-mobile-test-writer/SKILL.md +144 -0
- package/skills/qa-mobile-test-writer/references/best-practices.md +214 -0
- package/skills/qa-mobile-test-writer/references/config.md +309 -0
- package/skills/qa-mobile-test-writer/references/patterns.md +304 -0
- package/skills/qa-nfr-analyst/SKILL.md +177 -0
- package/skills/qa-nfr-analyst/references/iso-25010-model.md +159 -0
- package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +202 -0
- package/skills/qa-nfr-analyst/references/wcag-checklist.md +184 -0
- package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +89 -0
- package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +48 -0
- package/skills/qa-orchestrator/SKILL.md +132 -0
- package/skills/qa-orchestrator/references/handoff-chains.md +105 -0
- package/skills/qa-orchestrator/references/pipeline-modes.md +115 -0
- package/skills/qa-orchestrator/references/scheduler-rules.md +84 -0
- package/skills/qa-pact-writer/SKILL.md +133 -0
- package/skills/qa-pact-writer/references/best-practices.md +100 -0
- package/skills/qa-pact-writer/references/config.md +135 -0
- package/skills/qa-pact-writer/references/patterns.md +161 -0
- package/skills/qa-plan-creator/SKILL.md +139 -0
- package/skills/qa-plan-creator/references/introduction-plan.md +43 -0
- package/skills/qa-plan-creator/references/migration-plan.md +44 -0
- package/skills/qa-plan-creator/references/onboarding-plan.md +46 -0
- package/skills/qa-plan-creator/references/performance-plan.md +44 -0
- package/skills/qa-plan-creator/references/regression-plan.md +45 -0
- package/skills/qa-plan-creator/references/release-plan.md +45 -0
- package/skills/qa-plan-creator/references/sprint-plan.md +44 -0
- package/skills/qa-plan-creator/references/test-plan.md +59 -0
- package/skills/qa-plan-creator/references/uat-plan.md +43 -0
- package/skills/qa-plan-creator/templates/checklist-template.md +36 -0
- package/skills/qa-plan-creator/templates/regression-checklist-template.md +49 -0
- package/skills/qa-plan-creator/templates/release-checklist-template.md +46 -0
- package/skills/qa-plan-creator/templates/test-plan-template.md +74 -0
- package/skills/qa-playwright-py-writer/SKILL.md +156 -0
- package/skills/qa-playwright-py-writer/references/best-practices.md +194 -0
- package/skills/qa-playwright-py-writer/references/config.md +195 -0
- package/skills/qa-playwright-py-writer/references/patterns.md +212 -0
- package/skills/qa-playwright-ts-writer/SKILL.md +151 -0
- package/skills/qa-playwright-ts-writer/references/assertions.md +109 -0
- package/skills/qa-playwright-ts-writer/references/best-practices.md +191 -0
- package/skills/qa-playwright-ts-writer/references/config.md +144 -0
- package/skills/qa-playwright-ts-writer/references/patterns.md +171 -0
- package/skills/qa-pytest-writer/SKILL.md +145 -0
- package/skills/qa-pytest-writer/references/assertions.md +149 -0
- package/skills/qa-pytest-writer/references/best-practices.md +97 -0
- package/skills/qa-pytest-writer/references/config.md +176 -0
- package/skills/qa-pytest-writer/references/patterns.md +251 -0
- package/skills/qa-qase-integration/SKILL.md +149 -0
- package/skills/qa-qase-integration/references/api-reference.md +354 -0
- package/skills/qa-qase-integration/references/ci-integration.md +196 -0
- package/skills/qa-qase-integration/references/field-mapping.md +157 -0
- package/skills/qa-requirements-generator/SKILL.md +152 -0
- package/skills/qa-requirements-generator/references/iso-29148-structure.md +153 -0
- package/skills/qa-requirements-generator/references/requirement-patterns.md +278 -0
- package/skills/qa-rest-assured-writer/SKILL.md +137 -0
- package/skills/qa-rest-assured-writer/references/best-practices.md +50 -0
- package/skills/qa-rest-assured-writer/references/config.md +124 -0
- package/skills/qa-rest-assured-writer/references/patterns.md +192 -0
- package/skills/qa-risk-analyzer/SKILL.md +158 -0
- package/skills/qa-risk-analyzer/references/impact-analysis.md +133 -0
- package/skills/qa-risk-analyzer/references/risk-factors.md +123 -0
- package/skills/qa-robot-framework-writer/SKILL.md +147 -0
- package/skills/qa-robot-framework-writer/references/best-practices.md +249 -0
- package/skills/qa-robot-framework-writer/references/config.md +204 -0
- package/skills/qa-robot-framework-writer/references/libraries.md +273 -0
- package/skills/qa-robot-framework-writer/references/patterns.md +216 -0
- package/skills/qa-security-test-writer/SKILL.md +123 -0
- package/skills/qa-security-test-writer/references/best-practices.md +155 -0
- package/skills/qa-security-test-writer/references/owasp-top10.md +331 -0
- package/skills/qa-security-test-writer/references/zap-config.md +258 -0
- package/skills/qa-selenium-java-writer/SKILL.md +143 -0
- package/skills/qa-selenium-java-writer/references/best-practices.md +59 -0
- package/skills/qa-selenium-java-writer/references/config.md +143 -0
- package/skills/qa-selenium-java-writer/references/patterns.md +170 -0
- package/skills/qa-selenium-py-writer/SKILL.md +150 -0
- package/skills/qa-selenium-py-writer/references/best-practices.md +175 -0
- package/skills/qa-selenium-py-writer/references/config.md +224 -0
- package/skills/qa-selenium-py-writer/references/patterns.md +255 -0
- package/skills/qa-shortcut-integration/SKILL.md +143 -0
- package/skills/qa-shortcut-integration/references/api-patterns.md +126 -0
- package/skills/qa-shortcut-integration/references/field-mapping.md +66 -0
- package/skills/qa-spec-auditor/SKILL.md +162 -0
- package/skills/qa-spec-auditor/references/audit-checklist.md +144 -0
- package/skills/qa-spec-auditor/references/drift-patterns.md +207 -0
- package/skills/qa-spec-writer/SKILL.md +143 -0
- package/skills/qa-spec-writer/references/gherkin-guide.md +253 -0
- package/skills/qa-spec-writer/references/specification-patterns.md +274 -0
- package/skills/qa-spring-test-writer/SKILL.md +170 -0
- package/skills/qa-spring-test-writer/references/best-practices.md +57 -0
- package/skills/qa-spring-test-writer/references/config.md +179 -0
- package/skills/qa-spring-test-writer/references/patterns.md +235 -0
- package/skills/qa-supertest-writer/SKILL.md +150 -0
- package/skills/qa-supertest-writer/references/assertions.md +192 -0
- package/skills/qa-supertest-writer/references/best-practices.md +102 -0
- package/skills/qa-supertest-writer/references/config.md +166 -0
- package/skills/qa-supertest-writer/references/patterns.md +242 -0
- package/skills/qa-task-creator/SKILL.md +142 -0
- package/skills/qa-task-creator/references/linking-patterns.md +127 -0
- package/skills/qa-task-creator/references/task-types.md +169 -0
- package/skills/qa-task-creator/templates/task-template.md +24 -0
- package/skills/qa-test-doc-compiler/SKILL.md +114 -0
- package/skills/qa-test-doc-compiler/references/agile-tailoring.md +220 -0
- package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +302 -0
- package/skills/qa-test-healer/SKILL.md +101 -0
- package/skills/qa-test-healer/references/diagnosis-patterns.md +142 -0
- package/skills/qa-test-healer/references/fix-strategies.md +177 -0
- package/skills/qa-test-reporter/SKILL.md +130 -0
- package/skills/qa-test-reporter/references/best-practices.md +162 -0
- package/skills/qa-test-reporter/references/iso-29119-reports.md +236 -0
- package/skills/qa-test-reporter/references/report-formats.md +287 -0
- package/skills/qa-test-reviewer/SKILL.md +142 -0
- package/skills/qa-test-reviewer/references/anti-patterns.md +268 -0
- package/skills/qa-test-reviewer/references/review-checklist.md +93 -0
- package/skills/qa-test-strategy/SKILL.md +133 -0
- package/skills/qa-test-strategy/references/entry-exit-criteria.md +176 -0
- package/skills/qa-test-strategy/references/risk-matrix.md +102 -0
- package/skills/qa-test-strategy/references/testing-types.md +143 -0
- package/skills/qa-testcase-from-docs/SKILL.md +161 -0
- package/skills/qa-testcase-from-docs/references/test-case-format.md +196 -0
- package/skills/qa-testcase-from-docs/references/test-design-techniques.md +126 -0
- package/skills/qa-testcase-from-docs/templates/test-case-template.md +31 -0
- package/skills/qa-testcase-from-ui/SKILL.md +109 -0
- package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +126 -0
- package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +146 -0
- package/skills/qa-testcase-from-ui/templates/test-case-template.md +31 -0
- package/skills/qa-visual-regression-writer/SKILL.md +175 -0
- package/skills/qa-visual-regression-writer/references/best-practices.md +154 -0
- package/skills/qa-visual-regression-writer/references/config.md +220 -0
- package/skills/qa-visual-regression-writer/references/patterns.md +213 -0
- package/skills/qa-vitest-writer/SKILL.md +141 -0
- package/skills/qa-vitest-writer/references/assertions.md +105 -0
- package/skills/qa-vitest-writer/references/best-practices.md +62 -0
- package/skills/qa-vitest-writer/references/config.md +127 -0
- package/skills/qa-vitest-writer/references/patterns.md +141 -0
- package/skills/qa-webdriverio-writer/SKILL.md +145 -0
- package/skills/qa-webdriverio-writer/references/best-practices.md +176 -0
- package/skills/qa-webdriverio-writer/references/config.md +240 -0
- package/skills/qa-webdriverio-writer/references/patterns.md +269 -0
|
@@ -0,0 +1,152 @@
|
|
|
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 |
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
|
@@ -0,0 +1,278 @@
|
|
|
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
|
+
```
|