triage
让 Issues 和外部 PR 沿分诊角色状态机流转:分类、验证、必要时持续追问,并编写可直接交给 Agent 的任务简报。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
让 Issues 和外部 PR 沿分诊角色状态机流转:分类、验证、必要时持续追问,并编写可直接交给 Agent 的任务简报。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
使用并行 sub-agents 为一个 module 生成多套差异显著的 interface 设计。适用于用户希望设计 API、探索 interface 选项、比较 module 形态,或提到“design it twice”的场景。
运行交互式 QA session:用户通过对话报告 bugs 或 issues,agent 随后创建 GitHub issues;同时在后台探索 codebase,获取上下文和 domain language。适用于用户希望报告 bugs、开展 QA、通过对话创建 issues,或提到“QA session”的场景。
通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。
从当前对话中提取一份 DDD 风格的 ubiquitous language glossary,标出歧义并提出规范术语,保存到 UBIQUITOUS_LANGUAGE.md。适用于用户希望定义 domain terms、建立 glossary、收紧术语、创建 ubiquitous language,或提到“domain model”或“DDD”的场景。
询问当前情境适合使用哪个 Skill 或工作流。本 Skill 是仓库内其他 Skills 的路由入口。
从用户指定的固定点(commit、branch、tag 或 merge-base)开始,从两个维度审查代码变更:Standards 检查代码是否遵守仓库记录的编码规范,Spec 检查实现是否符合原始 Issue、PRD 或规格。两个审查由并行子 Agent 分别完成,再并列汇报。适用于用户希望审查分支、PR、开发中的改动,或要求“审查自 X 以来的变更”时。
| name | triage |
| description | 让 Issues 和外部 PR 沿分诊角色状态机流转:分类、验证、必要时持续追问,并编写可直接交给 Agent 的任务简报。 |
| disable-model-invocation | true |
让项目 Issue 跟踪器中的 Issues 沿着一个小型分诊角色状态机流转。
如果当前仓库把外部 PR 也视为请求入口(参见 Issue 跟踪器配置),分诊同样覆盖这些 PR:PR 是附带代码的 Issue。它们使用相同角色、相同状态和相同状态机;仅有少量差异会在下文标记为“对于 PR”。遇到单独的 #42 时,根据跟踪器配置判断它是 Issue 还是 PR。
分诊过程中发布到 Issue 跟踪器的每一条评论或 Issue,必须以下方免责声明开头:
> *This was generated by AI during triage.*
.out-of-scope/ 知识库的使用方式两种类别角色:
bug——已有功能发生损坏enhancement——新功能或改进五种状态角色:
needs-triage——等待维护者评估needs-info——等待报告者补充信息ready-for-agent——信息完整,可以交给无需人工上下文的 Agentready-for-human——需要人类实现wontfix——不会处理对于 PR,同样的状态需要结合所附代码理解:ready-for-agent 表示已经附上任务简报,Agent 应接手 diff 的下一步工作;ready-for-human 表示已经可以由人类完成合并。
每个完成分诊的 Issue 都必须恰好拥有一个类别角色和一个状态角色。如果多个状态角色互相冲突,先标记问题并询问维护者;在得到答复前不得继续。
这些名称属于标准角色,Issue 跟踪器中实际使用的标签字符串可能不同。相应映射应当已经配置;没有时运行 /setup-matt-pocock-skills。
状态转换:无标签 Issue 通常先进入 needs-triage,再从这里转入 needs-info、ready-for-agent、ready-for-human 或 wontfix。报告者回复后,needs-info 返回 needs-triage。维护者可以随时覆盖状态;遇到看起来异常的转换时,先指出并询问,再继续处理。
维护者运行 /triage,并使用自然语言说明需求。理解请求后直接执行。例如:
查询 Issue 跟踪器,分成三组展示,每组按最旧优先排序:
needs-triage——正在评估。needs-info,且报告者在上次分诊记录后有新活动——需要重新评估。PR 属于分诊范围时,把外部 PR 放入相应分组,并在每行标记 [PR] 或 [issue]。发现列表只展示外部 PR;谁属于外部人员由跟踪器配置定义。协作者正在推进的 PR 不属于分诊工作。此过滤仅用于发现列表;用户明确指定某个 PR 时,无论作者是谁都必须分诊。
显示每组数量,并为每项提供一行摘要。让维护者选择下一项。
收集上下文。 阅读完整 Issue 或 PR,包括正文、评论、标签、作者和日期;对于 PR,还要阅读 diff。解析以前的分诊记录,避免重复询问已经解决的问题。使用项目领域术语表探索代码库,并遵守所涉及区域的 ADR。针对代码库执行两项检查:(a) 重复性——按领域概念搜索是否已经实现所请求行为,不能只搜索请求原文;同时报告检查过的位置。已经存在时,按“已经实现”的 wontfix 处理,参见步骤 5。(b) 过去的拒绝记录——读取 .out-of-scope/*.md,展示与当前请求相似的记录。
提出建议。 向维护者说明建议采用的类别和状态及其理由,同时给出与请求有关的代码库摘要,包括该能力是否已经实现。等待维护者指示。
验证主张。 进入追问前,先检查请求中的主张是否成立。对于 bug,按照报告者步骤复现。对于 PR,检出代码并运行相关测试或命令,确认 diff 是否实现了其声称的行为。报告结果:已确认(附代码路径)、验证失败,或信息不足;信息不足是强烈的 needs-info 信号。经过确认的验证会显著提高 Agent 简报质量。
持续追问(需要时)。 请求仍需补充时,同时运行 /grilling 和 /domain-modeling Skills。每次只问一个问题,把请求逐步打磨完整;决策产生时同步打磨领域术语,并更新 CONTEXT.md 或 ADR。
应用结果:
ready-for-agent——发布一条 Agent 任务简报评论,格式参见 AGENT-BRIEF.md。ready-for-human——使用与 Agent 简报相同的结构,但说明无法委托的原因,例如需要判断、外部访问权限、设计决策或人工测试。needs-info——按照下方模板发布分诊记录。wontfix——关闭请求,评论内容根据原因决定:
.out-of-scope/。该知识库记录的是被拒绝的请求,不是已经实现的功能。.out-of-scope/,在评论中链接该记录,然后关闭,参见 OUT-OF-SCOPE.md。needs-triage——应用对应角色。有部分进展时,可以选择留下评论。维护者说“把 #42 移到 ready-for-agent”时,相信其判断,直接应用角色。先确认即将执行的操作,包括角色变化、是否评论、是否关闭,然后执行。跳过持续追问。没有经过追问就移到 ready-for-agent 时,询问维护者是否希望编写 Agent 任务简报。
## Triage Notes
**What we've established so far:**
- point 1
- point 2
**What we still need from you (@reporter):**
- question 1
- question 2
把追问过程中已经确定的全部内容写入 “established so far”,避免成果丢失。问题必须具体且可执行,不能只写“请提供更多信息”。
Issue 或 PR 中已有分诊记录时,先阅读记录,检查报告者是否已经回答未解决的问题,再展示更新后的整体情况。不要重复询问已经解决的问题。