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,184 @@
|
|
|
1
|
+
# WCAG 2.2 Success Criteria Checklist
|
|
2
|
+
|
|
3
|
+
Web Content Accessibility Guidelines 2.2 (W3C Recommendation, October 2023). Use this checklist for testable accessibility criteria.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Level A (Minimum)
|
|
8
|
+
|
|
9
|
+
### Principle 1: Perceivable
|
|
10
|
+
|
|
11
|
+
| ID | Criterion | Testable Checkpoint |
|
|
12
|
+
|----|-----------|---------------------|
|
|
13
|
+
| 1.1.1 | Non-text Content | All images have alt text; decorative images use alt="" or aria-hidden |
|
|
14
|
+
| 1.2.1 | Audio-only and Video-only (Prerecorded) | Audio/video-only media has text transcript or audio description |
|
|
15
|
+
| 1.2.2 | Captions (Prerecorded) | Prerecorded video has synchronized captions |
|
|
16
|
+
| 1.2.3 | Audio Description or Media Alternative (Prerecorded) | Prerecorded video has audio description or text alternative |
|
|
17
|
+
| 1.3.1 | Info and Relationships | Structure conveyed via markup (headings, lists, tables, form labels) |
|
|
18
|
+
| 1.3.2 | Meaningful Sequence | Reading order is logical when content is linearized |
|
|
19
|
+
| 1.4.1 | Use of Color | Information not conveyed by color alone |
|
|
20
|
+
| 1.4.2 | Audio Control | No auto-playing audio, or user can pause/stop |
|
|
21
|
+
| 1.4.3 | Contrast (Minimum) | Text contrast ratio ≥ 4.5:1 (normal), 3:1 (large) |
|
|
22
|
+
| 1.4.4 | Resize Text | Text can be resized to 200% without loss of content/function |
|
|
23
|
+
| 1.4.5 | Images of Text | Prefer real text over images of text |
|
|
24
|
+
| 1.4.10 | Reflow | Content reflows at 320px width without horizontal scroll |
|
|
25
|
+
| 1.4.11 | Non-text Contrast | UI components and graphics have 3:1 contrast |
|
|
26
|
+
| 1.4.12 | Text Spacing | No loss of content when spacing overrides applied |
|
|
27
|
+
| 1.4.13 | Content on Hover or Focus | Dismissible, hoverable, persistent on pointer hover/focus |
|
|
28
|
+
|
|
29
|
+
### Principle 2: Operable
|
|
30
|
+
|
|
31
|
+
| ID | Criterion | Testable Checkpoint |
|
|
32
|
+
|----|-----------|---------------------|
|
|
33
|
+
| 2.1.1 | Keyboard | All functionality available via keyboard |
|
|
34
|
+
| 2.1.2 | No Keyboard Trap | Focus can be moved away from any component |
|
|
35
|
+
| 2.1.4 | Character Key Shortcuts | Single-character shortcuts can be turned off/remapped |
|
|
36
|
+
| 2.2.1 | Timing Adjustable | Time limits can be extended or turned off |
|
|
37
|
+
| 2.2.2 | Pause, Stop, Hide | Auto-updating content can be paused/stopped/hidden |
|
|
38
|
+
| 2.3.1 | Three Flashes or Below | No content flashes more than 3 times per second |
|
|
39
|
+
| 2.4.1 | Bypass Blocks | Skip link or landmark to bypass repeated content |
|
|
40
|
+
| 2.4.2 | Page Titled | Page has descriptive title |
|
|
41
|
+
| 2.4.3 | Focus Order | Tab order is logical and meaningful |
|
|
42
|
+
| 2.4.4 | Link Purpose (In Context) | Link purpose determinable from link text or context |
|
|
43
|
+
| 2.5.1 | Pointer Gestures | No path-based gestures required; alternatives exist |
|
|
44
|
+
| 2.5.2 | Pointer Cancellation | No activation on down-only; cancel on up |
|
|
45
|
+
| 2.5.3 | Label in Name | Accessible name includes visible label text |
|
|
46
|
+
| 2.5.4 | Motion Actuation | Functionality not triggered only by device motion |
|
|
47
|
+
|
|
48
|
+
### Principle 3: Understandable
|
|
49
|
+
|
|
50
|
+
| ID | Criterion | Testable Checkpoint |
|
|
51
|
+
|----|-----------|---------------------|
|
|
52
|
+
| 3.1.1 | Language of Page | Page has lang attribute |
|
|
53
|
+
| 3.2.1 | On Focus | Receiving focus does not change context |
|
|
54
|
+
| 3.2.2 | On Input | Changing a setting does not automatically change context |
|
|
55
|
+
| 3.3.1 | Error Identification | Input errors identified and described in text |
|
|
56
|
+
| 3.3.2 | Labels or Instructions | Labels/instructions provided for user input |
|
|
57
|
+
|
|
58
|
+
### Principle 4: Robust
|
|
59
|
+
|
|
60
|
+
| ID | Criterion | Testable Checkpoint |
|
|
61
|
+
|----|-----------|---------------------|
|
|
62
|
+
| 4.1.1 | Parsing | Markup validates; no duplicate IDs |
|
|
63
|
+
| 4.1.2 | Name, Role, Value | UI components have accessible name, role, value |
|
|
64
|
+
| 4.1.3 | Status Messages | Status messages identified via role or live region |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Level AA (Common Target)
|
|
69
|
+
|
|
70
|
+
### Principle 1: Perceivable
|
|
71
|
+
|
|
72
|
+
| ID | Criterion | Testable Checkpoint |
|
|
73
|
+
|----|-----------|---------------------|
|
|
74
|
+
| 1.2.4 | Captions (Live) | Live audio has captions |
|
|
75
|
+
| 1.2.5 | Audio Description (Prerecorded) | Prerecorded video has audio description |
|
|
76
|
+
| 1.3.3 | Sensory Characteristics | Instructions not rely on shape, size, location alone |
|
|
77
|
+
| 1.3.4 | Orientation | Content not restricted to portrait or landscape |
|
|
78
|
+
| 1.3.5 | Identify Input Purpose | Input purpose programmatically determinable (autocomplete) |
|
|
79
|
+
| 1.4.3 | Contrast (Minimum) | Text 4.5:1 (normal), 3:1 (large); enhanced 7:1/4.5:1 |
|
|
80
|
+
| 1.4.4 | Resize Text | Text resizable to 200% |
|
|
81
|
+
| 1.4.5 | Images of Text | Images of text used only for decoration or essential |
|
|
82
|
+
| 1.4.10 | Reflow | No horizontal scroll at 320px |
|
|
83
|
+
| 1.4.11 | Non-text Contrast | 3:1 for UI and graphics |
|
|
84
|
+
| 1.4.12 | Text Spacing | No loss when spacing overrides applied |
|
|
85
|
+
| 1.4.13 | Content on Hover or Focus | Dismissible, hoverable, persistent |
|
|
86
|
+
|
|
87
|
+
### Principle 2: Operable
|
|
88
|
+
|
|
89
|
+
| ID | Criterion | Testable Checkpoint |
|
|
90
|
+
|----|-----------|---------------------|
|
|
91
|
+
| 2.4.5 | Multiple Ways | Multiple ways to find pages (sitemap, search, nav) |
|
|
92
|
+
| 2.4.6 | Headings and Labels | Headings and labels descriptive |
|
|
93
|
+
| 2.4.7 | Focus Visible | Keyboard focus indicator visible |
|
|
94
|
+
| 2.5.1 | Pointer Gestures | Path-based gestures have single-pointer alternative |
|
|
95
|
+
| 2.5.2 | Pointer Cancellation | No down-only activation |
|
|
96
|
+
| 2.5.3 | Label in Name | Accessible name includes visible label |
|
|
97
|
+
| 2.5.4 | Motion Actuation | Motion not sole trigger |
|
|
98
|
+
|
|
99
|
+
### Principle 3: Understandable
|
|
100
|
+
|
|
101
|
+
| ID | Criterion | Testable Checkpoint |
|
|
102
|
+
|----|-----------|---------------------|
|
|
103
|
+
| 3.1.2 | Language of Parts | Language of passages programmatically determinable |
|
|
104
|
+
| 3.2.3 | Consistent Navigation | Navigation repeated in same order |
|
|
105
|
+
| 3.2.4 | Consistent Identification | Components with same function identified consistently |
|
|
106
|
+
| 3.3.3 | Error Suggestion | Suggestions provided for input errors |
|
|
107
|
+
| 3.3.4 | Error Prevention (Legal, Financial) | Reversible or confirmable for legal/financial submissions |
|
|
108
|
+
|
|
109
|
+
### Principle 4: Robust
|
|
110
|
+
|
|
111
|
+
| ID | Criterion | Testable Checkpoint |
|
|
112
|
+
|----|-----------|---------------------|
|
|
113
|
+
| 4.1.3 | Status Messages | Status messages use role or live region (no change to 4.1.2) |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Level AAA (Enhanced)
|
|
118
|
+
|
|
119
|
+
### Principle 1: Perceivable
|
|
120
|
+
|
|
121
|
+
| ID | Criterion | Testable Checkpoint |
|
|
122
|
+
|----|-----------|---------------------|
|
|
123
|
+
| 1.2.6 | Sign Language (Prerecorded) | Sign language interpretation for prerecorded audio |
|
|
124
|
+
| 1.2.7 | Extended Audio Description (Prerecorded) | Extended audio description when pauses insufficient |
|
|
125
|
+
| 1.2.8 | Media Alternative (Prerecorded) | Text alternative for prerecorded media |
|
|
126
|
+
| 1.2.9 | Audio-only (Live) | Alternative for live audio-only |
|
|
127
|
+
| 1.3.6 | Identify Purpose | Purpose of UI components programmatically determinable |
|
|
128
|
+
| 1.4.6 | Contrast (Enhanced) | 7:1 (normal), 4.5:1 (large) |
|
|
129
|
+
| 1.4.7 | Low or No Background Audio | No background audio or can be turned off |
|
|
130
|
+
| 1.4.8 | Visual Presentation | User can control text presentation (foreground/background, width, etc.) |
|
|
131
|
+
| 1.4.9 | Images of Text (No Exception) | No images of text except essential |
|
|
132
|
+
| 1.4.11 | Non-text Contrast | 3:1 (same as AA for graphics) |
|
|
133
|
+
| 1.4.12 | Text Spacing | No loss with spacing overrides |
|
|
134
|
+
| 1.4.13 | Content on Hover or Focus | Dismissible, hoverable, persistent |
|
|
135
|
+
|
|
136
|
+
### Principle 2: Operable
|
|
137
|
+
|
|
138
|
+
| ID | Criterion | Testable Checkpoint |
|
|
139
|
+
|----|-----------|---------------------|
|
|
140
|
+
| 2.2.3 | No Timing | No time limits on content |
|
|
141
|
+
| 2.2.4 | Interruptions | User can postpone or suppress interruptions |
|
|
142
|
+
| 2.2.5 | Re-authenticating | Re-auth preserves data |
|
|
143
|
+
| 2.3.2 | Three Flashes | No content flashes more than 3/sec |
|
|
144
|
+
| 2.3.3 | Animation from Interactions | Motion from interaction can be disabled |
|
|
145
|
+
| 2.4.8 | Location | User can determine location in set of pages |
|
|
146
|
+
| 2.4.9 | Link Purpose (Link Only) | Link purpose from link text alone |
|
|
147
|
+
| 2.4.10 | Section Headings | Section headings used to organize content |
|
|
148
|
+
| 2.5.5 | Target Size | Touch target ≥ 44×44 CSS pixels |
|
|
149
|
+
| 2.5.6 | Concurrent Input Mechanisms | No restriction to single input modality |
|
|
150
|
+
|
|
151
|
+
### Principle 3: Understandable
|
|
152
|
+
|
|
153
|
+
| ID | Criterion | Testable Checkpoint |
|
|
154
|
+
|----|-----------|---------------------|
|
|
155
|
+
| 3.1.3 | Unusual Words | Mechanism to identify definitions |
|
|
156
|
+
| 3.1.4 | Abbreviations | Mechanism to expand abbreviations |
|
|
157
|
+
| 3.1.5 | Reading Level | Supplemental content for text above lower-secondary level |
|
|
158
|
+
| 3.1.6 | Pronunciation | Mechanism to determine pronunciation |
|
|
159
|
+
| 3.2.5 | Change on Request | Context changes only on user request |
|
|
160
|
+
| 3.3.5 | Help | Context-sensitive help available |
|
|
161
|
+
| 3.3.6 | Error Prevention (All) | Reversible or confirmable for all submissions |
|
|
162
|
+
|
|
163
|
+
### Principle 4: Robust
|
|
164
|
+
|
|
165
|
+
| ID | Criterion | Testable Checkpoint |
|
|
166
|
+
|----|-----------|---------------------|
|
|
167
|
+
| 4.1.3 | Status Messages | Same as AA |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Testing Tools
|
|
172
|
+
|
|
173
|
+
- **axe-core** / **axe DevTools**: Automated WCAG checks
|
|
174
|
+
- **WAVE**: Visual accessibility evaluation
|
|
175
|
+
- **Lighthouse**: Chrome DevTools accessibility audit
|
|
176
|
+
- **Screen readers**: NVDA, JAWS, VoiceOver, TalkBack
|
|
177
|
+
- **Keyboard-only**: Tab, Enter, Space, Arrow keys
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## References
|
|
182
|
+
|
|
183
|
+
- [WCAG 2.2 Quick Reference](https://www.w3.org/WAI/WCAG22/quickref/)
|
|
184
|
+
- [Understanding WCAG 2.2](https://www.w3.org/WAI/WCAG22/Understanding/)
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# OWASP Security Testing Checklist
|
|
2
|
+
|
|
3
|
+
**Project:** {project name}
|
|
4
|
+
**Assessment Date:** {YYYY-MM-DD}
|
|
5
|
+
**Tester:** {name}
|
|
6
|
+
**Scope:** {URL or API}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## A01:2021 – Broken Access Control
|
|
11
|
+
|
|
12
|
+
- ☐ Vertical privilege escalation (user → admin)
|
|
13
|
+
- ☐ Horizontal privilege escalation (user A → user B)
|
|
14
|
+
- ☐ Direct object reference (IDOR)
|
|
15
|
+
- ☐ Path traversal / file inclusion
|
|
16
|
+
- ☐ Missing function-level access control
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## A02:2021 – Cryptographic Failures
|
|
21
|
+
|
|
22
|
+
- ☐ Sensitive data transmitted over HTTP
|
|
23
|
+
- ☐ Weak or default crypto algorithms
|
|
24
|
+
- ☐ Hardcoded secrets or keys
|
|
25
|
+
- ☐ Insecure password storage (plaintext, weak hashing)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## A03:2021 – Injection
|
|
30
|
+
|
|
31
|
+
- ☐ SQL injection (all input vectors)
|
|
32
|
+
- ☐ NoSQL injection
|
|
33
|
+
- ☐ Command injection
|
|
34
|
+
- ☐ LDAP / XPath injection
|
|
35
|
+
- ☐ Template injection (SSTI)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## A04:2021 – Insecure Design
|
|
40
|
+
|
|
41
|
+
- ☐ Missing threat model
|
|
42
|
+
- ☐ Insecure default configuration
|
|
43
|
+
- ☐ Business logic flaws
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## A05:2021 – Security Misconfiguration
|
|
48
|
+
|
|
49
|
+
- ☐ Default credentials in use
|
|
50
|
+
- ☐ Unnecessary features enabled
|
|
51
|
+
- ☐ Missing security headers
|
|
52
|
+
- ☐ Verbose error messages in production
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## A06:2021 – Vulnerable Components
|
|
57
|
+
|
|
58
|
+
- ☐ Outdated dependencies (known CVEs)
|
|
59
|
+
- ☐ Unmaintained libraries
|
|
60
|
+
- ☐ Unnecessary dependencies
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## A07:2021 – Auth & Session Failures
|
|
65
|
+
|
|
66
|
+
- ☐ Weak password policy
|
|
67
|
+
- ☐ Session fixation
|
|
68
|
+
- ☐ Session not invalidated on logout
|
|
69
|
+
- ☐ Predictable session IDs
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## A08:2021 – Software & Data Integrity
|
|
74
|
+
|
|
75
|
+
- ☐ Unsigned / unverified updates
|
|
76
|
+
- ☐ Deserialization of untrusted data
|
|
77
|
+
- ☐ CI/CD pipeline integrity
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## SSRF & Error Handling
|
|
82
|
+
|
|
83
|
+
- ☐ Server-Side Request Forgery (SSRF)
|
|
84
|
+
- ☐ Stack traces or sensitive data in errors
|
|
85
|
+
- ☐ Information disclosure via error messages
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
**Summary:** {X} Passed | {Y} Failed | {Z} N/A
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# WCAG 2.2 Compliance Checklist
|
|
2
|
+
|
|
3
|
+
**Project:** {project name}
|
|
4
|
+
**Assessment Date:** {YYYY-MM-DD}
|
|
5
|
+
**Assessor:** {name}
|
|
6
|
+
**Scope:** {URL or component}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Level A (Required)
|
|
11
|
+
|
|
12
|
+
| # | Criterion | Description | Status | Notes |
|
|
13
|
+
|---|-----------|-------------|--------|-------|
|
|
14
|
+
| 1 | 1.1.1 Non-text Content | Text alternatives for images, icons | ☐ Pass ☐ Fail ☐ N/A | |
|
|
15
|
+
| 2 | 1.3.1 Info and Relationships | Structure conveyed programmatically | ☐ Pass ☐ Fail ☐ N/A | |
|
|
16
|
+
| 3 | 1.4.1 Use of Color | Color not sole means of conveying info | ☐ Pass ☐ Fail ☐ N/A | |
|
|
17
|
+
| 4 | 2.1.1 Keyboard | All functionality via keyboard | ☐ Pass ☐ Fail ☐ N/A | |
|
|
18
|
+
| 5 | 2.4.1 Bypass Blocks | Skip links or landmarks | ☐ Pass ☐ Fail ☐ N/A | |
|
|
19
|
+
| 6 | 2.4.4 Link Purpose | Link purpose determinable from text | ☐ Pass ☐ Fail ☐ N/A | |
|
|
20
|
+
| 7 | 3.1.1 Page Language | Page language identified | ☐ Pass ☐ Fail ☐ N/A | |
|
|
21
|
+
| 8 | 4.1.1 Parsing | Valid markup, no duplicate IDs | ☐ Pass ☐ Fail ☐ N/A | |
|
|
22
|
+
| 9 | 4.1.2 Name, Role, Value | ARIA used correctly | ☐ Pass ☐ Fail ☐ N/A | |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Level AA (Target)
|
|
27
|
+
|
|
28
|
+
| # | Criterion | Description | Status | Notes |
|
|
29
|
+
|---|-----------|-------------|--------|-------|
|
|
30
|
+
| 1 | 1.4.3 Contrast (Minimum) | 4.5:1 text, 3:1 large text | ☐ Pass ☐ Fail ☐ N/A | |
|
|
31
|
+
| 2 | 1.4.4 Resize Text | Text resizable to 200% | ☐ Pass ☐ Fail ☐ N/A | |
|
|
32
|
+
| 3 | 2.4.5 Multiple Ways | Multiple ways to find content | ☐ Pass ☐ Fail ☐ N/A | |
|
|
33
|
+
| 4 | 2.4.6 Headings and Labels | Descriptive headings/labels | ☐ Pass ☐ Fail ☐ N/A | |
|
|
34
|
+
| 5 | 2.4.7 Focus Visible | Visible focus indicator | ☐ Pass ☐ Fail ☐ N/A | |
|
|
35
|
+
| 6 | 3.2.4 Consistent Identification | Components used consistently | ☐ Pass ☐ Fail ☐ N/A | |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Level AAA (Optional)
|
|
40
|
+
|
|
41
|
+
| # | Criterion | Description | Status | Notes |
|
|
42
|
+
|---|-----------|-------------|--------|-------|
|
|
43
|
+
| 1 | 1.4.6 Contrast (Enhanced) | 7:1 text, 4.5:1 large text | ☐ Pass ☐ Fail ☐ N/A | |
|
|
44
|
+
| 2 | 2.4.9 Link Purpose (Link Only) | Link purpose from link text alone | ☐ Pass ☐ Fail ☐ N/A | |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
**Summary:** Level A: {X} Pass / {Y} Fail | Level AA: {X} Pass / {Y} Fail
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-orchestrator
|
|
3
|
+
description: Master skill coordinating all QA skills through pipeline modes (full-cycle, docs-only, testcases-only, write-tests, report), formalized handoff chains, scheduler rules, and framework/language selection based on project context.
|
|
4
|
+
dependencies:
|
|
5
|
+
recommended:
|
|
6
|
+
- qa-diagram-generator
|
|
7
|
+
- qa-discovery-interview
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# QA Orchestrator
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Master coordinator for all QA skills in the ecosystem. Routes work through pipeline modes, formalized handoff chains, and scheduler rules. Selects frameworks and languages based on project context. Uses Memory MCP for cross-session persistence.
|
|
15
|
+
|
|
16
|
+
## Trigger Phrases
|
|
17
|
+
|
|
18
|
+
- "Run full QA cycle" / "Full-cycle pipeline"
|
|
19
|
+
- "Docs only" / "Generate QA docs"
|
|
20
|
+
- "Test cases only" / "Testcase pipeline"
|
|
21
|
+
- "Write tests" / "Test writing pipeline"
|
|
22
|
+
- "Report only" / "Generate test report"
|
|
23
|
+
- "Orchestrate [chain name]" / "Run Chain 1" / "E2E chain" / "API-first chain"
|
|
24
|
+
- "After merge" / "Before release" / "Requirement changed"
|
|
25
|
+
- "Select framework for [project]"
|
|
26
|
+
|
|
27
|
+
## Pipeline Modes
|
|
28
|
+
|
|
29
|
+
| Mode | Flow | When to Use |
|
|
30
|
+
| ---- | ---- | ----------- |
|
|
31
|
+
| **full-cycle** | docs → test cases → tests → execution → reports | New feature, full validation |
|
|
32
|
+
| **docs-only** | requirements → spec → diagram | Documentation phase |
|
|
33
|
+
| **testcases-only** | docs/spec → test cases | Test design phase |
|
|
34
|
+
| **write-tests** | test cases → tests | Automation phase |
|
|
35
|
+
| **report** | results → report | Post-execution reporting |
|
|
36
|
+
|
|
37
|
+
See `references/pipeline-modes.md` for detailed configurations.
|
|
38
|
+
|
|
39
|
+
## Formalized Handoff Chains
|
|
40
|
+
|
|
41
|
+
### Chain 0 — Discovery → Full E2E
|
|
42
|
+
`discovery-interview` → `requirements-generator` → `spec-writer` → `diagram-generator` → `testcase-from-docs` → `playwright-ts-writer` → `test-healer` (if fail) → `test-reviewer` → `test-reporter`
|
|
43
|
+
|
|
44
|
+
### Chain 1 — Full E2E
|
|
45
|
+
`requirements-generator` → `spec-writer` → `diagram-generator` → `testcase-from-docs` → `playwright-ts-writer` → `test-healer` (if fail) → `test-reviewer` → `test-reporter`
|
|
46
|
+
|
|
47
|
+
### Chain 2 — UI-first
|
|
48
|
+
`browser-data-collector` → `testcase-from-ui` → `playwright-ts-writer` → `test-healer` → `coverage-analyzer` → `task-creator` (for gaps)
|
|
49
|
+
|
|
50
|
+
### Chain 3 — API-first
|
|
51
|
+
`api-contract-curator` → `testcase-from-docs` → `supertest-writer` / `httpx-writer` → `pact-writer` → `test-reporter`
|
|
52
|
+
|
|
53
|
+
### Chain 4 — Stabilization
|
|
54
|
+
`flaky-detector` → `test-healer` → `test-reviewer` → `changelog-analyzer` → regression scope
|
|
55
|
+
|
|
56
|
+
See `references/handoff-chains.md` for input/output contracts per step.
|
|
57
|
+
|
|
58
|
+
## Scheduler Rules
|
|
59
|
+
|
|
60
|
+
| Trigger | Actions |
|
|
61
|
+
| ------- | ------- |
|
|
62
|
+
| **After merge** | Smoke/regression → report → bug if fail |
|
|
63
|
+
| **Before release** | Completion report + risk analysis |
|
|
64
|
+
| **After requirement change** | Impact analysis → update RTM |
|
|
65
|
+
|
|
66
|
+
See `references/scheduler-rules.md` for automation patterns.
|
|
67
|
+
|
|
68
|
+
## Framework / Language Selection
|
|
69
|
+
|
|
70
|
+
| Project Signal | Ecosystem | Writers |
|
|
71
|
+
| -------------- | --------- | ------- |
|
|
72
|
+
| `tsconfig.json` present | TypeScript | playwright-ts-writer, jest-writer, vitest-writer, supertest-writer, cypress-writer |
|
|
73
|
+
| `setup.py` / `pyproject.toml` | Python | playwright-py-writer, pytest-writer, httpx-writer, selenium-py-writer |
|
|
74
|
+
| `pom.xml` / `build.gradle` | Java | selenium-java-writer, junit5-writer, rest-assured-writer, spring-test-writer |
|
|
75
|
+
|
|
76
|
+
Selection is automatic based on project root detection. User can override.
|
|
77
|
+
|
|
78
|
+
## Memory MCP
|
|
79
|
+
|
|
80
|
+
Uses Memory MCP for cross-session persistence:
|
|
81
|
+
- Last pipeline mode and chain used
|
|
82
|
+
- Project context (framework, language)
|
|
83
|
+
- Scheduler state (last run, next trigger)
|
|
84
|
+
- Handoff artifacts (IDs, paths) for resume
|
|
85
|
+
|
|
86
|
+
## Workflow
|
|
87
|
+
|
|
88
|
+
1. **Input** — User request (pipeline mode, chain, or scheduler trigger)
|
|
89
|
+
2. **Context** — Detect project (tsconfig, pyproject, pom.xml)
|
|
90
|
+
3. **Route** — Select chain or pipeline per mode
|
|
91
|
+
4. **Execute** — Invoke skills in sequence; pass outputs as inputs
|
|
92
|
+
5. **Persist** — Store state via Memory MCP
|
|
93
|
+
6. **Output** — Final artifact (report, tests, docs) + summary
|
|
94
|
+
|
|
95
|
+
## Scope
|
|
96
|
+
|
|
97
|
+
**Can do (autonomous):**
|
|
98
|
+
- Route to any pipeline mode or handoff chain
|
|
99
|
+
- Select framework/language from project structure
|
|
100
|
+
- Invoke skills in sequence with handoff contracts
|
|
101
|
+
- Persist state via Memory MCP
|
|
102
|
+
- Apply scheduler rules when triggered
|
|
103
|
+
|
|
104
|
+
**Cannot do (requires confirmation):**
|
|
105
|
+
- Change project scope or release criteria
|
|
106
|
+
- Override organizational test policy
|
|
107
|
+
- Execute tests in production
|
|
108
|
+
|
|
109
|
+
**Will not do (out of scope):**
|
|
110
|
+
- Modify production code or environments
|
|
111
|
+
- Approve releases (stakeholder responsibility)
|
|
112
|
+
- Create skills not in ecosystem
|
|
113
|
+
|
|
114
|
+
## Quality Checklist
|
|
115
|
+
|
|
116
|
+
- [ ] Pipeline mode matches user intent
|
|
117
|
+
- [ ] Chain selected aligns with project type (E2E, UI, API, stabilization)
|
|
118
|
+
- [ ] Framework/language detected correctly
|
|
119
|
+
- [ ] Each handoff passes valid input per contract
|
|
120
|
+
- [ ] Scheduler rules applied when trigger matches
|
|
121
|
+
- [ ] State persisted for resume
|
|
122
|
+
- [ ] Final output (report, tests, docs) produced
|
|
123
|
+
|
|
124
|
+
## Troubleshooting
|
|
125
|
+
|
|
126
|
+
| Symptom | Likely Cause | Fix |
|
|
127
|
+
| ------- | ------------ | --- |
|
|
128
|
+
| Wrong chain selected | Ambiguous project type | Ask: E2E, UI-first, or API-first? |
|
|
129
|
+
| Missing handoff | Skill output format mismatch | Check `references/handoff-chains.md` contracts |
|
|
130
|
+
| Framework not detected | Non-standard project layout | User override: specify ts/py/java |
|
|
131
|
+
| Scheduler not firing | Trigger not matched | Verify "after merge" / "before release" phrasing |
|
|
132
|
+
| State lost between sessions | Memory MCP not configured | Ensure MCP server enabled and connected |
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Handoff Chain Definitions
|
|
2
|
+
|
|
3
|
+
Input/output contracts for each step in the formalized handoff chains.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Chain 1 — Full E2E
|
|
8
|
+
|
|
9
|
+
End-to-end flow from requirements to test report.
|
|
10
|
+
|
|
11
|
+
| Step | Skill | Input | Output |
|
|
12
|
+
| ---- | ----- | ----- | ------ |
|
|
13
|
+
| 1 | qa-requirements-generator | URL, Figma, code path, or description | Structured requirements (ISO 29148) |
|
|
14
|
+
| 2 | qa-spec-writer | Requirements document | Technical spec with acceptance criteria |
|
|
15
|
+
| 3 | qa-diagram-generator | Spec sections, flows | Mermaid diagrams (flowchart, sequence, etc.) |
|
|
16
|
+
| 4 | qa-testcase-from-docs | Spec + requirements | Test cases (ISO 29119-4) |
|
|
17
|
+
| 5 | qa-playwright-ts-writer | Test cases + project context | Playwright E2E tests (TS) |
|
|
18
|
+
| 6 | qa-test-healer | Failed test run + test files | Healed selectors/assertions |
|
|
19
|
+
| 7 | qa-test-reviewer | Test files | Review feedback, improvements |
|
|
20
|
+
| 8 | qa-test-reporter | Test results (JUnit/Allure) | HTML/MD report, status |
|
|
21
|
+
|
|
22
|
+
**Conditional:** Step 6 (test-healer) runs only when step 5 execution fails.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Chain 2 — UI-first
|
|
27
|
+
|
|
28
|
+
Exploration-driven flow from live app to gap tasks.
|
|
29
|
+
|
|
30
|
+
| Step | Skill | Input | Output |
|
|
31
|
+
| ---- | ----- | ----- | ------ |
|
|
32
|
+
| 1 | qa-browser-data-collector | App URL, flows to explore | Page structure, forms, APIs, flows |
|
|
33
|
+
| 2 | qa-testcase-from-ui | Collected data, screenshots | Test cases from UI analysis |
|
|
34
|
+
| 3 | qa-playwright-ts-writer | Test cases + collected selectors | Playwright E2E tests |
|
|
35
|
+
| 4 | qa-test-healer | Failed tests | Healed tests |
|
|
36
|
+
| 5 | qa-coverage-analyzer | Tests + codebase | Coverage gaps, recommendations |
|
|
37
|
+
| 6 | qa-task-creator | Coverage gaps | Tasks for missing coverage |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Chain 3 — API-first
|
|
42
|
+
|
|
43
|
+
Contract-driven API testing flow.
|
|
44
|
+
|
|
45
|
+
| Step | Skill | Input | Output |
|
|
46
|
+
| ---- | ----- | ----- | ------ |
|
|
47
|
+
| 1 | qa-api-contract-curator | Endpoints, Swagger/OpenAPI, traffic | OpenAPI spec |
|
|
48
|
+
| 2 | qa-testcase-from-docs | OpenAPI spec | API test cases |
|
|
49
|
+
| 3a | qa-supertest-writer | Test cases (TS project) | Supertest API tests |
|
|
50
|
+
| 3b | qa-httpx-writer | Test cases (Python project) | httpx/pytest API tests |
|
|
51
|
+
| 4 | qa-pact-writer | Consumer/provider contracts | Pact contract tests |
|
|
52
|
+
| 5 | qa-test-reporter | API test results | Report |
|
|
53
|
+
|
|
54
|
+
**Branch:** 3a for TypeScript; 3b for Python. Selection based on project context.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Chain 4 — Stabilization
|
|
59
|
+
|
|
60
|
+
Flaky test and regression stabilization flow.
|
|
61
|
+
|
|
62
|
+
| Step | Skill | Input | Output |
|
|
63
|
+
| ---- | ----- | ----- | ------ |
|
|
64
|
+
| 1 | qa-flaky-detector | Test run history, results | Flaky test list |
|
|
65
|
+
| 2 | qa-test-healer | Flaky tests | Healed tests |
|
|
66
|
+
| 3 | qa-test-reviewer | Healed tests | Review feedback |
|
|
67
|
+
| 4 | qa-changelog-analyzer | Git history, changelog | Regression scope |
|
|
68
|
+
| 5 | (output) | Regression scope | Scope for regression plan |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Contract Details
|
|
73
|
+
|
|
74
|
+
### requirements-generator → spec-writer
|
|
75
|
+
- **Input:** Markdown/structured requirements with IDs
|
|
76
|
+
- **Output:** Spec with sections, acceptance criteria, boundary conditions
|
|
77
|
+
|
|
78
|
+
### spec-writer → diagram-generator
|
|
79
|
+
- **Input:** Spec sections (flows, sequences, states)
|
|
80
|
+
- **Output:** Mermaid diagram code (flowchart, sequence, state)
|
|
81
|
+
|
|
82
|
+
### testcase-from-docs → playwright-ts-writer
|
|
83
|
+
- **Input:** Test cases with steps, expected results, IDs
|
|
84
|
+
- **Output:** `.spec.ts` files with describe/it blocks
|
|
85
|
+
|
|
86
|
+
### playwright-ts-writer → test-healer
|
|
87
|
+
- **Input:** Test file path, failure output (selector/assertion errors)
|
|
88
|
+
- **Output:** Updated test file with fixed selectors/assertions
|
|
89
|
+
|
|
90
|
+
### api-contract-curator → testcase-from-docs
|
|
91
|
+
- **Input:** OpenAPI 3.x spec (YAML/JSON)
|
|
92
|
+
- **Output:** API test cases (endpoints, methods, assertions)
|
|
93
|
+
|
|
94
|
+
### coverage-analyzer → task-creator
|
|
95
|
+
- **Input:** Coverage gaps (file:line, module, coverage %)
|
|
96
|
+
- **Output:** Tasks with "Add tests for X — Y% coverage"
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Handoff Format Conventions
|
|
101
|
+
|
|
102
|
+
- **IDs:** Preserve requirement/spec/test IDs across handoffs for traceability
|
|
103
|
+
- **Paths:** Use workspace-relative paths for files
|
|
104
|
+
- **Artifacts:** Store in `memory-bank/` or project output dirs per skill
|
|
105
|
+
- **Resume:** Memory MCP stores last step + artifact paths for chain resume
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Pipeline Mode Configurations
|
|
2
|
+
|
|
3
|
+
When to use each mode and how they map to handoff chains.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## full-cycle
|
|
8
|
+
|
|
9
|
+
**Flow:** docs → test cases → tests → execution → reports
|
|
10
|
+
|
|
11
|
+
**Skills invoked:** requirements-generator → spec-writer → diagram-generator → testcase-from-docs → playwright-ts-writer (or framework per project) → test-healer (if fail) → test-reviewer → test-reporter
|
|
12
|
+
|
|
13
|
+
**When to use:**
|
|
14
|
+
- New feature from scratch
|
|
15
|
+
- Full validation needed
|
|
16
|
+
- Greenfield project
|
|
17
|
+
- Release validation
|
|
18
|
+
|
|
19
|
+
**Input:** Requirements source (URL, code, description)
|
|
20
|
+
**Output:** Test report + all intermediate artifacts
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## docs-only
|
|
25
|
+
|
|
26
|
+
**Flow:** requirements → spec → diagram
|
|
27
|
+
|
|
28
|
+
**Skills invoked:** requirements-generator → spec-writer → diagram-generator
|
|
29
|
+
|
|
30
|
+
**When to use:**
|
|
31
|
+
- Documentation phase
|
|
32
|
+
- Spec creation before development
|
|
33
|
+
- Onboarding documentation
|
|
34
|
+
- No tests needed yet
|
|
35
|
+
|
|
36
|
+
**Input:** Requirements source
|
|
37
|
+
**Output:** Spec document + diagrams
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## testcases-only
|
|
42
|
+
|
|
43
|
+
**Flow:** docs/spec → test cases
|
|
44
|
+
|
|
45
|
+
**Skills invoked:** requirements-generator (optional) → spec-writer (optional) → testcase-from-docs
|
|
46
|
+
|
|
47
|
+
**When to use:**
|
|
48
|
+
- Test design phase
|
|
49
|
+
- Manual test case creation
|
|
50
|
+
- RTM population
|
|
51
|
+
- Test planning
|
|
52
|
+
|
|
53
|
+
**Input:** Spec or requirements
|
|
54
|
+
**Output:** Test cases (structured, ISO 29119-4)
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## write-tests
|
|
59
|
+
|
|
60
|
+
**Flow:** test cases → tests
|
|
61
|
+
|
|
62
|
+
**Skills invoked:** testcase-from-docs or testcase-from-ui → [writer per framework]
|
|
63
|
+
|
|
64
|
+
**When to use:**
|
|
65
|
+
- Test cases already exist
|
|
66
|
+
- Automation phase
|
|
67
|
+
- Adding automation to manual cases
|
|
68
|
+
- Framework-specific test generation
|
|
69
|
+
|
|
70
|
+
**Input:** Test cases + project context
|
|
71
|
+
**Output:** Test files (Playwright, Jest, pytest, etc.)
|
|
72
|
+
|
|
73
|
+
**Writer selection:**
|
|
74
|
+
- TS + E2E → playwright-ts-writer
|
|
75
|
+
- TS + API → supertest-writer
|
|
76
|
+
- Python + E2E → playwright-py-writer
|
|
77
|
+
- Python + API → httpx-writer
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## report
|
|
82
|
+
|
|
83
|
+
**Flow:** results → report
|
|
84
|
+
|
|
85
|
+
**Skills invoked:** test-reporter
|
|
86
|
+
|
|
87
|
+
**When to use:**
|
|
88
|
+
- Post-execution
|
|
89
|
+
- CI/CD results aggregation
|
|
90
|
+
- Status dashboards
|
|
91
|
+
- Completion reports
|
|
92
|
+
|
|
93
|
+
**Input:** Test results (JUnit XML, Allure, JSON)
|
|
94
|
+
**Output:** HTML/MD report, status summary
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Mode Selection Matrix
|
|
99
|
+
|
|
100
|
+
| User Intent | Mode | Chain |
|
|
101
|
+
| ----------- | ---- | ----- |
|
|
102
|
+
| "Full QA from requirements" | full-cycle | Chain 1 |
|
|
103
|
+
| "Just docs" | docs-only | (partial Chain 1) |
|
|
104
|
+
| "Design test cases" | testcases-only | (partial Chain 1 or 3) |
|
|
105
|
+
| "Automate existing cases" | write-tests | Chain 1/2/3 (from step 4/3) |
|
|
106
|
+
| "Report on results" | report | (final step) |
|
|
107
|
+
| "Explore app and test" | full-cycle | Chain 2 |
|
|
108
|
+
| "API contract testing" | full-cycle | Chain 3 |
|
|
109
|
+
| "Fix flaky tests" | write-tests | Chain 4 |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Execution Order
|
|
114
|
+
|
|
115
|
+
Within each mode, skills run sequentially. Parallelization is not supported (handoffs are linear). For large projects, consider splitting by module/feature and running multiple pipelines.
|