triage
A Matt Pocock Claude Code skill that moves incoming issues through a small state machine of triage roles — bug or feature, refined through clarification and scope decisions — with an explicit AI-disclaimer requirement on every comment and supporting AGENT-BRIEF.md and OUT-OF-SCOPE.md knowledge-base sub-docs.
Triage incoming issues through a state-machine of roles
Trigger phrases
Phrases that activate this skill when typed to Claude Code:
triage these issuesreview incoming bugsprep issues for an AFK agent
What it does
triage moves issues through a small state machine of triage roles. The skill ships with two reference sub-docs (AGENT-BRIEF.md for how to write durable agent briefs, OUT-OF-SCOPE.md for how the .out-of-scope/ knowledge base works) and a hard requirement: every triage comment posted to the tracker must begin with > *This was generated by AI during triage.*.
The two category roles:
bug— something is brokenfeature— something new is being requested
The machine moves issues from incoming → clarified → scoped (in-scope, out-of-scope, deferred). In-scope issues get durable agent briefs written so an AFK agent can grab them. Out-of-scope issues get added to the .out-of-scope/ knowledge base for traceability later.
When to use it
Reach for it when:
- The issue tracker has accumulated more than a handful of incoming bugs or feature requests and you can’t read each one in depth
- You want to prep issues for an AFK agent to grab independently and they need to be agent-ready (clear repro, clear scope, clear acceptance criteria)
- The scope of what you’re saying “no” to has become important enough to track as a knowledge base, not just as closed-with-no-action issues
- You need to enforce a consistent disclosure discipline (the AI-disclaimer at the top of every comment)
When not to reach for it:
- Single-issue triage that fits in your head — the state-machine overhead exceeds the win
- A tracker where you’re the only consumer and durable briefs aren’t needed
- An issue without enough context to triage at all — ask for repro first, triage after
Install
The skill is distributed via Pocock’s skills repo. Install via his recommended path (npx skills add or manual copy of the SKILL.md + the AGENT-BRIEF.md and OUT-OF-SCOPE.md sub-docs into .claude/skills/triage/) — see the repo README for canonical install instructions. Issue-tracker config and triage label vocabulary should be set up via setup-matt-pocock-skills first.
What a session looks like
A typical session starts with the agent reading the incoming issue, applying the category role (bug / feature), and either asking for clarification, accepting it as in-scope, deferring, or adding it to .out-of-scope/. Each comment posted to the tracker opens with the AI-disclaimer.
In-scope issues get an agent brief written following the AGENT-BRIEF.md template — the brief is what makes the issue AFK-grabbable. Out-of-scope issues get a short note explaining the reasoning and a pointer into the knowledge base.
The discipline that makes it work: scope decisions are durable. Saying “no” with a knowledge-base entry beats saying “no” by closing without comment, because the next similar request gets routed to the prior decision.
Receipts
TODO — to be filled in from a real session. When the skill is triggered in production use, capture: number of incoming issues triaged, ratio of in-scope / out-of-scope / deferred / needs-clarification, whether the AI-disclaimer requirement held up across every comment, and whether the .out-of-scope/ knowledge base caught a repeat request later in the project.
Source and attribution
Originally written by Matt Pocock. The canonical SKILL.md plus the AGENT-BRIEF.md and OUT-OF-SCOPE.md sub-docs live in the engineering/triage folder of his public skills repository.
License: MIT. You can install, adapt, and redistribute the skill, with attribution preserved.
This page documents the skill from a practitioner’s perspective. For the formal spec and any updates, defer to the source repo.