mcpField
G
gemini-peer-review

gemini-peer-review

github.com/jezweb测试与质量1.1k200 次安装3 周前更新
代码仓库

关于 gemini-peer-review

为 Claude Code 提供 Gemini 同行评审工作流,用于代码审查、架构建议、调试和安全检查。它通过 Gemini API 获取第二意见,再结合自身分析整理结果。

主要功能

  1. 01代码质量与安全审查
  2. 02架构决策权衡分析
  3. 03疑难问题调试建议
  4. 04按任务选择 Gemini 模型
  5. 05通过提示模板构建请求

适用场景

  1. 01提交重大代码变更前进行复核
  2. 02多次修复失败后寻求调试意见
  3. 03比较架构方案的取舍
  4. 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"

工作流

  1. 根据用户请求确定模式(review、architect、debug、security、quick)

  2. 将目标文件读入上下文

  3. 使用 references/prompt-templates.md 中的 AI 对 AI 模板构建提示词

  4. 将提示词写入 .claude/artifacts/gemini-prompt.txt(避免 shell 转义问题)

  5. 调用 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 并运行。

  6. 综合分析——呈现 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、quickgemini-2.5-flash速度快,适合直接明了的分析
architect、security-scangemini-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 转义会导致问题)。

构建提示词时:

  1. 使用 references/prompt-templates.md 中的 AI 对 AI 标题开头
  2. 附加对应模式的模板
  3. 附加文件内容,并用清晰的 --- filename --- 分隔符区分
  4. 写入 .claude/artifacts/gemini-prompt.txt
  5. 生成并运行 API 调用脚本

参考文件

适用场景阅读内容
为任何模式构建提示词references/prompt-templates.md

评论

支持 Markdown