issue-classification

melodic-software's avatarfrom melodic-software

Configure issue classification for ADWs to route work to the correct templates. Use when setting up automatic classification of GitHub issues into chores, bugs, and features.

3stars🔀0forks📁View on GitHub🕐Updated Jan 3, 2026

When & Why to Use This Skill

This Claude skill automates the classification of GitHub issues into distinct categories such as chores, bugs, and features. Designed specifically for Agentic Development Workflows (ADWs), it ensures that every issue is routed to the correct template or workflow, significantly enhancing project management efficiency and ensuring AI agents apply the appropriate logic for every task.

Use Cases

  • Automating GitHub issue triage to reduce manual labeling effort and improve team response times.
  • Routing technical debt and maintenance tasks (chores) to specific cleanup pipelines separate from new feature requests.
  • Standardizing bug reporting by automatically triggering root cause analysis templates based on AI classification.
  • Optimizing agentic coding workflows by providing clear intent classification (/bug vs /feature) before the planning and execution phase.
  • Handling edge cases in issue reporting by defaulting unclear requests to safe categories or flagging them for human triage.
nameissue-classification
descriptionConfigure issue classification for ADWs to route work to the correct templates. Use when setting up automatic classification of GitHub issues into chores, bugs, and features.
allowed-toolsRead, Grep, Glob

Issue Classification

Guide for configuring automatic classification of issues into problem classes.

When to Use

  • Setting up ADW issue routing
  • Improving classification accuracy
  • Handling edge cases in classification
  • Designing custom problem classes

Why Classification Matters

Classification routes issues to the correct template:

Issue: "Login button not working"
  ↓
Classification: /bug
  ↓
Template: Bug fix plan with root cause analysis

Without classification, agents don't know which workflow to use.

Standard Problem Classes

Chore

Maintenance tasks, updates, cleanup:

Examples:
- "Update dependencies to latest"
- "Clean up unused imports"
- "Rename function to follow convention"
- "Add missing documentation"

Signals:
- "update", "upgrade", "clean", "remove", "rename"
- "documentation", "comment", "format"
- No user-facing change
- Maintenance in nature

Bug

Defects, errors, unexpected behavior:

Examples:
- "Login form submits twice"
- "404 error on profile page"
- "Data not saving correctly"
- "Crash when clicking button"

Signals:
- "error", "bug", "fix", "broken", "crash"
- "not working", "fails", "incorrect"
- Something that worked before now doesn't
- Unexpected behavior

Feature

New functionality, enhancements:

Examples:
- "Add dark mode toggle"
- "Implement user authentication"
- "Create new dashboard page"
- "Add export to CSV"

Signals:
- "add", "create", "implement", "new"
- "enhance", "improve", "extend"
- User-facing new capability
- Didn't exist before

Classification Command

Basic Structure

# Issue Classification

Analyze the issue and respond with exactly one of:
- `/chore` - maintenance, updates, cleanup
- `/bug` - defects, errors, unexpected behavior
- `/feature` - new functionality, enhancements

If the issue doesn't fit any category, respond with `0`.

## Issue
$ARGUMENTS

Enhanced with Examples

# Issue Classification

Classify the GitHub issue into one of these categories.

## Categories

### /chore
- Maintenance and cleanup tasks
- Dependency updates
- Refactoring without behavior change
- Documentation improvements

Examples: "update deps", "clean up code", "rename variables"

### /bug
- Something broken that should work
- Errors, crashes, incorrect behavior
- Regressions from previous functionality

Examples: "button doesn't work", "error on page", "crash when..."

### /feature
- New functionality
- Enhancements to existing features
- User-facing improvements

Examples: "add dark mode", "create API endpoint", "implement..."

## Rules
1. Respond with exactly one: /chore, /bug, /feature, or 0
2. If unclear, prefer /chore (safest default)
3. If multiple types, choose the primary purpose

## Issue
$ARGUMENTS

Classification Accuracy

Testing Classification

# Test chores
claude -p "/classify-issue 'Update all dependencies'"
# Expected: /chore

claude -p "/classify-issue 'Clean up unused imports'"
# Expected: /chore

# Test bugs
claude -p "/classify-issue 'Login form submits twice on enter'"
# Expected: /bug

claude -p "/classify-issue '404 error on profile page'"
# Expected: /bug

# Test features
claude -p "/classify-issue 'Add dark mode toggle'"
# Expected: /feature

claude -p "/classify-issue 'Implement OAuth with Google'"
# Expected: /feature

Handling Edge Cases

Multi-type issues:

"Fix the broken login AND add remember me feature"

Approach: Classify by primary purpose
If equal: Request issue be split

Unclear issues:

"Improve the performance"

Approach: Default to /chore
Rationale: Safest, lowest risk

Not classifiable:

"Question about the API"

Approach: Return 0
Action: Human triage required

Custom Problem Classes

For specialized workflows, extend the base classes:

Example: Refactor Class

### /refactor
- Code restructuring
- Architecture changes
- Performance optimization
- No functional change

Examples: "refactor auth module", "optimize queries", "restructure..."

Example: Security Class

### /security
- Vulnerability fixes
- Security improvements
- Access control changes
- Compliance requirements

Examples: "fix XSS vulnerability", "add rate limiting", "update auth..."

Integration with ADW

In your ADW orchestrator:

def classify_and_route(issue):
    # Classify
    result = execute_agent("classifier", issue)
    issue_type = parse_classification(result)

    # Route to template
    if issue_type == "/chore":
        return execute_agent("planner", "/chore", issue)
    elif issue_type == "/bug":
        return execute_agent("planner", "/bug", issue)
    elif issue_type == "/feature":
        return execute_agent("planner", "/feature", issue)
    else:
        return mark_for_triage(issue)

Model Selection

For classification, use Haiku:

Model Speed Cost Accuracy
Haiku Fast Low Good for simple decisions
Sonnet Medium Medium Better for nuanced cases

Haiku is usually sufficient since classification is a simple decision.

Quality Metrics

Track classification quality:

  • Accuracy: % correctly classified
  • Confusion matrix: Which misclassifications happen
  • Override rate: How often humans change classification

Related Memory Files

  • @piter-framework.md - Classification is the "I" in PITER
  • @adw-anatomy.md - How classification fits in ADW
  • @template-engineering.md - Templates for each class

Version History

  • v1.0.0 (2025-12-26): Initial release

Last Updated

Date: 2025-12-26 Model: claude-opus-4-5-20251101