关于 opencode-review
opencode-review 将代码审查委托给使用 VelociRouter 模型的新 opencode 会话,适合需要独立审查意见并原样转达的用户。它要求在子 Agent 中运行命令,不由调用方重复审查。
主要功能
- 01启动全新的 opencode 审查会话
- 02识别 PR 或 diff 审查目标
- 03解析模型名称
- 04仅在子 Agent 中执行命令
- 05原样转达审查并报告错误
适用场景
- 01为拉取请求征求第二意见
- 02审查指定的 ref 范围
- 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 失败,报告错误并停止。
规则
-
确定审查目标。 将
review-code使用的目标术语交给它;不要自行解析差异。- 用户指定了 PR 编号 →
pr <N> - 用户指定了 ref 范围(例如
main...HEAD、abc123..def456)→ 原样使用 - 否则 →
diff
- 用户指定了 PR 编号 →
-
确定模型。 默认使用
velocirouter/gpt-5.6-sol。如果用户指定了另一个模型,但没有提供 provider 前缀,则使用velocirouter/<name>(例如,gpt-5.6-sol-fast→velocirouter/gpt-5.6-sol-fast)。如果用户提供了完整的provider/model,则原样使用。 -
在子 Agent 中运行 opencode——绝不要从主会话运行。
opencode run会将模型的推理过程和工具日志流式输出到 stdout;调用它的上下文会接收到完整记录。启动一个通用子 Agent,让它只负责运行命令并返回审查结果。 -
启动全新的 opencode 会话。 绝不要传入
-c、-s或--fork——复用之前的会话会让无关上下文污染审查。这正是使用此技能的全部意义。 -
向子 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 $rcset -o pipefail至关重要:缺少它时,管道会返回tee的退出状态,导致 opencode 失败看起来像是成功。不要将
rc改名为status——在 zsh 中,status是只读变量,因此赋值会在 opencode 已经运行后中止脚本,让成功的审查看起来像失败。如果退出状态非零,只返回错误输出,不要附加其他内容。否则返回两项:最后一行打印的路径,以及逐字复制的审查结果——保留 opencode 输出的发现、评级和
path:line引用。只删除外围的工具日志和推理内容。--dir "$(pwd)"是必需的,这样 opencode 才能运行git并读取仓库文件。- 不要传入
--dangerously-skip-permissions——这是只读审查。 - 不要将差异直接嵌入提示词。
review-code技能会自行解析目标,将大型差异进行 shell 转义会破坏引号。
- 不要传入
-
将子 Agent 的审查结果原样转交给用户。 不要总结、重新审查或质疑结果——用户想要的是另一种模型的意见,而不是你的意见。告知用户原始输出路径,以便他们按需查看完整记录。
-
明确报告错误。 如果命令以非零状态退出,输出错误并停止。不要悄悄退回到 Claude 进行审查。
验证步骤
- 命令是在子 Agent 中运行的,而不是在主会话中。
- 如果 opencode 拒绝该模型,检查
opencode models——VelociRouter 模型列为velocirouter/<name>。 - 转交的审查结果必须包含具体的
path:line引用;如果没有,opencode 很可能没有加载技能或读取差异,应重新运行。
需要留意的常见错误
- 在主会话中运行
opencode run:会让模型的完整记录淹没上下文。务必委派。 - 让子 Agent 执行审查:它是信使,不是审查者。提示词必须明确这一点。
- 重复审查:opencode 返回后,Claude 会再次审查。不要这样做——直接转达即可。