Bug Triage Pack
A bug backlog is only as good as its triage — and most bugs arrive as "it's broken" with no repro, a panicked severity, and no idea who should look. This turns a raw report into a triaged item: reproducible steps, a severity and priority you can defend (not vibes), the environment that matters, a suspected area and owner queue, and a check for whether it's a duplicate — asking for what's missing instead of inventing it.
What This Skill Produces
- Normalized repro — clear, numbered steps; expected vs. actual; the minimal path to reproduce
- Severity & priority — each with reasoning (impact × frequency × workaround availability), not a gut number
- Environment & metadata — version, platform, browser/OS, user/role, first-seen, frequency
- Suspected area & owner queue — where it likely lives and who should take it next
- Duplicate/related check — is this the same as a known issue, and what to link
- Missing-info flags — what the reporter must supply before it's actionable
Required Inputs
Ask for these if not provided:
- The raw report — whatever came in (a Slack message, a customer ticket, a screenshot description)
- Your severity/priority scale — what P0–P3 / S1–S4 mean here (else a sensible default is used and labelled)
- Environment details — version, platform, who hit it, how often
- Known issues (optional) — a list to dedupe against
Framework: Triage You Can Defend
- Repro or it's not a bug yet. No reliable steps → the first action is "needs repro," not a severity.
- Severity ≠ priority. Severity is how bad the impact is; priority is when we fix it (a rare-but-catastrophic bug and a constant-but-cosmetic one differ on both axes).
- Score, don't feel. Impact (data loss > broken flow > cosmetic) × frequency (all users > edge case) × workaround (none > easy) → a defensible level.
- Route it. Suspected component and the queue/owner it should go to — triage that doesn't route just moves the pile.
- Dedupe. Check against known issues; a linked duplicate is worth more than a fifth copy.
- Flag gaps, don't guess. Missing environment or repro is a request to the reporter, not an assumption.
Output Format
Bug: [title] · Severity [Sx] · Priority [Px]
Why this level: impact [x] × frequency [y] × workaround [z].
Repro
- … → Expected: … · Actual: …
Environment
| Version | Platform | User/role | First seen | Frequency |
Routing
- Suspected area: [component] · Suggested queue/owner: [team].
Duplicate / related
- [links, or "no known duplicate"].
⚠ Missing before it's actionable
- [what the reporter must add].
Quality Checks
Anti-Patterns
- A severity with no reasoning — "this is a P1" because it feels urgent.
- Conflating severity and priority — they answer different questions.
- Assigning a level without repro — triage a phantom and you fix nothing.
- No routing — a triaged bug with no owner queue is still stuck.
- Inventing environment/repro the reporter never gave.
Example Trigger Phrases
- "Triage this bug and set severity and priority: [paste]"
- "Is this a P1? Here's the report."
- "Clean up this bug for the backlog with repro steps and an owner."
- "Normalize this customer bug report and check if it's a duplicate."
1---2name: bug-triage-pack-23description: Triage a raw bug report into something a team can act on — clean repro steps, a defensible severity/priority, environment, likely area/owner, and duplicate check. Use when asked to triage this bug, set severity and priority, is this a P1, or clean up this bug report for the backlog. Produces the normalized repro, a severity and priority with the reasoning (impact × frequency × workaround), the environment/metadata, a suspected component and owner queue, and a duplicate/related-issue check — flagging when info is missing rather than guessing.4---56# Bug Triage Pack78A bug backlog is only as good as its triage — and most bugs arrive as "it's broken" with no repro, a panicked severity, and no idea who should look. This turns a raw report into a triaged item: reproducible steps, a severity and priority you can defend (not vibes), the environment that matters, a suspected area and owner queue, and a check for whether it's a duplicate — asking for what's missing instead of inventing it.910## What This Skill Produces1112- **Normalized repro** — clear, numbered steps; expected vs. actual; the minimal path to reproduce13- **Severity & priority** — each with reasoning (impact × frequency × workaround availability), not a gut number14- **Environment & metadata** — version, platform, browser/OS, user/role, first-seen, frequency15- **Suspected area & owner queue** — where it likely lives and who should take it next16- **Duplicate/related check** — is this the same as a known issue, and what to link17- **Missing-info flags** — what the reporter must supply before it's actionable1819## Required Inputs2021Ask for these if not provided:22- **The raw report** — whatever came in (a Slack message, a customer ticket, a screenshot description)23- **Your severity/priority scale** — what P0–P3 / S1–S4 mean here (else a sensible default is used and labelled)24- **Environment details** — version, platform, who hit it, how often25- **Known issues (optional)** — a list to dedupe against2627## Framework: Triage You Can Defend28291. **Repro or it's not a bug yet.** No reliable steps → the first action is "needs repro," not a severity.302. **Severity ≠ priority.** Severity is how bad the impact is; priority is when we fix it (a rare-but-catastrophic bug and a constant-but-cosmetic one differ on both axes).313. **Score, don't feel.** Impact (data loss > broken flow > cosmetic) × frequency (all users > edge case) × workaround (none > easy) → a defensible level.324. **Route it.** Suspected component and the queue/owner it should go to — triage that doesn't route just moves the pile.335. **Dedupe.** Check against known issues; a linked duplicate is worth more than a fifth copy.346. **Flag gaps, don't guess.** Missing environment or repro is a request to the reporter, not an assumption.3536## Output Format3738### Bug: [title] · **Severity [Sx]** · **Priority [Px]**39**Why this level:** impact [x] × frequency [y] × workaround [z].4041### Repro421. … → **Expected:** … · **Actual:** …4344### Environment45| Version | Platform | User/role | First seen | Frequency |4647### Routing48- Suspected area: [component] · Suggested queue/owner: [team].4950### Duplicate / related51- [links, or "no known duplicate"].5253### ⚠ Missing before it's actionable54- [what the reporter must add].5556## Quality Checks57- [ ] Repro steps are clear and include expected vs. actual (or "needs repro" is the flagged first action)58- [ ] Severity and priority are distinct and each justified by impact × frequency × workaround59- [ ] Environment/metadata is captured (or flagged missing)60- [ ] A suspected area and owner queue are proposed61- [ ] A duplicate/related check is done62- [ ] Missing information is requested, not invented6364## Anti-Patterns65- **A severity with no reasoning** — "this is a P1" because it feels urgent.66- **Conflating severity and priority** — they answer different questions.67- **Assigning a level without repro** — triage a phantom and you fix nothing.68- **No routing** — a triaged bug with no owner queue is still stuck.69- **Inventing environment/repro** the reporter never gave.7071## Example Trigger Phrases72- "Triage this bug and set severity and priority: [paste]"73- "Is this a P1? Here's the report."74- "Clean up this bug for the backlog with repro steps and an owner."75- "Normalize this customer bug report and check if it's a duplicate."