Kipt

Triage skill: what it does and how to install it

The triage skill from mattpocock/skills moves incoming issues and PRs through labelled states and writes agent-ready briefs. What it does and how to install it.

By the Kipt team · Updated 24 October 2026

Source: mattpocock/skills · Maintainer: community: Matt Pocock · License: MIT · Checked: 24 October 2026

What is the triage skill?

The triage skill turns your coding agent into an issue triager: you type /triage, and it sorts incoming bug reports, feature requests and (optionally) outside pull requests into a fixed set of labelled states, checks each claim against the code, and ends with an agent-ready brief, specific questions for the reporter, or a closed issue with a recorded reason. It recommends first and waits for you before applying anything.

It comes from mattpocock/skills. The skill's description reads: "Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs."

As of 24 October 2026, its skills.sh page listed 989.9K installs (snapshot, 24 October 2026).

What does it do?

The SKILL.md defines a small state machine. Every triaged item carries exactly one category role and one state role:

Role Type Meaning
bug Category Something is broken
enhancement Category New feature or improvement
needs-triage State Maintainer needs to evaluate
needs-info State Waiting on the reporter
ready-for-agent State Fully specified, ready for an AFK agent
ready-for-human State Needs a human to implement
wontfix State Will not be actioned

For one issue, it works in five steps:

  1. Gather context. Read the issue or PR in full, parse earlier triage notes, explore the code using your glossary and ADRs, and run two checks: is this already implemented, and does .out-of-scope/ already record a rejection of the same idea?
  2. Recommend a category and state with reasoning, then wait.
  3. Verify the claim. Reproduce the bug from the reporter's steps, or check out the PR and run the relevant tests.
  4. Grill if needed. It loads the grilling and domain-modeling skills and asks questions a round at a time, updating GLOSSARY.md and ADRs as decisions land.
  5. Apply the outcome. Post an agent brief, post triage notes asking specific questions, or close as wontfix. A rejected enhancement gets a file in .out-of-scope/; an already implemented one does not.

Every comment it posts must start with > *This was generated by AI during triage.*

Triggers. None automatic. The frontmatter sets disable-model-invocation: true, so you type /triage and describe what you want, such as "Show me anything that needs my attention" or "Move #42 to ready-for-agent".

Folder contents:

  • SKILL.md: roles, transitions, the triage steps and the needs-info template.
  • AGENT-BRIEF.md: how to write briefs that survive code changes. Describe types, interfaces and behaviour; "Don't reference file paths: they go stale".
  • OUT-OF-SCOPE.md: how the .out-of-scope/ knowledge base works, with one file per rejected concept rather than per issue.
  • agents/openai.yaml: Codex metadata with implicit invocation turned off.

How do you install the triage skill?

The README offers a plugin or editable files and says to pick one per agent, because installing both gives you every skill twice.

Claude Code plugin (whole collection, updates itself). From Anthropic's official plugin marketplace:

claude plugin install mattpocock-skills@claude-plugins-official

It then appears as /mattpocock-skills:triage, because Claude Code namespaces plugin skills.

Codex plugin. From the README:

codex plugin marketplace add mattpocock/skills
codex plugin add mattpocock-skills@mattpocock

Just this skill, as editable files. The command on skills.sh is:

npx skills add https://github.com/mattpocock/skills --skill triage

triage calls three other skills, so add them with extra --skill flags, which the skills CLI supports: setup-matt-pocock-skills, grilling and domain-modeling. For Claude Code, folders land in .claude/skills/<name>/ in your project, or ~/.claude/skills/<name>/ with -g, the standard Claude Code skill locations. Codex and Cursor read the same SKILL.md format; see Codex skills and Cursor skills.

Then run setup once per repo. /setup-matt-pocock-skills records your tracker and label names in docs/agents/. The SKILL.md says the mapping "should have been provided to you. If not, tell the user to run /setup-matt-pocock-skills."

How do you use it?

Start with the overview, pick an item, and let it recommend before you approve anything.

