bug-bash
Skill32 starsChanged 17 days agoMITView on GitHub
Fix a list of bugs from the tracker in this repo, one branch each, test-first, with each fix placed by its parent (on the epic's GitHub stack for a bug in an unreleased epic, or its own PR from main for a standalone bug), moving each ticket through In Progress and Ready for Release. When a fix needs another repo, hand it off with pasteable comments instead of touching it. Use when the user gives a list of bugs to fix, says "bug bash", or pastes a "Big Bug Fix Bash" prompt.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- jonmumm/skillstheir own version, first seen Oct 13, 2026
- zenkat/claude-skillstheir own version, first seen Jun 16, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- jonmumm/skills★ 2same name
- zenkat/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- automate-testsSkill
- automate-xray-testsSkill
- build-epicSkill
- close-out-epicSkill
- create-xray-testSkill
- cross-repo-handoffSkill
- live-verified-bddSkill
- pair-runbookSkill
- release-notesSkill
- release-qaSkill
- retroSkill
- review-epicSkill
- roost-configSkill
- run-bugSkill
- run-sliceSkill
- setupSkill
- shape-epicSkill
- slice-handoffSkill
- stacked-prsSkill
- triage-ticketSkill
- verify-slice-testsSkill
- write-runbookSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Ask for anything missing, in one message:
- Distinctive: line 23
Read the bug's parent in the tracker:
- Distinctive: line 46
Don't change the other repo.
- Very specific: line 48
Add a comment describing the work this repo needs, and one for each other repo that needs work.
- Distinctive: line 49
Don't make the code change here either, and don't push that branch.
- Distinctive: line 55
All tests pass locally and on GitHub.
- Distinctive: line 56
Every PR below it in the stack is ready.
- Very specific: line 60
Signed commits,: when vcs.signed_commits is true.
- Very specific: line 62
Use the local stack freely: Start or stop it whenever a fix or test needs it, as stack.how says, and never use stack.never.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Bug Bash
Fix several bugs in one session, each on its own branch, and keep the tracker in step. Each fix goes where its bug belongs: on its epic's stack, or on its own PR from main (see "Where the branch goes").
First, load the team config with roost-config.
Inputs
Ask for anything missing, in one message:
- The bugs: ticket keys.
- This repo: which of the config's
reposthis session is in (its working directory usually says). Every other repo is off-limits. - Where each fix goes comes from the bug itself (see "Where the branch goes" below). Ask only if the user named a stack that contradicts it.
- Anything the user wants different from the defaults below.
Where the branch goes
Read the bug's parent in the tracker:
| Bug | Branch | PR | Release |
| Part of an epic that isn't released yet (see below) | On top of the epic's stack in this repo: the highest branch of that epic, found with gh stack or the epic's Release order comment | On the epic's stack, with the "Stacked on" banner; add it to the epic's Release order comment | Ships with the epic |
| Standalone (no parent, or its epic is already released) | From main | Its own PR, not on any stack | Released on its own once merged |
Released means the epic's code is in production, not that the epic ticket is closed: an epic can stay open after release for its person-owned tasks. It's released when its Close-out comment says what's in production (close-out-epic step 6), or its stories carry a fix version that's released. If neither says so, treat it as unreleased.
Name the branch for the ticket (PROJ-XXXX). Several bugs of the same epic stack on each other in the order given.
For each bug, in order
- Read the ticket and its links. Reproduce or confirm the problem in code before fixing it. If the ticket is wrong or already fixed, say so, move nothing, and go to the next bug.
- Assign it and start it: assign the ticket to the person running this session (see "Who am I" in the tracker adapter) and move it to
tracker.statuses.in_progress. - Branch where the table above says. For an epic bug, follow the
stacked-prsskill. - Test first. Write a test that fails because of the bug, watch it fail, then fix. If a test-first approach isn't reasonable, make sure at least one test covers the problem afterwards. If the bug has a test (
release-qafiles one with every behaviour bug), automate its scenario as part of the fix withautomate-tests, and mark that test automated once it passes (the tests adapter's "Mark a test automated"). If it has none and the behaviour could regress, add one first ("Create a test"; a new test when the covering one is already marked automated). - Run the relevant unit, functional and e2e tests. You may start and stop the local stack as needed (
stack.how). - Commit (signed, if
vcs.signed_commits), push, and open the PR: on the epic's stack with the "Stacked on" banner (stacked-prs), or, for a standalone bug, againstmain. The PR title followsvcs.pr_title, for examplefix(PROJ-XXXX): …. - Move it to
tracker.statuses.ready_for_releaseonce it meets the definition of done below.
When a fix needs another repo
Don't change the other repo. Instead, for that ticket:
- Add a comment describing the work this repo needs, and one for each other repo that needs work. Each must be pasteable into a fresh AI session and work on its own. Follow the
cross-repo-handoffskill for their shape. - Don't make the code change here either, and don't push that branch.
- Move the ticket back to
tracker.statuses.todo.
Definition of done, per bug
- The branch is pushed and its PR is where the table above says.
- All tests pass locally and on GitHub.
- Every PR below it in the stack is ready.
Rules
- Signed commits, when
vcs.signed_commitsis true. If signing is blocked (vcs.signing_blocker), stop and say so in one line; don't keep retrying. The user may be away, so ask them up front to keep it unblocked. - No worktrees. Stage your own files by path.
- Use the local stack freely. Start or stop it whenever a fix or test needs it, as
stack.howsays, and never usestack.never. If the config hasstack.telemetry.logs, check the stack's own errors with it before calling a fix done. - A fix that adds a migration, when
deploy.migrations_run_on_deployis false, needs a deploy note: the "Migrations to apply" comment and pre-deploy sub-tasks described instacked-prs. Add or update them yourself, and say so in the report. - Tickets you create (for problems found along the way) get the epic as parent, Components, and a "relates to" link to the bug they came from.
- Stay on the list. Note unrelated problems you find in the final report, don't fix them.
Report
Anything the user must do goes first, in its own block headed 🙋 Your turn: one line per action, saying exactly what and where. Leave the block out when there's nothing; never write "nothing needed". Don't hand the user anything you can do yourself (attaching files to the tracker, retitling a PR, checking a setting through a connected tool); only sign-ins, vcs.signing_blocker and decisions are theirs. Then start with the outcome: "All 7 bugs handled: 5 Ready for Release, 2 back in To Do with hand-offs." Then one table:
| Bug | Branch / PR | Status | Note |
| PROJ-XXXX | PROJ-XXXX-… / #NNN | Ready for Release |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

