From traxxall-delivery-qa
Loops adversarially over a drafted test suite, hunting boundary conditions, invalid inputs, permission boundaries, and cross-module side-effects that the acceptance criterion implies but does not state. Terminates after two consecutive passes that produce zero new cases. Never reads product source or diffs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/traxxall-delivery-qa:qa-adversarial-criticThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill receives only:
This skill receives only:
qa-spec-reader.qa-test-author.It must never use:
main/.ISOLATION GATE: If any forbidden input is supplied, state: "ISOLATION GATE: I have detected [name it] — a forbidden input. I will critique from the claims list and drafted suite only."
Traxxall's hotfix volume (13+ hotfixes per release cycle) indicates that author-side testing misses interaction effects. This critic's job is adversarial: assume the implementation shipped something that technically satisfies the literal acceptance criterion while breaking adjacent behaviour. Find the cases the test author did not write.
Run passes until two consecutive passes produce zero new cases. Track the count per pass explicitly:
Pass 1: N new cases added.
Pass 2: M new cases added.
...
Pass K: 0 new cases found.
Pass K+1: 0 new cases found. TERMINATING — loop-until-dry condition met.
For each pass, ask all of these questions against the current claim list and drafted suite:
Boundary questions
'; DROP TABLE, ' OR '1'='1), HTML entities (<script>alert(1)</script>), and Unicode edge cases (null byte, RTL override)?Permission and role questions
State transition questions
Cross-module questions
Async and timing questions
ERROR (not hangs) if the async operation exceeds the spec-implied SLA?Surface-specific questions
UpdatePanel postbacks complete before the assertion fires? Have I tested with JavaScript disabled?For each new case discovered, append to the test suite with:
test('CLAIM-n [type] — [description]', async ({ page }) => {
// ADVERSARIAL: added in pass [K] — [rationale: which boundary/question prompted this]
// ...
});
Tag the case with the correct type: edge, negative, abuse, or cross-module.
The claim list from qa-spec-reader contains cross-module hint annotations. Expand every annotated hint into at least one cross-module test case. Do not leave any cross-module hint unexpanded.
Example expansion: if a claim has the hint cross-module hint: completing this task may affect another aircraft's compliance status on the same tenant, write:
test('CLAIM-1 cross-module — completing task does not alter another aircraft compliance status', async ({ page }) => {
// ADVERSARIAL: cross-module hint expansion
// Navigate to Aircraft B (different aircraft, same tenant)
// Record its compliance status before the action
// Perform the action on Aircraft A
// Navigate back to Aircraft B
// Assert compliance status is unchanged
});
After each pass, output:
## Adversarial Critic — Pass [K]
New cases found: [N]
[List each new case: CLAIM-n [type] — title | rationale]
Running total: [total cases in suite]
After the termination condition is met:
## Adversarial Critic — COMPLETE
Total passes: [K+1]
Total new cases added: [cumulative]
Final suite size: [total]
[Updated JSON envelope with all new test cases appended at result: "NOT_RUN"]
Read, Grep, or Glob against main/.page.waitForTimeout in any case you author.eval/rubric.private.md or any path under eval/.npx claudepluginhub skobyn/upskill-me --plugin traxxall-delivery-qaGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.