Skills › BMAD Method › bmad-agent-po › bug-template.md
bug-template.md
59 lines · skills/bmad-agent-po/assets/bug-template.md at bd70c64
Most marks come from matching words in the file, so treat them as pointers.
1---
2id: [the entry's id in tickets.toml; the folder's `next_id` if no entry] # publish to a tracker writes tracker_id and remote
3type: bug
4title: "[What is wrong, from the user's view]"
5parent: [folder name of the epic, or of the initiative when there are no epics; none for a standalone bug in backlog/]
6covers: []
7after: [] # prerequisites only: a sibling's id; "<epic id>.<entry id>" in another epic; epic-<slug> for that whole epic
8assignee: "" # written by `tickets.py mirror` from a tracker; otherwise assignee, blocked_at, blocked_reason live in the plan
9# status lives in the plan beside this file; tracker_status by a tracker sync
10refined: false # true once the user approves its criteria
11hitl: false
12risk: [low|medium|high]
13severity: [P0|P1|P2|P3] # P0 outage, data loss, security exposure; P1 core function broken, no workaround; P2 impaired, workaround exists; P3 cosmetic
14---
16<!-- Refined shape. Leave a done or dropped ticket as written. -->
18# [Title]
Involves a person once the user approves :10
Description
[What the user sees go wrong and what should happen instead. 2–4 sentences.]
Raw lines 20 to 23Reproduction
[Exact steps, environment, actual versus expected. Logs or errors verbatim.]
Raw lines 24 to 2732## Acceptance Criteria
341. **[The expected behavior holds]**
35 **Given** [the state from the reproduction]
36 **When** [the reproduction steps are followed]
37 **Then** [what should now happen]
382. **Tests cover the condition found and fixed**
39 **Given** the test suite
40 **When** it runs
41 **Then** a test that fails on the defect and passes on the fix covers the reproduction, and one covers each related case the fix touched
423. **Or: no change is needed, with proof**
43 **Given** the reproduction
44 **When** it is run on the current code
45 **Then** the expected behavior already holds, or the report was mistaken, with the evidence recorded in Notes — this supersedes 1 and 2
Acceptance Criteria
- [The expected behavior holds] Given [the state from the reproduction] When [the reproduction steps are followed] Then [what should now happen]
- Tests cover the condition found and fixed Given the test suite When it runs Then a test that fails on the defect and passes on the fix covers the reproduction, and one covers each related case the fix touched
- Or: no change is needed, with proof Given the reproduction When it is run on the current code Then the expected behavior already holds, or the report was mistaken, with the evidence recorded in Notes — this supersedes 1 and 2
47## References
49- parent — [path or url, or none]
50- [type — path, section]
51- [logs, screenshots, or sample data — location]
References
- parent — [path or url, or none]
- [type — path, section]
- [logs, screenshots, or sample data — location]
53## Notes
55[Only what is not in the repo or the source. Cut if empty.]
57- Decision: [a choice the user made, dated]
58- Assumption: [a choice made while drafting that the user has not confirmed]
59- Open question: [what is not settled]
Notes
[Only what is not in the repo or the source. Cut if empty.]
- Decision: [a choice the user made, dated]
- Assumption: [a choice made while drafting that the user has not confirmed]
- Open question: [what is not settled]