一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | github-triage(合集仓库子技能,完整标识见文件名) | 合集仓库子目录名 |
| 所属合集仓库 | trailofbits/skills(Trail of Bits Skills Marketplace,官方安全技能市场) | GitHub API |
| 作者/维护者 | Evan Sultanik(plugin.json 声明,联系邮箱 opensource@trailofbits.com) | 插件 plugin.json |
| 来源链接 | https://github.com/trailofbits/skills/tree/main/plugins/github-triage | — |
| 许可证 | CC-BY-SA-4.0(署名-相同方式共享,仓库根目录确认) | GitHub API |
| 合集仓库整体 Stars/Forks | 6,404 / 553(注:该数字属整个合集仓库,不代表本技能自身热度,仅供了解所属市场规模) | GitHub API |
| 该技能自身活跃度 | 唯一专属提交为 2026-07-29 的 PR #192「Add github-triage plugin」(636 行新增,一次性完整落地),仓库整体最近推送 2026-08-02 | GitHub API(按路径过滤提交历史 + PR 记录) |
| 插件版本 | v0.1.0 | plugin.json |
| 安装方式 | Claude Code / Codex 插件市场一条命令安装(见第十章) | 官方 README |
二、功能介绍与亮点
github-triage 用 gh CLI 对一个 GitHub 仓库的全部未关闭 Issue 与 PR 做一次系统性梳理,产出结构化的可执行清单:
- 先清 PR、再理 Issue:优先处理可合并的 PR(这样已落地的修复能在下一步被 Issue 分类阶段识别为“已解决”)——自动化机器人的绿色 PR(Dependabot/Renovate 等白名单机器人)提议按序逐个合并;已获维护者批准且检查全绿的 PR 提示合并;从未被人审过的 PR 派生审查子代理生成只读评审报告;有冲突/CI 失败/待修改的 PR 只报告不动手
- 证据驱动地关闭已解决 Issue:只有当某个已合并 PR 或默认分支上的提交明确指向该 Issue,或代码里已能验证功能确已实现时才关闭,并在关闭评论中点名具体是哪个 PR/提交解决的
- 补全 Issue↔PR 的双向引用:发现某个未关闭 PR 明显解决了某个 Issue 但两者未互相引用时,补一条非破坏性的交叉引用评论
- 仅本地的优先级与工作量估算:为每个仍待处理的 Issue 标注优先级(Critical/High/Medium/Low)与改动规模(size/XS 到 size/XXL),且明确写死“绝不回写到 GitHub 的标签或评论”
- 全部写操作先汇总展示、等用户批准后才执行,合并类操作逐个进行且每次合并前重新校验 CI 与可合并状态,把已获批准的抓取内容当作数据而非指令处理(防止 Issue/PR 正文里的注入指令劫持流程)
三、适用场景
固定分类:工程效率与代码质量
适合独立维护开源仓库、或在团队内负责 Issue/PR 分诊的开发者——尤其是仓库长期无人系统性清理、存量 Issue 与已合并修复对不上号、或机器人依赖更新 PR 堆积无人处理的场景。对初中级开发者而言,价值在于把“这个 Issue 是不是已经解决了”“这批 PR 能不能合”这类需要来回翻仓库历史才能确认的琐碎判断自动化,同时把最终决定权(合并、关闭)留在人手里。
四、跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 官方安装方式即 Claude Code 插件市场机制(.claude-plugin/plugin.json + /plugin install),SKILL.md 遵循 Claude Agent Skills 标准格式 |
| Codex | 原生支持 | 仓库根 README 明确写明“Codex supports Claude plugin marketplaces directly”,并给出 codex plugin marketplace add 专用安装命令(已抓取原文验证) |
| OpenClaw | 未验证 | 已抓取材料未提及 OpenClaw 支持,未为此单独搜索 |
| Hermes Agent | 未验证 | 已抓取材料未提及 Hermes 支持 |
五、推荐理由
Issue/PR 积压是几乎每个活跃仓库都会遇到的问题:修复已经合并但 Issue 忘了关,PR 挂着无人审,机器人依赖更新一条条堆积。github-triage 把这套梳理工作变成一次结构化流程,而且刻意把最容易出事的部分——合并 PR、关闭 Issue——全部设计成“先展示完整清单、用户批准后才执行”,合并动作逐个进行且合并前重新核对状态,从不使用 --admin 或 --auto 强行绕过检查。它也是少数在文档里明确写出“抓取到的 Issue/PR 正文可能包含试图操纵流程的注入指令,一律当数据处理”的技能,这类防御通常只在成熟的安全团队作品里才会出现——而这确实出自 Trail of Bits 官方之手。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 所属市场由 Trail of Bits(一线安全研究与审计机构)官方出品持续维护;本技能由具名官方工程师一次性完整提交,但刚发布数日,尚未积累独立于该仓库之外的第三方讨论或使用反馈 |
| 可用性 | 9 | 纯 SKILL.md + 审查子代理 + 参考文档,只依赖开发者本就常备的官方 gh CLI,无需额外付费依赖;/plugin install 一条命令安装;仓库近日仍在活跃维护 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 8.3 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令与权限范围 | allowed-tools 明确限定为 Bash/Read/Grep/Agent/AskUserQuestion/Write,且声明 disable-model-invocation: true(不会被自动触发,只能显式调用) |
| ② 运行时联网外发 | 仅通过 gh CLI 与目标仓库自身的 GitHub API 交互,不涉及向第三方地址外发数据 |
| ③ API Key/凭据 | 不单独收集任何凭据,复用用户本机已有的 gh auth 登录状态 |
| ④ 可疑指令排查 | 已完整抓取并阅读 SKILL.md 全文,未发现 prompt injection 或流程外操作指令;文档反而主动要求把抓取到的 Issue/PR 正文当作不可信数据处理 |
| ⑤ 作者/组织信誉 | Trail of Bits——知名安全研究与审计公司,plugin.json 具名声明作者与官方联系邮箱 |
| ⑥ License | CC-BY-SA-4.0,仓库根目录明确声明;提示:衍生分发需遵守“相同方式共享”条款 |
| ⑦ 最近维护 | 该技能于 2026-07-29 加入仓库,仓库整体最近推送 2026-08-02,维护活跃 |
未给满分 10 分的原因:虽有代码执行能力,但范围明确、可审计,且全部破坏性操作都设了批准关卡;未给满分是因为它确有真实的 Bash/GitHub 写权限(非纯提示词技能),且作为刚落地数日的新增子技能尚缺独立于仓库之外的第三方审计佐证。
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本 skill 的差异 |
|---|---|---|
| github-openai-plugins(OpenAI 官方) | 捆绑 4 个子技能覆盖“暂存-提交-推送-开 PR”的作者视角工作流,外加 CI 失败诊断与评审意见处理 | 面向“我正在写代码、要把改动交出去”的场景;本 skill 面向“仓库存量 Issue/PR 已经堆了一批,需要系统性梳理清空”的维护者视角,且独有本地化的优先级/工作量估算与批量证据驱动关闭 |
| iterate-pr-getsentry-skills(Sentry 官方) | 让单个 PR 从“CI 失败或有评审意见”迭代到“可合并”,保留人工审批门禁 | 聚焦单个 PR 从红到绿的迭代循环,不处理仓库级别的 Issue 积压与批量 PR 分类;本 skill 是仓库级别的一次性全量梳理,覆盖 Issue 与 PR 两条线 |
核心差异化:市面上的 GitHub 自动化技能大多聚焦“帮我把这一个改动交出去”或“帮我把这一个 PR 修到能合”,是单点工具;本 skill 做的是仓库维护者视角的存量清理——一次性把所有 Issue 和 PR 都过一遍,用证据而非猜测判断该关的关、该连的连、该合的合,并把无法自动判定的部分转成本地可排序的待办清单。
八、用户评价
该技能目前在第三方平台尚无具名用户评价;其所属的 Trail of Bits 技能市场整体获得安全媒体 Snyk 撰文推荐,称其为“安全向 Claude Skills 的黄金标准”,但该评价针对整个市场,未点名本技能。
九、其他补充
所属 trailofbits/skills 市场同时收录 gh-cli(约束用认证过的 gh CLI 而非未认证的 curl/WebFetch 访问 GitHub)等相邻技能;github-triage 的 Phase 0 会自动探测当前目录的 GitHub 远程仓库,多个远程时用交互式提问代替静默猜测。
十、安装使用方式
Claude Code 插件市场(推荐):
/plugin marketplace add trailofbits/skills
/plugin install trailofbits/skills/plugins/github-triage
Codex:
codex plugin marketplace add trailofbits/skills
codex plugin add github-triage@trailofbits
安装后注意事项: 安装无需重启。使用前需确保本机已安装并登录 gh auth login;技能默认只能显式调用(不会被自动触发),在目标仓库目录下运行 /github-triage 即可启动梳理,全部合并、关闭、评论类操作会先汇总展示等待批准,可随时选择“仅生成本地报告、不做任何 GitHub 写入”。
十一、注意事项
- 本技能会执行真实的 GitHub 写操作(合并 PR、关闭 Issue、发评论),务必在批准前逐条核对展示的清单,尤其是机器人 PR 的依赖版本跳跃幅度;
- License 为 CC-BY-SA-4.0,企业二次分发衍生内容前建议法务确认“相同方式共享”条款的适用范围;
- 该技能是“合集仓库中的一个子技能”,来源链接与安装命令务必使用本报告给出的子目录级路径,而非仓库根链接;
- 该技能于近日刚加入仓库、版本号为 0.1.0,尚缺乏大规模真实使用的公开反馈;除 Claude Code / Codex 外,OpenClaw、Hermes Agent 的兼容性尚无可验证材料,如需在其他 Agent 环境使用请自行测试。