qa-bug-repro
Bug reproduction workflow: 1 skill (bug-report-template) and 9 agents (bug-report-from-recording, bug-repro-builder, crash-stack-trace-analyzer, defect-clusterer, defect-pipeline-runner, defect-trend-narrator, escape-defect-analyzer, failure-classifier, test-failure-debugger).
Install this plugin
/plugin install qa-bug-repro@testland-qaPart of role bundles: qa-starter, qa-role-manual-tester
qa-bug-repro
Bug reproduction workflow: extracts bug reports from Playwright traces / HARs, builds minimal failing tests from issue reports, classifies crash stacks, clusters defects, and analyzes escape defects.
Components
| Type | Name | Description |
|---|---|---|
| Skill | bug-report-template | Build a triageable bug report from raw notes; flag gaps in environment / steps / expected / actual / severity / priority / reproducibility. |
| Agent | bug-report-from-recording | Action-taking: read a Playwright trace.zip (or HAR + console + screenshot) and emit a filled bug-report-template with verbatim error messages, reconstructed repro steps, and trace-derived environment block. |
| Agent | bug-repro-builder | Action-taking: turn a bug report into a minimal failing test (unit / integration / component / e2e) or a minimal-repro repository. |
| Agent | failure-classifier | Read-only triager: take one failed test result + 7-day history + environment metadata; classify as defect / flaky-pre-incident / flaky-known / environment-drift / timeout / flake-of-unknown-cause; recommend the next agent. |
| Agent | defect-trend-narrator | Read-only narrator: take a time-windowed defect set, compute Pareto distribution + week-over-week deltas + escape-rate, emit a manager-facing trend narrative with citation appendix. |
| Agent | crash-stack-trace-analyzer | Parse V8 / Python / JVM / Go / native / minified traces; locate top app frame; git blame to attribute; emit hypothesis. |
| Agent | defect-clusterer | Group a backlog of bug reports by fingerprint (top-frame, error+route, error alone) into root-cause clusters; flag weak-signal clusters for human review. |
| Agent | escape-defect-analyzer | Builder: classify a production-found bug as test-gap / process-gap / tooling-gap; generate a prevention-asset report with concrete test or monitoring change. |
| Agent | test-failure-debugger | Read-only diagnoser for a consistently-failing test: reads stderr + diff against last-known-good baseline, classifies failure mode (assertion mismatch / setup error / environmental / selector breakage / timing-logic), proposes one minimal fix. |
| Agent | defect-pipeline-runner | Weekly defect-review orchestrator: chains defect-clusterer, defect-trend-narrator, and escape-defect-analyzer into one report. |
Install
/plugin marketplace add testland/qa
/plugin install qa-bug-repro@testland-qaAgents
bug-report-from-recording
Action-taking agent that ingests a Playwright trace.zip (and/or a HAR file plus console logs and screenshots) and emits a structured bug report matching the `bug-report-template` schema - verbatim error messages, repro steps reconstructed from the recorded actions, environment block populated from the trace metadata, expected-vs-actual filled from the recorded assertions and observed responses. Distinct from `bug-report-template` (which fills the same template from chat / voice / informal text) and from `bug-repro-builder` (which converts the report into a failing test). Use when a manual tester or CI run captured a Playwright trace and the team needs a triageable issue without round-tripping for missing fields.
bug-repro-builder
Action-taking agent that turns a bug report into a minimal failing test (or, when the bug needs more context than a unit test allows, a minimal repro repository). Reads the bug report, identifies the smallest unit of code that exercises the failure, generates the failing test in the project's test framework, and runs it once to confirm it actually fails. Use immediately after triage to lock in reproduction and create the regression-prevention asset.
crash-stack-trace-analyzer
Read-only agent that parses a crash dump or stack trace, identifies the top application frame, runs `git blame` on the implicated source lines to attribute the failure to a specific commit, and emits a root-cause hypothesis (clear regression / latent fault / inconclusive). Output is a blame table plus hypothesis, not a bug report: use bug-report-template when the goal is a structured report with Steps to Reproduce. Handles JS/TS V8 traces, Python tracebacks, Java/JVM stack traces, Go panics, native (gdb/addr2line) traces, and minified production stacks (with sourcemap support). Use when the only input is an error log or crash report and you need to attribute the crash to a commit.
defect-clusterer
Read-only agent that groups a backlog of bug reports into root-cause clusters using stack-trace overlap, summary text similarity, and shared error fingerprints. Returns a cluster table with each cluster's representative bug, member count, and shared signal. Use when triaging a long bug backlog (50+ open issues) to find duplicates and identify the few root causes producing the bulk of the noise.
defect-pipeline-runner
Workflow orchestrator that runs a full weekly defect review in sequence: clustering (defect-clusterer) -> trend narration (defect-trend-narrator) -> escape analysis (escape-defect-analyzer), then assembles one consolidated report for the QA manager or lead. Distinct from each sibling agent run in isolation: this agent owns the hand-off contracts between stages, enforces the required inputs at each step, and refuses to proceed when upstream output is missing. Use when a QA manager or lead wants a single, end-to-end weekly defect review rather than running each specialist agent ad hoc.
defect-trend-narrator
Read-only agent that takes a time-windowed set of defects (from `defect-clusterer` output, a tracker export, or a directory of bug reports) and emits a manager-facing trend narrative - Pareto breakdown of root-cause categories, week-over-week deltas in defect count and escape rate, top-3 movers (categories trending up / down), and a paragraph of prose suitable for a weekly review or QBR. Distinct from `defect-clusterer` (clusters by fingerprint at a single point in time) and from `escape-defect-analyzer` (classifies one defect as test-gap vs process-gap). Use as the weekly / monthly defect-review brief that turns a defect tracker into a managerial story.
escape-defect-analyzer
Builder agent that takes a production-found defect (an "escape") and produces a structured escape-defect report classifying the root cause as a test gap (no test for this case), a process gap (test exists but wasn't run / wasn't gating), or a tooling gap (test couldn't have caught this - needs a different test type or runtime check). The report includes a concrete prevention proposal - typically a new test file or CI gate - that the team can land alongside the fix. Use during bug post-mortems, blameless retros, or quarterly quality reviews.
failure-classifier
Read-only triager that takes one failed test result (test name, log, stack trace, 7-day pass/fail history, environment metadata) and returns a verdict - `defect | flaky-pre-incident | flaky-known | environment-drift | timeout | flake-of-unknown-cause` - plus the recommended downstream agent. Sits at the front of the on-call queue. Distinct from `ai-flake-detector` (which predicts flakes across a *whole suite* of currently-green tests, no failure required) and from `crash-stack-trace-analyzer` (which deep-dives one stack but does not classify the failure category). Use as the first response to any single CI failure before paging an engineer or filing an issue.
test-failure-debugger
Read-only diagnoser for a consistently-failing test. Reads the stderr/test-output and the diff against the last-known-good baseline, classifies the failure mode (assertion mismatch / setup error / environmental / selector breakage / timing-logic), and proposes one minimal fix without modifying code. Distinct from qa-bug-repro/crash-stack-trace-analyzer (handles process crashes - segfault / OOM / unhandled exception) and qa-flake-triage agents (handle intermittent pass-sometimes-fail-sometimes runs). Use when a previously-passing test now fails deterministically and you need a targeted hypothesis before opening the bug.