mcpField
C
codex-review

codex-review

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

codex-review について

ローカル変更、コミット、ブランチ、プルリクエストの締めくくりに Codex のコードレビューを実行するスキルです。指摘を助言として扱い、検証と必要な修正を行い、対応可能な指摘がなくなるまで再実行します。

主な機能

  1. 01ローカル作業やブランチに応じて対象を選択
  2. 02コードと依存関係を確認して指摘を検証
  3. 03修正後にテストとレビューを再実行
  4. 04指摘とレビューの根拠を報告

活用シーン

  1. 01出荷前のコード変更レビュー
  2. 02ローカルパッチやブランチの確認
  3. 03コード変更前のレビュー指摘の検証
  4. 04締めくくり用レビュー結果の要約

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steipete/agent-scripts --skill codex-review

インストール後、Claude Code で/codex-reviewを入力して読み込まれたか確認します。

同梱ファイルscripts/codex-review

詳細

Codex レビュー

締めの確認として、Codex に組み込まれているコードレビューを実行します。これはコードレビュー(codex review)であり、Guardian の auto_review 承認ルーティングではありません。

次の場合に使用します。

  • ユーザーが Codex レビュー/自動レビュー/別モデルによるレビューを求めた場合
  • 重要なコード変更の後、最終確認/コミット/リリースの前
  • 修正後のローカルブランチまたは PR ブランチをレビューする場合

契約

  • レビュー結果は助言として扱います。盲目的に適用しないでください。
  • 実際のコードパスと関連ファイルを読んで、すべての指摘を検証します。
  • 指摘が外部の挙動に依存する場合は、依存関係のドキュメント/ソース/型を確認します。
  • 非現実的なエッジケース、推測に基づくリスク、広範な書き換え、コードベースを過度に複雑にする修正は却下します。
  • 適切な責務境界で小さな修正を優先します。バグの種類を明確に改善する場合を除き、リファクタリングはしません。
  • Codex レビューで採用可能/対応可能な指摘がなくなるまで続けます。
  • レビューを受けてコードを修正した場合は、対象を絞ったテストを再実行し、Codex レビューも再実行します。
  • セキュリティ監査の抑制変更では、採用した指摘の監査可能性を確認します。抑制した指摘が構造化出力に残り、アクティブな出力に抑制に関する抑制不可能な通知が含まれ、集約された指摘によって無関係なアクティブなリスクが隠されないことを確認します。
  • レビューモデルを切り替えたり上書きしたりしないでください。レビューがモデルの容量制限に達した場合は、同じモデルで同じコマンドを数回再試行します。ヘルパーは既定で、ネストされたレビューを yolo/フルアクセスモードで実行します。サンドボックスの挙動を意図的にテストする場合に限り、--no-yolo を使用してください。
  • レビューコマンド/ヘルパーが終了コード 0 で終了し、採用可能/対応可能な指摘がなければ、そこで終了します。より見栄えのよい「問題なし」という表示、別の意見、より明確な締めくくりの文言を得るためだけに、追加で codex review を直接実行しないでください。
  • ヘルパーの正常終了と対応可能な指摘がないことを、Codex CLI の出力が簡潔であっても、レビューに問題がない結果として扱います。
  • 指摘を意図的なもの/修正する価値がないものとして却下する場合は、将来のレビュー担当者が知るべき実際の不変条件または責務上の判断を説明する場合に限り、簡潔なインラインコードコメントを追加します。
  • gh/Gitcrawl が database disk image is malformed と報告した場合は、レビューを再試行する前に gitcrawl doctor --json を一度実行し、ポータブルキャッシュを修復します。修復に失敗し、最新情報の確認に GitHub のライブデータが必要な場合を除き、shim を迂回しないでください。
  • Gitcrawl がポータブルマニフェストの不一致、ソース/ランタイム DB の健全性エラー、またはポータブルストアのチェックアウトが古いと報告した場合は、gitcrawl doctor --json を実行し、ライブ GitHub にフォールバックする前に source_db_health、runtime_db_health、portable_store_status を確認します。
  • レビューだけを目的にプッシュしないでください。プッシュ/リリース/PR の更新をユーザーが依頼した場合に限り、プッシュします。

対象を選ぶ

未コミットのローカル作業:

codex review --uncommitted

現在のチェックアウトでパッチが実際にステージング済み/未ステージング/未追跡の場合にのみ使用します。コミット済み、プッシュ済み、または PR の作業では、代わりにコミットまたはブランチの差分を Codex に指定します。ヘルパーのドキュメントで未コミットの作業が最初に説明されているというだけで、--mode local/--uncommitted を強制しないでください。差分のない --uncommitted レビューで確認できるのは、ローカルにパッチがないことだけです。

ブランチ/PR の作業:

git fetch origin
codex review --base origin/main

