SuperAPI AI 工具集

triage

办公与效率

查看项目

更新于 10-15 18:09

技能介绍

用途

Triage 是一个 AI 辅助的 issue 管理技能,帮助项目维护者将 issue 和外部 PR 通过一套状态机进行流转。它旨在规范化请求的处理流程,从初步评估、信息收集、验证到最终分类,确保每个请求都被适当处理。

主要能力

角色定义

技能定义了两种分类角色和五种状态角色:

分类角色:

  • bug:表示某个功能已损坏
  • enhancement:表示新功能或改进

状态角色:

  • needs-triage:需要维护者评估
  • needs-info:等待报告者提供更多信息
  • ready-for-agent:已完全明确,可供 AFK 智能体执行
  • ready-for-human:需要人类实现
  • wontfix:不会处理

对于 PR,状态角色含义相同,但针对附加的代码:ready-for-agent 表示已附加简报,智能体应处理 diff 的下一步;ready-for-human 表示可以由人类合并。

每个已分类的 issue 应承载恰好一个分类角色和一个状态角色。若状态角色冲突,需标记并询问维护者。

状态流转

未标记的 issue 通常首先进入 needs-triage;随后可移至 needs-info、ready-for-agent、ready-for-human 或 wontfix。needs-info 在报告者回复后返回 needs-triage。维护者可随时覆盖,但技能会标记异常流转并请求确认。

调用方式

维护者通过 /triage 命令以自然语言描述需求,技能解析并执行。示例:

  • “显示需要我关注的事项”
  • “让我们看看 #42”(issue 或 PR)
  • “将 #42 移至 ready-for-agent”
  • “有哪些准备好让智能体接手?”

核心功能

  1. 展示待关注事项:查询 issue 追踪器,按最旧优先展示三个桶:未标记、needs-triage、以及 needs-info 且报告者有新活动。若 PR 在范围内,包含外部 PR 并标记 [PR] 或 [issue]。显示计数与每项的一行摘要,让维护者选择。

  2. 分类特定 issue 或 PR:

    • 收集上下文:阅读完整 issue/PR(正文、评论、标签、作者、日期;PR 还包括 diff)。解析之前的分类笔记,避免重复提问。使用项目领域词汇表探索代码库,遵守 ADR。
    • 执行两项检查:(a) 冗余性:按领域概念(而非仅请求措辞)搜索是否存在已实现的行为,并报告查找位置。若找到,则为已实现的 wontfix。(b) 先前拒绝:读取 .out-of-scope/*.md,呈现任何类似请求。
    • 推荐:向维护者告知分类与状态建议及理由,附上相关代码库摘要(包括是否已实现)。等待指示。
    • 验证声明:在质询前,检查声明是否成立。对于 bug,从报告者步骤复现。对于 PR,确认 diff 是否符合声明:检出、运行相关测试或命令。报告结果:已确认(附代码路径)、失败、或信息不足(强烈需要 needs-info 的信号)。
    • 质询(如需要):若请求需要充实,调用 Skill 工具两次,分别为“grilling”和“domain-modeling”,逐轮提问塑造需求,锐化领域术语并内联更新 GLOSSARY.md/ADR。
  3. 应用结果:

    • ready-for-agent:发布 agent brief 评论(AGENT-BRIEF.md)。
    • ready-for-human:与 agent brief 结构相同,但注明为何不能委托(判断调用、外部访问、设计决策、手动测试)。
    • needs-info:发布分类笔记(见模板)。
    • wontfix:关闭 issue,评论取决于原因:已实现(指向代码位置,不写入 .out-of-scope/);拒绝(bug)给予礼貌解释后关闭;拒绝(enhancement)写入 .out-of-scope/,从评论链接后关闭。
    • needs-triage:应用角色。若部分进展,可选评论。
  4. 快速状态覆盖:若维护者直接指示移动状态,信任并直接应用。确认即将执行的操作(角色变更、评论、关闭),然后执行。跳过质询。若移至 ready-for-agent 而无质询会话,询问是否要写 agent brief。

Needs-info 模板

## Triage Notes

**What we've established so far:**

- point 1
- point 2

**What we still need from you (@reporter):**

- question 1
- question 2

将质询期间解决的所有内容捕获在“已确立”下,以免工作丢失。问题必须具体且可操作,而非“请提供更多信息”。

恢复先前会话

若存在先前的分类笔记,读取它们,检查报告者是否回答了未决问题,并在继续前呈现更新画面。不要重复询问已解决的问题。

使用方式

  1. 确保项目已配置标签映射。若未提供,运行 /setup-matt-pocock-skills。
  2. 维护者调用 /triage 并描述需求。
  3. 技能根据上下文执行相应操作。

适用场景

适用于使用 issue 追踪器的开源或内部项目,维护者需要系统化处理大量 issue 和外部 PR 的场景。特别适合需要区分哪些工作可由 AI 智能体自动完成、哪些需要人类介入的团队。

限制

  • 需预先配置标签映射,否则无法运行。
  • 所有分类期间发布的评论或 issue 必须以“This was generated by AI during triage.”开头。
  • 技能依赖项目中的参考文档(AGENT-BRIEF.md、OUT-OF-SCOPE.md)和领域词汇表,缺失时功能受限。
  • 冗余性和先前拒绝检查的准确性取决于代码库和 .out-of-scope/ 知识库的状态。
  • 质询环节需要额外调用其他技能(grilling、domain-modeling),这些技能需可用。