skills/qe/scenario-executor/SKILL.md
Runner for acceptance test scenarios — reads scenario markdown, executes steps via Bash or Skill tool, and reports PASS/FAIL with evidence. Handles mixed bash + slash-command scenarios, prose-only steps, and wicked-scenarios format delegation. A tool/runner capability, not an agent identity — the test-designer agent owns the role of designing and rendering verdicts. Use when: "run this scenario", "execute the acceptance test for X", "run the wicked-scenarios file", "test this slash command end-to-end".
npx skillsauth add mikeparcewski/wicked-garden scenario-executorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Runs acceptance test scenarios end-to-end. Parses scenario markdown, executes each step (bash, slash-command, or prose), captures output, and reports structured results. This is a runner tool — the decision of what a result means is made by the test-designer agent (Phase 3: ANALYZE / VERDICT).
Invoke this skill when you have a scenario file and need to execute it:
Skill(
skill="wicked-garden:qe:scenario-executor",
args="{path_to_scenario_file}"
)
Typical output:
## Results: {scenario name}
**Status**: PASS | FAIL | PARTIAL
**Duration**: {total}s
**Steps**: {N} passed, {M} failed, {K} skipped
| Step | Type | Status | Duration | Details |
/wicked-garden:* slash commandsBefore executing, detect whether this skill is being invoked inside a QE trio pipeline (via the test-designer agent) or standalone.
Detection: If the invoking context contains a ## Test Plan header, this
skill is running inside the test-designer agent's Phase 2 (EXECUTE). Skip
further QE checks and proceed with direct execution.
Standalone: If no test plan header, the caller is executing a scenario directly. Consider recommending they dispatch the test-designer agent for evidence-gated acceptance testing instead.
For each scenario file:
## Setup — bash via Bash tool; slash commands via Skill tool### Step N in order## Cleanup — always runs, even on failureSlash commands in scenario files follow:
/wicked-garden:{domain}:{command} [args...]
Shortened form:
/wicked-{domain}:{command} [args...]
For the Skill tool always use the full form. Examples:
/wicked-garden:mem:store --type decision "chose PostgreSQL"
→ Skill(skill="wicked-garden:mem:store", args='--type decision "chose PostgreSQL"')/wicked-garden:crew:start "Add OAuth2"
→ Skill(skill="wicked-garden:crew:start", args='"Add OAuth2"')See refs/prose-interpretation.md for the full prose-step decision tree and interpretation patterns.
## Results: {scenario name}
**Status**: {PASS|FAIL|PARTIAL}
**Duration**: {total}s
**Steps**: {pass} passed, {fail} failed, {skip} skipped
| Step | Type | Status | Duration | Details |
|------|------|--------|----------|---------|
| {name} | bash | PASS | 0.5s | |
| {name} | skill | PASS | 2.1s | |
| {name} | skill | FAIL | 1.0s | Error: ... |
| {name} | prose | PASS | 1.5s | Verified field X = Y |
Before executing scenarios that invoke crew:start, check for an active crew project:
Skill(skill="wicked-garden:crew:status")
If a project is active, archive it first:
Skill(skill="wicked-garden:crew:archive", args="{active-project-slug}")
timeout for bash commands if specified/wicked-garden:qe:run — wicked-scenarios CLI-tool runner (for scenarios
with category frontmatter)development
--- name: large-scale-migration description: How to execute a LARGE MECHANICAL change across any codebase with LEVERAGE instead of an agent-grind or hand-edits — a cross-cutting migration, refactor, rename, dialect/framework/DB port, library adoption, or bulk transform. The map→transform→gate pattern: a deterministic transform driven by a source-of-truth map, proven by a differential-equivalence gate. Use when the work is "migrate all X to Y", "rename Z everywhere", "port to a new DB/dialect/fra
testing
v11 LLM-based work-shape classifier. Replaces the regex archetype detector with the model's own reasoning. Reads the user's prompt, picks the right archetype(s) from the catalog, identifies signals (blast_radius, novelty, reversibility, etc.), and persists to SessionState so subsequent turns steer correctly. Use when: the prompt_submit hook emitted a `<wg classify-due />` directive, OR explicitly invoked at session start, OR when re-classifying after the user changes scope mid-session.
tools
v11 work-shape archetype runner. When a prompt has been routed to one of the 9 archetypes (triage, explore, specify, decide, ship, review, incident, build, migrate), this skill is the entry point. It picks the right per-archetype playbook from refs/ and executes the phase shape declared in `.claude-plugin/archetypes.json`. Use when: a `<wg archetype="X">` or `<wg archetypes>` system-reminder tag appears, an explicit "let's run the X archetype" request, or when one of the per-archetype slash commands resolves to this skill.
development
Show or set the session intent variable. Intent gates how loud the framework is — simple-edit (silent), feature/research (synthesis directive), rigor (full crew context). Auto-detected on turn 1; this skill overrides explicitly. Sticky for the session. Use when: "set intent", "intent override", "/wicked-garden:intent", "make the framework quiet", "force rigor", "what's my intent".