该技能面向 chainloop-dev/chainloop 仓库,用于自动审阅待处理的 Dependabot 拉取请求(PR),评估风险后批准安全项并合并。
用途:减少人工逐个处理依赖升级 PR 的负担,按规则自动放行低风险更新。
主要能力:
- 列出开放 PR:使用 mcp__github__list_pull_requests,参数 owner: chainloop-dev、repo: chainloop、state: open,仅保留 dependabot[bot] 提交的 PR,收集编号、标题、head 分支与标签;若无则不处理。
- 风险评估:从标题 Bump <package> from <old-version> to <new-version> 解析版本变更类型,patch 为低风险、minor 为中风险、major 为高风险;用 mcp__github__get_pull_request_status 检查 CI,仅当所有检查均成功才算通过;用 mcp__github__get_pull_request_files 检查改动文件,若超出依赖清单(go.mod、go.sum、package.json、yarn.lock、Dockerfile*、.github/workflows/*)则标记;区分开发依赖(较低风险)与生产运行时依赖(较高风险);GitHub Actions 依赖的 patch/minor 通常低风险。综合矩阵:patch 且 CI 通过且仅改清单文件→低风险,自动批准并合并;patch 但 CI 未通过→中风险,仅批准不合并;minor 且 CI 通过且仅改清单文件→中风险,自动批准并合并;minor 且改动文件异常或 CI 未通过→高风险,不批准;major 一律高风险不批准。
- 审批与合并:对符合条件的 PR 用 mcp__github__create_pull_request_review(event: APPROVE)批准,再用 mcp__github__merge_pull_request(merge_method: squash)合并,合并失败记录后继续。
- 结果汇总:输出已合并、已批准待合并、已标记、出错 PR 的汇总表。
限制与注意事项:绝不强制合并,遵守分支保护规则;Go 模块 PR 合并后可能需要 go mod tidy;按最旧优先处理以避免依赖树冲突;带安全标签的 PR 优先,若 CI 通过则安全 patch/minor 按低风险处理。
资料未提供安装方式、定价或平台兼容性信息。