fix-buglisted
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"