Reproduce bug report
Contract
| Field |
Bound contract |
| Trigger |
A UI-visible bug is worth reproducing (a bug report or observed defect exists). |
| Authority |
Reversible local: writes only to a named local artifact directory; rollback is reverting any state change that persists after the directory is closed. No remote mutation. Does not mutate VCS-tracked files, credentials, or data at rest. |
| Side effect |
Spawns computer-use repro agents and writes an artifact directory under the named local directory. |
| Done |
Structured summary returned with status, steps, environment, evidence, and next step. |
Refusals
- Fixing the bug: use
reproduce-and-fix-issues. This skill reproduces and captures evidence only.
- Inferring or hallucinating a bug: rejected. If the report cannot be parsed, return
blocked: no valid bug description.
- Mutating VCS-tracked files, remote resources, credentials, or data at rest: rejected.
Inputs
Required:
- Bug report text, error message, observed defect description, or pointer to the issue providing this information.
Optional:
- Environment context (OS, version, terminal, config): supply if available; omit if unknown.
- Reproduction constraints (time budget, retry limit, artifact directory path): use sensible defaults if not supplied.
Procedure
- Parse the bug report: extract the defect description, error message, UI symptoms, and any environment context. Done when: the defect description, symptoms, and environment context are extracted or
blocked: no valid bug description is returned.
- Determine the reproduction target: a local environment matching the reported conditions, or a best-effort approximation. Done when: the reproduction target is determined.
- Plan a minimal reproduction: one concrete action sequence that triggers the reported symptom. If no single trigger exists, plan the shortest failing sequence. Done when: a minimal reproduction plan is written.
- Open or confirm an artifact directory for this reproduction session. Name it to identify the bug and the session (e.g.,
repro/<issue-id>/<timestamp>). Done when: the artifact directory is opened.
- Execute the minimal reproduction using a computer-use repro agent. Log every action taken and every observable result. Done when: the reproduction is executed with full logging.
- Capture evidence: terminal output, screenshots, logs, error traces, or any artifact produced by the repro attempt. Done when: evidence is captured.
- Compare the observed result against the expected result stated in the bug report. Done when: the comparison is made.
- Record the outcome: reproduced (exact match), partially reproduced (symptom class matches), or not reproduced (no matching symptom). Done when: the outcome is classified.
- Write the structured summary artifact into the artifact directory with Status, Steps, Environment, Evidence, and Next step. Done when: the structured summary is written.
- Close the artifact directory. Roll back any state that persists beyond the directory (e.g., temp files, environment mutations). Done when: the directory is closed and non-directory state is rolled back.
Failure and recovery
- Cannot parse the bug report: return
blocked: no valid bug description. Do not infer or hallucinate a bug.
- Reproduction environment unavailable: return
blocked: environment unavailable with the specific constraint that failed.
- Reproduction times out: return
blocked: repro timed out with the last logged state and partial evidence if any exists.
- Partial-result rule: if evidence was captured before failure, write it to the artifact directory and return it with the blocked status rather than discarding it.
- Non-converged: if the repro produces conflicting evidence and cannot reach a verdict, return
non-converged with the conflicting evidence listed.
No rollback is needed if the only write is the artifact directory itself.
Output
An artifact directory containing a structured report (repro-summary.md or repro-summary.json) with fields status, steps, environment, evidence, next_step, plus any evidence files captured during the repro run, with the directory path returned to the caller.
1---2name: reproduce-bug-report3description: Use when a bug report or UI-visible defect exists. Reproduces it locally. Not for fixing the bug: use reproduce-and-fix-issues.4---56# Reproduce bug report78## Contract910| Field | Bound contract |11|---|---|12| Trigger | A UI-visible bug is worth reproducing (a bug report or observed defect exists). |13| Authority | Reversible local: writes only to a named local artifact directory; rollback is reverting any state change that persists after the directory is closed. No remote mutation. Does not mutate VCS-tracked files, credentials, or data at rest. |14| Side effect | Spawns computer-use repro agents and writes an artifact directory under the named local directory. |15| Done | Structured summary returned with status, steps, environment, evidence, and next step. |1617## Refusals1819- Fixing the bug: use `reproduce-and-fix-issues`. This skill reproduces and captures evidence only.20- Inferring or hallucinating a bug: rejected. If the report cannot be parsed, return `blocked: no valid bug description`.21- **Mutating VCS-tracked files, remote resources, credentials, or data at rest**: rejected.2223## Inputs2425Required:26- Bug report text, error message, observed defect description, or pointer to the issue providing this information.2728Optional:29- Environment context (OS, version, terminal, config): supply if available; omit if unknown.30- Reproduction constraints (time budget, retry limit, artifact directory path): use sensible defaults if not supplied.3132## Procedure33341. Parse the bug report: extract the defect description, error message, UI symptoms, and any environment context. **Done when**: the defect description, symptoms, and environment context are extracted or `blocked: no valid bug description` is returned.352. Determine the reproduction target: a local environment matching the reported conditions, or a best-effort approximation. **Done when**: the reproduction target is determined.363. Plan a minimal reproduction: one concrete action sequence that triggers the reported symptom. If no single trigger exists, plan the shortest failing sequence. **Done when**: a minimal reproduction plan is written.374. Open or confirm an artifact directory for this reproduction session. Name it to identify the bug and the session (e.g., `repro/<issue-id>/<timestamp>`). **Done when**: the artifact directory is opened.385. Execute the minimal reproduction using a computer-use repro agent. Log every action taken and every observable result. **Done when**: the reproduction is executed with full logging.396. Capture evidence: terminal output, screenshots, logs, error traces, or any artifact produced by the repro attempt. **Done when**: evidence is captured.407. Compare the observed result against the expected result stated in the bug report. **Done when**: the comparison is made.418. Record the outcome: reproduced (exact match), partially reproduced (symptom class matches), or not reproduced (no matching symptom). **Done when**: the outcome is classified.429. Write the structured summary artifact into the artifact directory with Status, Steps, Environment, Evidence, and Next step. **Done when**: the structured summary is written.4310. Close the artifact directory. Roll back any state that persists beyond the directory (e.g., temp files, environment mutations). **Done when**: the directory is closed and non-directory state is rolled back.4445## Failure and recovery4647- Cannot parse the bug report: return `blocked: no valid bug description`. Do not infer or hallucinate a bug.48- Reproduction environment unavailable: return `blocked: environment unavailable` with the specific constraint that failed.49- Reproduction times out: return `blocked: repro timed out` with the last logged state and partial evidence if any exists.50- Partial-result rule: if evidence was captured before failure, write it to the artifact directory and return it with the blocked status rather than discarding it.51- Non-converged: if the repro produces conflicting evidence and cannot reach a verdict, return `non-converged` with the conflicting evidence listed.5253No rollback is needed if the only write is the artifact directory itself.5455## Output5657An artifact directory containing a structured report (`repro-summary.md` or `repro-summary.json`) with fields status, steps, environment, evidence, next_step, plus any evidence files captured during the repro run, with the directory path returned to the caller.