issue-triage
State-machine issue triage workflow for GitHub, Linear, or local issue trackers. Manages category labels (bug, enhancement) and state labels (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix). Use when: triaging new issues, clearing needs-triage backlog, routing issues to agents vs humans.
Best use case
issue-triage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
State-machine issue triage workflow for GitHub, Linear, or local issue trackers. Manages category labels (bug, enhancement) and state labels (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix). Use when: triaging new issues, clearing needs-triage backlog, routing issues to agents vs humans.
Teams using issue-triage should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/issue-triage/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How issue-triage Compares
| Feature / Agent | issue-triage | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
State-machine issue triage workflow for GitHub, Linear, or local issue trackers. Manages category labels (bug, enhancement) and state labels (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix). Use when: triaging new issues, clearing needs-triage backlog, routing issues to agents vs humans.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Issue Triage
## One-Liner
Work through the issue backlog using a strict state machine — classify, route, and clear with a consistent schema the whole team (and agents) can rely on.
---
## § 1 · State Machine
Every issue carries **one category label** and **one state label**.
### Category Labels
| Label | Meaning |
|-------|---------|
| `bug` | Something is broken — actual behavior diverges from intended behavior |
| `enhancement` | Something is missing or could be better — desired behavior does not yet exist |
### State Labels
| Label | Meaning | Who acts next |
|-------|---------|--------------|
| `needs-triage` | Newly opened, not yet reviewed | Triager |
| `needs-info` | More information needed from the reporter | Reporter |
| `ready-for-agent` | Well-specified, deterministic enough for autonomous agent completion | Agent |
| `ready-for-human` | Requires human judgment, creativity, or stakeholder decision | Human engineer |
| `wontfix` | Will not be addressed; rationale documented | — (closed) |
**Rule:** An issue must have exactly one category and one state at all times.
---
## § 2 · Workflow
### Step 1 — Queue Overview
At the start of a triage session, pull three buckets:
1. **Unlabeled** — issues with no category or state label
2. **`needs-triage`** — labeled but not yet processed
3. **`needs-info` with recent activity** — reporter may have replied
Present counts and summaries. Ask the maintainer which to process first.
### Step 2 — Process Each Issue
For each issue:
1. **Read** the full issue body, linked code, and existing comments
2. **Explore the codebase** at the relevant location — don't rely on the issue description alone
3. **Classify**:
- Assign `bug` or `enhancement`
- If a bug: attempt to reproduce using the described steps; note success/failure
4. **Determine state**:
- Missing information → `needs-info` (write a specific question as a comment)
- Clear, deterministic, self-contained → `ready-for-agent`
- Requires judgment, design decision, or stakeholder input → `ready-for-human`
- Out of scope or will not fix → `wontfix`
5. **Confirm** your recommendation with the maintainer before applying labels
6. **Apply** labels and post the appropriate comment
### Step 3 — Comment Standards
All comments generated during triage must begin with:
> *This was generated by AI during triage.*
For `needs-info` comments, write a specific, answerable question. Not "please provide more information" — instead: "What OS and version are you running? What is the exact error message you see?"
For `ready-for-agent` issues, include an **agent brief**:
- Exact file(s) to modify
- Behavior to achieve (input/output contract)
- Edge cases to handle
- Tests that should pass
For `wontfix` enhancements, explain why clearly — future reporters will search and find this answer.
---
## § 3 · Routing Heuristics
**Route to `ready-for-agent` when:**
- The fix is localized to ≤ 3 files
- The expected behavior is unambiguous
- A test can verify the fix deterministically
- No design decision is required
**Route to `ready-for-human` when:**
- Multiple valid approaches exist and the trade-off is non-obvious
- The fix requires understanding business context not captured in the codebase
- The issue involves a UI/UX decision
- Security or privacy implications are unclear
**Route to `needs-info` when:**
- The reproduction steps are incomplete
- The expected vs actual behavior is unclear
- The environment (OS, version, config) is not specified
---
## § 4 · State Transition Rules
Valid transitions:
```
(new) → needs-triage → needs-info ↔ needs-triage
→ ready-for-agent → (closed: fixed)
→ ready-for-human → (closed: fixed)
→ wontfix → (closed)
```
Flag and confirm with the maintainer before any unusual transition (e.g., re-opening a `wontfix`).
---
## § 5 · When to Use This Skill
**Use when:**
- The issue backlog has accumulated unlabeled or `needs-triage` issues
- You want to batch-route issues to agents for autonomous fixing
- Onboarding a new contributor — give them `ready-for-human` issues
**Do NOT use when:**
- Triaging a single, obviously critical production incident (handle directly)
- The issue tracker has no label support
---
## § 6 · Relationship to Other Skills
| Skill | When to reach for it |
|-------|---------------------|
| `debug-diagnose` | To reproduce a `bug` during triage |
| `to-prd` | To expand a `ready-for-human` enhancement into a full PRD |
| `zoom-out` | To orient before exploring the codebase for triage context |Related Skills
write-skill
Meta-skill for creating high-quality SKILL.md files. Guides requirement gathering, content structure, description authoring (the agent's routing decision), and reference file organization. Use when: authoring a new skill, improving an existing skill's description or structure, reviewing a skill for quality.
caveman
Ultra-compressed communication mode that cuts ~75% of token use by dropping articles, filler words, and pleasantries while preserving technical accuracy. Use when: long sessions approaching context limits, cost-sensitive API usage, user requests brevity, caveman mode, less tokens, talk like caveman.
zoom-out
Codebase orientation skill: navigate unfamiliar code by ascending abstraction layers to map modules, callers, and domain vocabulary. Use when: first encounter with unknown code, tracing a data flow, understanding module ownership before editing, orienting before a refactor.
to-prd
Converts conversation context into a structured Product Requirements Document (PRD) and publishes it to the project issue tracker. Do NOT interview the user — synthesize what is already known. Use when: a feature has been discussed enough to capture, converting a design conversation into tracked work, pre-sprint planning.
tdd-workflow
Test-driven development workflow using vertical slices (tracer bullets). Enforces behavior-first testing through public interfaces. Use when: writing new features with TDD, red-green-refactor loop, avoiding implementation-coupled tests, incremental feature delivery.
debug-diagnose
Structured six-phase debugging workflow centered on building a reliable feedback loop before theorizing. Use when: debugging hard-to-reproduce issues, performance regression, mysterious failures, agent-assisted root cause analysis, systematic bug fixing.
architecture-review
Codebase architecture review using module depth analysis. Surfaces shallow modules, tight coupling, and locality violations. Proposes deepening opportunities. Use when: pre-refactor audit, tech debt assessment, onboarding architecture review, post-feature architectural cleanup.
vault-secrets-expert
HashiCorp Vault expert: KV secrets, dynamic credentials, PKI, auth methods. Use when managing secrets, setting up PKI, or implementing secrets management. Triggers: 'Vault', 'secrets management', 'HashiCorp Vault', 'dynamic credentials', 'PKI'.
nmap-expert
Expert-level Nmap skill for network reconnaissance, port scanning, service detection, and security assessment. Triggers: 'Nmap', '网络扫描', '端口扫描', 'NSE脚本'. Works with: Claude Code, Codex, OpenCode, Cursor, Cline, OpenClaw, Kimi.
metasploit-expert
Expert-level Metasploit Framework skill for penetration testing, exploit development, and post-exploitation operations. Triggers: 'Metasploit', '渗透测试', '红队', '漏洞利用'. Works with: Claude Code, Codex, OpenCode, Cursor, Cline, OpenClaw, Kimi.
gerrit-permission-manager
Expert manager for Gerrit multi-repository and multi-branch permission configurations. Use when working with Gerrit code review permissions, access controls, repository groups, branch-level permissions, or manifest-based multi-repo management. Use when: gerrit, permissions, code-review, access-control, devops.
container-security-expert
Expert-level Container Security skill using Trivy, Snyk, and other tools for vulnerability scanning, compliance checking, and container hardening. Triggers: '容器安全', '漏洞扫描', 'Trivy', 'Docker安全', 'K8s安全'.