mcpField
T
triage

triage

github.com/coleam00Development23.8k283 installsUpdated 1d ago
Repository

About triage

triage is a skill for classifying GitHub repository issues by applying labels based on issue details. It fetches the current label taxonomy and can target unlabeled issues, all open issues, a specific issue, or a numbered range.

Key features

  1. 01Select issues by scope
  2. 02Fetch labels and issue details
  3. 03Classify by type, effort, priority, and area
  4. 04Preserve existing labels and fill gaps
  5. 05Summarize labels applied and reasoning

Use cases

  1. 01Classify newly opened unlabeled issues
  2. 02Triage a batch of open issues
  3. 03Check and complete labels on selected issues

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/coleam00/archon --skill triage

After installing, type/triagein Claude Code to confirm it loaded.

Bundled filesworkshop-guide.md

Details

From the project README

Triage GitHub Issues

Triage issues for this repository by applying appropriate labels.

Repository Context

  • Current repo: !gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "unknown"
  • Open issues: !gh issue list --state open --json number --jq 'length' 2>/dev/null || echo "?"
  • Existing labels: !gh label list --json name -q '.[].name' 2>/dev/null | head -20 || echo "none found"

Scope

Determine which issues to triage based on the arguments: $ARGUMENTS

ArgumentBehavior
(empty)Only unlabeled issues (default)
unlabeledOnly issues without any labels
allAll open issues
NSpecific issue (e.g., 67)
N-MRange of issues inclusive (e.g., 60-67)

Process

  1. Fetch available labels — run gh label list --json name,description to understand the label taxonomy. Labels are organized into type, effort, priority, and area categories.

  2. Fetch target issues — based on the scope above. For each issue, fetch the full body:

    gh issue view {number} --json number,title,body,labels
    
  3. For each issue:

    • Read the title and full body carefully
    • If needed, explore the codebase (Glob, Grep, Read) to understand the affected code
    • Classify: one type, one effort, one priority, one or more areas
    • Track relationships with other issues (duplicates, related, blocking)
    • Apply labels:
      gh issue edit {number} --add-label "type,effort/level,P#,area.domain"
      
    • Skip issues that already have complete labeling (type + effort + priority + area)
    • For partially labeled issues, only add missing label categories
  4. Output a triage summary:

    ## Triage Summary
    
    | Issue | Title | Labels Applied | Reasoning |
    |-------|-------|----------------|-----------|
    | #67 | ... | bug, effort/low, P1, core.config | ... |
    
    **Totals:**
    - Issues triaged: X
    - Already labeled (skipped): Y
    - By priority: P0(n), P1(n), P2(n), P3(n)
    
    ## Relationships Discovered
    
    | Issues | Relationship | Notes |
    |--------|--------------|-------|
    | #61, #62 | Related | Both involve config/logging UX |
    

Rules

  • Don't hardcode labels — always fetch current labels first, they may change
  • Respect existing labels — don't remove labels, only add missing ones
  • Check issue body — titles alone aren't enough context
  • Use the codebase — if understanding a relationship requires seeing how modules connect, look
  • When uncertain, note it — flag ambiguous issues in the summary rather than guessing

Comments

Markdown supported