快速开始
npx skills add mattpocock/skills --skill=triagenpx skills update triage功能说明
triage 通过一个由分类角色组成的小型状态机来推动你项目追踪器上的 issue——对它们进行分类、验证其主张、如有需要则通过拷问将其打磨成形,并留下一份 ready-for-agent 的简报。
它从不盲目打标签。每个被分类的项恰好携带一个类别角色(bug / enhancement)和一个状态角色(needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix),并且它会建议并等待——它会告诉你它的类别和状态判断并附上推理,然后只按你的指示行动。在任何项被提升为 ready-for-agent 之前,它首先进行验证:bug 会被复现,PR 会被检出并运行。
何时使用
你通过输入 /triage 并用自然语言描述你想要的内容来调用它——智能体不会主动使用它。"展示任何需要我关注的内容"、"我们来看看 #42"、"把 #42 移到 ready-for-agent"。
当你的问题追踪器中有原始的、未经评估的报告,而你想要对它们进行分类、验证,并将其转化为智能体或人可以接手的工作时使用它。如果是要把一次已确定的对话转化为一份全新的规格说明,请使用 to-spec;如果要把现有的规格说明拆分为任务,请使用 to-tickets。triage 是反向路径——它处理的是已经进入追踪器的内容。
前置条件
triage 读写你的问题追踪器,所以 setup-matt-pocock-skills 必须已经配置好了追踪器和标签映射。上述角色名称是规范名称——你的追踪器中实际的标签字符串可能不同,而该映射由 setup 提供。配置还决定外部 PR 是否算作请求来源,以及谁算作外部人员。
PR 是附带了代码的 issue
当追踪器将外部 pull request 视为请求来源时,triage 会通过同样的状态机来运行它们:相同的类别角色、相同的状态、相同的转换——只是状态针对的是 diff 而不是一份报告。ready-for-agent 表示附带了简报,智能体应该对代码采取下一步行动;ready-for-human 表示已经准备好合并。发现功能只展示外部 PR,但一个明确命名的 PR 无论作者是谁都会被分类。
先验证,再简报
将 triage 与临时打标签区分开来的步骤是验证。它会根据报告者的步骤复现 bug,或者检出 PR 并运行测试,然后报告结果:已确认并指出代码路径、复现失败、或细节不足(这本身就是一个强烈的 needs-info 信号)。它还会运行两项代码库检查——冗余性(这个功能是否已经实现了?如果是,则标记为 wontfix)和先前已拒绝(.out-of-scope/ 是否已经否定了这个?)。经过确认的验证能生成一份强得多的智能体简报;猜测则不能。
成功的标志
- 它处理的每个项最终都恰好有一个类别角色和一个状态角色——从不是零个,也从不有两个冲突的状态。
- 它会向你提交一份带推理的建议并等待,而不是自行重新打标签。
- 在任何项到达
ready-for-agent之前,bug 已被复现,PR 已被运行。
- 它发布到追踪器的每条评论都以
> *This was generated by AI during triage.*免责声明开头。
在整个流程中的位置
triage 是对你的问题追踪器进行定期维护——每当报告堆积时就运行它,以保持队列有序,并确保 ready-for-agent 列是可信的。它位于追踪器的最前端,在构建链的上游:它编写的简报正是 tdd 稍后接手实现的内容。当某个请求需要打磨时,它会借助 grilling 和 domain-modeling 一次一个问题地将其拷问成形。它的近邻是 to-spec,后者从全新的对话中填充追踪器,而 triage 则处理已经在追踪器中的内容。当你不确定哪个技能或流程适合时,可以找 ask-matt 帮你导航。