Example prompts (suggestions, not quotes from the repo):

  • /triage Show me anything that needs my attention.
  • /triage Let's look at #42.
  • /triage Move #57 to ready-for-agent and write the agent brief.
  • /triage What's ready for agents to pick up?
  • /triage Go through the needs-info issues where the reporter replied. Read every comment on each one.

The overview groups items into three buckets, oldest first: unlabelled, needs-triage, and needs-info with new reporter activity.

Requirements. An issue tracker configured by setup. For GitHub that means the gh CLI, for GitLab the glab CLI; local markdown under .scratch/ needs no CLI. Verifying bugs and PRs also needs your project's own test commands to run locally.

When should you not use triage?

The triage docs draw clear lines:

What you have Use instead
Tickets you made with to-tickets Nothing. They already carry ready-for-agent
A rough idea of your own grill-with-docs
A confirmed bug that needs a root cause diagnosing-bugs

triage's verification is shallow on purpose: "is this real, and roughly where does it live", not a root-cause hunt.

Tips and limits

From the repo's docs and the audit pages, not from testing:

  • Bulk runs can skip comments. The docs report a bulk run where the overview listing returned issue bodies but not comments, so issues a comment had already marked as fixed got new briefs. The current GitHub template asks gh for comments too, but older setups may not. For a pass over many issues, tell it to read every comment.
  • Only five states. Requests for blocked (#139) and deferred (#297) states were open on 24 October 2026. People add a repo-local extra label as a workaround.
  • Missing labels. Older setups wrote the label mapping without creating labels, so gh could fail on ready-for-agent. The current setup SKILL.md creates missing labels; on an older setup, create them once by hand.
  • Local markdown quirk. An open issue (#200) reports duplicated acceptance criteria in local issue files.
  • It runs other people's code. Verifying a PR means checking it out and running its tests. On 24 October 2026, skills.sh showed Warn from Gen Agent Trust Hub (medium risk, audited 29 September 2026), citing indirect prompt injection from issue and PR text and running code from external PRs, and Warn from Snyk (medium, W011, third-party content exposure, audited 29 September 2026). Socket showed Pass. If you triage PRs from strangers, run the checks in a sandbox or container.

The skill folder holds no scripts. It is MIT licensed, so you can copy and adapt it as long as you keep the copyright notice.

Save it in your Kipt library

In Kipt, open Skills and paste the skill's GitHub folder link into the import box. Kipt reads the SKILL.md along with AGENT-BRIEF.md and OUT-OF-SCOPE.md; because the repo holds many skills, it shows a list to pick from, so you can take setup, grilling and domain-modeling in the same pass. You can also drop the folder or a .zip. Your library lives in your own private GitHub repo and installs into Claude Code or Codex with one command:

npx skills add https://github.com/<you>/<repo>.git --all -g

Kipt is not affiliated with Matt Pocock or mattpocock/skills.

Similar skills

Questions

What is the triage skill?

triage is an Agent Skill in Matt Pocock's mattpocock/skills repo. When you type /triage, the agent works through incoming issues and, if enabled, external pull requests, giving each one category role and one state role, and ends with an agent brief, questions for the reporter, or a closed issue with a reason.

What labels does the triage skill use?

Two category roles, bug and enhancement, and five state roles: needs-triage, needs-info, ready-for-agent, ready-for-human and wontfix. These are canonical names; setup-matt-pocock-skills maps them to the label strings your tracker actually uses.

Do I need to run setup-matt-pocock-skills before triage?

Yes. The SKILL.md expects a label mapping and tells the agent to ask you to run /setup-matt-pocock-skills if it is missing. The repo's ADR lists triage as a hard dependency, meaning its output is wrong without the config.

Should I run triage on tickets I created with to-tickets?

No. The docs say triage is only for incoming issues you didn't create. to-tickets already applies the ready-for-agent label, so running triage over those tickets wastes the work.

Does the triage skill work with GitLab, Linear or local files?

Yes. The tracker is configuration, not a hard-coded assumption. Setup ships templates for GitHub, GitLab and local markdown under .scratch/, and the docs say people run triage against Linear through the 'Other' tracker option.

More in Skill directory

All guides

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.