triage 用于把项目问题跟踪器中的 issue(以及符合配置的外部 PR)推进一个由分诊角色组成的小型状态机。每个被分诊的条目应恰好带一个类别角色和一个状态角色:类别角色为 bug(功能损坏)、enhancement(新功能或改进);状态角色为 needs-triage(待维护者评估)、needs-info(等待报告者补充信息)、ready-for-agent(已完整定义,可交给 AFK 智能体)、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、或询问哪些已就绪可交给智能体。分诊期间发布到跟踪器的每条评论或 issue 都必须以“> This was generated by AI during triage.”开头。发现问题时,先按三个桶展示(无标签、needs-triage、needs-info 且有新报告者活动),按最旧优先,每项给出一行摘要,外部 PR 标记 [PR]。
处理具体条目时,先读取完整 issue/PR(正文、评论、标签、作者、日期,PR 还需 diff),解析已有分诊笔记,结合领域术语和 ADR 探索代码库;做冗余检查(按领域概念而非原词搜索已有实现)和先前拒绝检查(读取 .out-of-scope/*.md)。随后给出类别与状态建议并等待指示,再进行验证:bug 需复现,PR 需检出并运行相关测试或命令,报告结果为确认、失败或信息不足。必要时调用 “grilling” 和 “domain-modeling” 技能逐步追问,并更新 GLOSSARY.md/ADRs。最后按结果应用:ready-for-agent 发布智能体简报;ready-for-human 用同样结构说明为何不能委托;needs-info 使用模板发布分诊笔记;wontfix 按原因关闭(已实现则指向代码位置,不写入 .out-of-scope/;拒绝 bug 礼貌解释后关闭;拒绝 enhancement 写入 .out-of-scope/ 并链接评论后关闭)。
限制:实际标签字符串可能与规范角色名不同,映射应由环境提供,若未提供需提示运行 /setup-issue-tracker。未知字段如具体收费、平台支持,资料暂未提供。