mcpField
O
opencode-review

opencode-review

github.com/lwlee2608テスト・品質176 回インストール1 日前に更新
リポジトリ

opencode-review について

opencode-review は、VelociRouter モデルを使う新しい opencode セッションにコードレビューを委任するスキルです。独立したレビューを求め、その内容を呼び出し元が再レビューせずに伝えたい場合に適しています。

主な機能

  1. 01新規 opencode レビューセッション
  2. 02PR や diff の対象判定
  3. 03モデル名の解決
  4. 04サブエージェント内のみで実行
  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 によるコードレビュー

VelociRouter モデル(デフォルトは velocirouter/gpt-5.6-sol)を実行する新しい opencode セッションに、コードレビューを委任します。目的は別のモデルからセカンドオピニオンを得ることです。自分でレビューを重複して行わないでください。

opencode がインストールされており、review-code スキルを利用できるものとします。どちらも確認のために調べないでください。opencode run が失敗した場合は、エラーを提示して停止してください。

ルール

  1. レビュー対象を解決します。 review-code 独自の語彙を使います。差分を自分で解決しないでください。

    • ユーザーが PR 番号を指定した場合 → pr <N>
    • ユーザーが ref 範囲(例:main...HEAD、abc123..def456)を指定した場合 → そのまま使用します
    • それ以外の場合 → diff
  2. モデルを解決します。 デフォルトは velocirouter/gpt-5.6-sol です。ユーザーがプロバイダープレフィックスなしで別のモデルを指定した場合は、velocirouter/<name> を使用します(例:gpt-5.6-sol-fast → velocirouter/gpt-5.6-sol-fast)。完全な provider/model が指定された場合は、そのまま使用します。

  3. opencode は必ずサブエージェント内で実行し、メインセッションからは実行しないでください。 opencode run はモデルの推論やツールのログを標準出力にストリーミングします。そのトランスクリプト全体が、呼び出したコンテキストに取り込まれます。コマンドの実行とレビューの返却のみを担当する汎用サブエージェントを 1 つ起動してください。

  4. 新しい opencode セッションを開始します。 以前のセッションを再利用すると、無関係なコンテキストがレビューに混入し、このスキルの目的が失われるため、-c、-s、--fork は渡さないでください。

  5. サブエージェントには次のタスクを渡します(対象とモデルを置き換えてください)。

    リポジトリのルートから、以下のコマンドを正確に実行してください。自分でコードをレビューしたり、差分を読んだり、ファイルを編集したりしないでください。

    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 の実行後に代入が中断され、レビューが成功していても失敗に見えてしまいます。

    終了ステータスがゼロ以外の場合は、エラー出力のみを返してください。それ以外の場合は、最終行に出力されたパスと、レビューそのものを 2 つ返してください。指摘、評価、path:line の引用は、opencode が出力したとおりに一字一句変更せずコピーしてください。周囲のツールログと推論の記述のみを除いてください。

    • opencode が git を実行してリポジトリのファイルを読めるよう、--dir "$(pwd)" は必須です。
    • 読み取り専用のレビューなので、--dangerously-skip-permissions は渡さないでください。
    • 差分をプロンプトに直接埋め込まないでください。review-code スキルが対象を自ら解決します。大きな差分をシェル用にエスケープすると、引用符の扱いが壊れます。
  6. サブエージェントのレビューを、そのままユーザーに返します。 要約、再レビュー、異議の提示はしないでください。ユーザーが求めているのは別のモデルの見解であり、あなた自身の見解ではありません。全文のトランスクリプトを確認できるよう、生出力のパスも伝えてください。

  7. エラーは明確に提示します。 コマンドの終了ステータスがゼロ以外の場合は、エラーを表示して停止してください。Claude 側のレビューに黙って切り替えないでください。

検証手順

  1. コマンドがメインセッションではなく、サブエージェント内で実行されたことを確認します。
  2. opencode がモデルを受け付けない場合は、opencode models を確認してください。VelociRouter モデルは velocirouter/<name> として一覧に表示されます。
  3. 返却されたレビューに、具体的な path:line の引用が含まれていることを確認します。含まれていない場合は、opencode がスキルを読み込めなかったか、差分を読んでいない可能性が高いため、再実行してください。

注意すべきよくある間違い

  • メインセッションから opencode run を実行する:モデルの全トランスクリプトでコンテキストが埋め尽くされます。必ず委任してください。
  • サブエージェントにレビューさせる:サブエージェントは運び役であり、レビュアーではありません。プロンプトでそのように指示してください。
  • レビューを重複させる:opencode から返された後に Claude が再レビューします。再レビューせず、そのまま伝えてください。

コメント