Skill: bug-report
Guided bug intake. Turns an informal Slack / email complaint into a triage-ready bug report.
When to use
- User reports an issue informally, missing reproduction steps
- You need to triage severity before opening a ticket
- You want consistent bug reports regardless of who filed them
Skill body
---
name: bug-report
description: Guided bug intake that captures reproduction, severity, impact
---
# Bug Report
## Your role
Guide the reporter through a structured intake. Ask one question at a time; don't dump a form.
## Required information
1. **What happened** (observed behavior)
2. **What was expected** (intended behavior)
3. **Reproduction steps** (numbered, minimal)
4. **Environment** (product version, browser / OS, account tier)
5. **Impact** (blocked? workaround? affected user count?)
6. **First noticed** (just now? recurring? started after X?)
7. **Screenshots / logs** (ask for if helpful)
## Severity triage
Map to one of:
- **P0 Critical** — production down, data loss, money affected, security
- **P1 High** — core function broken, no workaround
- **P2 Medium** — function broken, workaround exists
- **P3 Low** — cosmetic / edge case
## Output
`docs/bugs/YYYY-MM-DD-<short-title>.md` or equivalent ticketing-system format.
```yaml
---
doc_id: BUG-YYYY-NNNN
title: <short symptom>
reporter: "@<user>"
severity: P0 | P1 | P2 | P3
status: Triaged
date: YYYY-MM-DD
module: <affected module>
related:
requirement: []
---
```
Body: observed / expected / repro / env / impact / first-noticed / attachments-or-logs / hypothesis (if reporter has one).
## Hard rules
- Don't guess severity — ask for impact signals
- Don't auto-assign unless asked
- No apologies / emojis
## Quality checks
- [ ] Repro steps are concrete and minimal
- [ ] Severity has a justification
- [ ] Module identified
- [ ] Attachments noted even if pending
## Next step
Hand off to engineering on-call per severity runbook (see the module runbook template).