mcpField
S
second-opinion

second-opinion

github.com/lwlee2608测试与质量145 次安装今天更新
代码仓库

关于 second-opinion

second-opinion 通过另一个编码 Agent 的全新会话获取代码审查,并转达审查结果。它根据环境选择 pi 或 Claude Code,且不会取代调用方自己的审查。

主要功能

  1. 01选择 pi 或 Claude Code 作为审查者
  2. 02按 review-code 术语确定审查目标
  3. 03启动全新的无头 Agent 会话
  4. 04禁止审查者修改文件
  5. 05原样转达审查结果

适用场景

  1. 01请求独立的代码审查
  2. 02审查拉取请求或差异
  3. 03将第二意见与调用方的发现分开

安装

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

$npx skills add https://github.com/lwlee2608/agent-skills --skill second-opinion

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

详细介绍

Second Opinion

通过运行一个全新的无头会话,让另一个 Agent 进行代码审查。用户想要的是那个 Agent 的看法,而不是你的——转述即可,不要重新审查。

当 review-code --second-opinion 运行此技能时,这些规则仅适用于转述的审查。调用方自己的审查仍会运行,此处失败不会阻止它。

选择审查者

如果 PI_CODING_AGENT 为 true,则你运行在 pi 中——审查者是 Claude Code(claude)。否则,审查者是 pi。

假设审查者已安装、其默认模型已配置,并且它可以使用 review-code 技能。不要探查这些情况——如果运行失败,报告错误并停止。

规则

  1. 使用 review-code 的术语解析目标。 不要自行计算差异。

    • PR 编号 → pr <N>
    • 未指定编号的“PR” → 当前分支的 PR 对应的 pr <N>
    • 引用范围(例如 main...HEAD)、all、codebase 或路径 → 原样传递
    • 其他情况 → diff
  2. 将用户指定的模型原样传递给 --model,如果用户未指定模型,则省略 --model——审查者会使用其配置的默认模型。

  3. 在仓库根目录运行审查者的命令,并替换目标和模型。两者使用相同的提示词:

    Use the review-code skill to review <target> in this repo. Do not modify any files.
    

    pi:

    pi -p \
      --model <provider/model> \
      --exclude-tools edit,write \
      --name "review: <target>" \
      "<prompt>"
    

    Claude Code:

    claude -p \
      --model <model> \
      --disallowedTools Edit Write NotebookEdit \
      --allowedTools "Bash(git *)" "Bash(gh *)" \
      --no-session-persistence \
      "<prompt>"
    
    • -p 只输出最终答案,因此可以在主会话中安全读取输出。
    • 这些工具标志可防止审查者“修复”问题,同时仍允许使用 git 和 gh。
    • 审查可能需要几分钟——使用允许的最长超时时间,或在后台运行。
  4. 绝不恢复会话。 不得使用 -c、-r、--resume、--session、--session-id 或 --fork——先前的上下文会污染审查。

  5. 绝不将差异内容直接嵌入提示词,也绝不向审查者传递 --second-opinion。 review-code 会自行解析目标,大型差异会导致 shell 引号处理出错,而该标志会让审查者反过来启动你。

  6. 原样转述审查结果。 不要总结、重新评级或添加自己的发现。

  7. 如果退出码非零,输出错误并停止。 绝不要改为自行审查。

验证流程

  1. 每条报告的问题都必须包含 path:line 引用。如果缺少引用,审查者可能没有加载 review-code——重新运行一次,然后报告结果。没有发现问题的干净审查无需引用。
  2. 如果 pi 不接受该模型,运行 pi --list-models <name> 检查,并使用列出的名称重试。

评论

支持 Markdown