Engineering
Bug Report to Repro Kit
Turn blurry bug reports into a small, executable evidence packet before anyone starts spelunking.
Use when
A bug report has real signal but is missing the exact steps, inputs, logs, screenshots, account state, or acceptance test an engineer needs to act without guessing.
Cadence
Whenever a customer, teammate, or monitor surfaces a bug that is too vague to fix safely
Verification
The kit contains a minimal repro path, environment notes, expected versus actual behavior, captured evidence, and either a failing test/script or a clearly marked blocker; no customer reply, public issue, or production change is sent without approval.
Structured loop spec
| Field | Value |
|---|---|
| Name | Bug Report to Repro Kit |
| Category | Engineering |
| Trigger | Whenever a customer, teammate, or monitor surfaces a bug that is too vague to fix safely |
| Objective | Turn blurry bug reports into a small, executable evidence packet before anyone starts spelunking. |
| Allowed inputs | Relevant files, source notes, logs, tests, screenshots, metrics, or task state for this loop |
| Allowed actions | Collect the original report, affected user or system context, timestamps, version or commit, device/browser/runtime, screenshots, logs, and any recent deploy or configuration changes.; Separate confirmed facts from assumptions, then restate the bug as expected behavior, actual behavior, impact, and suspected boundary conditions.; Attempt the smallest safe reproduction in a local, staging, or read-only environment; record exact setup, inputs, commands, clicks, API calls, and observed outputs.; If reproducible, create a failing test, fixture, script, or checklist that captures the failure before proposing a fix; if not reproducible, list the missing evidence and the next safe probe.; Package the result as an engineer-ready handoff with severity, suspected owner, links to evidence, and recommended next action.; Do not message customers, create public issues, change production data, merge fixes, or run destructive probes without explicit approval and rollback clarity. |
| Verification | The kit contains a minimal repro path, environment notes, expected versus actual behavior, captured evidence, and either a failing test/script or a clearly marked blocker; no customer reply, public issue, or production change is sent without approval. |
| Stop condition | Stop when the verifier passes, the budget is exhausted, no progress is made, a blocker appears, or approval is required. |
| Budget | Set a time, turn, token, retry, file, or dollar cap before running the loop. |
| Approval boundary | Human approval required before publishing, sending, deleting, spending, changing accounts, touching production, or making reputational/legal/financial commitments. |
| Safe output | Pull request, patch, report, or evidence log |
| Works with | Claude Code, OpenAI Codex, Cursor, Gemini CLI, any tool-using coding agent |
Steps
- Collect the original report, affected user or system context, timestamps, version or commit, device/browser/runtime, screenshots, logs, and any recent deploy or configuration changes.
- Separate confirmed facts from assumptions, then restate the bug as expected behavior, actual behavior, impact, and suspected boundary conditions.
- Attempt the smallest safe reproduction in a local, staging, or read-only environment; record exact setup, inputs, commands, clicks, API calls, and observed outputs.
- If reproducible, create a failing test, fixture, script, or checklist that captures the failure before proposing a fix; if not reproducible, list the missing evidence and the next safe probe.
- Package the result as an engineer-ready handoff with severity, suspected owner, links to evidence, and recommended next action.
- Do not message customers, create public issues, change production data, merge fixes, or run destructive probes without explicit approval and rollback clarity.
Prompt
Run the Bug Report to Repro Kit loop. Given the bug report or alert, gather the original report, user/system context, timestamps, version or commit, environment, screenshots, logs, and recent changes. Separate facts from assumptions. Restate expected behavior, actual behavior, impact, and suspected boundary conditions. Attempt the smallest safe reproduction and document exact setup, inputs, commands, clicks, API calls, and outputs. If reproducible, produce a failing test, fixture, script, or checklist; if not, list missing evidence and the next safe probe. Return an engineer-ready packet with severity, owner guess, evidence links, and next action. Do not contact customers, file public issues, modify production data, merge fixes, or run destructive probes without approval.Run in Claude Code
Paste this into Claude Code (or any tool-using agent) to run the loop bounded: one change per round, the same verification every round, durable state files, and explicit stop conditions.
Run the "Bug Report to Repro Kit" loop from AI Loop Library (https://ailooplibrary.com/loops/bug-report-to-repro-kit/) as a bounded loop.
Goal: Turn blurry bug reports into a small, executable evidence packet before anyone starts spelunking.
Rules: one change per round; run the same verification every round (The kit contains a minimal repro path, environment notes, expected versus actual behavior, captured evidence, and either a failing test/script or a clearly marked blocker; no customer reply, public issue, or production change is sent without approval.); append each round to docs/loops/bug-report-to-repro-kit/progress.md and update docs/loops/bug-report-to-repro-kit/state.json; stop on verifier pass, 8 rounds, 3 consecutive failed verifications, no progress, a blocker, or anything needing human approval (money, production, outbound, deletion). Finish with a proof report: rounds used, changes made, verification output, remaining risk, and the next human decision.