← ClaudeAtlas

fix-buglisted

Fix a bug the honest way — reproduce it as a failing test first, root-cause it, apply the minimal fix, and prove it with the test flipping red→green while the suite stays green. Worktree-isolated, CI-gated, opens a PR.
saman-mb/shipmates · ★ 6 · AI & Automation · score 77
Install: claude install-skill saman-mb/shipmates
# /fix-bug — reproduce → root-cause → fix → prove Take a bug from report to a **reviewed, CI-green PR** — but gated on the one signal that actually proves a bug is fixed: a **regression test that fails before the change and passes after**. No repro, no fix. Symptom-patching without a root cause is rejected. Input (**$ARGUMENTS**): a GitHub issue number *or* a plain-text description of the bug, plus any repro hints. If it's a number, pull it with `gh issue view`. If it's empty, ask what's broken. --- ## Config (override only if the repo needs it) - `BASE_BRANCH` = the repo's default branch. `WORKTREE_DIR` = `../<repo>--bug-<slug>`. `BRANCH` = `fix/<slug>`. - `MAX_FIX_ROUNDS` = `3`. `MERGE_MODE` = `manual` (stop at a reviewed PR; `auto` opt-in). - **Quality bar / test commands** = whatever the repo's README / CLAUDE.md / test config states. Read it first. - Reuse required trailers from the session context (a `Co-Authored-By:` line at minimum); the orchestrator owns all git/gh — agents never push. ## Stage 0 — Reproduce as a FAILING test ⛔ HARD GATE Spawn the `sdet` (with `site-reliability-engineer` if the bug is a runtime/reliability failure) to find the **smallest deterministic reproduction** and encode it as a test in the repo's existing test suite — asserting the *correct* behaviour, so it **fails now** for the real reason (not a typo). Run it and confirm it's red. **If the bug genuinely cannot be reproduced, STOP** and report that with what was tried — never "fix"