vt-c-triage-bugs¶
Triage pending bug reports — promote to bugs/, defer, or mark as duplicate
Plugin: core-standards
Category: Other
Command: /vt-c-triage-bugs
/vt-c-triage-bugs — Bug Triage Skill¶
Process pending bug reports in intake/pending/bugs/. For each non-deferred bug, decide: promote to the tracked bugs backlog, defer for later, or close as duplicate.
Invocation¶
Execution¶
Step 1: Scan Pending Bugs¶
Glob intake/pending/bugs/BUG-*.md.
For each file, read YAML frontmatter. Skip files where status: deferred.
If no pending (non-deferred) bugs found:
Exit.Step 2: Process Each Bug¶
For each pending bug (sorted by filename):
Display summary:
───────────────────────────────────────────────────────
BUG-NNN: [title]
Severity: [severity]
Reported: [reported_at]
───────────────────────────────────────────────────────
Steps: [steps to reproduce, truncated to 3 lines]
Expected: [expected behavior]
Actual: [actual behavior]
───────────────────────────────────────────────────────
Ask via AskUserQuestion: "What should we do with BUG-NNN?" Options: - Promote — move to bugs/ backlog for investigation - Defer — keep in intake, mark deferred (skip in future triage) - Duplicate — close as duplicate of an existing bug
If Promote:¶
- Build slug from title: lowercase, spaces → hyphens, max 30 chars, strip special chars
Example: "Login fails on Safari" →
login-fails-on-safari - Run
mkdir -p bugs/NNN-slug/(NNN = zero-padded fromid:field) - Copy intake file content →
bugs/NNN-slug/report.md - Write
bugs/NNN-slug/state.yaml: - Update
.design-state.yaml: add entry underbugchen_status:: Ifbugchen_status:key does not exist in.design-state.yaml, add it. - Update intake file frontmatter: set
status: triaged(so the archived copy reflects final disposition) - Ensure
intake/processed/bugs/directory exists (runmkdir -p intake/processed/bugs/if needed) - Run
git mv intake/pending/bugs/BUG-NNN.md intake/processed/bugs/BUG-NNN.md - Report:
✓ BUG-NNN promoted to bugs/NNN-slug/
If Defer:¶
- Edit
intake/pending/bugs/BUG-NNN.mdfrontmatter: setstatus: deferred - Report:
→ BUG-NNN deferred
If Duplicate:¶
- Ask via AskUserQuestion: "Duplicate of which bug? (e.g. BUG-005)"
- Edit intake file frontmatter: set
status: duplicate, addduplicate_of: [answer] - Ensure
intake/processed/bugs/directory exists (runmkdir -p intake/processed/bugs/if needed) - Run
git mv intake/pending/bugs/BUG-NNN.md intake/processed/bugs/BUG-NNN.md - Report:
✗ BUG-NNN closed as duplicate of [answer]
Step 3: Summary¶
After all bugs are processed, display:
Triage complete
───────────────────────────────────────────────────────
Promoted: N (ready for /vt-c-investigate-bug)
Deferred: N (will skip on next triage)
Duplicate: N (moved to intake/processed/bugs/)
───────────────────────────────────────────────────────
Promoted bugs ready for investigation:
BUG-NNN [title] → bugs/NNN-slug/
...
Next: /vt-c-investigate-bug BUG-NNN to investigate a promoted bug