Issue Triage
Rules and workflows for categorizing, labeling, and prioritizing GitHub issues.
Quick Reference
Label Type Purpose Mutually Exclusive?
Type What kind of issue Yes
Priority How urgent Yes
Status Current state Yes
Area Which component No
Label Taxonomy
Type Labels (mutually exclusive)
Label Description Color
bug
Something is broken #d73a4a (red)
feature
New functionality #a2eeef (cyan)
enhancement
Improvement to existing feature #84b6eb (blue)
docs
Documentation only #0075ca (dark blue)
chore
Maintenance, deps, infra #fef2c0 (yellow)
Priority Labels (mutually exclusive)
Label Description Response
priority: critical
Drop everything, fix now Immediate
priority: high
Next up after current work This sprint
priority: medium
Normal backlog Scheduled
priority: low
Nice to have, someday Backlog
Status Labels (mutually exclusive)
Label Description
needs-triage
New, not yet categorized
needs-info
Waiting for reporter clarification
accepted
Triaged and in backlog
in-progress
Someone is working on it
blocked
Can't proceed, waiting on something
Area Labels (project-specific, not exclusive)
Define based on your project structure:
-
area: api
-
area: cli
-
area: docs
-
area: ui
-
area: auth
Triage Workflow
Step 1: New Issues
Every new issue gets needs-triage label automatically (via GitHub Actions or manually).
Step 2: Initial Review
Is this a duplicate? YES → Close with "Duplicate of #N", link original NO → Continue
Is this spam/invalid? YES → Close without label NO → Continue
Is the issue clear enough to act on?
YES → Continue to Step 3
NO → Add needs-info, comment asking for clarification
Step 3: Categorization
Apply type label:
- Broken functionality →
bug - New capability →
feature - Improve existing →
enhancement - Documentation →
docs - Maintenance →
chore
Apply area label(s):
- Based on affected component
- Can have multiple areas
Step 4: Prioritization
Apply priority:
- Production down / security issue →
priority: critical - Major impact, many users →
priority: high - Normal request →
priority: medium - Nice to have →
priority: low
Step 5: Finalize
- Remove
needs-triage - Add
accepted - Assign to milestone (if applicable)
- Suggest assignee (if known)
Priority Guidelines
Critical
-
Production is down
-
Security vulnerability
-
Data loss occurring
-
Blocks all users
High
-
Major feature broken
-
Significant user impact
-
Blocks important workflow
-
Time-sensitive deadline
Medium
-
Normal bug reports
-
Feature requests
-
Improvements
-
Most issues land here
Low
-
Minor cosmetic issues
-
Edge case bugs
-
Nice-to-have features
-
"Someday" items
Common Patterns
Insufficient Information
Issue: "It doesn't work" Action:
- Add
needs-info - Comment: "Can you provide steps to reproduce and your environment?"
- Wait for response
Duplicate Detection
Issue: Similar to existing #123 Action:
- Close issue
- Comment: "Duplicate of #123"
- Add any new context to #123
Critical Security Issue
Issue: Security vulnerability Action:
- Add
priority: critical,bug - Assign immediately
- Consider private discussion
Feature Without Acceptance Criteria
Issue: "Add dark mode" Action:
- Add
feature,needs-info - Comment: "Great idea! Can you describe acceptance criteria?"
Reference Files
See references/ for:
- label-taxonomy.md
- Complete label reference with colors
Integration with Other Components
Typical Triage Workflow
-
Issue created using gh-issue-templates (gets needs-triage label)
-
Use gh-issue-triage (this skill) to determine type and priority
-
Apply labels using gh-wrangler agent
-
Track state changes using gh-issue-lifecycle
Label Setup
Use references/label-taxonomy.md to:
-
Create labels with correct colors: gh label create "bug" --color "d73a4a"
-
Maintain consistent taxonomy across repositories
-
Setup new repositories with standard labels
Priority Assignment
Consult "Priority Guidelines" section in this skill:
-
Critical: Production down, security, data loss
-
High: Major features broken, significant impact
-
Medium: Normal bugs and features (most issues)
-
Low: Nice-to-have, cosmetic, edge cases
Related
-
Skill: gh-issue-templates
-
Creating well-formatted issues
-
Skill: gh-issue-lifecycle
-
State transitions and linking
-
Agent: gh-wrangler
-
Interactive triage workflow