wickedagilewicked-testing
A QE team for AI coding CLIs

No agent grades its own homework.

When an AI agent tests its own work, it grades its own homework — self-reported PASS rates run 80%+ above human-reviewed rates. wicked-testing gives your CLI a full QE team, then puts awall between the agent that runs the tests and the agent that decides they passed.

Install · the wicked family
npx wicked-installer

Interactive · cross-CLI · ships the wicked CLI.or just this: npx wicked-testing install

Installs into 8 CLIsClaude CodeAntigravityCursorCodexKiroCopilotOpenCodePi
report card · same featurerun #0.7.3
author grades itself
PASS
100% · every time
self-reported
independent reviewer
PASS
awaiting review…
contradicted
80%+ of self-graded PASSes don't survive an independent read.

Illustrative of the measured self-grading gap.

The self-grading problem

The agent that wrote the code runs the tests — and calls them green.

There's no independence at any layer. Scripted frameworks — Playwright, pytest, k6, axe-core — only run what you already thought to test. They don't tell you what to test, whether the tests are any good, or whether the results mean anything.

wicked-testing separates authorship from judgment — and enforces it.

The differentiator · reviewer isolation

The reviewer never sees who did the work.

The 3-agent acceptance pipeline gives each role its own tool boundary. The reviewer reads cold evidence files only — never the executor's context, reasoning, or stdout — so the self-grading that inflates AI PASS rates has nowhere to hide. Watch what crosses the wall.

Step 1 · authorsWriterReadGrepGlobSkill

Turns the scenario into an evidence-gated plan — every step declares its expected evidence and an assertion. Can't execute.

Step 2 · runsExecutorReadWriteBash

Follows the plan mechanically. Captures stdout, exit codes, and artifacts. Makes no judgment.

Step 3 · judgesReviewerRead

Reads the evidence files and nothing else. Never sees how they were produced. One tool — Read. Can't execute.

Crosses the wall — the reviewer reads
manifest.jsonevidence.jsonstep-N.jsoncontext.md
Bounced at the wall — never seen
executor contextchain-of-thoughtraw stdoutprior verdicts

Cold context injection hands the reviewer non-prejudicial domain knowledge only — WCAG thresholds, tool quirks. Prior verdicts or pass/fail rates leak nothing: prejudicial content tripsINCONCLUSIVE + CONTEXT_CONTAMINATION. Isolation is enforced by the reviewer's context: fork boundary and an allowed-tools: Read frontmatter.

A complete QE team

Forty specialist skills. Five orchestrators. One contract.

Forty specialist skills route beneath five orchestrator surfaces — part of a 48-skill toolkit whose 8 Tier-1 workflow skills form a stable public contract. Every specialist runs in an isolated forked context. Pick a surface — see who reports to it.

Surface
test-strategist
risk-assessor
testability-reviewer
requirements-quality-analyst
code-analyzer
coverage-archaeologist
test-impact-analyzer
acceptance-test-writer
test-designer
test-automation-engineer
contract-testing-engineer
ui-component-test-engineer
integration-test-engineer
e2e-orchestrator
fuzz-property-engineer
test-data-manager
incident-to-scenario-synthesizer
acceptance-test-executor
scenario-executor
load-performance-engineer
chaos-test-engineer
security-test-engineer
a11y-test-engineer
mutation-test-engineer
ai-feature-test-engineer
iac-test-engineer
localization-test-engineer
observability-test-engineer
data-quality-tester
visual-regression-engineer
exploratory-tester
acceptance-test-reviewer
semantic-reviewer
test-code-quality-auditor
snapshot-hygiene-auditor
flaky-test-hunter
release-readiness-engineer
test-oracle
production-quality-engineer
compliance-test-engineer
48 skills · 40 specialists + 8 Tier-1 workflow skillsfive surfaces coordinate themevery specialist ships with context: fork
Evidence, not assertions

Every verdict traces to the evidence that produced it.

Records write JSON first (fsync'd), then SQLite — a WAL-mode ledger with a fixed-SQL test oracle and no ad-hoc SQL. On SQLite failure the store degrades to JSON-only and keeps running. Every record carries run_id, scenario_id, agent, and verdict.

wicked-vault is absorbed as of 0.7.3 — the evidence hash chain, verifier registry, and vault CLI ship in-package. wicked-bus events and wicked-brain memory writes are optional: absent either, it no-ops.

Get started

Give your agent a QE team it can't out-argue.

Local-first and SQLite-backed. MIT-licensed, published to npm aswicked-testing v0.9.0. The wicked-qe rename is pending — the wicked-qe bin alias already ships.

Install · the wicked family
npx wicked-installer   # interactive · cross-CLI · ships the wicked CLI

or install just this directly:npx wicked-testing install — or the Claude Code pluginclaude plugins install wicked-testing

View on GitHub