--base を使ったプロンプトは渡さないでください。Codex CLI のバージョンによっては、インライン形式と標準入力形式の両方のプロンプトが拒否されます。たとえば、codex review --base <ref> - のようなヘルパーコマンドでは、--base <BRANCH> cannot be used with [PROMPT] が発生する場合があります。ヘルパーでこのエラーが発生した場合は、codex review --base <ref> をそのまま実行し、ヘルパーによるプロンプトの挿入を省略したことを報告します。

オープン PR がある場合は、実際のベースを使用します。

base=$(gh pr view --json baseRefName --jq .baseRefName)
codex review --base "origin/$base"

コミット済みの単一変更:

codex review --commit HEAD

またはヘルパーを使用する場合:

/Users/steipete/Projects/agent-scripts/skills/codex-review/scripts/codex-review --mode commit --commit HEAD

すでに main に取り込まれた、またはプッシュ済みの作業には、コミットレビューを使用します。プッシュ後にクリーンな main を origin/main と比較しても、通常は差分がありません。小規模なコミットの積み重ねの場合は、各コミットを明示的にレビューするか、マージ前に --base を使ってブランチをレビューします。

並行して行う最終確認

書式設定によって行番号が変わる場合は、まず書式を整えます。その後は、テストとレビューを並行して実行してかまいません。

scripts/codex-review --parallel-tests "<focused test command>"

トレードオフ:テストによってコードの変更が必要になると、レビュー結果が古くなる可能性があります。テストまたはレビューを受けてコードを編集した場合は、該当するテストを再実行し、レビューで受け入れ可能または対応可能な指摘がなくなるまでレビューも再実行してください。再実行が問題なく終了したらそこで止め、重複した確認のために、さらに長いレビューサイクルを実行しないでください。

コンテキストの効率化

Codex のレビューは通常、ノイズが多くなります。サブエージェントを利用できる場合は、デフォルトでサブエージェントによるフィルタリングを行ってください。レビューを実行し、次の項目だけを返すよう依頼します。

  • 受け入れた、対応可能な指摘
  • 却下した指摘と、その理由を一行で
  • 再実行する正確なファイルとテスト

変更がごく小さい場合、またはサブエージェントを利用できない場合に限り、インラインで実行してください。

ヘルパー

同梱のヘルパー:

~/.codex/skills/codex-review/scripts/codex-review --help

agent-scripts からインストールした場合のパス:

/Users/steipete/Projects/agent-scripts/skills/codex-review/scripts/codex-review --help

このヘルパーは次の処理を行います。

  • 変更のある --uncommitted を最初に選択します
  • それ以外の場合、gh pr view が機能すれば現在の PR のベースを使用します
  • それ以外の場合、main 以外のブランチでは origin/main を使用します
  • リポジトリに package.json、pnpm-lock.yaml、node_modules、および check スクリプトがある場合、PNPM_CONFIG_PM_ON_FAIL=ignore PNPM_CONFIG_VERIFY_DEPS_BEFORE_RUN=false PNPM_CONFIG_OFFLINE=true pnpm run check を並行して自動実行します。無効にするには CODEX_REVIEW_AUTO_TESTS=0 を設定します
  • すでにコミット済みの作業、特にマージ後の変更のない main では、--mode commit --commit <ref> を使用します
  • PR/ブランチの作業では --mode auto のままにするか、--mode branch を指定してください。コミット後に --mode local を強制しないでください
  • --output または CODEX_REVIEW_OUTPUT が設定されていない限り、標準出力にのみ書き込みます
  • --dry-run、--parallel-tests、コミット参照に対応しています
  • デフォルトでは --dangerously-bypass-approvals-and-sandbox を指定してネストしたレビューを実行します
  • ブランチモードでは、Codex CLI のバージョンによって --base とヘルパーの標準入力プロンプトの併用が拒否され、失敗することがあります。そのパーサーエラーが発生した場合は、Codex 以外のレビュアーに切り替えず、代わりに codex review --base <ref> をそのまま再実行してください
  • --full-access は引き続き受け付けます。オプトアウトするには --no-yolo または CODEX_REVIEW_YOLO=0 を使用します
  • 選択したレビューコマンドが 0 で終了すると、codex-review clean: no accepted/actionable findings reported を出力します

最終報告

次の内容を含めてください。

  • 使用したレビューコマンド
  • 実行したテスト/検証
  • 受け入れた指摘と却下した指摘、およびその理由の簡単な説明
  • 最後に実行したヘルパー/レビューで問題なしと判定された結果、または残った指摘を意識的に却下した理由

最終報告の表現を整えることだけを目的に、Codex レビューを再実行しないでください。最後に実行したヘルパーが 0 で終了し、受け入れ可能または対応可能な指摘がなかった場合は、その実行結果を問題なしとして報告してください。

コメント