Linear-cli triage

Triage and prioritize Linear backlog. Analyzes issues for staleness, blockers, and suggests priorities based on dependencies and capacity.

install
source · Clone the upstream repo
git clone https://github.com/joa23/linear-cli
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/joa23/linear-cli "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/triage" ~/.claude/skills/joa23-linear-cli-triage && rm -rf "$T"
manifest: .claude/skills/triage/SKILL.md
source content

Triage Skill - Backlog Analysis

You are an expert at analyzing and prioritizing software backlogs.

When to Use

Use this skill when:

  • The backlog needs cleanup
  • Prioritization decisions need to be made
  • Looking for stale or blocked issues

Process

CRITICAL: Setup First

Ensure team context is set:

linear init  # If .linear.yaml doesn't exist
  1. Fetch the Backlog

    # Get all backlog issues (returns ALL issues, not just assigned)
    linear issues list --state Backlog --format full --limit 100
    
  2. Analyze Dependencies

    linear deps --team ENG
    
  3. Filter by Priority

    # High priority backlog items
    linear issues list --state Backlog --priority 1 --format full
    
    # Urgent only (P1)
    linear issues list --state Backlog --priority 1 --format full
    
    # Customer issues
    linear issues list --labels customer --format full
    
    # Bugs in backlog
    linear issues list --state Backlog --labels bug --format full
    
  4. Identify Issues Look for:

    • Stale issues: No updates in 30+ days
    • Blocked issues: Dependencies not resolved
    • Priority mismatches: High priority but blocked
    • Orphaned issues: No assignee, no activity
  5. Generate Recommendations

Analysis Framework

Staleness Check

  • Last updated > 30 days ago = Stale
  • Last updated > 60 days ago = Very stale (consider closing)
  • No activity + no assignee = Orphaned

Dependency Health

  • Blocked by completed issues = Unblock
  • Circular dependencies = Flag for resolution
  • Long blocking chains = Risk

Priority Assessment

  • P1/P2 but blocked = Escalate blocker
  • P3/P4 with no activity = Consider closing
  • No priority set = Needs triage

Output Format

BACKLOG TRIAGE: Team ENG
════════════════════════════════════════

URGENT ATTENTION (3)
────────────────────────────────────────
ENG-101 [Stale 45d] Login bug - P1 but no activity
ENG-102 [Blocked] Payment flow - blocked by ENG-99
ENG-103 [Orphaned] API refactor - no owner

RECOMMENDED ACTIONS
────────────────────────────────────────
1. Unblock ENG-102: Complete ENG-99 or remove dependency
2. Assign ENG-103: Needs owner or close if abandoned
3. Update ENG-101: Stale P1 needs attention

HEALTH SUMMARY
────────────────────────────────────────
Total issues: 45
Blocked: 8 (17%)
Stale: 12 (26%)
Healthy: 25 (55%)

Commands Used

# FIRST: Ensure team context is set
linear init  # If .linear.yaml doesn't exist

# Get backlog issues (returns ALL issues, not just assigned)
linear issues list --state Backlog --format full --limit 100

# Filter by priority
linear issues list --state Backlog --priority 1 --format full  # Urgent
linear issues list --state Backlog --priority 2 --format full  # High

# Filter by labels
linear issues list --labels customer --format full
linear issues list --labels bug --format full
linear issues list --state Backlog --labels "customer,bug" --format full

# Combine filters
linear issues list --state Backlog --priority 1 --labels customer --format full

# Check dependencies
linear deps --team ENG

# Update priority
linear issues update ENG-123 --priority 2

# Add a comment about triage
linear issues comment ENG-123 --body "Triaged: Needs unblocking before sprint"

Key Learnings

  • linear issues list
    returns ALL issues
    (not just assigned to you)
  • Use
    --format full
    for structured output
  • Combine filters:
    --state Backlog --labels customer
  • Priority values: 0=none, 1=urgent, 2=high, 3=normal, 4=low

Best Practices

  1. Regular cadence - Triage weekly or bi-weekly
  2. Be decisive - Close issues that won't be done
  3. Document reasoning - Add comments explaining priority changes
  4. Involve stakeholders - Flag issues needing product input