关于 async-pr-review
async-pr-review 是用于异步审查 Pull Request 的技能,会在后台运行预检、Gemini 测试计划和代码审查,并提供状态检查与结果汇总流程。
主要功能
- 01后台运行 PR 预检与审查
- 02执行 Gemini 驱动的测试计划
- 03使用临时 Git worktree 隔离任务
- 04查询任务状态并汇总评估
适用场景
- 01启动耗时较长的 PR 审查
- 02稍后检查审查任务进度
- 03综合测试日志与代码审查结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ google-gemini/ gemini-cli --skill async-pr-review安装后在 Claude Code 中输入/async-pr-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
policy.tomlscripts/async-review.shcheck-async-review.sh详细介绍
异步 PR 审查
此技能提供一组用于异步审查 Pull Request 的工具。它会创建一个后台任务,运行项目的预检,执行由 Gemini 驱动的测试计划,并使用自定义提示词进行全面的代码审查。
此技能旨在展示一种高级的“Agentic 异步模式”:
- 原生后台 Shell 与无头推理:虽然 Gemini CLI 可以原生生成并分离后台 Shell 命令(使用带有
is_background: true的run_shell_command工具),但标准的 bash 后台任务无法执行大模型推理。若要在后台进行 AI 驱动的代码审查和测试生成,Shell 脚本必须使用-p无头调用gemini可执行文件。这样会将 AI 任务交由独立的工作 Agent 执行。 - 动态 Git 范围界定:审查脚本不会硬编码路径,而是使用
git rev-parse --show-toplevel自动解析用户当前项目的根目录。 - 临时 Worktree:此技能不会在用户的主工作区检出分支,而是在
.gemini/tmp/async-reviews/pr-<number>中创建临时 Git Worktree。这可以避免 Git 锁冲突和命名空间污染。 - Agent 式评估(
check-async-review.sh):检查脚本会输出简洁的 JSON/文本状态,供主 Agent 解析。交互式 Agent 本身会根据生成的日志文件动态整合最终评估。
工作流
- 确定操作:确认用户是要启动新的异步审查,还是查看已有审查的状态。
- 如果用户说“为 PR #123 启动异步审查”或类似内容,请继续执行启动审查。
- 如果用户说“查看我的 PR #123 异步审查状态”或类似内容,请继续执行查看状态。
启动审查
如果用户想启动新的异步 PR 审查:
- 如果用户尚未提供 PR 编号,请询问。
- 执行
async-review.sh脚本,将 PR 编号作为第一个参数传入。务必将is_background标志设为 true,以确保脚本立即分离到后台运行。.gemini/skills/async-pr-review/scripts/async-review.sh <PR_NUMBER> - 告知用户任务已成功启动,之后可以查看状态。
查看状态
如果用户想查看状态或查看之前启动的异步审查的最终评估:
- 如果用户尚未提供 PR 编号,请询问。
- 执行
check-async-review.sh脚本,将 PR 编号作为第一个参数传入:.gemini/skills/async-pr-review/scripts/check-async-review.sh <PR_NUMBER> - 评估输出:读取脚本的输出。
- 如果输出包含
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