AIコーディングをしていると、実装はどんどん速くなります。
もはや実装すべてを人間が見ていられない状態になっている方も多いでしょう。
この記事ではその解決策の1つとして、Codexのサブエージェントにレビュー役を任せ、重要な問題がなくなるまで修正と再レビューを繰り返させる codex-review という自作Skillの最新版を解説します。
実は半年前に作ったSkill
実はこのSkill、基礎となっているのは約半年前に作ったものです。それを少しずつ改良して、愛用し続けています。
https://x.com/makaneko_AI/status/2005475035075707092
以前のバージョンは、Claude Codeで実装し、Codex をレビュー役として呼び出し、修正と再レビューを繰り返す方法として紹介しました。当時はClaude Codeが実装タスクに強く、Codexは頭がいいだけ、みたいな状況だったのでこのような構成になっていました。
しかしAI環境は一変。Codexのほうが実装が強く頭もいい(Fable 5を除く)という状況が続き、Codex単体で実装タスクを完結させてる方も多いことでしょう。
そういった環境に適応させるために、Codex内でループが回るように内容を刷新しました。
最新版で変えた3つのこと
基本的な流れは、前のバージョンと変わりません。
実装担当とレビュー担当を分ける ↓ レビュー担当は 読み取り専用で見る ↓ 重要な指摘があったら不合格 ↓ 修正する ↓ 同じやり方で再レビューする ↓ 合格になるまで反復する
最新版のポイントは、次の3点。
1. GPT-5.5に最適化
2. 重要な問題にフォーカス
3. 全体的な精度を改善
順番に説明します。
1. GPT-5.5に最適化
2026/06/18時点でOpenAIの最新モデルGPT-5.5系は、エージェント型のコーディングや実務向けの作業に強いモデルと位置づけられています。複数ステップで曖昧さのあるタスクでも自律的に進められる、と説明されています。
そのGPT-5.5の公式のガイドを見ると、「手順を細かく詰め込むよりも、簡潔に求める結果を書くほうがうまく動きます」といった内容が書かれています。
なので最新版では、細かいテンプレートを並べるのをやめ、レビュー担当が必ず守るルールを強くしました。
https://x.com/makaneko_AI/status/2049848091860463995
2. 重要な問題にフォーカス
Codexは良くも悪くも頭のよさを活かして細かい指摘をしがちな傾向がありました。
そこで最新版では、レビュー担当に「P0/P1相当(最優先・準最優先)の問題だけを拾い、軽微な書き方の指摘なんかは扱わない」と明示しました。
おかげで不必要に細かい修正を繰り返すことがなくなり、スムーズに進みやすくなっています。
3. 全体的な精度を改善
細かい部分で、全体的に精度の改善をしました。
たとえばレビューが途中で止まったのに合格になっている、みたいな抜け道をふさぎました。レビュー担当が起動できなかった、返ってきたレポートが壊れて読めなかった、というケースも合格にしません。
大きな変更を複数のレビュー担当で分担したときも、全員が合格を返し、未レビューも不成立もない場合だけ、全体を合格にします。このような改善でレビューで問題を見逃すリスクを減らしました。
おすすめの活用法
このSkillは仕様の設計後や中〜大規模な実装後に自動で発火するように指示は入ってますが、利用者の意図したタイミングで自動で起動するように設定するのがおすすめです。
たとえばCodexが最初に必ず読むAGENTS.mdファイルに、「〜の時にCodexレビューを実行する」と入れるなど。あとは実装計画のフォーマットがあるなら、そこに必須の手順として組み込むなど。
前のバージョンの解説記事でこの辺についても説明しています。
https://note.com/makaneko_ai/n/n3cefcec49e2d
Skill「codex-review」全文
1---2name: codex-review3description: "Codex read-onlyレビューで、レビュー→修正→再レビューをok=trueまで反復するレビューゲート。使う場面: SPEC/PRD/設計/PLANS.mdの作成・更新後、中〜大規模実装やリファクタ完了後、5 files以上・新規モジュール・公開API・infra/config変更後、commit/PR/merge/release前。"4---56# Codex反復レビュー78## 目的9- blocking が1件でもあれば `ok=false` とするレビューゲートを維持する。10- 実装者と監査者を分離し、修正と再レビューを反復して収束させる。11- `ok=true` はレビューゲート通過のみを意味する。push、merge、release、タスク完了などの外部完了状態を代替しない。12- レビュー結果と実際の完了証跡は分けて扱う。13- 未レビュー範囲が残る場合は `ok=true` にしない。1415## 役割16- **Implementer**: 修正担当(Codex または Claude Code)。17- **Reviewer**: 監査担当(Codex read-only)。18- Implementer と Reviewer は必ず分離する。1920## 実行優先順211. JSON gate + Codexサブエージェント(既定)222. JSON gate + read-only CLI review233. `/review` フォールバック2425原則:26- Codexアプリ/ローカルCodexで `spawn_agent` が使える場合、Reviewer は必ずサブエージェントとして起動する。27- サブエージェントが利用不能な場合のみ、試行証跡を残して read-only CLI review にフォールバックする。28- Reviewer は read-only 前提で、ファイル編集・コマンドによる変更・VCS操作を行わない。29- Implementer と Reviewer の分離を守るため、Implementer 自身がレビュー結果を「自分で代替生成」して ok 判定しない。3031## フロー32規模判定 → Codex規模別レビュー → Implementer修正 → 再レビュー(`ok: true`まで反復)3334 text35[規模判定]36small -> diff(1 run) ------------------------------------> [修正ループ]37medium -> arch -> diff(1 run) ----------------------------> [修正ループ]38large -> arch -> diff(run1..runN in parallel) -> cross-check -> [修正ループ]3940## 規模判定4142変更ファイル数、差分量、変更リスクを見て small / medium / large を決める。確認方法は repo の VCS と作業環境に合わせる。4344| 規模 | 基準 | 戦略 |45|-----|------|-----|46| small | ≤3ファイル、≤100行 | diff 1 run |47| medium | 4-10ファイル、100-500行 | arch → diff 1 run |48| large | >10ファイル、>500行 | arch → diff(複数run並列)→ cross-check |4950数値は目安。セキュリティ、公開API、infra/config、データ削除、課金、外部副作用を含む変更は規模を1段上げて扱う。5152large運用:53- 同一依頼内で複数 review run が必要な場合にのみ、3〜5 subagent を目安に並列実行。54- 分割はディレクトリ単位を優先し、cross-cutting concerns は cross-check で検出。55- 全体を `ok=true` にできるのは、全 run が `ok=true` で、未レビュー範囲と Reviewer 不成立がない場合だけ。56- 各 Reviewer JSON は担当範囲ごとに並べ、blocking と未レビュー範囲をそのまま終了レポートに出す。57- Implementer は修正計画と修正を担当するが、blocking を独断で棄却して `ok=true` にしない。棄却が必要な場合は、仕様根拠を示して Reviewer に再レビューさせる。5859## JSON gate6061### A-1 入力準備62- 変更概要(ファイル数、差分量、追加/削除/rename の有無)63- レビュー対象の patch / diff、または同等の変更内容64- 主要関連ファイルパス65- 前回レビューから引き継ぐ `notes_for_next_review`6667### A-2 Reviewer 実行68- サブエージェント既定: `spawn_agent` で read-only Reviewer を起動し、主要関連ファイルパスを明示して依頼。69- サブエージェント依頼文には「read-onlyレビュー」「編集禁止」「JSON 1オブジェクトのみ」「A-5 出力形式準拠」「blocking が1件でもあれば `ok: false`」を必ず含める。70- フォールバック: サブエージェント試行の証跡がある場合だけ、read-only の CLI review に A-4 の本文と A-5 出力形式を渡す。71- 禁止: `spawn_agent` が使えるか確認せず、またはサブエージェントを試行せずに、最初から CLI review を実行すること。7273### A-3 完了待ちルール74- レビュー完了前に次工程へ進まない。75- タイムアウト、未完了、未レビュー範囲が1件でも残る場合は終了レポートに記録し、最終判定を `ok=false` とする。未レビューは advisory ではなく gate-blocking として扱う。7677### A-4 Reviewer prompt contract78- 目的: merge / release / handoff 前に P0/P1 相当の blocking risk を検出する。観点例は correctness、security、compatibility、testing などで、これに限定しない。軽微な style は扱わない。79- 探索範囲: 与えられた diff と明示された関連ファイルを優先する。diff だけで判断できない場合は、呼び出し元、型定義、設定、テストを read-only で確認してよい。推測で埋めず、不足は `lines: "?"` と `notes_for_next_review` に残す。80- 出力は JSON 1つのみ(A-5 出力形式準拠)。blocking が1件でもあれば `ok: false`。81- 指摘には、根拠、該当箇所、影響、修正案、修正後の確認方法を含める。根拠不足なら blocking と断定せず、追加確認として記録する。82- blocking / advisory / 追加確認を分類したら完了する。表現改善だけのために追加探索しない。8384Phase focus:85- `arch`: 依存関係、責務分割、破壊的変更、セキュリティ設計86- `diff`: 対象diff、関連ファイル、重点観点、前回メモ87- `cross-check`: interface整合、error handling、認可、API互換、テスト網羅8889### A-5 Codex出力形式9091json92{93 "ok": false,94 "phase": "arch|diff|cross-check",95 "summary": "レビューの要約",96 "issues": [97 {98 "severity": "blocking|advisory",99 "category": "correctness|security|perf|compatibility|maintainability|testing|style",100 "file": "src/auth.py",101 "lines": "42-45",102 "problem": "問題の説明",103 "recommendation": "修正案",104 "verification": "修正後の確認方法"105 }106 ],107 "notes_for_next_review": "メモ"108}109110## 修正ループ111`ok=false` の場合、`max_iters` 回まで反復。既定は `max_iters=5`。1121131. `issues` を解析して修正計画を作る。1142. Implementer が最小差分で修正する(仕様変更は未解決 issue として残す)。1153. 変更リスクに応じたテスト、リンタ、または代替検証を実行する。未実行の場合は理由を残し、critical path の未検証なら blocking とする。1164. 同じモードで再レビューする。117118停止条件:119- `ok=true`: gate pass120- `max_iters` 到達: gate fail121- テスト2回連続失敗: gate fail122- Reviewer 不成立 / JSON parse失敗 / 出力形式不備 / 未レビュー範囲あり: gate fail123124gate fail で停止する場合は、残存 blocking、未レビュー、失敗検証を未解決として終了レポートに出す。125126## `/review` フォールバック127JSON gate が失敗した場合のみ `/review` を使う。`/review` は発見補助であり、出力をそのまま `ok=true` の根拠にしない。128129## エラー時ルール130- Reviewer が成立しない場合は、失敗理由、試行した reviewer path、未レビュー範囲を終了レポートへ記録する。131- Reviewer の read-only 制約は緩和しない。132- 入力過大やタイムアウト時は、範囲縮小または分割で再試行してよい。133134## 終了レポート例135これは未レビューが残った場合の事例であり、網羅テンプレートではない。136137 text138## Codexレビュー結果139- mode: JSON gate or /review140- review_scope: branch diff141- 規模: large(12ファイル、620行)142- 並列: 3サブエージェント143- reviewer path: spawn_agent first144- fallback evidence: none145- 反復: 2/5146- レビューゲート: ok=false147- reason: unreviewed_scope is non-empty148- 完了証跡: push/merge/release/タスク完了 等は別途確認149150### 修正履歴151- auth.py: 認可チェック追加152153### 未レビュー154- utils/legacy.py: Codexタイムアウト、再レビュー必須155156### 未解決157- main.py: 内容、リスク、推奨アクション
まとめ
最新版の codex-review Skillは、以前のバージョンを単にCodex内で回るようにしただけではありません。
今のCodexとGPT-5.5に合わせて余計な手順を削ぎ落とし、レビューゲートとして守るべきルールを明確にしました。
勝手にレビュー・修正してくれる仕組みはとても便利なので、ぜひ導入してみてください。
この記事が参考になったら、フォロー・シェアしていただけると嬉しいです。AIをただ使うだけでなく、AIが自律的に働いてくれるようにする方法などを継続して発信しています。
関連ポスト
https://x.com/makaneko_AI/status/2058739339606233492





