| name | triage |
| description | Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs. |
| 触发词 | 将 issue 和外部 PR 通过分诊角色的状态机进行流转——分类、验证、必要时追问,并编写代理就绪的简报。 |
| disable-model-invocation | true |
Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs.
Move issues on the project issue tracker through a small state machine of triage roles.
将项目 Issue 跟踪器上的 issue 通过一个小的分诊角色状态机进行流转。
If this repo treats external pull requests as a request surface (see the issue-tracker config), triage covers them too: a PR is an issue with attached code — same roles, same states, same machine, with a few deltas marked "for a PR" below. Resolve a bare #42 to an issue or PR per the tracker config.
如果此仓库将外部拉取请求视为请求面(参见 issue-tracker 配置),分诊同样覆盖它们:PR 是带代码的 issue——相同的角色、相同的状态、相同的状态机,下面标注了几处"针对 PR"的差异。根据 tracker 配置将裸 #42 解析为 issue 或 PR。
Every comment or issue posted to the issue tracker during triage must start with this disclaimer:
分诊期间发布到 Issue 跟踪器的每条评论或 issue 必须以此免责声明开头:
> *This was generated by AI during triage.*> *此内容由 AI 在分诊期间生成。*.out-of-scope/ knowledge base works.out-of-scope/ 知识库如何运作Two category roles:
两个分类角色:
bug — something is brokenenhancement — new feature or improvementbug — 某个东西坏了enhancement — 新功能或改进Five state roles:
五个状态角色:
needs-triage — maintainer needs to evaluateneeds-info — waiting on reporter for more informationready-for-agent — fully specified, ready for an AFK agentready-for-human — needs human implementationwontfix — will not be actionedneeds-triage — 维护者需要评估needs-info — 等待报告人提供更多信息ready-for-agent — 已完整说明,可用于 AFK 代理ready-for-human — 需要人工实现wontfix — 不会被处理For a PR, the same states read against the attached code: ready-for-agent means a brief is attached and an agent should take the next step on the diff; ready-for-human means it's ready for a human to merge.
对于 PR,相同状态对照附加代码来解读:ready-for-agent 表示已附加简报,代理应对 diff 采取下一步行动;ready-for-human 表示已准备好由人工合并。
Every triaged issue should carry exactly one category role and one state role. If state roles conflict, flag it and ask the maintainer before doing anything else.
每个经分诊的 issue 应恰好带有一个分类角色和一个状态角色。如果状态角色冲突,标记出来并在采取任何操作之前询问维护者。
These are canonical role names — the actual label strings used in the issue tracker may differ. The mapping should have been provided to you - run /setup-matt-pocock-skills if not.
这些是规范角色名称——Issue 跟踪器中实际使用的标签字符串可能不同。映射关系应已提供给你——如果没有,运行 /setup-matt-pocock-skills。
State transitions: an unlabeled issue normally goes to needs-triage first; from there it moves to needs-info, ready-for-agent, ready-for-human, or wontfix. needs-info returns to needs-triage once the reporter replies. The maintainer can override at any time — flag transitions that look unusual and ask before proceeding.
状态转换:未标记标签的 issue 通常先进入 needs-triage;然后转为 needs-info、ready-for-agent、ready-for-human 或 wontfix。一旦报告人回复,needs-info 回到 needs-triage。维护者可以随时覆盖——标记看起来不寻常的转换,并在继续前询问。
The maintainer invokes /triage and describes what they want in natural language. Interpret the request and act. Examples:
维护者调用 /triage 并用自然语言描述他们想要的内容。解释请求并执行。示例:
Query the issue tracker and present three buckets, oldest first:
查询 Issue 跟踪器并按三个桶展示,最早的优先:
needs-triage — evaluation in progress.needs-info with reporter activity since the last triage notes — needs re-evaluation.needs-triage — 正在评估中。needs-info 且有自上次分诊笔记后的报告人活动 — 需要重新评估。When PRs are in scope, include external PRs in these buckets and tag each line [PR] or [issue]. Discovery surfaces only external PRs (the tracker config defines who counts as external) — a collaborator's in-flight PR is not triage work. This filter is discovery-only; an explicitly named PR is always triaged regardless of author.
当 PR 在范围内时,将外部 PR 包含在这些桶中,并标记每行为 [PR] 或 [issue]。发现阶段仅展示外部 PR(tracker 配置定义了谁算外部)——协作者正在进行的 PR 不属于分诊工作。此过滤仅适用于发现阶段;明确指定的 PR 无论作者如何始终会被分诊。
Show counts and a one-line summary per item. Let the maintainer pick.
显示每项的数量和一行摘要。让维护者选择。
wontfix (step 5). (b) prior rejection — read .out-of-scope/*.md and surface any that resembles this request.wontfix(步骤 5)。(b) 先前拒绝——阅读 .out-of-scope/*.md 并展示任何与此请求相似的内容。needs-info signal). A confirmed verification makes a much stronger agent brief.needs-info 信号)。经确认的验证会使代理简报更有力。/grilling and /domain-modeling skills together — grill it into shape one question at a time, sharpening domain terms and updating CONTEXT.md/ADRs inline as decisions land./grilling 和 /domain-modeling 技能——一次一个问题地追问成型,在决策落地时同步精炼领域术语并更新 CONTEXT.md/ADR。ready-for-agent — post an agent brief comment (AGENT-BRIEF.md).ready-for-human — same structure as an agent brief, but note why it can't be delegated (judgment calls, external access, design decisions, manual testing).needs-info — post triage notes (template below).wontfix — close, with the comment depending on why:
.out-of-scope/ (that KB is for rejected requests, not built ones)..out-of-scope/, link to it from a comment, then close (OUT-OF-SCOPE.md).needs-triage — apply the role. Optional comment if there's partial progress.ready-for-agent — 发布代理简报评论(AGENT-BRIEF.md)。ready-for-human — 结构与代理简报相同,但注明为何不能委派(判断性决策、外部访问、设计决策、手动测试)。needs-info — 发布分诊笔记(模板见下文)。wontfix — 关闭,评论取决于原因:
.out-of-scope/(该知识库用于被拒绝的请求,而非已构建的功能)。.out-of-scope/,在评论中链接到它,然后关闭(OUT-OF-SCOPE.md)。needs-triage — 应用该角色。如有部分进展,可选择性添加评论。If the maintainer says "move #42 to ready-for-agent", trust them and apply the role directly. Confirm what you're about to do (role changes, comment, close), then act. Skip grilling. If moving to ready-for-agent without a grilling session, ask whether they want to write an agent brief.
如果维护者说"将 #42 移入 ready-for-agent",相信他们并直接应用该角色。确认你将要做的事情(角色变更、评论、关闭),然后执行。跳过 grilling。如果在没有 grilling 的情况下移入 ready-for-agent,询问他们是否想编写代理简报。
## Triage Notes
**What we've established so far:**
- point 1
- point 2
**What we still need from you (@reporter):**
- question 1
- question 2## 分诊笔记
**目前已确定的内容:**
- 要点 1
- 要点 2
**我们仍需要你(@reporter)提供的内容:**
- 问题 1
- 问题 2Capture everything resolved during grilling under "established so far" so the work isn't lost. Questions must be specific and actionable, not "please provide more info".
将所有在 grilling 期间已解决的内容记录在"目前已确定"下,这样工作不会丢失。问题必须具体且可操作,不能是"请提供更多信息"。
If prior triage notes exist on the issue or PR, read them, check whether the reporter has answered any outstanding questions, and present an updated picture before continuing. Don't re-ask resolved questions.
如果 issue 或 PR 上存在之前的分诊笔记,阅读它们,检查报告人是否已回答了任何待解答的问题,并在继续前呈现更新的情况。不要重复询问已解决的问题。