qaa-agent 1.9.1 → 1.9.5
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/CHANGELOG.md +43 -22
- package/CLAUDE.md +170 -9
- package/README.md +384 -357
- package/VERSION +1 -0
- package/agents/qa-pipeline-orchestrator.md +336 -22
- package/agents/qaa-analyzer.md +0 -1
- package/agents/qaa-bug-detective.md +163 -4
- package/agents/qaa-codebase-mapper.md +50 -1
- package/agents/qaa-discovery.md +421 -384
- package/agents/qaa-e2e-runner.md +163 -1
- package/agents/qaa-executor.md +142 -1
- package/agents/qaa-planner.md +14 -1
- package/agents/qaa-project-researcher.md +194 -0
- package/agents/qaa-scanner.md +77 -1
- package/agents/qaa-testid-injector.md +0 -1
- package/agents/qaa-validator.md +86 -1
- package/bin/install.cjs +375 -253
- package/bin/lib/context7-cache.cjs +299 -0
- package/bin/lib/intent-detector.cjs +488 -0
- package/commands/qa-audit.md +255 -126
- package/commands/qa-create-test.md +666 -365
- package/commands/qa-fix.md +684 -513
- package/commands/qa-map.md +283 -139
- package/commands/qa-pr.md +63 -0
- package/commands/qa-research.md +181 -157
- package/commands/qa-start.md +62 -6
- package/commands/qa-test-report.md +219 -219
- package/frameworks/cypress.json +54 -0
- package/frameworks/jest.json +59 -0
- package/frameworks/playwright.json +58 -0
- package/frameworks/pytest.json +59 -0
- package/frameworks/robot-framework.json +54 -0
- package/frameworks/selenium.json +65 -0
- package/frameworks/vitest.json +57 -0
- package/package.json +7 -3
- package/workflows/qa-analyze.md +100 -4
- package/workflows/qa-from-ticket.md +50 -2
- package/workflows/qa-gap.md +50 -2
- package/workflows/qa-start.md +819 -33
- package/workflows/qa-testid.md +50 -2
- package/workflows/qa-validate.md +50 -2
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pytest",
|
|
3
|
+
"display_name": "pytest",
|
|
4
|
+
"languages": [
|
|
5
|
+
"python"
|
|
6
|
+
],
|
|
7
|
+
"extensions": [
|
|
8
|
+
".py"
|
|
9
|
+
],
|
|
10
|
+
"detection": {
|
|
11
|
+
"manifest_files": [
|
|
12
|
+
"requirements.txt",
|
|
13
|
+
"pyproject.toml",
|
|
14
|
+
"setup.py",
|
|
15
|
+
"Pipfile"
|
|
16
|
+
],
|
|
17
|
+
"manifest_grep": "pytest",
|
|
18
|
+
"config_files": [
|
|
19
|
+
"pytest.ini",
|
|
20
|
+
"pyproject.toml",
|
|
21
|
+
"conftest.py",
|
|
22
|
+
"setup.cfg"
|
|
23
|
+
],
|
|
24
|
+
"file_patterns": [
|
|
25
|
+
"tests/**/test_*.py",
|
|
26
|
+
"tests/**/*_test.py",
|
|
27
|
+
"test/**/test_*.py"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"validation_commands": {
|
|
31
|
+
"syntax_check": "python -m py_compile {file}",
|
|
32
|
+
"dry_run": "pytest --collect-only",
|
|
33
|
+
"lint": "ruff check {file}"
|
|
34
|
+
},
|
|
35
|
+
"conventions": {
|
|
36
|
+
"test_dirs": [
|
|
37
|
+
"tests/",
|
|
38
|
+
"test/"
|
|
39
|
+
],
|
|
40
|
+
"pom_dirs": [
|
|
41
|
+
"tests/page_objects/",
|
|
42
|
+
"tests/pages/"
|
|
43
|
+
],
|
|
44
|
+
"fixture_dirs": [
|
|
45
|
+
"tests/fixtures/",
|
|
46
|
+
"tests/conftest.py"
|
|
47
|
+
],
|
|
48
|
+
"config_filename": "pytest.ini"
|
|
49
|
+
},
|
|
50
|
+
"context7_keys": [
|
|
51
|
+
"pytest",
|
|
52
|
+
"pytest-dev"
|
|
53
|
+
],
|
|
54
|
+
"test_kinds": [
|
|
55
|
+
"unit",
|
|
56
|
+
"integration",
|
|
57
|
+
"api"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "robot-framework",
|
|
3
|
+
"display_name": "Robot Framework",
|
|
4
|
+
"languages": [
|
|
5
|
+
"python",
|
|
6
|
+
"robot"
|
|
7
|
+
],
|
|
8
|
+
"extensions": [
|
|
9
|
+
".robot",
|
|
10
|
+
".resource"
|
|
11
|
+
],
|
|
12
|
+
"detection": {
|
|
13
|
+
"manifest_files": [
|
|
14
|
+
"requirements.txt",
|
|
15
|
+
"pyproject.toml"
|
|
16
|
+
],
|
|
17
|
+
"manifest_grep": "robotframework|robotframework-browser",
|
|
18
|
+
"config_files": [],
|
|
19
|
+
"file_patterns": [
|
|
20
|
+
"tests/**/*.robot",
|
|
21
|
+
"**/*.robot"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"validation_commands": {
|
|
25
|
+
"syntax_check": "robot --dryrun {file}",
|
|
26
|
+
"dry_run": "robot --dryrun {test_dir}",
|
|
27
|
+
"lint": "robocop {file}"
|
|
28
|
+
},
|
|
29
|
+
"conventions": {
|
|
30
|
+
"test_dirs": [
|
|
31
|
+
"tests/",
|
|
32
|
+
"tests/e2e/",
|
|
33
|
+
"robot_tests/"
|
|
34
|
+
],
|
|
35
|
+
"pom_dirs": [
|
|
36
|
+
"resources/pages/",
|
|
37
|
+
"pages/"
|
|
38
|
+
],
|
|
39
|
+
"fixture_dirs": [
|
|
40
|
+
"resources/data/",
|
|
41
|
+
"resources/"
|
|
42
|
+
],
|
|
43
|
+
"config_filename": null
|
|
44
|
+
},
|
|
45
|
+
"context7_keys": [
|
|
46
|
+
"robotframework",
|
|
47
|
+
"robotframework-browser",
|
|
48
|
+
"MarketSquare/robotframework"
|
|
49
|
+
],
|
|
50
|
+
"test_kinds": [
|
|
51
|
+
"e2e",
|
|
52
|
+
"api"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "selenium",
|
|
3
|
+
"display_name": "Selenium",
|
|
4
|
+
"languages": [
|
|
5
|
+
"typescript",
|
|
6
|
+
"javascript",
|
|
7
|
+
"python",
|
|
8
|
+
"java",
|
|
9
|
+
"csharp"
|
|
10
|
+
],
|
|
11
|
+
"extensions": [
|
|
12
|
+
".spec.ts",
|
|
13
|
+
".spec.js",
|
|
14
|
+
".py",
|
|
15
|
+
".java",
|
|
16
|
+
".cs"
|
|
17
|
+
],
|
|
18
|
+
"detection": {
|
|
19
|
+
"manifest_files": [
|
|
20
|
+
"package.json",
|
|
21
|
+
"requirements.txt",
|
|
22
|
+
"pom.xml",
|
|
23
|
+
"build.gradle"
|
|
24
|
+
],
|
|
25
|
+
"manifest_grep": "selenium-webdriver|selenium|Selenium\\.WebDriver",
|
|
26
|
+
"config_files": [],
|
|
27
|
+
"file_patterns": [
|
|
28
|
+
"tests/**/*selenium*",
|
|
29
|
+
"src/test/**/*.java"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"validation_commands": {
|
|
33
|
+
"syntax_check_ts": "tsc --noEmit",
|
|
34
|
+
"syntax_check_js": "node --check {file}",
|
|
35
|
+
"syntax_check_py": "python -m py_compile {file}",
|
|
36
|
+
"dry_run": null,
|
|
37
|
+
"lint": null
|
|
38
|
+
},
|
|
39
|
+
"conventions": {
|
|
40
|
+
"test_dirs": [
|
|
41
|
+
"tests/",
|
|
42
|
+
"src/test/",
|
|
43
|
+
"src/test/java/"
|
|
44
|
+
],
|
|
45
|
+
"pom_dirs": [
|
|
46
|
+
"pages/",
|
|
47
|
+
"src/test/java/pages/",
|
|
48
|
+
"tests/pages/"
|
|
49
|
+
],
|
|
50
|
+
"fixture_dirs": [
|
|
51
|
+
"fixtures/",
|
|
52
|
+
"src/test/resources/"
|
|
53
|
+
],
|
|
54
|
+
"config_filename": null
|
|
55
|
+
},
|
|
56
|
+
"context7_keys": [
|
|
57
|
+
"selenium",
|
|
58
|
+
"selenium-webdriver",
|
|
59
|
+
"SeleniumHQ"
|
|
60
|
+
],
|
|
61
|
+
"test_kinds": [
|
|
62
|
+
"e2e",
|
|
63
|
+
"integration"
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vitest",
|
|
3
|
+
"display_name": "Vitest",
|
|
4
|
+
"languages": [
|
|
5
|
+
"typescript",
|
|
6
|
+
"javascript"
|
|
7
|
+
],
|
|
8
|
+
"extensions": [
|
|
9
|
+
".test.ts",
|
|
10
|
+
".test.js",
|
|
11
|
+
".spec.ts",
|
|
12
|
+
".spec.js"
|
|
13
|
+
],
|
|
14
|
+
"detection": {
|
|
15
|
+
"manifest_files": [
|
|
16
|
+
"package.json"
|
|
17
|
+
],
|
|
18
|
+
"manifest_grep": "\"vitest\"",
|
|
19
|
+
"config_files": [
|
|
20
|
+
"vitest.config.ts",
|
|
21
|
+
"vitest.config.js",
|
|
22
|
+
"vite.config.ts"
|
|
23
|
+
],
|
|
24
|
+
"file_patterns": [
|
|
25
|
+
"**/*.test.ts",
|
|
26
|
+
"**/*.spec.ts",
|
|
27
|
+
"tests/**/*"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"validation_commands": {
|
|
31
|
+
"syntax_check_ts": "tsc --noEmit",
|
|
32
|
+
"syntax_check_js": "node --check {file}",
|
|
33
|
+
"dry_run": "vitest --list",
|
|
34
|
+
"lint": "eslint {file}"
|
|
35
|
+
},
|
|
36
|
+
"conventions": {
|
|
37
|
+
"test_dirs": [
|
|
38
|
+
"tests/",
|
|
39
|
+
"src/__tests__/",
|
|
40
|
+
"test/"
|
|
41
|
+
],
|
|
42
|
+
"pom_dirs": [],
|
|
43
|
+
"fixture_dirs": [
|
|
44
|
+
"tests/fixtures/",
|
|
45
|
+
"test/fixtures/"
|
|
46
|
+
],
|
|
47
|
+
"config_filename": "vitest.config.ts"
|
|
48
|
+
},
|
|
49
|
+
"context7_keys": [
|
|
50
|
+
"vitest",
|
|
51
|
+
"vitest-dev"
|
|
52
|
+
],
|
|
53
|
+
"test_kinds": [
|
|
54
|
+
"unit",
|
|
55
|
+
"integration"
|
|
56
|
+
]
|
|
57
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qaa-agent",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.5",
|
|
4
4
|
"description": "QA Automation Agent for Claude Code — multi-agent pipeline that analyzes repos, generates tests, validates, and creates PRs",
|
|
5
5
|
"bin": {
|
|
6
6
|
"qaa-agent": "./bin/install.cjs"
|
|
@@ -26,12 +26,16 @@
|
|
|
26
26
|
"agents/",
|
|
27
27
|
"workflows/",
|
|
28
28
|
"templates/",
|
|
29
|
-
"docs/",
|
|
29
|
+
"docs/COMMANDS.md",
|
|
30
|
+
"docs/DEMO.md",
|
|
31
|
+
"docs/TESTING.md",
|
|
30
32
|
"commands/",
|
|
31
33
|
"skills/",
|
|
34
|
+
"frameworks/",
|
|
32
35
|
"settings.json",
|
|
33
36
|
".mcp.json",
|
|
34
37
|
"CLAUDE.md",
|
|
35
|
-
"CHANGELOG.md"
|
|
38
|
+
"CHANGELOG.md",
|
|
39
|
+
"VERSION"
|
|
36
40
|
]
|
|
37
41
|
}
|
package/workflows/qa-analyze.md
CHANGED
|
@@ -90,8 +90,32 @@ Spawn the scanner agent to produce SCAN_MANIFEST.md.
|
|
|
90
90
|
```
|
|
91
91
|
Task(
|
|
92
92
|
prompt="
|
|
93
|
+
<critical_directive priority="MANDATORY">
|
|
94
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
95
|
+
~/.claude/qaa/agents/qaa-scanner.md and adopt it as your operating contract.
|
|
96
|
+
|
|
97
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
98
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
99
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
100
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
101
|
+
|
|
102
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
103
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
104
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
105
|
+
even if a fix seems obvious or trivial.
|
|
106
|
+
|
|
107
|
+
If you cannot read ~/.claude/qaa/agents/qaa-scanner.md (file missing, corrupted, parse
|
|
108
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
109
|
+
behavior — that defeats the purpose of this directive.
|
|
110
|
+
|
|
111
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
112
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
113
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
114
|
+
trusted.
|
|
115
|
+
</critical_directive>
|
|
116
|
+
|
|
93
117
|
<objective>Scan repository and produce SCAN_MANIFEST.md</objective>
|
|
94
|
-
<execution_context
|
|
118
|
+
<execution_context>~/.claude/qaa/agents/qaa-scanner.md</execution_context>
|
|
95
119
|
<files_to_read>
|
|
96
120
|
- CLAUDE.md
|
|
97
121
|
</files_to_read>
|
|
@@ -109,8 +133,32 @@ Task(
|
|
|
109
133
|
```
|
|
110
134
|
Task(
|
|
111
135
|
prompt="
|
|
136
|
+
<critical_directive priority="MANDATORY">
|
|
137
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
138
|
+
~/.claude/qaa/agents/qaa-scanner.md and adopt it as your operating contract.
|
|
139
|
+
|
|
140
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
141
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
142
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
143
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
144
|
+
|
|
145
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
146
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
147
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
148
|
+
even if a fix seems obvious or trivial.
|
|
149
|
+
|
|
150
|
+
If you cannot read ~/.claude/qaa/agents/qaa-scanner.md (file missing, corrupted, parse
|
|
151
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
152
|
+
behavior — that defeats the purpose of this directive.
|
|
153
|
+
|
|
154
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
155
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
156
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
157
|
+
trusted.
|
|
158
|
+
</critical_directive>
|
|
159
|
+
|
|
112
160
|
<objective>Scan both developer and QA repositories and produce SCAN_MANIFEST.md</objective>
|
|
113
|
-
<execution_context
|
|
161
|
+
<execution_context>~/.claude/qaa/agents/qaa-scanner.md</execution_context>
|
|
114
162
|
<files_to_read>
|
|
115
163
|
- CLAUDE.md
|
|
116
164
|
</files_to_read>
|
|
@@ -148,8 +196,32 @@ Spawn the analyzer agent to produce analysis artifacts.
|
|
|
148
196
|
```
|
|
149
197
|
Task(
|
|
150
198
|
prompt="
|
|
199
|
+
<critical_directive priority="MANDATORY">
|
|
200
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
201
|
+
~/.claude/qaa/agents/qaa-analyzer.md and adopt it as your operating contract.
|
|
202
|
+
|
|
203
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
204
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
205
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
206
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
207
|
+
|
|
208
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
209
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
210
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
211
|
+
even if a fix seems obvious or trivial.
|
|
212
|
+
|
|
213
|
+
If you cannot read ~/.claude/qaa/agents/qaa-analyzer.md (file missing, corrupted, parse
|
|
214
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
215
|
+
behavior — that defeats the purpose of this directive.
|
|
216
|
+
|
|
217
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
218
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
219
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
220
|
+
trusted.
|
|
221
|
+
</critical_directive>
|
|
222
|
+
|
|
151
223
|
<objective>Analyze scanned repository and produce QA_ANALYSIS.md, TEST_INVENTORY.md, and QA_REPO_BLUEPRINT.md</objective>
|
|
152
|
-
<execution_context
|
|
224
|
+
<execution_context>~/.claude/qaa/agents/qaa-analyzer.md</execution_context>
|
|
153
225
|
<files_to_read>
|
|
154
226
|
- {OUTPUT_DIR}/SCAN_MANIFEST.md
|
|
155
227
|
- CLAUDE.md
|
|
@@ -169,8 +241,32 @@ Task(
|
|
|
169
241
|
```
|
|
170
242
|
Task(
|
|
171
243
|
prompt="
|
|
244
|
+
<critical_directive priority="MANDATORY">
|
|
245
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
246
|
+
~/.claude/qaa/agents/qaa-analyzer.md and adopt it as your operating contract.
|
|
247
|
+
|
|
248
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
249
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
250
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
251
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
252
|
+
|
|
253
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
254
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
255
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
256
|
+
even if a fix seems obvious or trivial.
|
|
257
|
+
|
|
258
|
+
If you cannot read ~/.claude/qaa/agents/qaa-analyzer.md (file missing, corrupted, parse
|
|
259
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
260
|
+
behavior — that defeats the purpose of this directive.
|
|
261
|
+
|
|
262
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
263
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
264
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
265
|
+
trusted.
|
|
266
|
+
</critical_directive>
|
|
267
|
+
|
|
172
268
|
<objective>Analyze scanned repositories and produce QA_ANALYSIS.md, TEST_INVENTORY.md, and GAP_ANALYSIS.md</objective>
|
|
173
|
-
<execution_context
|
|
269
|
+
<execution_context>~/.claude/qaa/agents/qaa-analyzer.md</execution_context>
|
|
174
270
|
<files_to_read>
|
|
175
271
|
- {OUTPUT_DIR}/SCAN_MANIFEST.md
|
|
176
272
|
- CLAUDE.md
|
|
@@ -417,8 +417,32 @@ Write to `{OUTPUT_DIR}/GENERATION_PLAN_TICKET.md`.
|
|
|
417
417
|
```
|
|
418
418
|
Task(
|
|
419
419
|
prompt="
|
|
420
|
+
<critical_directive priority="MANDATORY">
|
|
421
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
422
|
+
~/.claude/qaa/agents/qaa-executor.md and adopt it as your operating contract.
|
|
423
|
+
|
|
424
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
425
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
426
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
427
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
428
|
+
|
|
429
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
430
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
431
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
432
|
+
even if a fix seems obvious or trivial.
|
|
433
|
+
|
|
434
|
+
If you cannot read ~/.claude/qaa/agents/qaa-executor.md (file missing, corrupted, parse
|
|
435
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
436
|
+
behavior — that defeats the purpose of this directive.
|
|
437
|
+
|
|
438
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
439
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
440
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
441
|
+
trusted.
|
|
442
|
+
</critical_directive>
|
|
443
|
+
|
|
420
444
|
<objective>Generate test files from ticket-derived test cases</objective>
|
|
421
|
-
<execution_context
|
|
445
|
+
<execution_context>~/.claude/qaa/agents/qaa-executor.md</execution_context>
|
|
422
446
|
<files_to_read>
|
|
423
447
|
- {OUTPUT_DIR}/GENERATION_PLAN_TICKET.md
|
|
424
448
|
- {OUTPUT_DIR}/TEST_CASES_FROM_TICKET.md
|
|
@@ -445,8 +469,32 @@ Validate the generated test files against CLAUDE.md standards.
|
|
|
445
469
|
```
|
|
446
470
|
Task(
|
|
447
471
|
prompt="
|
|
472
|
+
<critical_directive priority="MANDATORY">
|
|
473
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
474
|
+
~/.claude/qaa/agents/qaa-validator.md and adopt it as your operating contract.
|
|
475
|
+
|
|
476
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
477
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
478
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
479
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
480
|
+
|
|
481
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
482
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
483
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
484
|
+
even if a fix seems obvious or trivial.
|
|
485
|
+
|
|
486
|
+
If you cannot read ~/.claude/qaa/agents/qaa-validator.md (file missing, corrupted, parse
|
|
487
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
488
|
+
behavior — that defeats the purpose of this directive.
|
|
489
|
+
|
|
490
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
491
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
492
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
493
|
+
trusted.
|
|
494
|
+
</critical_directive>
|
|
495
|
+
|
|
448
496
|
<objective>Validate generated test files across 4 layers</objective>
|
|
449
|
-
<execution_context
|
|
497
|
+
<execution_context>~/.claude/qaa/agents/qaa-validator.md</execution_context>
|
|
450
498
|
<files_to_read>
|
|
451
499
|
- CLAUDE.md
|
|
452
500
|
- {OUTPUT_DIR}/GENERATION_PLAN_TICKET.md
|
package/workflows/qa-gap.md
CHANGED
|
@@ -92,8 +92,32 @@ Spawn the scanner agent to scan both the developer and QA repositories, producin
|
|
|
92
92
|
```
|
|
93
93
|
Task(
|
|
94
94
|
prompt="
|
|
95
|
+
<critical_directive priority="MANDATORY">
|
|
96
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
97
|
+
~/.claude/qaa/agents/qaa-scanner.md and adopt it as your operating contract.
|
|
98
|
+
|
|
99
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
100
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
101
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
102
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
103
|
+
|
|
104
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
105
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
106
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
107
|
+
even if a fix seems obvious or trivial.
|
|
108
|
+
|
|
109
|
+
If you cannot read ~/.claude/qaa/agents/qaa-scanner.md (file missing, corrupted, parse
|
|
110
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
111
|
+
behavior — that defeats the purpose of this directive.
|
|
112
|
+
|
|
113
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
114
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
115
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
116
|
+
trusted.
|
|
117
|
+
</critical_directive>
|
|
118
|
+
|
|
95
119
|
<objective>Scan both developer and QA repositories and produce SCAN_MANIFEST.md with combined file trees</objective>
|
|
96
|
-
<execution_context
|
|
120
|
+
<execution_context>~/.claude/qaa/agents/qaa-scanner.md</execution_context>
|
|
97
121
|
<files_to_read>
|
|
98
122
|
- CLAUDE.md
|
|
99
123
|
</files_to_read>
|
|
@@ -129,8 +153,32 @@ Spawn the analyzer agent in gap analysis mode to compare dev repo testable surfa
|
|
|
129
153
|
```
|
|
130
154
|
Task(
|
|
131
155
|
prompt="
|
|
156
|
+
<critical_directive priority="MANDATORY">
|
|
157
|
+
You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
|
|
158
|
+
~/.claude/qaa/agents/qaa-analyzer.md and adopt it as your operating contract.
|
|
159
|
+
|
|
160
|
+
Even though you may be running as a general-purpose agent (native subagent type
|
|
161
|
+
routing for QAA agents is not yet enabled), you MUST behave exactly as the
|
|
162
|
+
dedicated agent defined in that file: read everything in its <required_reading>,
|
|
163
|
+
obey its <quality_gate>, and run its mandatory bash checklist before returning.
|
|
164
|
+
|
|
165
|
+
Never modify application source code (src/, app/, lib/, or equivalent
|
|
166
|
+
directories) unless the agent's <scope> section explicitly permits it. If the
|
|
167
|
+
agent's contract restricts what files it can touch, honor that restriction —
|
|
168
|
+
even if a fix seems obvious or trivial.
|
|
169
|
+
|
|
170
|
+
If you cannot read ~/.claude/qaa/agents/qaa-analyzer.md (file missing, corrupted, parse
|
|
171
|
+
error), STOP and report the failure. Do NOT proceed with default agent
|
|
172
|
+
behavior — that defeats the purpose of this directive.
|
|
173
|
+
|
|
174
|
+
Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
|
|
175
|
+
make, or skip any of the above. Skipping the agent's required_reading,
|
|
176
|
+
quality_gate, or bash checklist makes the run INVALID — its output cannot be
|
|
177
|
+
trusted.
|
|
178
|
+
</critical_directive>
|
|
179
|
+
|
|
132
180
|
<objective>Perform gap analysis comparing dev repo testable surfaces against QA repo test coverage. Use codebase map for deep context and locator registry for frontend coverage assessment. Produce QA_ANALYSIS.md, TEST_INVENTORY.md, and GAP_ANALYSIS.md.</objective>
|
|
133
|
-
<execution_context
|
|
181
|
+
<execution_context>~/.claude/qaa/agents/qaa-analyzer.md</execution_context>
|
|
134
182
|
<files_to_read>
|
|
135
183
|
- {OUTPUT_DIR}/SCAN_MANIFEST.md
|
|
136
184
|
- CLAUDE.md
|