SuperAPI AI 工具集

issue-triage

智能体与模型

查看项目

更新于 10-18 05:08

技能介绍

该技能(skill)用于对 modelcontextprotocol/servers 仓库的外部输入进行分流,覆盖仓库收到的外部 issue 和外部 PR。仓库自身开启的 issue/PR 远少于外部提交,且其中很多是错投(服务器收录、新服务器请求、SDK 问题),也会出现多个 PR 抢修同一 bug 的情况。技能提供统一的处理流程:先分类,再处理不属于本仓库的类别,其余未批准先加入看板,最后审计看板。

规则来源:AGENTS.md 的 Contributing 与 Issue-driven work style 部分;看板 ID 与增删移动卡片的操作在 board-ops 中(首次写入看板前须先加载 board-ops);创建 issue 时使用的标签来自 issue-create;外部 PR 待办计划见 docs/contribution-model.md 的 “The plan”。

命令含义:“Triage new issues” 指对每个未上板的开放 issue 做类别检查并执行 pass 1,然后审计看板;“Triage the PRs” 指对开放的外部 PR 生成快照并分类为清单,然后暂停等待维护者审阅。pass 2 与关闭外部 PR 均需人工,不会在无提示下执行。历史积压的一次性清理记录在 #4875(issue 为 #4876,PR 为 #4877),沿用本技能的类别与回复,并遵循该跟踪项设定的约定(如关闭标签、每条关闭评论引用 #4875)。

对外操作注意事项:每个标签、评论和关闭都会通知到他人,因此一批关闭必须先在维护者审阅清单(列出每项、其类别及指向的 issue)后进行;单个由维护者点名的关闭可直接执行。写入循环需限速(调用间间隔数秒),首次失败即停止,避免触发 GitHub 次级限流后留下半完成的批次。不得在公开场合复述漏洞细节。快照与清单放入 mktemp -d 临时目录,不得留在仓库工作区。

Step 0(先分类再上板):逐条阅读未上板 issue。类别包括:服务器收录/提交请求(关闭,不计划,回复 Registry, issue)、新服务器请求(关闭,回复 Registry, issue)、归档服务器问题(关闭,回复 Archived)、SDK 或规范问题(关闭,回复 Elsewhere)、重复(按重复关闭并删除卡片,回复 Duplicate)、垃圾或空内容(关闭,无回复)、安全报告(停止,由维护者决定)、其余(进入 pass 1,无回复,仅评分评论)。判断存疑时选择上板而非关闭。关闭命令示例使用 gh issue close 与 --reason "not planned",重复项使用 board-ops 的 state_reason=duplicate。

Pass 1(上板,不代表批准):对无卡片的开放 issue(不论作者)打标签(v2、恰好一个类型标签 bug/enhancement/documentation/chore/question、涉及单个服务器时加 server-<name>),用 board-ops add-card 以 Status Incoming 上板,按细则计算优先级并在 issue 发布分数评论,保持 milestone 为空以标记待审。例外:已有 milestone 的未上板 issue 直接进入 Todo 并保留 milestone。查找未上板项使用 gh issue list 与 gh project item-list 43,并校验列表未被截断。中途中断后应先完成最后处理的 issue,再从查找结果继续。

Pass 2(批准):由维护者阅读 Incoming,为值得做的 issue 指定 milestone 并移到 Todo(或立即开始时移到 In Progress)。常规清理不得自行将卡片移出 Incoming。

优先级细则:两个维度各评 1–5 分——严重性与影响(1 外观问题;2 轻微摩擦;3 工具/资源/提示损坏且绕过麻烦;4 服务器核心功能不可用或协议报告有误;5 数据丢失、安全漏洞或发布即坏)、紧急度与搁置时间(1 无时间压力;2 最终需要;3 本里程碑需要或超过 90 天无活动;4 阻塞其他工作或关联有日期的外部依赖;5 阻塞发布或正在影响已发布版本用户)。另加信号加分(各 +1):带 bug 标签或涉及安全;已有 milestone(仅重评分时);高互动;已分配;为更大跟踪项的子任务;报告者将 Fields → Priority 设为 Urgent 或 High。总分 2–16,12+ 为 Urgent,9–11 为 High,6–8 为 Medium,≤5 为 Low;分值明显不符时可覆盖并在评论中说明理由。评分评论需公开写明算术与各加分项,示例使用 gh issue comment。

信任边界:看板 #43 为私有,仅具项目权限者可见;issue 页面的 Fields → Priority 为公开字段,由报告者设置的值仅算偏好(+1),不得直接复制到卡片。

安全报告:应通过 advisory 表单私下提交,由维护者在安全公告流程(#4870)处理。若以公开 issue 或 PR 出现:不得复述或讨论细节,评论中只写分档;先检查私有公告积压;转交维护者决定关闭、转为私有公告还是公开修复,通常回复为“感谢报告,请勿在此补充细节,本仓库通过 advisory 表单私下接受漏洞报告,维护者将跟进”。

外部 PR:外部 PR 指作者不是仓库维护者(角色为 admin 或 maintain)也不是 Dependabot 的开放 PR;处理方式是关闭而非审查合并,并在其中值得保留的内容由 issue 跟踪后指向 issue 流程。Dependabot PR 本不应存在,若出现应指向覆盖同一升级的清理 issue,并向维护者反映原因;尚无对应清理 issue 时不得用 issue-create 新建,而应触发对应工作流。资料注明:在 milestone merge 将清理流程带入 main 之前,上述 Dependabot 处理尚不适用,需暂时保持其 PR 开放,由合并 PR 关闭并引用 #5065。