用途:把项目 issue 跟踪器中的 issue(以及被配置为请求入口的外部 PR)沿一个小型状态机推进,完成分类、验证、追问与简报撰写。
主要能力:两类分类角色(bug、enhancement)与五种状态角色(needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix)。每个已分诊条目应恰好带一个分类角色和一个状态角色;状态冲突时先标记并询问维护者。状态流转:未标记通常先进入 needs-triage,再转向 needs-info、ready-for-agent、ready-for-human 或 wontfix;needs-info 在报告者回复后回到 needs-triage。维护者可随时覆盖。
使用方式:维护者调用 /triage 并用自然语言描述需求,例如“显示需要我关注的内容”“看看 #42”“把 #42 移到 ready-for-agent”“哪些已可供智能体接手”。展示关注项时按最旧优先列出三类:未标记、needs-triage、以及上次分诊后有报告者活动的 needs-info;PR 在范围内时标注 [PR] 或 [issue]。分诊具体条目时先收集上下文(正文、评论、标签、作者、日期,PR 还需 diff),解析既有分诊笔记,按领域术语探索代码库并遵守 ADR;执行冗余检查(按领域概念搜索已有实现并说明搜索位置)与既往拒绝检查(读取 .out-of-scope/*.md)。随后给出分类与状态建议及理由,等待指示;再验证主张(bug 按步骤复现,PR 检出并运行相关测试或命令),报告确认、失败或信息不足。需要时调用 Skill 工具两次,分别用于 grilling 与 domain-modeling,逐轮追问并同步更新 CONTEXT.md/ADR。最后按结果执行:ready-for-agent 发布智能体简报评论;ready-for-human 用相同结构但说明为何不能委派;needs-info 发布分诊笔记;wontfix 关闭 issue(已实现则指向代码位置,不写入 .out-of-scope/;拒绝的 bug 礼貌说明后关闭;拒绝的 enhancement 写入 .out-of-scope/ 并在评论中链接后关闭)。快速状态覆盖时信任维护者直接应用角色,确认后执行并跳过追问;若未经过追问就移到 ready-for-agent,询问是否要写智能体简报。
限制:分诊期间发布到跟踪器的每条评论或 issue 必须以“This was generated by AI during triage.”开头。角色名是规范名,跟踪器中的实际标签字符串可能不同,映射应已提供;若未提供,需提示用户运行 /setup-matt-pocock-skills。发现阶段只呈现外部 PR,协作者进行中的 PR 不算分诊工作,但被明确点名的 PR 无论作者都会分诊。恢复先前会话时先读既有笔记、检查未答问题并给出更新后的情况,不要重复询问已解决的问题。needs-info 模板要求列出已确立要点与仍需报告者回答的具体可执行问题。