bug-triage
Skill8 starsChanged 12 days agoMITView on GitHub
Use when taking a bug or QA ticket from report to fix and hand-back: "fix bug X", "fix ticket ABC-123", "QA báo lỗi", "màn Y bị lỗi". Not for implementing a whole user story, and not for working through all my assigned bugs (`jira-bug-hunter`).
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 27 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Read the description, the change history, every comment, and every attachment (screenshots, videos, spreadsheets).
- Distinctive: line 28
Search the spec and the project's decision log first, since decision logs are often newer than the spec.
- Distinctive: line 61
If tightening a guard breaks old fixtures, fix the fixtures to match the new precondition and never loosen the guard.
- Very specific: line 66
Run verify-loop; for a bug, its requirements rows come from step 1.
- Very specific: line 67
Commit, push, and open the PR/MR per worktree-flow sections 3 and 4.
- Distinctive: line 75
Do not transition or reassign the ticket.
- Distinctive: line 88
Never send the same ticket back to QA a third time without asking the user first: when the changelog shows it entered the project's QA …
“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
bug-triage
Most bug tickets come back because the fix answered the description instead of the whole ticket, or was never checked where the reporter saw it.
0. One bug, one branch
- Each bug gets its own worktree, branch, and PR/MR per
worktree-flow. - There is no test baseline up front: tests that fail after your change are checked against
origin/<int>perworktree-flowsection 2.
1. Read the WHOLE ticket
- Read the description, the change history, every comment, and every attachment (screenshots, videos, spreadsheets). The real scope often lives in the comments, not the description.
- Reopened ticket: read the newest attachments, since they often show a different bug than last time.
- Videos may show a legacy or reference system rather than the broken screen, so check the URL in the frames.
- Open attached files for real (images, xlsx) instead of guessing their structure.
- Fetch tickets, comments, and attachments with whatever Jira access the session has (Atlassian MCP or the REST API).
2. Classify before writing any code
Search the spec and the project's decision log first, since decision logs are often newer than the spec.
| Branch | Signal | Action |
| Fix | Code is wrong vs. spec, legacy behavior, or the API contract | Continue to step 3 |
| Correct per a signed decision | Reporter cites an older spec than a recorded decision | No code change; comment citing the decision and its date |
| Cannot reproduce | Code, API, and real browser all behave | Gather evidence (browser run, logs) and ask the reporter to recheck |
| Needs a business decision | Spec is silent and every fix is a new rule | Do not decide; escalate per ask-or-decide. If one option keeps existing rules intact, take it and say so |
3. Pick the depth by risk triggers, not by diff size
The triggers are the risk triggers named in AGENTS.md, and an access gate includes guards, permissions, and paywalls.
A one-line change can be the most dangerous bug of the month: if it touches money and status, it is heavy.
| Tier | Condition | Do |
| ask | Not reproduced yet, or not traced to any file | Stop and ask. Do not guess. |
| light | No trigger touched | Fix, then verify-loop |
| heavy | At least one trigger touched | Light, plus a mandatory flow-trace, the step 4 sequence test, and e2e-verify evidence |
Answer these yourself, and any "don't know" makes the tier ask:
- Was it reproduced with a real persona?
- Is it traced to a spec, an AC, or the reporter's stated expected behavior?
- Is it a spec deviation, a design deviation, or code wrong vs. spec?
An "empty screen" bug must be traced to its read endpoint before concluding anything.
4. Fix and prove the test works
- Find the cause and write the proving test per
root-cause. - The reproduction test runs the reporter's exact sequence in one test (save -> enable -> 422 -> verify -> enable OK), never split into separate single-step tests.
- Break the fix to prove the test catches it, for every bug, per
root-causesection 5. - If tightening a guard breaks old fixtures, fix the fixtures to match the new precondition and never loosen the guard.
- Performance fixes follow the legacy and performance subsection of
root-causesection 5.
5. Verify, commit, and open the PR/MR
- Run
verify-loop; for a bug, its requirements rows come from step 1. - Commit, push, and open the PR/MR per
worktree-flowsections 3 and 4. - Merge only when the user asked for it (
worktree-flowsection 4); otherwise merging is the user's step. - Deploying follows
environmentssection 5; without the user's ask it is the user's step, or CI's after a merge they made. jira-bug-huntermerges and deploys in its own sections 4 and 5, after its section 3 review, never here.
6. "Pushed" is not "deployed"
- While the PR/MR is open or the merge is not deployed yet, the bug is pending deploy, never "fixed". Do not transition or reassign the ticket; report it to the user as pending deploy with the PR/MR link, and come back to this step once it is deployed.
- Confirm the running build contains the fix.
With a version command for the environment (
environmentssection 6),git merge-base --is-ancestor <merge sha> <running sha>must succeed. Without one, grep a marker string from the change inside the running container or the served bundle. - Then verify on the deployed environment with a real persona, per
e2e-verifyor through the API with a cookie jar, within that environment's policy and testing scope inenvironments.
7. Hand back to the reporter
Hand back only after step 6 passed on the deployed environment.
- Comment in English, written for QA: the cause in plain words, what changed, how to retest and the expected result, and what did not change (so the ticket is not reopened by mistake).
- No AI-slop phrasing.
- Transition the ticket per the project's workflow and assign it back to the reporter (read it from the ticket, do not guess).
- Never send the same ticket back to QA a third time without asking the user first: when the changelog shows it entered the project's QA status twice already, ask before the transition.
8. Report to the user
A short table: ticket -> result (fixed, pending deploy, or another step 2 branch) -> new status. Then the list of decisions the user must make, each with context, options, and a recommendation.
Other versions29 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 29
- symfony/symfony★ 31ksame name
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- apify/apify-mcp-server★ 14ksame name
- AgentWrapper/agent-orchestrator★ 14ksame name
- ComposioHQ/agent-orchestrator★ 14ksame name
- OrchestratorInc/agent-orchestrator★ 14ksame name
- Untrivial-ai/agent-orchestrator★ 14ksame name
- phase-rs/phase★ 317same name
- jMerta/codex-skills★ 130same name
- striderZA/OpenCodeGameStudios★ 93same name
19 more not listed
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.
Used alongsideProjects with it also use ao-desktop-dev and pr-description.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
agentlab-inSkillao-desktop-dev
Launch, restart, or troubleshoot the real AO Electron desktop app from this repository; run a checkout against isolated or real local AO data; combine PR branches for local UI review; and diagnose stale Electron processes, port conflicts, or preload bridge mismatches. Use whenever asked to run, open, show, or visually verify AO frontend changes in the actual desktop app rather than ao preview, dev:web, or mock data.
Also in 5 projects that use this
MicrosoftSkillpr-description
Draft Nacelle PR titles, pull request descriptions, commit titles, commit descriptions, and squash commit messages. Use when asked for PR or commit wording, a branch summary, or a PR description that can be used in a commit. Omit validation sections from commit bodies and remove filler.
Also in 4 projects that use this
In this repository27 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- releaseSkill
- ask-or-decideSkill
- axiSkill
- betterstack-logsSkill
- chrome-devtools-axiSkill
- e2e-verifySkill
- environmentsSkill
- feature-buildSkill
- feature-statusSkill
- fe-guardrailsSkill
- flow-traceSkill
- fresh-reviewSkill
- gnhfSkill
- harness-mapSkill
- jira-bug-hunterSkill
- knowledge-placementSkill
- logging-standardSkill
- project-initSkill
- root-causeSkill
- security-passSkill
- server-touchSkill
- stowSkill
- verify-loopSkill
- visionSkill
- worktree-flowSkill
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.

