Bug Triage

Automated bug severity assessment and prioritization for game development projects

What Is This

Bug Triage is an automated skill designed for the Happycapy Skills platform, targeting efficient bug management in game development projects. It reads all open bug reports in the production/qa/bugs/ directory, re-evaluates each bug's severity and priority, assigns actionable items to active or upcoming sprints, surfaces systemic trends, and generates a detailed triage report. The skill can operate in several modes, making it adaptable for different stages of the development cycle.

Bug Triage distinguishes between severity (the impact level of a bug) and priority (the urgency to fix it), ensuring that critical issues are neither overlooked nor misclassified. By automating the triage workflow, it streamlines the process of bug backlog management and supports continuous quality assurance in agile environments.

Why Use It

Manual bug triage is time-consuming and error-prone, particularly as projects scale and the number of open issues increases. The Bug Triage skill provides several advantages:

  • Consistency: Automated evaluation ensures every bug is assessed using the same criteria, reducing human bias.
  • Efficiency: Rapidly processes large backlogs, saving developers and QA teams significant time.
  • Transparency: Generates clear, timestamped reports (production/qa/bug-triage-[date].md) with rationale for each decision.
  • Trend Detection: Surfaces recurring patterns and systemic issues, enabling proactive improvements.
  • Prevention of Bug Loss: Ensures that no critical bug is forgotten between sprints or during transitions.

For game development teams practicing agile methodologies, Bug Triage is instrumental in maintaining a healthy bug backlog and delivering higher quality releases.

How to Use It

1. Invocation

The skill is user-invocable with the following command syntax:

/bug-triage [sprint | full | trend]
  • sprint: Triage against the current sprint, assigning fixable bugs to the sprint backlog and deferring others.
  • full: Complete triage of all bugs, regardless of current sprint focus.
  • trend: Read-only mode for trend analysis and systemic pattern detection.
  • (No argument): Defaults to sprint mode if a current sprint exists, otherwise runs in full mode.

2. Bug

Discovery

The skill uses file globbing to locate bug reports in the preferred format:

import glob

bug_files = glob.glob('production/qa/bugs/*.md')

It then reads each bug report to extract relevant metadata, such as severity, priority, description, and current status.

3. Severity and Priority

Re-Evaluation

For each bug, the skill re-assesses:

  • Severity: Assessed by the impact on users (e.g., blocker, critical, major, minor, trivial).
  • Priority: Assessed by urgency and business needs (e.g., P0 - must fix now, P1, P2, etc.).

This distinction allows the triage to surface high-severity, low-priority issues (and vice versa) for proper scheduling.

4. Assignment and

Reporting

Depending on the selected mode:

  • In sprint mode, assign actionable bugs to the current sprint backlog and defer non-critical issues to the general backlog.
  • In full mode, re-evaluate all bugs and update their assignment and status accordingly.
  • In trend mode, aggregate statistics and highlight systemic trends without changing any assignments.

The results are written to a timestamped report:

production/qa/bug-triage-2024-06-12.md

5. Example

Workflow

A typical usage might look like:

/bug-triage sprint

This command will:

  1. Load all open bug files.
  2. Re-evaluate severity and priority.
  3. Assign fixable and urgent bugs to the current sprint.
  4. Defer less urgent bugs.
  5. Produce a detailed triage report for team review.

When to Use It

  • At the start of a sprint: To ensure the sprint backlog reflects the latest open issues and priorities.
  • After QA review cycles: When new bugs have been reported and need to be assessed for sprint inclusion.
  • When the open bug count exceeds 10: To prevent backlog sprawl and maintain focus on critical issues.
  • Periodically for trend analysis: To surface recurring or systemic issues that may require architectural or process changes.

Running Bug Triage at these key points keeps the bug backlog actionable and ensures that teams are always working on the most important problems.

Important Notes

  • File Structure: Bug reports must be stored as individual Markdown files in production/qa/bugs/ to be detected and processed.
  • Severity vs. Priority: The skill’s logic separates severity (impact) from priority (urgency), providing a nuanced approach to bug management.
  • Modes: Choose the appropriate mode for your workflow - sprint for sprint-specific triage, full for comprehensive backlog assessment, and trend for analytics.
  • Automation Scope: The skill reads, edits, and writes files, but does not automatically close issues; resolution and verification remain manual.
  • Trend Analysis: In trend mode, no assignments are changed - only patterns and statistics are reported.
  • Integration: Best used in conjunction with a regular QA process and sprint planning rituals for maximum effectiveness.

By adopting the Bug Triage skill, teams can automate a critical aspect of the QA process, leading to more reliable, efficient, and focused game development cycles.