mcpField
O
opencode-review

opencode-review

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

关于 opencode-review

opencode-review 将代码审查委托给使用 VelociRouter 模型的新 opencode 会话,适合需要独立审查意见并原样转达的用户。它要求在子 Agent 中运行命令,不由调用方重复审查。

主要功能

  1. 01启动全新的 opencode 审查会话
  2. 02识别 PR 或 diff 审查目标
  3. 03解析模型名称
  4. 04仅在子 Agent 中执行命令
  5. 05原样转达审查并报告错误

适用场景

  1. 01为拉取请求征求第二意见
  2. 02审查指定的 ref 范围
  3. 03检查当前 diff,避免重复审查

安装

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

$npx skills add https://github.com/lwlee2608/agent-skills --skill opencode-review

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

详细介绍

使用 opencode 进行代码审查

将代码审查委托给一个全新的 opencode 会话,该会话运行 VelociRouter 模型(默认使用 velocirouter/gpt-5.6-sol)。目标是从不同模型那里获得第二意见——不要自己重复审查。

假设已安装 opencode,且它可以使用 review-code 技能。不要检查这两者是否存在——如果 opencode run 失败,报告错误并停止。

规则

  1. 确定审查目标。 将 review-code 使用的目标术语交给它;不要自行解析差异。

    • 用户指定了 PR 编号 → pr <N>
    • 用户指定了 ref 范围(例如 main...HEAD、abc123..def456)→ 原样使用
    • 否则 → diff
  2. 确定模型。 默认使用 velocirouter/gpt-5.6-sol。如果用户指定了另一个模型,但没有提供 provider 前缀,则使用 velocirouter/<name>(例如,gpt-5.6-sol-fast → velocirouter/gpt-5.6-sol-fast)。如果用户提供了完整的 provider/model,则原样使用。

  3. 在子 Agent 中运行 opencode——绝不要从主会话运行。 opencode run 会将模型的推理过程和工具日志流式输出到 stdout;调用它的上下文会接收到完整记录。启动一个通用子 Agent,让它只负责运行命令并返回审查结果。

  4. 启动全新的 opencode 会话。 绝不要传入 -c、-s 或 --fork——复用之前的会话会让无关上下文污染审查。这正是使用此技能的全部意义。

  5. 向子 Agent 提供以下任务(替换目标和模型):

    从仓库根目录严格按照下方原样运行命令。不要自行审查代码,不要读取差异,不要编辑文件。

    set -o pipefail
    OUT=$(mktemp /tmp/opencode-review-XXXXXX.md)
    opencode run \
      -m <provider/model> \
      --dir "$(pwd)" \
      --title "review: <target>" \
      "Use the review-code skill to review <target> in this repo. Do not modify any files." \
      | tee "$OUT"
    rc=$?
    echo "raw output: $OUT (exit $rc)"
    exit $rc
    

    set -o pipefail 至关重要:缺少它时,管道会返回 tee 的退出状态,导致 opencode 失败看起来像是成功。

    不要将 rc 改名为 status——在 zsh 中,status 是只读变量,因此赋值会在 opencode 已经运行后中止脚本,让成功的审查看起来像失败。

    如果退出状态非零,只返回错误输出,不要附加其他内容。否则返回两项:最后一行打印的路径,以及逐字复制的审查结果——保留 opencode 输出的发现、评级和 path:line 引用。只删除外围的工具日志和推理内容。

    --dir "$(pwd)" 是必需的,这样 opencode 才能运行 git 并读取仓库文件。

    • 不要传入 --dangerously-skip-permissions——这是只读审查。
    • 不要将差异直接嵌入提示词。review-code 技能会自行解析目标,将大型差异进行 shell 转义会破坏引号。
  6. 将子 Agent 的审查结果原样转交给用户。 不要总结、重新审查或质疑结果——用户想要的是另一种模型的意见,而不是你的意见。告知用户原始输出路径,以便他们按需查看完整记录。

  7. 明确报告错误。 如果命令以非零状态退出,输出错误并停止。不要悄悄退回到 Claude 进行审查。

验证步骤

  1. 命令是在子 Agent 中运行的,而不是在主会话中。
  2. 如果 opencode 拒绝该模型,检查 opencode models——VelociRouter 模型列为 velocirouter/<name>。
  3. 转交的审查结果必须包含具体的 path:line 引用;如果没有,opencode 很可能没有加载技能或读取差异,应重新运行。

需要留意的常见错误

  • 在主会话中运行 opencode run:会让模型的完整记录淹没上下文。务必委派。
  • 让子 Agent 执行审查:它是信使,不是审查者。提示词必须明确这一点。
  • 重复审查:opencode 返回后,Claude 会再次审查。不要这样做——直接转达即可。

评论

支持 Markdown