Label taxonomy and triage workflow for GitHub issues. Defines type labels (bug/feature/enhancement/docs/chore), priority levels (critical/high/medium/low), status labels, and triage decision workflow. Use when categorizing and prioritizing issues.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add poindexter12/waypoint --skill gh-issue-triage --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Gh Issue Triage?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/poindexter12-gh-issue-triage)More formats (shields.io, HTML) on the badges page.
---
name: gh-issue-triage
description: Label taxonomy and triage workflow for GitHub issues. Defines type labels (bug/feature/enhancement/docs/chore), priority levels (critical/high/medium/low), status labels, and triage decision workflow. Use when categorizing and prioritizing issues.
---
# 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
```
1. Remove `needs-triage`
2. Add `accepted`
3. Assign to milestone (if applicable)
4. 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:
1. Add `needs-info`
2. Comment: "Can you provide steps to reproduce and your environment?"
3. Wait for response
```
### Duplicate Detection
```
Issue: Similar to existing #123
Action:
1. Close issue
2. Comment: "Duplicate of #123"
3. Add any new context to #123
```
### Critical Security Issue
```
Issue: Security vulnerability
Action:
1. Add `priority: critical`, `bug`
2. Assign immediately
3. Consider private discussion
```
### Feature Without Acceptance Criteria
```
Issue: "Add dark mode"
Action:
1. Add `feature`, `needs-info`
2. 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
1. Issue created using **gh-issue-templates** (gets `needs-triage` label)
2. Use **gh-issue-triage** (this skill) to determine type and priority
3. Apply labels using **gh-wrangler** agent
4. 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
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!