From wicked-testing
Run the 3-agent acceptance pipeline (Writer → Executor → Reviewer) on a scenario file
How this command is triggered — by the user, by Claude, or both
Slash command
/wicked-testing:acceptance <scenario-file> [--phase write|execute|review|all] [--json]The summary Claude sees in its command listing — used to decide when to auto-load this command
# /wicked-testing:acceptance Evidence-gated 3-agent acceptance testing pipeline. Writer designs test plans, Executor collects artifacts, Reviewer evaluates independently — eliminating self-grading false positives. ## Usage - `scenario-file` — path to a wicked-testing scenario `.md` file (required) - `--phase all` (default) — full Write → Execute → Review pipeline - `--phase write` — generate test plan only - `--phase execute` — run execution with existing plan - `--phase review` — review existing evidence - `--json` — emit JSON envelope ## Instructions ### 1. Validate Input Check sc...
Evidence-gated 3-agent acceptance testing pipeline. Writer designs test plans, Executor collects artifacts, Reviewer evaluates independently — eliminating self-grading false positives.
/wicked-testing:acceptance <scenario-file> [--phase write|execute|review|all] [--json]
scenario-file — path to a wicked-testing scenario .md file (required)--phase all (default) — full Write → Execute → Review pipeline--phase write — generate test plan only--phase execute — run execution with existing plan--phase review — review existing evidence--json — emit JSON envelopeCheck scenario file exists:
test -f "{scenario-file}" || echo "ERR_SCENARIO_NOT_FOUND"
Check config:
test -f ".wicked-testing/config.json" || echo "ERR_NO_CONFIG"
Create the run record FIRST so the evidence directory is named with the run's canonical UUID. This avoids the 1-second-granularity timestamp collision that used to stack two concurrent runs into the same dir, and it matches the public-contract path the schemas document.
// After ensuring project + scenario exist in DomainStore:
const run = store.create('runs', { project_id, scenario_id, started_at, status: 'running' });
const EVIDENCE_DIR = `.wicked-testing/evidence/${run.id}`;
// mkdir -p EVIDENCE_DIR; then:
store.update('runs', run.id, { evidence_path: EVIDENCE_DIR });
The acceptance-testing skill (see skills/acceptance-testing/SKILL.md) orchestrates the 3-agent pipeline.
Follow the instructions in that skill file exactly, including:
acceptance-test-writer for the test planacceptance-test-executor with test plan + evidence directoryacceptance-test-reviewer with ONLY evidence paths (REVIEWER ISOLATION)The reviewer MUST receive only:
The reviewer MUST NOT receive:
See skills/acceptance-testing/SKILL.md for the exact dispatch prompt.
Without --json — Return the verdict with acceptance criteria table.
With --json — Emit the JSON envelope:
python3 -c "import json,sys; sys.stdout.write(json.dumps({'ok': True, 'data': {'verdict': 'PASS', 'run_id': '...', 'evidence_path': '...', 'assertions_passed': N, 'assertions_failed': 0}, 'meta': {'command': 'wicked-testing:acceptance', 'duration_ms': 0, 'schema_version': 1, 'store_mode': '...'}}))" 2>/dev/null || python -c "..."
On FAIL, ok remains true but data.verdict is 'FAIL' and data.failures lists the failures.
npx claudepluginhub mikeparcewski/wicked-testing --plugin wicked-testing