opencode-review について
opencode-review は、VelociRouter モデルを使う新しい opencode セッションにコードレビューを委任するスキルです。独立したレビューを求め、その内容を呼び出し元が再レビューせずに伝えたい場合に適しています。
主な機能
- 01新規 opencode レビューセッション
- 02PR や diff の対象判定
- 03モデル名の解決
- 04サブエージェント内のみで実行
- 05レビューの原文転送とエラー報告
活用シーン
- 01プルリクエストのセカンドオピニオン
- 02指定した ref 範囲のレビュー
- 03現在の diff を重複レビューなしで確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lwlee2608/ agent-skills --skill opencode-reviewインストール後、Claude Code で/opencode-reviewを入力して読み込まれたか確認します。
詳細
opencode によるコードレビュー
VelociRouter モデル(デフォルトは velocirouter/gpt-5.6-sol)を実行する新しい opencode セッションに、コードレビューを委任します。目的は別のモデルからセカンドオピニオンを得ることです。自分でレビューを重複して行わないでください。
opencode がインストールされており、review-code スキルを利用できるものとします。どちらも確認のために調べないでください。opencode run が失敗した場合は、エラーを提示して停止してください。
ルール
-
レビュー対象を解決します。
review-code独自の語彙を使います。差分を自分で解決しないでください。- ユーザーが PR 番号を指定した場合 →
pr <N> - ユーザーが ref 範囲(例:
main...HEAD、abc123..def456)を指定した場合 → そのまま使用します - それ以外の場合 →
diff
- ユーザーが PR 番号を指定した場合 →
-
モデルを解決します。 デフォルトは
velocirouter/gpt-5.6-solです。ユーザーがプロバイダープレフィックスなしで別のモデルを指定した場合は、velocirouter/<name>を使用します(例:gpt-5.6-sol-fast→velocirouter/gpt-5.6-sol-fast)。完全なprovider/modelが指定された場合は、そのまま使用します。 -
opencode は必ずサブエージェント内で実行し、メインセッションからは実行しないでください。
opencode runはモデルの推論やツールのログを標準出力にストリーミングします。そのトランスクリプト全体が、呼び出したコンテキストに取り込まれます。コマンドの実行とレビューの返却のみを担当する汎用サブエージェントを 1 つ起動してください。 -
新しい opencode セッションを開始します。 以前のセッションを再利用すると、無関係なコンテキストがレビューに混入し、このスキルの目的が失われるため、
-c、-s、--forkは渡さないでください。 -
サブエージェントには次のタスクを渡します(対象とモデルを置き換えてください)。
リポジトリのルートから、以下のコマンドを正確に実行してください。自分でコードをレビューしたり、差分を読んだり、ファイルを編集したりしないでください。
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 の実行後に代入が中断され、レビューが成功していても失敗に見えてしまいます。終了ステータスがゼロ以外の場合は、エラー出力のみを返してください。それ以外の場合は、最終行に出力されたパスと、レビューそのものを 2 つ返してください。指摘、評価、
path:lineの引用は、opencode が出力したとおりに一字一句変更せずコピーしてください。周囲のツールログと推論の記述のみを除いてください。- opencode が
gitを実行してリポジトリのファイルを読めるよう、--dir "$(pwd)"は必須です。 - 読み取り専用のレビューなので、
--dangerously-skip-permissionsは渡さないでください。 - 差分をプロンプトに直接埋め込まないでください。
review-codeスキルが対象を自ら解決します。大きな差分をシェル用にエスケープすると、引用符の扱いが壊れます。
- opencode が
-
サブエージェントのレビューを、そのままユーザーに返します。 要約、再レビュー、異議の提示はしないでください。ユーザーが求めているのは別のモデルの見解であり、あなた自身の見解ではありません。全文のトランスクリプトを確認できるよう、生出力のパスも伝えてください。
-
エラーは明確に提示します。 コマンドの終了ステータスがゼロ以外の場合は、エラーを表示して停止してください。Claude 側のレビューに黙って切り替えないでください。
検証手順
- コマンドがメインセッションではなく、サブエージェント内で実行されたことを確認します。
- opencode がモデルを受け付けない場合は、
opencode modelsを確認してください。VelociRouter モデルはvelocirouter/<name>として一覧に表示されます。 - 返却されたレビューに、具体的な
path:lineの引用が含まれていることを確認します。含まれていない場合は、opencode がスキルを読み込めなかったか、差分を読んでいない可能性が高いため、再実行してください。
注意すべきよくある間違い
- メインセッションから
opencode runを実行する:モデルの全トランスクリプトでコンテキストが埋め尽くされます。必ず委任してください。 - サブエージェントにレビューさせる:サブエージェントは運び役であり、レビュアーではありません。プロンプトでそのように指示してください。
- レビューを重複させる:opencode から返された後に Claude が再レビューします。再レビューせず、そのまま伝えてください。