- name
- triage
- description
- Move issues and external PRs through a state machine of triage roles. Categorise (bug/enhancement), verify claims, grill if needed, write agent-ready briefs. Five state roles: needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix. Use when the user says "triage issues", "show me what needs attention", "move #42 to ready-for-agent", or when incoming issues/PRs pile up. Only for issues you didn't create — triage is for external input, not self-generated tickets.
## R — Reference (≤100 words)
Upstream: `skills/engineering/triage/SKILL.md` (112 lines). Move issues on the project issue tracker through a small state machine of triage roles. Two category roles: bug, enhancement. Five state roles: needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix. Process: (1) Show what needs attention — three buckets: unlabeled, needs-triage, needs-info with reporter activity. (2) Triage specific issue/PR — gather context (read full issue, PR diff, prior triage notes, check redundancy, check .out-of-scope/), recommend category+state with reasoning, verify claim (reproduce bug or confirm PR does what it claims), grill if needed (call grilling + domain-modeling), apply outcome (agent brief, triage notes, or wontfix with reason). Quick state override: maintainer says "move #42 to ready-for-agent" → trust and apply directly. Every comment starts with disclaimer: "> *This was generated by AI during triage.*"
## I — Methodology (in own words)
**Core principle**: Triage is for *external input* — issues and PRs you didn't create. Self-generated tickets from to-tickets are already agent-ready; don't triage them.
**State machine**: Unlabeled → needs-triage → (needs-info ↔ needs-triage) → ready-for-agent / ready-for-human / wontfix. Maintainer can override any transition.
**Triage discipline**:
1. **Gather context**: Read full issue/PR, prior triage notes, check for redundancy (existing implementation), check .out-of-scope/
2. **Recommend**: Category + state + reasoning + codebase summary
3. **Verify**: Reproduce bug or confirm PR diff does what it claims
4. **Grill if needed**: Call grilling + domain-modeling to sharpen into agent-ready shape
5. **Apply outcome**: Agent brief (ready-for-agent), triage notes (needs-info), or wontfix with reason
**Agent brief**: Structured comment that makes the issue ready for an agent to pick up. Includes context, acceptance criteria, testing approach.
**PR handling**: PR is an issue with attached code. Same roles, same states, same machine. "ready-for-agent" means brief attached, agent should take next step on diff.
## A1 — Upstream Typical Applications
- Incoming bug report: user submits issue → triage verifies bug → reproduces it → writes agent brief → ready-for-agent
- Feature request: user requests enhancement → triage checks redundancy → grills into shape → ready-for-agent
- External PR: contributor submits PR → triage reviews diff → confirms it does what it claims → ready-for-human (human merges)
- Already implemented: triage finds existing implementation → closes as wontfix with pointer
- Needs info: issue lacks reproduction steps → triage posts needs-info notes → reporter responds → re-triage
## A2 — Trigger Scenarios (3 contexts + language signals + sibling distinction)
| Context | User Language Signals (≥3) | vs Sibling Skills |
|---------|---------------------------|-------------------|
| **Issue queue management** | "triage issues", "show what needs attention", "what's in the backlog", "process incoming issues" | vs code-review: code-review audits *code diffs*; triage audits *issue/PR lifecycle* |
| **Agent-ready preparation** | "make this agent-ready", "write a brief for this", "prepare for implementation", "what can agents pick up?" | vs to-tickets: to-tickets *creates tickets from specs*; triage *processes external issues into agent-ready state* |
| **Issue prioritization** | "prioritize the backlog", "what's urgent?", "move #42", "close this as wontfix" | vs wayfinder: wayfinder *maps decisions for huge efforts*; triage *processes individual external issues* |
## E — Execution Steps (each with "完成标准:")
1. **Show what needs attention** — Query issue tracker. Present three buckets: unlabeled, needs-triage, needs-info with reporter activity. Include external PRs if in scope. Show counts and one-line summaries.
完成标准: Three buckets presented with counts; user picks an item.
2. **Gather context for selected issue** — Read full issue/PR (body, comments, labels, author, dates; for PR, the diff). Parse prior triage notes. Check redundancy (existing implementation). Check .out-of-scope/.
完成标准: Full context read; redundancy checked; prior notes parsed.
3. **Recommend category + state** — Tell maintainer your recommendation with reasoning + codebase summary. Wait for direction.
完成标准: Recommendation presented; maintainer direction received.
4. **Verify the claim** — For bug: reproduce from reporter's steps. For PR: confirm diff does what it claims. Report: confirmed (with code path), failed, or insufficient detail.
完成标准: Claim verified (confirmed/failed/insufficient); code path documented if confirmed.
5. **Grill if needed** — If request needs fleshing out, call grilling + domain-modeling. Grill into shape one round at a time. Update CONTEXT.md/ADRs inline.
完成标准: Request sharpened into agent-ready shape; domain terms updated.
6. **Apply outcome** — ready-for-agent: post agent brief comment. ready-for-human: same structure, note why can't delegate. needs-info: post triage notes with established facts + questions. wontfix: close with reason (already implemented / rejected).
完成标准: Outcome applied; comment posted; issue state updated.
## B — Boundaries & Limits
**不适用**:
- Self-generated tickets from to-tickets (already agent-ready — don't triage them)
- Pure code review (use code-review)
- Bug diagnosis (use diagnosing-bugs)
- Architecture design (use codebase-design + grill-with-docs)
**局限**: Triage assumes issue tracker is configured (setup-matt-pocock-skills). Redundancy check may miss implementations with different naming. "Verify the claim" may require execution environment. Agent brief quality depends on grilling depth. Reporter may not respond to needs-info, stalling the issue.
## Related Skills
- **setup-matt-pocock-skills** (precondition for issue tracker + triage labels), **grill-with-docs** (grills issues into agent-ready shape), **to-tickets** (creates tickets that triage doesn't need to process), **implement** (picks up ready-for-agent issues), **code-review** (reviews PRs that triage processes)
## Audit
V1✓ V2✓ V3✓ | 2026-08-26 | Source: D:\outcome\self\upstream\mattpocock__skills\skills\engineering\triage\SKILL.md
在 GitHub 查看