Minimal reproduction
Skill yeaight7/agent-powerups/plugins/debugging-diagnostics/skills/minimal-reproduction
Curated power-ups for coding agents: skills, slash commands, MCP configs, hooks, AGENTS.md templates, and workflows for serious software engineering. Claude Code, Codex, Antigravity CLI, Cursor and more
npx -y skills add yeaight7/agent-powerups --skill minimal-reproductionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when a bug must be isolated from a large application into a standalone, runnable script or single test case.
SKILL.md
2.7 KB, as published. Nobody here has run it
Purpose
You cannot reliably fix what you cannot reliably reproduce in isolation. Apply the subtraction method until a single file deterministically triggers the exact reported error.
When to Use
- A bug is tangled in app/UI/network layers and hard to debug in place
- A failure must be handed to another engineer, team, or upstream project
- Before bisecting or stress-testing, to get a fast deterministic signal
Inputs
- The failing code path and the error it produces
- Sample data that triggers the failure, if any
Workflow — the Subtraction Method
-
Start with the failure. Take the code path that fails.
-
Remove the UI/Network. If the bug is reported via a web request, write a script that calls the internal controller directly.
-
Mock dependencies. If the bug doesn't require the database, mock it. If it doesn't require the third-party API, mock it. Template:
// repro.js — minimal harness, no framework const { failingFunction } = require("./src/module"); const fakeDb = { query: async () => [{ id: 1, value: null }] }; // smallest stub that triggers it failingFunction(fakeDb, { payloadKey: "trigger-value" }) .then(() => { console.log("NO REPRO"); process.exit(0); }) .catch((err) => { console.error("REPRO:", err.message); process.exit(1); });(Exit
0on no-repro / non-zero on repro also makes the script directly usable bygit bisect run.) -
Prune data. If the bug fails on a 10MB JSON payload, binary search the payload down to the exact 2 keys that trigger the failure.
-
Final output. The result must be a single file — a standalone script or one test case — that relies on ZERO external state, can be run with a single command, and deterministically outputs the exact error reported.
Output
- One standalone file plus the single command that runs it (e.g.,
node repro.js) - The exact error output, proving the reproduction matches the report
Verification
- Repro runs with one command and no external state (no DB, network, or special env)
- Error produced matches the reported error exactly
- Repro is deterministic across at least 3 consecutive runs
- Every remaining line is necessary — removing any piece makes the bug disappear
Failure Modes
- Partial isolation — the "repro" still needs a live database or API; it will rot immediately.
- Wrong error — the script fails, but with a different error than reported; that is a different bug.
- Over-pruning — cutting until the bug vanishes and shipping the last version untested; re-run after every cut.