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. |
| Skill | ci-failure-triage | Decides what kind of failure a red test is before anyone fixes it: seven signals, an ordered first-match-wins rule set, and a verdict that records which alternatives were rejected and why. |
| Skill | defect-escape-taxonomy | Classifies a production escape into test, process, or tooling gap by the earliest layer that should have caught it, stated as a property of the system and never of a person. |
| 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-qaSkills
bug-report-template
Builds a well-formed bug (defect) report from raw observation notes - fills in summary, environment, steps to reproduce, expected vs actual, and severity rationale. Validates that each field has the load-bearing content reviewers and engineers need to triage. Use when a stakeholder reports a problem informally (chat, email, voice) and the team needs a triageable issue without round-tripping for missing fields.
ci-failure-triage
Decides what kind of failure a red CI test is before anyone starts fixing it. Extracts seven failure signals from the runner output, stack trace, run history, and environment metadata, then walks an ordered first-match-wins rule set to exactly one verdict: flaky-known, environment-drift, defect, timeout, flaky-pre-incident, or flake-of-unknown-cause. Emits the verdict together with the alternatives that were rejected and the specific condition each one failed, so the triage decision is auditable rather than asserted. Use when a test has just gone red and the next action depends on whether the cause is a product defect, a non-deterministic test, or drifted infrastructure.
defect-escape-taxonomy
Classifies a defect that reached production into one of three root gap categories (test gap, process gap, tooling gap) and one of thirteen sub-patterns, applying the earliest-layer rule: the category is the earliest layer that should have caught the defect, expressed as a property of the system and never of a person. Each sub-pattern carries the typical prevention fix, so the finding names an actionable class of gap. Rejects blame language and generic prevention assets such as 'add more tests'. Does not triage or prioritize the defect, does not write the missing test, and does not run a full incident postmortem. Use when a defect has been confirmed in production and the team needs to name which class of gap let it through before deciding what to build.
Agents
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.