mcpField
R
review-pr

review-pr

github.com/tisfeng测试与质量051 次安装3 天前更新
代码仓库

关于 review-pr

review-pr 是用于编排 GitHub PR 审查的 Skill,面向需要核实 PR 身份、背景、CI 和讨论线程的审查流程。它将准确的 PR 差异交给 review 进行语义审查,并在报告前刷新远程证据。

主要功能

  1. 01核实 PR 身份与代码范围
  2. 02收集背景、CI 和讨论线程
  3. 03协调本地分支或 worktree 准备
  4. 04调用 review 进行代码审查
  5. 05报告前刷新远程证据

适用场景

  1. 01审查 GitHub PR 的代码与需求
  2. 02检查 CI 状态和未解决讨论
  3. 03在只读限制下审阅远程 PR 差异

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tisfeng/skills --skill review-pr

安装后在 Claude Code 中输入/review-pr确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
evidence-workflow.md
local-preparation.md
problem-review.md
report-example-simple.md
report-example.md
reporting.md
snapshot-protocol.md
thread-resolution.md
scripts/
pr_identity.py
prepare_helper_fingerprint.py
prepare_pr_metadata.py
prepare-pr-branch.sh
review_context.py
review_snapshot.py
review_threads.py
snapshot_transport.py
tests/
test_prepare_pr_branch.py
test_review_context.py
test_review_snapshot.py
test_review_threads.py
test_snapshot_transport.py

详细介绍

来自项目 README

GitHub PR 审查

本 Skill 编排 GitHub PR 的身份、问题背景、本地准备、CI、线程和最终刷新。 语义与正确性审查使用配套 review;审查本地工作树、提交、范围、文件或模块时直接使用 review,不启动 PR 编排。

<review-pr-skill-dir> 指实际加载的本 Skill 目录。优先从当前 Skill 清单定位 review, 未提供位置时才检查 同级安装位置。开始 Git 准备前确认依赖可读; 缺失时可收集获准的只读证据,但不得声称完整代码审查已完成。

模式与授权

  • 默认本地审查:明确请求审查 PR 时,包含必要的 remote 添加、fetch、安全分支创建或 fast-forward、upstream 设置和 checkout。
  • 隔离 worktree:只在用户明确要求 worktree、并行或并发 review 时新建;本人 PR 分支 已在其他 worktree 打开时可复用其干净 checkout,后续命令使用回执路径。
  • latest-base 集成审查:只在用户明确要求更新最新 base、解决冲突或审查集成结果时使用。
  • 不改变 Git 状态:遵守用户的只读或不切分支限制,改用可访问的准确远程 diff、源码和评论; 证据不足时报告限制。

上述本地准备授权不包含产品修复、push、发布评论、approve、删除评论或关闭 PR。 线程 resolve 需要单独的远程操作授权和当前远程证据。仅方案或解释不执行 Git 准备。

核心安全边界

  • 默认本地模式从 git status --short --branch 开始;当前 checkout 有未提交变更时, 在切换分支前停止。显式 worktree 模式不得改变原 checkout,因此可从脏状态继续。
  • 多阶段 review 必须把首次准备回执中的 checkout.branch 作为后续阶段的显式输入;使用 helper 的 --reuse-branch 复验该分支、HEAD、upstream 和 worktree 占用,失败时停止, 不静默改选另一个分支。回执记录实际 helper 路径、入口 SHA 和准备依赖组合指纹, 按本地准备协议复验版本漂移。
  • 不覆盖、删除、重命名、rebase、reset、强制更新、stash 或丢弃本地分支、worktree 或变更。
  • 普通审查必须对应 PR 元数据的准确 headRefOid 和真实 base/merge-base diff; 不用 detached HEAD、已 fetch ref 或无关 origin 绕过身份检查。
  • 本人 PR 优先复用已核实身份的同名分支及等价 upstream。相同或落后的分支安全准备到远程 head;领先时保留额外提交,按冻结 Git 对象审查,不新建 review 分支。回执区分 checkout 与 review SHA;源码上下文和验证归属遵循 证据协议。 本人分支分叉或 upstream 不匹配时停止;其他作者仍按本地准备协议处理 collision fallback。
  • mergeable: CONFLICTING、mergeStateStatus: DIRTY 或 base 领先不构成 latest-base 授权。
  • 除非用户明确要求,审查、准备、冲突处理和线程维护都不 push。审查后保留准备好的 分支或 worktree,不自动删除。

审查流程

  1. 读取 证据收集与刷新,收集并冻结 PR 身份、head/base、 问题背景、checks 和完整 threads/replies。
  2. 允许 Git 准备时读取 本地准备与 latest-base;只读模式直接使用准确远程证据。
  3. 将 PR 目标、关键验收条件、冻结 base/head 和完整 raw diff 交给 review,检查需求满足程度、 实现方式与代码正确性。
  4. 评估每个开放 thread,包括 outdated、bot 和所有回复。已有评论只放在对应评论条目, 不重复列为独立 finding。需要 resolve 且已获授权时才读取 线程维护。
  5. 如任务包含冲突处理、验证或本地提交,先完成这些获准操作;结论前按证据协议立即刷新 PR、 选定问题证据、checks 和完整 threads/replies,处理所有新活动。
  6. 生成最终回复前重新读取 PR 审查报告;此前已读过或上下文摘要中 提及过,均不替代此次读取。按该协议组织报告与必要的提交回执,并对实际回复草稿完成 交付检查 后再输出。

大 PR 或需要复用快照文件时才读取 快照传输协议;复杂复审报告可再读取 完整示例。

完成与停止条件

只有准确 remote head/base 与 merge-base、完整 diff、目标/问题证据、CI 状态、全部开放 threads 及回复均已审查,最终刷新没有未检查活动,且最终报告通过交付检查时,才算完成。最终刷新发现 head/base、 需求或线程变化时,根据影响更新 checkout、范围和判断,处理后再刷新一次。

引用有歧义、准备会覆盖本地状态、依赖或必需证据不可用、身份/内容持续漂移、冲突需要产品判断, 或最终刷新失败时,保留当前快照和本地状态,报告已审查 SHA 与未覆盖缺口;不无限重试。 受阻或未完成报告仍遵循报告协议,保留内容介绍及验证限制;证据不足的字段明确标注缺失, 不为满足格式编造内容,也不将报告格式完整视为审查已完成。

评论

支持 Markdown