关于 gemini-peer-review
为 Claude Code 提供 Gemini 同行评审工作流,用于代码审查、架构建议、调试和安全检查。它通过 Gemini API 获取第二意见,再结合自身分析整理结果。
主要功能
- 01代码质量与安全审查
- 02架构决策权衡分析
- 03疑难问题调试建议
- 04按任务选择 Gemini 模型
- 05通过提示模板构建请求
适用场景
- 01提交重大代码变更前进行复核
- 02多次修复失败后寻求调试意见
- 03比较架构方案的取舍
- 04检查安全敏感代码
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill gemini-peer-review安装后在 Claude Code 中输入/gemini-peer-review确认已加载。
附带文件references/prompt-templates.md
详细介绍
Gemini 同行评审
将 Gemini 作为编码同行,征求对代码质量、架构决策、调试或安全审查的第二意见。
设置
API Key:将 GEMINI_API_KEY 设置为环境变量。如果还没有密钥,请前往 https://aistudio.google.com/apikey 获取。
export GEMINI_API_KEY="your-key-here"
工作流
-
根据用户请求确定模式(review、architect、debug、security、quick)
-
将目标文件读入上下文
-
使用 references/prompt-templates.md 中的 AI 对 AI 模板构建提示词
-
将提示词写入
.claude/artifacts/gemini-prompt.txt(避免 shell 转义问题) -
调用 API——生成一个 Python 脚本,以便:
- 从环境中读取
GEMINI_API_KEY - 从
.claude/artifacts/gemini-prompt.txt读取提示词 - 向
https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent发送 POST 请求 - 请求负载:
{"contents": [{"parts": [{"text": prompt}]}], "generationConfig": {"temperature": 0.3, "maxOutputTokens": 8192}} - 从
candidates[0].content.parts[0].text提取文本 - 将结果打印到 stdout
将脚本写入
.claude/scripts/gemini-review.py并运行。 - 从环境中读取
-
综合分析——呈现 Gemini 的发现,补充你自己的观点(赞同或反对),由用户决定要实施哪些内容
模式
代码评审
检查指定文件中的错误、逻辑错误、安全漏洞、性能问题和最佳实践违规情况。
读取目标文件,使用 Code Review 模板构建提示词,并使用 gemini-2.5-flash 调用。
架构建议
针对设计决策获取反馈,并分析权衡。包含项目上下文(CLAUDE.md、相关源文件)。
读取项目上下文,使用 Architecture 模板构建提示词,并使用 gemini-2.5-pro 调用。
调试帮助
在至少 2 次修复尝试失败后,分析错误。Gemini 可以在没有你的调试上下文偏见的情况下重新查看代码。
读取问题文件,使用 Debug 模板构建提示词(包含错误消息和之前的尝试),并使用 gemini-2.5-flash 调用。
安全扫描
扫描代码中的安全漏洞(注入、身份验证绕过、数据泄露)。
读取目标目录的源文件,使用 Security 模板构建提示词,并使用 gemini-2.5-pro 调用。
快速提问
在没有文件上下文的情况下快速提问。直接构建提示词,写入文件,并使用 gemini-2.5-flash 调用。
模型选择
| 模式 | 模型 | 原因 |
|---|---|---|
| review、debug、quick | gemini-2.5-flash | 速度快,适合直接明了的分析 |
| architect、security-scan | gemini-2.5-pro | 在复杂权衡方面推理能力更强 |
如果出现错误,请检查当前模型 ID——它们经常变更:
curl -s "https://generativelanguage.googleapis.com/v1beta/models?key=$GEMINI_API_KEY" | python3 -c "import sys,json; [print(m['name']) for m in json.load(sys.stdin)['models'] if 'gemini' in m['name']]"
适用场景
适合的使用场景:
- 提交重大更改前(最终评审)
- 多次尝试后仍无法解决调试问题时
- 存在多个有效选项的架构决策
- 涉及安全的代码评审
避免用于:
- 简单的语法检查(Claude 处理得更快)
- 每次编辑都调用(太慢,也没必要)
- 答案显而易见的问题
构建提示词
重要:始终使用 AI 对 AI 的提示格式。将完整提示词写入文件——不要通过 bash 参数内联传递代码(shell 转义会导致问题)。
构建提示词时:
- 使用 references/prompt-templates.md 中的 AI 对 AI 标题开头
- 附加对应模式的模板
- 附加文件内容,并用清晰的
--- filename ---分隔符区分 - 写入
.claude/artifacts/gemini-prompt.txt - 生成并运行 API 调用脚本
参考文件
| 适用场景 | 阅读内容 |
|---|---|
| 为任何模式构建提示词 | references/prompt-templates.md |