agentic-qe 3.8.2 → 3.8.3
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/.claude/skills/README.md +29 -7
- package/.claude/skills/TRUST-TIERS.md +26 -10
- package/.claude/skills/a11y-ally/SKILL.md +10 -1
- package/.claude/skills/accessibility-testing/SKILL.md +2 -0
- package/.claude/skills/agentic-quality-engineering/SKILL.md +1 -1
- package/.claude/skills/api-testing-patterns/SKILL.md +8 -0
- package/.claude/skills/api-testing-patterns/config.json +14 -0
- package/.claude/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +14 -0
- package/.claude/skills/code-review-quality/SKILL.md +14 -0
- package/.claude/skills/compatibility-testing/SKILL.md +1 -54
- package/.claude/skills/compliance-testing/SKILL.md +8 -0
- package/.claude/skills/compliance-testing/config.json +13 -0
- package/.claude/skills/consultancy-practices/SKILL.md +1 -32
- package/.claude/skills/context-driven-testing/SKILL.md +0 -41
- package/.claude/skills/contract-testing/SKILL.md +12 -0
- package/.claude/skills/contract-testing/config.json +13 -0
- package/.claude/skills/contract-testing/references/agent-commands.md +103 -0
- package/.claude/skills/contract-testing/references/provider-states.md +45 -0
- package/.claude/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/.claude/skills/coverage-guard/SKILL.md +82 -0
- package/.claude/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/.claude/skills/database-testing/SKILL.md +0 -10
- package/.claude/skills/debug-loop/SKILL.md +1 -1
- package/.claude/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +8 -0
- package/.claude/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/.claude/skills/freeze-tests/SKILL.md +67 -0
- package/.claude/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/.claude/skills/localization-testing/SKILL.md +0 -17
- package/.claude/skills/mobile-testing/SKILL.md +2 -49
- package/.claude/skills/mutation-testing/SKILL.md +26 -0
- package/.claude/skills/mutation-testing/config.json +14 -0
- package/.claude/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/.claude/skills/mutation-testing/run-history.json +6 -0
- package/.claude/skills/no-skip/SKILL.md +74 -0
- package/.claude/skills/no-skip/scripts/check-skips.sh +28 -0
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/SKILL.md +2 -3
- package/.claude/skills/performance-testing/SKILL.md +21 -0
- package/.claude/skills/performance-testing/config.json +18 -0
- package/.claude/skills/performance-testing/references/k6-patterns.md +72 -0
- package/.claude/skills/performance-testing/run-history.json +6 -0
- package/.claude/skills/pr-review/SKILL.md +3 -3
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-production-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/.claude/skills/qe-chaos-resilience/SKILL.md +2 -2
- package/.claude/skills/qe-code-intelligence/SKILL.md +9 -1
- package/.claude/skills/qe-coverage-analysis/SKILL.md +28 -1
- package/.claude/skills/qe-coverage-analysis/run-history.json +6 -0
- package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/.claude/skills/qe-learning-optimization/SKILL.md +1 -1
- package/.claude/skills/qe-quality-assessment/SKILL.md +29 -2
- package/.claude/skills/qe-quality-assessment/run-history.json +6 -0
- package/.claude/skills/qe-requirements-validation/SKILL.md +1 -1
- package/.claude/skills/qe-test-execution/SKILL.md +9 -1
- package/.claude/skills/qe-test-generation/SKILL.md +15 -1
- package/.claude/skills/qe-test-generation/config.json +14 -0
- package/.claude/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/.claude/skills/quality-metrics/SKILL.md +3 -77
- package/.claude/skills/regression-testing/SKILL.md +13 -48
- package/.claude/skills/risk-based-testing/SKILL.md +6 -51
- package/.claude/skills/security-testing/SKILL.md +30 -0
- package/.claude/skills/security-testing/config.json +13 -0
- package/.claude/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/.claude/skills/security-testing/references/owasp-top-10.md +66 -0
- package/.claude/skills/security-testing/run-history.json +6 -0
- package/.claude/skills/security-testing/templates/security-report.md +44 -0
- package/.claude/skills/security-watch/SKILL.md +93 -0
- package/.claude/skills/security-watch/scripts/scan-security.sh +46 -0
- package/.claude/skills/shift-left-testing/SKILL.md +16 -87
- package/.claude/skills/skill-stats/SKILL.md +79 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/strict-tdd/SKILL.md +72 -0
- package/.claude/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +8 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +13 -64
- package/.claude/skills/test-data-management/SKILL.md +1 -104
- package/.claude/skills/test-design-techniques/SKILL.md +2 -151
- package/.claude/skills/test-environment-management/SKILL.md +0 -47
- package/.claude/skills/test-failure-investigator/SKILL.md +99 -0
- package/.claude/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/.claude/skills/trust-tier-manifest.json +135 -61
- package/.claude/skills/validation-pipeline/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +15 -1
- package/.claude/skills/xp-practices/SKILL.md +2 -109
- package/CHANGELOG.md +29 -0
- package/README.md +5 -1
- package/assets/skills/README.md +173 -0
- package/assets/skills/TRUST-TIERS.md +174 -0
- package/assets/skills/a11y-ally/SKILL.md +10 -1
- package/assets/skills/accessibility-testing/SKILL.md +2 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +1 -1
- package/assets/skills/api-testing-patterns/SKILL.md +8 -0
- package/assets/skills/api-testing-patterns/config.json +14 -0
- package/assets/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/assets/skills/bug-reporting-excellence/SKILL.md +14 -0
- package/assets/skills/code-review-quality/SKILL.md +14 -0
- package/assets/skills/compatibility-testing/SKILL.md +1 -54
- package/assets/skills/compliance-testing/SKILL.md +8 -0
- package/assets/skills/compliance-testing/config.json +13 -0
- package/assets/skills/consultancy-practices/SKILL.md +1 -32
- package/assets/skills/context-driven-testing/SKILL.md +0 -41
- package/assets/skills/contract-testing/SKILL.md +12 -0
- package/assets/skills/contract-testing/config.json +13 -0
- package/assets/skills/contract-testing/references/agent-commands.md +103 -0
- package/assets/skills/contract-testing/references/provider-states.md +45 -0
- package/assets/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/assets/skills/coverage-guard/SKILL.md +82 -0
- package/assets/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/assets/skills/database-testing/SKILL.md +0 -10
- package/assets/skills/debug-loop/SKILL.md +1 -1
- package/assets/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/assets/skills/exploratory-testing-advanced/SKILL.md +8 -0
- package/assets/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/assets/skills/freeze-tests/SKILL.md +67 -0
- package/assets/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/assets/skills/localization-testing/SKILL.md +0 -17
- package/assets/skills/mobile-testing/SKILL.md +2 -49
- package/assets/skills/mutation-testing/SKILL.md +26 -0
- package/assets/skills/mutation-testing/config.json +14 -0
- package/assets/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/assets/skills/mutation-testing/run-history.json +6 -0
- package/assets/skills/no-skip/SKILL.md +74 -0
- package/assets/skills/no-skip/scripts/check-skips.sh +28 -0
- package/assets/skills/pair-programming/SKILL.md +1 -1
- package/assets/skills/pentest-validation/SKILL.md +2 -3
- package/assets/skills/performance-testing/SKILL.md +21 -0
- package/assets/skills/performance-testing/config.json +18 -0
- package/assets/skills/performance-testing/references/k6-patterns.md +72 -0
- package/assets/skills/performance-testing/run-history.json +6 -0
- package/assets/skills/pr-review/SKILL.md +3 -3
- package/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/assets/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/assets/skills/qcsd-production-swarm/SKILL.md +1 -1
- package/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/assets/skills/qe-chaos-resilience/SKILL.md +2 -2
- package/assets/skills/qe-code-intelligence/SKILL.md +9 -1
- package/assets/skills/qe-coverage-analysis/SKILL.md +28 -1
- package/assets/skills/qe-coverage-analysis/run-history.json +6 -0
- package/assets/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/assets/skills/qe-learning-optimization/SKILL.md +1 -1
- package/assets/skills/qe-quality-assessment/SKILL.md +29 -2
- package/assets/skills/qe-quality-assessment/run-history.json +6 -0
- package/assets/skills/qe-requirements-validation/SKILL.md +1 -1
- package/assets/skills/qe-test-execution/SKILL.md +9 -1
- package/assets/skills/qe-test-generation/SKILL.md +15 -1
- package/assets/skills/qe-test-generation/config.json +14 -0
- package/assets/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/assets/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/assets/skills/quality-metrics/SKILL.md +3 -77
- package/assets/skills/regression-testing/SKILL.md +13 -48
- package/assets/skills/risk-based-testing/SKILL.md +6 -51
- package/assets/skills/security-testing/SKILL.md +30 -0
- package/assets/skills/security-testing/config.json +13 -0
- package/assets/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/assets/skills/security-testing/references/owasp-top-10.md +66 -0
- package/assets/skills/security-testing/run-history.json +6 -0
- package/assets/skills/security-testing/templates/security-report.md +44 -0
- package/assets/skills/security-watch/SKILL.md +93 -0
- package/assets/skills/security-watch/scripts/scan-security.sh +46 -0
- package/assets/skills/shift-left-testing/SKILL.md +16 -87
- package/assets/skills/skill-stats/SKILL.md +79 -0
- package/assets/skills/strict-tdd/SKILL.md +72 -0
- package/assets/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +8 -0
- package/assets/skills/test-automation-strategy/SKILL.md +13 -64
- package/assets/skills/test-data-management/SKILL.md +1 -104
- package/assets/skills/test-design-techniques/SKILL.md +2 -151
- package/assets/skills/test-environment-management/SKILL.md +0 -47
- package/assets/skills/test-failure-investigator/SKILL.md +99 -0
- package/assets/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/assets/skills/trust-tier-manifest.json +135 -61
- package/assets/skills/validation-pipeline/SKILL.md +1 -1
- package/assets/skills/verification-quality/SKILL.md +15 -1
- package/assets/skills/xp-practices/SKILL.md +2 -109
- package/dist/cli/bundle.js +110 -24
- package/dist/init/opencode-installer.js +2 -3
- package/dist/init/phases/07-hooks.js +3 -3
- package/dist/init/settings-merge.js +1 -2
- package/dist/init/skills-installer.d.ts +10 -0
- package/dist/init/skills-installer.js +68 -6
- package/dist/integrations/ruvector/sona-persistence.d.ts +6 -0
- package/dist/integrations/ruvector/sona-persistence.js +26 -1
- package/dist/mcp/bundle.js +29 -8
- package/dist/mcp/entry.js +6 -6
- package/dist/migration/agent-compat.js +2 -2
- package/package.json +2 -2
- package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/.claude/skills/aqe-v2-v3-migration/skill.md +0 -325
- package/.claude/skills/qe-contract-testing/SKILL.md +0 -223
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/.claude/skills/qe-contract-testing/schemas/output.json +0 -295
- package/.claude/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/.claude/skills/qe-security-compliance/SKILL.md +0 -260
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/.claude/skills/qe-security-compliance/schemas/output.json +0 -498
- package/.claude/skills/qe-security-compliance/scripts/validate-config.json +0 -41
- package/.opencode/skills/qe-contract-testing.yaml +0 -45
- package/.opencode/skills/qe-security-compliance.yaml +0 -45
- package/assets/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/assets/skills/aqe-v2-v3-migration/skill.md +0 -325
- package/assets/skills/qe-contract-testing/SKILL.md +0 -223
- package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/assets/skills/qe-contract-testing/schemas/output.json +0 -295
- package/assets/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/assets/skills/qe-security-compliance/SKILL.md +0 -260
- package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/assets/skills/qe-security-compliance/schemas/output.json +0 -498
- package/assets/skills/qe-security-compliance/scripts/validate-config.json +0 -41
|
@@ -65,51 +65,6 @@ When testing mobile applications:
|
|
|
65
65
|
| **Tier 2** | 30% users | iPhone 14/13, Pixel 8 |
|
|
66
66
|
| **Tier 3** | 10% users | Older devices, other manufacturers |
|
|
67
67
|
|
|
68
|
-
### Mobile Performance Goals
|
|
69
|
-
| Metric | Target |
|
|
70
|
-
|--------|--------|
|
|
71
|
-
| App launch | < 2 seconds |
|
|
72
|
-
| Screen transition | < 300ms |
|
|
73
|
-
| Frame rate | 60 FPS |
|
|
74
|
-
| Battery drain | < 5%/hour background |
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Touch Gesture Testing
|
|
79
|
-
|
|
80
|
-
```javascript
|
|
81
|
-
// Appium gesture examples
|
|
82
|
-
// Tap
|
|
83
|
-
await driver.touchAction({ action: 'tap', x: 100, y: 200 });
|
|
84
|
-
|
|
85
|
-
// Swipe (scroll down)
|
|
86
|
-
await driver.touchAction([
|
|
87
|
-
{ action: 'press', x: 200, y: 400 },
|
|
88
|
-
{ action: 'moveTo', x: 200, y: 100 },
|
|
89
|
-
{ action: 'release' }
|
|
90
|
-
]);
|
|
91
|
-
|
|
92
|
-
// Pinch to zoom
|
|
93
|
-
const finger1 = [
|
|
94
|
-
{ action: 'press', x: 100, y: 200 },
|
|
95
|
-
{ action: 'moveTo', x: 50, y: 150 },
|
|
96
|
-
{ action: 'release' }
|
|
97
|
-
];
|
|
98
|
-
const finger2 = [
|
|
99
|
-
{ action: 'press', x: 200, y: 200 },
|
|
100
|
-
{ action: 'moveTo', x: 250, y: 250 },
|
|
101
|
-
{ action: 'release' }
|
|
102
|
-
];
|
|
103
|
-
await driver.multiTouchAction([finger1, finger2]);
|
|
104
|
-
|
|
105
|
-
// Long press
|
|
106
|
-
await driver.touchAction({
|
|
107
|
-
action: 'longPress',
|
|
108
|
-
x: 100, y: 200,
|
|
109
|
-
duration: 2000
|
|
110
|
-
});
|
|
111
|
-
```
|
|
112
|
-
|
|
113
68
|
---
|
|
114
69
|
|
|
115
70
|
## Mobile-Specific Scenarios
|
|
@@ -217,8 +172,6 @@ const mobileFleet = await FleetManager.coordinate({
|
|
|
217
172
|
|
|
218
173
|
## Remember
|
|
219
174
|
|
|
220
|
-
**
|
|
221
|
-
|
|
222
|
-
**Test on real devices for critical flows.** Emulators catch 80% of bugs but real devices needed for actual performance, sensor behavior, and platform quirks.
|
|
175
|
+
**Test on real devices for critical flows.** Emulators catch 80% of bugs but real devices are needed for actual performance, sensor behavior, and platform quirks.
|
|
223
176
|
|
|
224
|
-
**With Agents:** `qe-test-executor` orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel.
|
|
177
|
+
**With Agents:** `qe-test-executor` orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel.
|
|
@@ -233,3 +233,29 @@ const mutationFleet = await FleetManager.coordinate({
|
|
|
233
233
|
**Focus on critical paths first.** Don't mutation test everything - prioritize payment, authentication, data integrity code.
|
|
234
234
|
|
|
235
235
|
**With Agents:** Agents run mutation analysis, identify surviving mutants, and generate missing test cases to kill them. Automated improvement of test quality.
|
|
236
|
+
|
|
237
|
+
## Run History
|
|
238
|
+
|
|
239
|
+
After each mutation test run, append results to `run-history.json` in this skill directory:
|
|
240
|
+
```bash
|
|
241
|
+
node -e "
|
|
242
|
+
const fs = require('fs');
|
|
243
|
+
const h = JSON.parse(fs.readFileSync('.claude/skills/mutation-testing/run-history.json'));
|
|
244
|
+
h.runs.push({date: new Date().toISOString().split('T')[0], mutation_score_pct: SCORE, killed: KILLED, survived: SURVIVED});
|
|
245
|
+
fs.writeFileSync('.claude/skills/mutation-testing/run-history.json', JSON.stringify(h, null, 2));
|
|
246
|
+
"
|
|
247
|
+
```
|
|
248
|
+
Read `run-history.json` before each run to track score improvements over time.
|
|
249
|
+
|
|
250
|
+
## Skill Composition
|
|
251
|
+
|
|
252
|
+
- **Before mutation testing** → Run `/qe-test-generation` to ensure tests exist
|
|
253
|
+
- **After mutation results** → Use `/qe-coverage-analysis` to prioritize improvement areas
|
|
254
|
+
- **Quality gate** → Feed results into `/qe-quality-assessment` for ship/no-ship decision
|
|
255
|
+
|
|
256
|
+
## Gotchas
|
|
257
|
+
|
|
258
|
+
- Stryker requires `--testRunner jest` explicitly if both jest and vitest are installed
|
|
259
|
+
- Mutating `>=` to `>` in date comparisons rarely gets killed — add boundary tests
|
|
260
|
+
- Running on files >500 LOC will timeout; use `--mutate` to target specific functions
|
|
261
|
+
- `--concurrency` defaults to CPU count which OOMs in containers — set to 2
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./config-schema.json",
|
|
3
|
+
"_description": "Mutation Testing configuration. Auto-created on first run. Edit to customize.",
|
|
4
|
+
"mutator": "stryker",
|
|
5
|
+
"concurrency": 2,
|
|
6
|
+
"score_threshold": 80,
|
|
7
|
+
"options": {
|
|
8
|
+
"testRunner": null,
|
|
9
|
+
"mutateGlob": "src/**/*.{ts,js}",
|
|
10
|
+
"excludeGlob": "src/**/*.test.{ts,js}",
|
|
11
|
+
"timeoutMs": 60000
|
|
12
|
+
},
|
|
13
|
+
"_setupPrompt": "If testRunner is null, ask: 'Which test runner does this project use? (jest/vitest/mocha)'. Warn: concurrency defaults to 2 to avoid OOM in containers."
|
|
14
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Mutation Operators Reference
|
|
2
|
+
|
|
3
|
+
## Arithmetic Operators
|
|
4
|
+
| Original | Mutant | What It Tests |
|
|
5
|
+
|----------|--------|--------------|
|
|
6
|
+
| `a + b` | `a - b` | Addition logic |
|
|
7
|
+
| `a * b` | `a / b` | Multiplication logic |
|
|
8
|
+
| `a % b` | `a * b` | Modulo logic |
|
|
9
|
+
|
|
10
|
+
## Conditional Operators
|
|
11
|
+
| Original | Mutant | What It Tests |
|
|
12
|
+
|----------|--------|--------------|
|
|
13
|
+
| `a > b` | `a >= b` | Off-by-one in boundaries |
|
|
14
|
+
| `a >= b` | `a > b` | Boundary inclusion |
|
|
15
|
+
| `a === b` | `a !== b` | Equality checks |
|
|
16
|
+
| `a && b` | `a \|\| b` | Logical conjunction |
|
|
17
|
+
|
|
18
|
+
## Statement Mutations
|
|
19
|
+
| Original | Mutant | What It Tests |
|
|
20
|
+
|----------|--------|--------------|
|
|
21
|
+
| `return x` | `return !x` | Return value negation |
|
|
22
|
+
| `if (cond)` | `if (true)` | Condition relevance |
|
|
23
|
+
| `if (cond)` | `if (false)` | Dead code detection |
|
|
24
|
+
| `statement` | _(removed)_ | Statement necessity |
|
|
25
|
+
|
|
26
|
+
## Common Surviving Mutants and Fixes
|
|
27
|
+
|
|
28
|
+
**`>=` to `>` survives**: Add boundary test with exact boundary value
|
|
29
|
+
**`&&` to `||` survives**: Add test where only one condition is true
|
|
30
|
+
**Removed `return` survives**: Function's return value isn't being checked
|
|
31
|
+
**`+1` to `-1` survives**: Increment/decrement logic untested
|
|
32
|
+
|
|
33
|
+
## Stryker Configuration Tips
|
|
34
|
+
- `--testRunner jest` — explicit when multiple runners installed
|
|
35
|
+
- `--concurrency 2` — prevents OOM in containers
|
|
36
|
+
- `--mutate 'src/**/*.ts,!src/**/*.d.ts'` — skip type definitions
|
|
37
|
+
- `--timeoutMS 60000` — increase for slow test suites
|
|
38
|
+
- `--thresholds.high 80 --thresholds.low 60` — score quality bands
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_description": "Mutation testing run history. Append after each run. Claude reads this to track mutation score trends.",
|
|
3
|
+
"_format": "Each entry: {date, scope, mutation_score_pct, killed, survived, timeout, no_coverage, improvement_areas}",
|
|
4
|
+
"_instructions": "After running mutation testing, append results here. Track score improvements over time. Flag if score drops below threshold.",
|
|
5
|
+
"runs": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: no-skip
|
|
3
|
+
description: "Use when you want to prevent .skip(), .only(), xit(), and xdescribe() from being committed to test files. Activate with /no-skip for session-scoped test skip prevention."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# No-Skip Mode
|
|
8
|
+
|
|
9
|
+
When activated, blocks any write that adds test-skipping patterns to test files.
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Prevents these patterns from being written to test files:
|
|
14
|
+
- `.skip()` — skips individual tests
|
|
15
|
+
- `.only()` — runs only one test (excludes all others)
|
|
16
|
+
- `xit(` / `xdescribe(` — Jasmine skip syntax
|
|
17
|
+
- `test.todo(` — unimplemented test placeholders
|
|
18
|
+
- `@Skip` / `@Disabled` — JUnit skip annotations
|
|
19
|
+
|
|
20
|
+
## Activation
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/no-skip
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Hook Configuration
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"hooks": {
|
|
31
|
+
"PreToolUse": [
|
|
32
|
+
{
|
|
33
|
+
"matcher": "Write|Edit",
|
|
34
|
+
"hook": ".claude/skills/no-skip/scripts/check-skips.sh",
|
|
35
|
+
"condition": "file matches **/*.test.{ts,js,tsx,jsx} OR **/*.spec.{ts,js}"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Enforcement Logic
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
#!/bin/bash
|
|
46
|
+
# check-skips.sh
|
|
47
|
+
CONTENT="$1"
|
|
48
|
+
|
|
49
|
+
SKIP_PATTERNS=(
|
|
50
|
+
'\.skip\s*\('
|
|
51
|
+
'\.only\s*\('
|
|
52
|
+
'\bxit\s*\('
|
|
53
|
+
'\bxdescribe\s*\('
|
|
54
|
+
'\bxcontext\s*\('
|
|
55
|
+
'test\.todo\s*\('
|
|
56
|
+
'@Skip'
|
|
57
|
+
'@Disabled'
|
|
58
|
+
'@Ignore'
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
for pattern in "${SKIP_PATTERNS[@]}"; do
|
|
62
|
+
if echo "$CONTENT" | grep -qP "$pattern"; then
|
|
63
|
+
echo "BLOCKED: Found skip pattern '$pattern'"
|
|
64
|
+
echo "Remove the skip and either fix the test or delete it."
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
done
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Gotchas
|
|
71
|
+
|
|
72
|
+
- This catches NEW skips being written, not existing ones — run `grep -r '.skip(' tests/` to find existing skips
|
|
73
|
+
- `.only()` is sometimes used intentionally during debugging — deactivate with `/no-skip off` if needed
|
|
74
|
+
- Some frameworks use `pending()` instead of `.skip()` — add to patterns if using Jasmine
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# check-skips.sh — No-Skip hook
|
|
3
|
+
# Blocks writes that add test-skipping patterns to test files.
|
|
4
|
+
# Called by PreToolUse hook on Write/Edit to **/*.test.* or **/*.spec.*
|
|
5
|
+
|
|
6
|
+
CONTENT="$1"
|
|
7
|
+
|
|
8
|
+
if [ -z "$CONTENT" ]; then
|
|
9
|
+
# If no content passed, read from stdin
|
|
10
|
+
CONTENT=$(cat)
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
FOUND=0
|
|
14
|
+
|
|
15
|
+
# Check for skip patterns
|
|
16
|
+
for pattern in '\.skip\s*(' '\.only\s*(' '\bxit\s*(' '\bxdescribe\s*(' '\bxcontext\s*(' 'test\.todo\s*(' '@Skip' '@Disabled' '@Ignore'; do
|
|
17
|
+
if echo "$CONTENT" | grep -qP "$pattern" 2>/dev/null || echo "$CONTENT" | grep -q "$pattern" 2>/dev/null; then
|
|
18
|
+
echo "BLOCKED: Found skip pattern: $pattern"
|
|
19
|
+
FOUND=1
|
|
20
|
+
fi
|
|
21
|
+
done
|
|
22
|
+
|
|
23
|
+
if [ $FOUND -eq 1 ]; then
|
|
24
|
+
echo "Remove the skip and either fix the test or delete it."
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
exit 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Pair Programming
|
|
3
|
-
description:
|
|
3
|
+
description: "Use when pair programming with AI assistance, practicing TDD with a navigator, debugging collaboratively, refactoring with real-time verification, or running learning sessions with continuous code review and quality monitoring."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pair Programming
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pentest-validation
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when validating security findings from SAST/DAST scans, proving exploitability of reported vulnerabilities, eliminating false positives, or running the 4-phase pentest pipeline (recon, analysis, validation, report)."
|
|
4
4
|
category: specialized-testing
|
|
5
5
|
priority: critical
|
|
6
6
|
tokenEstimate: 1500
|
|
@@ -253,8 +253,7 @@ aqe/pentest/
|
|
|
253
253
|
|
|
254
254
|
## Related Skills
|
|
255
255
|
|
|
256
|
-
- [security-testing](../security-testing/) - OWASP vulnerability scanning
|
|
257
|
-
- [qe-security-compliance](../qe-security-compliance/) - SAST/DAST automation
|
|
256
|
+
- [security-testing](../security-testing/) - OWASP vulnerability scanning, SAST/DAST automation
|
|
258
257
|
- [compliance-testing](../compliance-testing/) - Regulatory compliance
|
|
259
258
|
- [api-testing-patterns](../api-testing-patterns/) - API security testing
|
|
260
259
|
- [chaos-engineering-resilience](../chaos-engineering-resilience/) - Security under chaos
|
|
@@ -313,3 +313,24 @@ const perfFleet = await FleetManager.coordinate({
|
|
|
313
313
|
**Trend over time:** Catch degradation early
|
|
314
314
|
|
|
315
315
|
**With Agents:** Agents automate load testing, analyze bottlenecks, and compare with production. Use agents to maintain performance at scale.
|
|
316
|
+
|
|
317
|
+
## Run History
|
|
318
|
+
|
|
319
|
+
After each performance test run, append results to `run-history.json` in this skill directory:
|
|
320
|
+
```bash
|
|
321
|
+
node -e "
|
|
322
|
+
const fs = require('fs');
|
|
323
|
+
const h = JSON.parse(fs.readFileSync('.claude/skills/performance-testing/run-history.json'));
|
|
324
|
+
h.runs.push({date: new Date().toISOString().split('T')[0], scenario: 'load', p95_ms: P95, throughput_rps: RPS, error_rate_pct: ERR});
|
|
325
|
+
fs.writeFileSync('.claude/skills/performance-testing/run-history.json', JSON.stringify(h, null, 2));
|
|
326
|
+
"
|
|
327
|
+
```
|
|
328
|
+
Read `run-history.json` before each run — compare with baselines. Alert if p95 increases >20% from baseline.
|
|
329
|
+
|
|
330
|
+
## Gotchas
|
|
331
|
+
|
|
332
|
+
- k6 scripts generated by agent often hardcode base URLs — use environment variables for portability
|
|
333
|
+
- Load tests in containers hit resource limits before app limits — ensure container has 2x the resources of target
|
|
334
|
+
- Agent forgets to include think time between requests — without it, load is unrealistically bursty
|
|
335
|
+
- P95 vs P99 matters — agent defaults to averages which hide tail latency problems
|
|
336
|
+
- Baseline comparison requires consistent environment — CI runner variance can cause 20%+ noise
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./config-schema.json",
|
|
3
|
+
"_description": "Performance Testing configuration. Auto-created on first run. Edit to customize.",
|
|
4
|
+
"tool": null,
|
|
5
|
+
"baseline_file": null,
|
|
6
|
+
"thresholds": {
|
|
7
|
+
"p95_response_ms": 500,
|
|
8
|
+
"error_rate_percent": 1,
|
|
9
|
+
"throughput_rps": 100
|
|
10
|
+
},
|
|
11
|
+
"options": {
|
|
12
|
+
"duration": "30s",
|
|
13
|
+
"vus": 10,
|
|
14
|
+
"rampUp": "10s",
|
|
15
|
+
"thinkTime": "1s"
|
|
16
|
+
},
|
|
17
|
+
"_setupPrompt": "If tool is null, ask: 'Which load testing tool do you use? (k6/artillery/jmeter)'. If baseline_file is null, ask: 'Do you have an existing performance baseline file? (path or \"none\")'."
|
|
18
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# k6 Load Testing Patterns
|
|
2
|
+
|
|
3
|
+
## Basic Load Test
|
|
4
|
+
```javascript
|
|
5
|
+
import http from 'k6/http';
|
|
6
|
+
import { check, sleep } from 'k6';
|
|
7
|
+
|
|
8
|
+
export const options = {
|
|
9
|
+
stages: [
|
|
10
|
+
{ duration: '30s', target: 20 }, // ramp up
|
|
11
|
+
{ duration: '1m', target: 20 }, // steady state
|
|
12
|
+
{ duration: '10s', target: 0 }, // ramp down
|
|
13
|
+
],
|
|
14
|
+
thresholds: {
|
|
15
|
+
http_req_duration: ['p(95)<500'],
|
|
16
|
+
http_req_failed: ['rate<0.01'],
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default function () {
|
|
21
|
+
const res = http.get(`${__ENV.BASE_URL}/api/endpoint`);
|
|
22
|
+
check(res, {
|
|
23
|
+
'status is 200': (r) => r.status === 200,
|
|
24
|
+
'response time < 500ms': (r) => r.timings.duration < 500,
|
|
25
|
+
});
|
|
26
|
+
sleep(1); // Think time — don't forget!
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Stress Test Pattern
|
|
31
|
+
```javascript
|
|
32
|
+
export const options = {
|
|
33
|
+
stages: [
|
|
34
|
+
{ duration: '2m', target: 100 },
|
|
35
|
+
{ duration: '5m', target: 100 },
|
|
36
|
+
{ duration: '2m', target: 200 },
|
|
37
|
+
{ duration: '5m', target: 200 },
|
|
38
|
+
{ duration: '2m', target: 0 },
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Spike Test Pattern
|
|
44
|
+
```javascript
|
|
45
|
+
export const options = {
|
|
46
|
+
stages: [
|
|
47
|
+
{ duration: '10s', target: 10 },
|
|
48
|
+
{ duration: '1m', target: 10 },
|
|
49
|
+
{ duration: '10s', target: 1000 }, // spike!
|
|
50
|
+
{ duration: '3m', target: 1000 },
|
|
51
|
+
{ duration: '10s', target: 10 },
|
|
52
|
+
],
|
|
53
|
+
};
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Soak Test Pattern
|
|
57
|
+
```javascript
|
|
58
|
+
export const options = {
|
|
59
|
+
stages: [
|
|
60
|
+
{ duration: '5m', target: 50 },
|
|
61
|
+
{ duration: '4h', target: 50 }, // long duration
|
|
62
|
+
{ duration: '5m', target: 0 },
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Tips
|
|
68
|
+
- Always include `sleep()` for think time
|
|
69
|
+
- Use `__ENV.BASE_URL` not hardcoded URLs
|
|
70
|
+
- Set `--out json=results.json` for CI comparison
|
|
71
|
+
- Use `scenarios` for complex user journeys
|
|
72
|
+
- Watch for connection reuse vs real-world patterns
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_description": "Performance testing run history. Append after each test run. Claude reads this to detect performance regressions.",
|
|
3
|
+
"_format": "Each entry: {date, scenario, p50_ms, p95_ms, p99_ms, throughput_rps, error_rate_pct, baseline_comparison}",
|
|
4
|
+
"_instructions": "After running performance tests, append results here. Compare with baselines. Alert if p95 increases >20% from baseline.",
|
|
5
|
+
"runs": []
|
|
6
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pr-review
|
|
3
|
-
description:
|
|
3
|
+
description: "Use when reviewing a GitHub PR for quality, scope correctness, trust tier compliance, or generating user-friendly review feedback."
|
|
4
4
|
trust_tier: 0
|
|
5
5
|
domain: code-review
|
|
6
6
|
---
|
|
@@ -24,8 +24,8 @@ Read the complete diff and PR description. Do not skim — read every changed fi
|
|
|
24
24
|
|
|
25
25
|
### 2. Scope Check
|
|
26
26
|
- Only analyze AQE/QE skills (NOT Claude Flow platform skills)
|
|
27
|
-
- Platform skills to EXCLUDE: v3-*, flow-nexus-*, agentdb-*, reasoningbank-*, swarm-*, github-*, hive-mind-advanced, hooks-automation, iterative-loop, stream-chain, skill-builder, sparc-methodology, pair-programming, release, debug-loop
|
|
28
|
-
- If the PR touches skills, verify the count/scope matches expectations (~
|
|
27
|
+
- Platform skills to EXCLUDE: v3-*, flow-nexus-*, agentdb-*, reasoningbank-*, swarm-*, github-*, hive-mind-advanced, hooks-automation, iterative-loop, stream-chain, skill-builder, sparc-methodology, pair-programming, release, debug-loop
|
|
28
|
+
- If the PR touches skills, verify the count/scope matches expectations (~82 AQE skills)
|
|
29
29
|
- Flag any platform skill changes that may have leaked into an AQE-focused PR
|
|
30
30
|
|
|
31
31
|
### 3. Summarize Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qcsd-cicd-swarm
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when enforcing CI/CD quality gates before release, running regression analysis, detecting flaky tests, or assessing deployment readiness in the QCSD Verification phase."
|
|
4
4
|
category: qcsd-phases
|
|
5
5
|
priority: critical
|
|
6
6
|
version: 1.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qcsd-development-swarm
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when monitoring in-sprint code quality with TDD adherence checks, complexity analysis, coverage gap detection, or defect prediction in the QCSD Development phase."
|
|
4
4
|
category: qcsd-phases
|
|
5
5
|
priority: critical
|
|
6
6
|
version: 1.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qcsd-ideation-swarm
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when running Quality Criteria sessions during PI/Sprint planning with HTSM v6.3, Risk Storming, or Testability analysis in the QCSD Ideation phase."
|
|
4
4
|
category: qcsd-phases
|
|
5
5
|
priority: critical
|
|
6
6
|
version: 7.5.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qcsd-production-swarm
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when assessing post-release production health with DORA metrics, root cause analysis, defect prediction, or cross-phase feedback loops in the QCSD Production phase."
|
|
4
4
|
category: qcsd-phases
|
|
5
5
|
priority: critical
|
|
6
6
|
version: 1.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qcsd-refinement-swarm
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when running Sprint Refinement sessions with SFDIPOT product factors, generating BDD scenarios, or validating requirements in the QCSD Refinement phase."
|
|
4
4
|
category: qcsd-phases
|
|
5
5
|
priority: critical
|
|
6
6
|
version: 1.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Chaos Resilience"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when injecting faults into distributed systems, validating system recovery, running load/stress tests, or building confidence in resilience through chaos engineering."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -240,4 +240,4 @@ await resilienceTester.validateSLA({
|
|
|
240
240
|
|
|
241
241
|
**Primary Agents**: qe-chaos-engineer, qe-load-tester, qe-resilience-tester
|
|
242
242
|
**Coordinator**: qe-chaos-coordinator
|
|
243
|
-
**Related Skills**: qe-performance,
|
|
243
|
+
**Related Skills**: qe-performance, security-testing
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Code Intelligence"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when understanding unfamiliar code, searching semantically across a codebase, mapping dependencies, or reducing context window usage through intelligent retrieval."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -207,6 +207,14 @@ aqe kg export --format dot --output codebase.dot
|
|
|
207
207
|
aqe kg stats
|
|
208
208
|
```
|
|
209
209
|
|
|
210
|
+
## Gotchas
|
|
211
|
+
|
|
212
|
+
- WARNING: code-intelligence domain has 18% success rate — prefer direct grep/glob over agent-based code search for simple queries
|
|
213
|
+
- Knowledge graph construction fails on repos >50K LOC — scope to specific modules
|
|
214
|
+
- Semantic search returns irrelevant results without domain-specific embeddings — always verify search results manually
|
|
215
|
+
- Agent claims "80% token reduction" but may skip critical context — verify key files are included in results
|
|
216
|
+
- Fleet must be initialized before using: run `npx ruflo doctor --fix` if you get initialization errors
|
|
217
|
+
|
|
210
218
|
## Coordination
|
|
211
219
|
|
|
212
220
|
**Primary Agents**: qe-knowledge-graph, qe-semantic-searcher, qe-dependency-mapper
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Coverage Analysis"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when analyzing test coverage, identifying coverage gaps, prioritizing testing effort, or comparing coverage between branches."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -185,6 +185,33 @@ quality_gates:
|
|
|
185
185
|
- alert_on_decline: 3 # consecutive PRs
|
|
186
186
|
```
|
|
187
187
|
|
|
188
|
+
## Run History
|
|
189
|
+
|
|
190
|
+
After each coverage analysis, append results to `run-history.json` in this skill directory:
|
|
191
|
+
```bash
|
|
192
|
+
# Read current history, append new entry, write back
|
|
193
|
+
node -e "
|
|
194
|
+
const fs = require('fs');
|
|
195
|
+
const h = JSON.parse(fs.readFileSync('.claude/skills/qe-coverage-analysis/run-history.json'));
|
|
196
|
+
h.runs.push({date: new Date().toISOString().split('T')[0], statements_pct: STATEMENTS, branches_pct: BRANCHES, gaps_found: GAPS});
|
|
197
|
+
fs.writeFileSync('.claude/skills/qe-coverage-analysis/run-history.json', JSON.stringify(h, null, 2));
|
|
198
|
+
"
|
|
199
|
+
```
|
|
200
|
+
Read `run-history.json` before each run to detect trends (e.g., "coverage dropped 3 consecutive times").
|
|
201
|
+
|
|
202
|
+
## Skill Composition
|
|
203
|
+
|
|
204
|
+
- **Coverage dropped?** → Use `/coverage-drop-investigator` to trace the cause
|
|
205
|
+
- **Need more tests** → Use `/qe-test-generation` to fill gaps
|
|
206
|
+
- **Validate quality** → Use `/mutation-testing` to ensure coverage means quality
|
|
207
|
+
- **Ship decision** → Feed into `/qe-quality-assessment` for deployment readiness
|
|
208
|
+
|
|
209
|
+
## Gotchas
|
|
210
|
+
|
|
211
|
+
- High line coverage does NOT mean good tests — 100% coverage with 0% assertions is common agent output. Use mutation testing to verify
|
|
212
|
+
- coverage-analysis domain has 86% success rate — 14% of runs fail on initialization. Always verify results and have fallback plan (e.g. manual coverage tools)
|
|
213
|
+
- Self-learning pipeline may silently stop learning (statusline frozen for days) — only human inspection catches this
|
|
214
|
+
|
|
188
215
|
## Coordination
|
|
189
216
|
|
|
190
217
|
**Primary Agents**: qe-coverage-specialist, qe-coverage-analyzer, qe-gap-detector
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_description": "Coverage analysis run history. Append after each run. Claude reads this to detect trends.",
|
|
3
|
+
"_format": "Each entry: {date, scope, statements_pct, branches_pct, functions_pct, gaps_found, recommendation}",
|
|
4
|
+
"_instructions": "After running coverage analysis, append results here. Compare with previous entries to detect trends. Alert if coverage declines 3 consecutive times.",
|
|
5
|
+
"runs": []
|
|
6
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Defect Intelligence"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when predicting defects before they escape, analyzing root causes of failures, learning defect patterns, or implementing proactive quality management with AI."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Learning Optimization"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when optimizing QE agent performance, applying transfer learning across test domains, tuning quality metrics, or implementing continuous improvement loops for AI-powered testing."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "QE Quality Assessment"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when evaluating code quality, setting up quality gates, assessing deployment readiness, or generating quality reports."
|
|
4
4
|
trust_tier: 3
|
|
5
5
|
validation:
|
|
6
6
|
schema_path: schemas/output.json
|
|
@@ -211,8 +211,35 @@ quality_check:
|
|
|
211
211
|
- 1 # Warnings only
|
|
212
212
|
```
|
|
213
213
|
|
|
214
|
+
## Run History
|
|
215
|
+
|
|
216
|
+
After each quality assessment, append results to `run-history.json` in this skill directory:
|
|
217
|
+
```bash
|
|
218
|
+
node -e "
|
|
219
|
+
const fs = require('fs');
|
|
220
|
+
const h = JSON.parse(fs.readFileSync('.claude/skills/qe-quality-assessment/run-history.json'));
|
|
221
|
+
h.runs.push({date: new Date().toISOString().split('T')[0], gate_result: 'PASS_OR_FAIL', failed_checks: []});
|
|
222
|
+
fs.writeFileSync('.claude/skills/qe-quality-assessment/run-history.json', JSON.stringify(h, null, 2));
|
|
223
|
+
"
|
|
224
|
+
```
|
|
225
|
+
Read `run-history.json` before each run — alert if quality gate failed 3 of last 5 runs.
|
|
226
|
+
|
|
227
|
+
## Skill Composition
|
|
228
|
+
|
|
229
|
+
- **Before assessment** → Run `/qe-coverage-analysis` and `/mutation-testing` first
|
|
230
|
+
- **If issues found** → Use `/test-failure-investigator` to diagnose failures
|
|
231
|
+
- **For PR review** → Combine with `/code-review-quality` for comprehensive review
|
|
232
|
+
|
|
233
|
+
## Gotchas
|
|
234
|
+
|
|
235
|
+
- NEVER trust agent-reported pass/fail status — 12 test failures were caught that agents claimed were passing (Nagual pattern, reward 0.92)
|
|
236
|
+
- Completion theater: agent hardcoded version '3.0.0' instead of reading from package.json — verify actual values in output
|
|
237
|
+
- Fix issues in priority waves (P0 → P1 → P2) with verification between each wave — don't fix everything in parallel
|
|
238
|
+
- quality-assessment domain has 53.7% success rate — expect failures and have fallback
|
|
239
|
+
- If HybridMemoryBackend initialization fails, run `npx ruflo doctor --fix` first
|
|
240
|
+
|
|
214
241
|
## Coordination
|
|
215
242
|
|
|
216
243
|
**Primary Agents**: qe-quality-analyzer, qe-deployment-advisor, qe-metrics-collector
|
|
217
244
|
**Coordinator**: qe-quality-coordinator
|
|
218
|
-
**Related Skills**: qe-coverage-analysis,
|
|
245
|
+
**Related Skills**: qe-coverage-analysis, security-testing
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_description": "Quality assessment run history. Append after each run. Claude reads this to track quality gate pass/fail trends.",
|
|
3
|
+
"_format": "Each entry: {date, scope, gate_result, scores, failed_checks, recommendation}",
|
|
4
|
+
"_instructions": "After running quality assessment, append results here. Alert if quality gate fails 3 of last 5 runs. Track which checks fail most often.",
|
|
5
|
+
"runs": []
|
|
6
|
+
}
|