返回顶部
m

merge-check合并检查

Analyze a GitHub pull request for mergeability — predict whether it will get merged based on technical, architectural, process, social, and compliance factors. Use when asked to review a PR, check if a PR will be merged, assess PR quality, or predict PR acceptance. Works with any GitHub PR via `owner/repo#number` or URL.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
693
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

merge-check

技能名称: merge-check
详细描述:

合并检查

通过针对全面的拒绝向量分类法进行分析,预测一个 GitHub PR 是否会被合并。这不是一个通用的代码质量工具——它回答的是:这个 PR 会被维护者合并吗?

快速开始

  1. 1. 运行数据收集脚本:
bash bash skills/merge-check/scripts/merge-check.sh owner/repo#123 # 或 bash skills/merge-check/scripts/merge-check.sh https://github.com/owner/repo/pull/123
  1. 2. 解析 JSON 输出
  2. 根据以下维度进行分析
  3. 生成可合并性报告

分析维度

收集数据后,对以下所有维度进行分析。加载 skills/merge-check/references/rejection-taxonomy.md 以获取详细的拒绝向量框架。

1. 技术信号(自动化关卡)

  • - CI 状态:所有检查是否通过?是否有失败或待处理?
  • 构建状态:能否编译/构建?
  • 覆盖率:是否显示有覆盖率回归?

2. PR 卫生状况

  • - 大小(最具预测性的单一因素):
- 🟢 <400 行代码变更——理想,易于审查 - 🟡 400–1000 行代码——有风险,审查者疲劳 - 🔴 >1000 行代码——危险区域,可能停滞或被拒绝
  • - 文件分布:集中在某个区域还是分散在多个目录?
  • 单一关注点:它只做一件事,还是一个大杂烩PR?
  • 标题与描述:清晰、有描述性?还是模糊/空白?
  • 关联问题:是否引用了某个 issue?(表明有意图性)
  • 提交卫生:提交信息清晰吗?数量合理吗?是否可压缩合并?

3. 架构适配性

  • - 模式一致性:是否遵循仓库惯例?(语言、目录结构、命名)
  • 依赖项:是否引入了新的依赖项?(高摩擦信号)
  • 范围蔓延:是否触及了其声明目的之外的内容?
  • 文件类型:是否与仓库的技术栈一致?

4. 审查状态

  • - 批准:是否已有批准?需要多少?
  • 请求变更:是否有未解决的变更请求?(强烈的拒绝信号)
  • 审查者分配:是否分配了所需的审查者?
  • 审查评论情绪:积极、中立还是对抗性?
  • CODEOWNERS:PR 是否触及了有代码所有者的文件?他们是否在审查?

5. 流程合规性

  • - 草稿状态:草稿 PR 不会被合并
  • 阻塞标签:WIP、do-not-merge、needs-work 等
  • PR 模板:是否遵循了模板?(空模板 = 危险信号)
  • CLA/DCO:如果仓库要求,是否已签署?

6. 社交/元信号

  • - 作者合并历史:该作者最近在该仓库的 PR 中,合并的百分比是多少?
  • 陈旧度:PR 已打开多久?(>2 周 = 值得关注,>30 天 = 可能已放弃)
  • 活跃度:最近有评论/更新,还是完全沉寂?
  • 首次贡献者:新人的拒绝率更高

输出格式

生成结构化报告:

可合并性评分

  • - 🟢 (>80% 可能合并)——无阻塞项,审查积极,CI 通过
  • 🟡 (40–80%)——存在一些问题但可解决
  • 🔴 (<40%)——存在重大阻塞项

报告章节

  1. 1. 可合并性评分:🟢/🟡/🔴 并附百分比估计
  2. 风险因素:按严重程度排序的具体问题列表
  3. 优势:PR 中有利的因素
  4. 建议:提高可合并性的可行步骤(如果尚未达到 🟢)
  5. 结论:一句话总结

示例输出

PR 可合并性报告:owner/repo#123

评分:🟡 中(约55%)

风险因素

  • - ⚠️ 变更了 847 行代码——接近审查者疲劳阈值
  • ⚠️ @maintainer 请求的变更尚未处理
  • ⚠️ 触及了 6 个目录中的 12 个文件——范围分散
  • ℹ️ 未关联 issue

优势

  • - ✅ 所有 14 项 CI 检查均通过
  • ✅ 标题清晰,描述详细
  • ✅ 作者在该仓库的合并率为 73%(最近 11 个 PR 中合并了 8 个)
  • ✅ 讨论活跃——上次更新在 2 小时前

建议

  1. 1. 在请求重新审查之前,先处理 @maintainer 的审查意见
  2. 考虑拆分为更小的 PR(配置变更 vs 逻辑变更)
  3. 关联相关 issue 以便追溯

结论

CI 通过且作者活跃,是一个扎实的 PR,但因未处理的审查反馈而停滞——解决这些评论是合并的关键路径。

脚本参考

脚本(scripts/merge-check.sh)通过 gh CLI 收集所有数据,并输出一个包含以下键的 JSON 对象:

内容
pr完整的 PR 元数据(标题、正文、作者、状态、草稿、标签、审查者)
files
变更文件列表及补丁统计信息 |
| diff_stats | 总添加行数、删除行数、变更文件数 |
| checks | 头部提交的 CI/检查运行结果 |
| reviews | 所有审查(已批准、请求变更、已评论) |
| review_comments | 内联审查评论 |
| issue_comments | PR 对话评论 |
| commits | 提交列表及提交信息 |
| repo | 仓库元数据(语言、大小、默认设置) |
| author_history | 作者最近的已关闭 PR 及合并率 |
| has_codeowners | 布尔值 |
| has_contributing | 布尔值 |

错误处理

当个别 API 调用失败时(例如速率限制、404),脚本会输出 error 字段。分析可用的数据,并在报告中注明任何缺失的数据。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 merge-check-1776420081 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 merge-check-1776420081 技能

通过命令行安装

skillhub install merge-check-1776420081

下载

⬇ 下载 merge-check v1.0.0(免费)

文件大小: 8.55 KB | 发布时间: 2026-4-17 19:11

v1.0.0 最新 2026-4-17 19:11
Initial publish

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部