mcpField
A
async-pr-review

async-pr-review

github.com/google-gemini测试与质量108.6k349 次安装今天更新
代码仓库

关于 async-pr-review

async-pr-review 是用于异步审查 Pull Request 的技能,会在后台运行预检、Gemini 测试计划和代码审查,并提供状态检查与结果汇总流程。

主要功能

  1. 01后台运行 PR 预检与审查
  2. 02执行 Gemini 驱动的测试计划
  3. 03使用临时 Git worktree 隔离任务
  4. 04查询任务状态并汇总评估

适用场景

  1. 01启动耗时较长的 PR 审查
  2. 02稍后检查审查任务进度
  3. 03综合测试日志与代码审查结果

安装

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

$npx skills add https://github.com/google-gemini/gemini-cli --skill async-pr-review

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

包含的文件

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

policy.toml
scripts/
async-review.sh
check-async-review.sh

详细介绍

异步 PR 审查

此技能提供一组用于异步审查 Pull Request 的工具。它会创建一个后台任务,运行项目的预检,执行由 Gemini 驱动的测试计划,并使用自定义提示词进行全面的代码审查。

此技能旨在展示一种高级的“Agentic 异步模式”:

  1. 原生后台 Shell 与无头推理:虽然 Gemini CLI 可以原生生成并分离后台 Shell 命令(使用带有 is_background: true 的 run_shell_command 工具),但标准的 bash 后台任务无法执行大模型推理。若要在后台进行 AI 驱动的代码审查和测试生成,Shell 脚本必须使用 -p 无头调用 gemini 可执行文件。这样会将 AI 任务交由独立的工作 Agent 执行。
  2. 动态 Git 范围界定:审查脚本不会硬编码路径,而是使用 git rev-parse --show-toplevel 自动解析用户当前项目的根目录。
  3. 临时 Worktree:此技能不会在用户的主工作区检出分支,而是在 .gemini/tmp/async-reviews/pr-<number> 中创建临时 Git Worktree。这可以避免 Git 锁冲突和命名空间污染。
  4. Agent 式评估(check-async-review.sh):检查脚本会输出简洁的 JSON/文本状态,供主 Agent 解析。交互式 Agent 本身会根据生成的日志文件动态整合最终评估。

工作流

  1. 确定操作:确认用户是要启动新的异步审查,还是查看已有审查的状态。
    • 如果用户说“为 PR #123 启动异步审查”或类似内容,请继续执行启动审查。
    • 如果用户说“查看我的 PR #123 异步审查状态”或类似内容,请继续执行查看状态。
启动审查

如果用户想启动新的异步 PR 审查:

  1. 如果用户尚未提供 PR 编号,请询问。
  2. 执行 async-review.sh 脚本,将 PR 编号作为第一个参数传入。务必将 is_background 标志设为 true,以确保脚本立即分离到后台运行。
    .gemini/skills/async-pr-review/scripts/async-review.sh <PR_NUMBER>
    
  3. 告知用户任务已成功启动,之后可以查看状态。
查看状态

如果用户想查看状态或查看之前启动的异步审查的最终评估:

  1. 如果用户尚未提供 PR 编号,请询问。
  2. 执行 check-async-review.sh 脚本,将 PR 编号作为第一个参数传入:
    .gemini/skills/async-pr-review/scripts/check-async-review.sh <PR_NUMBER>
    
  3. 评估输出:读取脚本的输出。
    • 如果输出包含 STATUS: IN_PROGRESS,请告知用户哪些任务仍在运行。
    • 如果输出包含 STATUS: COMPLETE,请使用文件读取工具(read_file)从输出中指定的 LOG_DIR 读取 final-assessment.md、review.md、pr-diff.diff、npm-test.log 和 test-execution.log 文件的内容。
    • 最终评估:读取这些文件,综合其中的结果,并简要建议用户 PR 是否构建成功、是否通过测试,以及根据审查结果是否建议批准。

评论

支持 Markdown