仕様書/実装計画書をもとに、計画を見出し単位のステップへ分解し、各ステップで「テスト作成→レビュー→収束ならコミット」「実装→レビュー→収束ならコミット」(必要なら「ドキュメント修正→レビュー→収束ならコミット」)を自律反復する。ユーザーから自律進行(止まらず最後まで進める・ステップを自動で回す等)の明示的な指示があったときだけ使う。単に計画に沿って実装してほしいだけの依頼(自律進行の指示を伴わない)では使わない。レビューは codex-review-loop、コミットは commit に委譲し、仕様整合(参照の記法・用語規約)はエージェントが直接確認する。
review-loop-subagent
レビュー専用サブエージェント(fable-reviewer・opus-reviewer等)を起動する反復レビュー・ループが共有する起動契約と手順の正本。Agentツールでの同期起動、2ラウンド目以降の同一エージェント継続、レビュー指示文の追加要件、失敗の扱い、1ラウンドを回して結末を出すまでの流れを定義する。
内部専用でユーザーが直接使うものではない。
含まれるファイル(1)
- SKILL.md10.5 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
レビュー専用サブエージェント起動の共通基盤
レビュー専用サブエージェント(Agent ツールで直接起動する read-only のレビュー担当)を
レビュアーに使う反復レビュー・ループが共有する起動契約と手順。レビュアーの正体に依らない
判断ロジックは review-loop-judgement スキルが持つ。
Codex をレビュアーに使うループの起動契約は codex-watchdog スキルが
別に持つ。
呼び出し元が定める項目
次の2点だけを呼び出し元スキルが定め、以下の手順に当てはめる(このスキルはこれらを定めない)。 以下「レビュアーエージェント」「固定モデル」は呼び出し元が定めたものを指す。
- レビュアーエージェント:
Agentツールのsubagent_typeに渡すレビュー専用エージェント名。 リポジトリを読み差分を自分で取得できること、読み取り専用の確認だけを行いファイルを編集しないよう エージェント定義で縛られていること - 固定モデル: そのエージェントが frontmatter で固定しているモデルと、その表示名
手順0: 起動可否ゲート・対象確認
review-loop-judgement スキルの手順0のとおり実行する。
手順1: レビュー実行(1ラウンド)
ラウンド1(新規起動)
Agent ツールで以下を同期実行する:
subagent_type: 呼び出し元が定めたレビュアーエージェントname: このループの間ずっと使う固定の名前(2ラウンド目以降の継続に使うため必須)run_in_background: false(Agentツールが完了まで戻らずハングの心配が無いため、 codex を起動するループのような watchdog・stall検知・タイムアウト監視は不要)prompt:review-loop-judgementスキルのレビュー依頼に含めるべき内容を満たし、 レビュー依頼に含めてはならない内容(検査をレビュアーに割り当てない・読む量や読み方を指定しない)に 反する記述を含まないレビュー指示文- レビュー指示文に「応答の末尾に、自分のシステムプロンプトに示されている実行モデル表示名を そのまま記載せよ」を必ず含める(下記既知の限界で使うモデル代替の検知手段)
レビュアーエージェントはモデルが frontmatter で固定された専用エージェントなので、model を
呼び出し側で指定する必要はない。
ラウンド2以降(同じエージェントを継続する)
新規に Agent を起動せず、SendMessage の to にラウンド1で付けた名前を指定して次ラウンドの
依頼を送る。エージェントは完了後もその名前で再開でき、前ラウンドの会話コンテキスト——自分が出した
指摘・読んだファイル・受け取った観点と品質基準——を保ったまま続きを処理する。レビュアーが
SendMessage を持たないことは継続の妨げにならない: 応答は再開したエージェントの
最終テキストとして呼び出し側に届く。
- 継続の依頼には
review-loop-judgementスキルのレビュー依頼に含めるべき内容が求める前ラウンドの文脈 (修正した内容・反証した理由・受容したい項目と認否の要求・スコープ外として却下した理由)を渡す。 レビュアーは自分が出した指摘を覚えているので指摘そのものの再掲は要らず、各指摘への対応結果と 今回問うことを書けば足りる。常設観点は毎ラウンドすべて適用させるので、前ラウンドで渡した 観点をすべて適用して再レビューせよと明記する(観点を減らさない)。レビュー依頼に含めてはならない内容 (検査をレビュアーに割り当てない・読む量や読み方を指定しない)は継続の依頼にも同じく適用する。 - 実行モデル表示名の申告は継続ラウンドでも毎回求める。
- 応答は
SendMessageの戻り値としては返らない。エージェントは背景で再開し、完了時のタスク通知で 応答が届く。その通知の到着がそのラウンドの完了であり、届く前に同じレビュアーへ次の依頼を重ねない。 - 継続ラウンドは自分で締切を持つ: ラウンド1と違い
Agentツールの戻りが締切にならないので、 送信後は300秒以下のハートビート(ScheduleWakeup)を張って待つ(背景で走るエージェントの完了通知には 取りこぼしとハングの既知の問題があり、待ち続けると自律進行が黙って止まる)。ハートビートが続けて 空振りし進展のないまま待ちが伸びるラウンドはTaskStopで締め切る(対象は再開したエージェントの タスクで、SendMessageの戻り値が返す再開先のIDで特定できる)。締め切ったラウンドはreview-loop-judgementスキルの1ラウンドが時間内に終わらないときに従って取り直し、 失敗ラウンドに数える(締切超過を理由に観点や論点を削らない)。
失敗時の扱い
- Agent呼び出しがエラーで終わる、または応答が契約違反(観点ごとの確認結果を伴わない無指摘の
一言、編集を試みた形跡等)の場合は失敗ラウンドとして新規エージェントで再実行する。
失敗ラウンドの取り直しは継続(
SendMessage)ではなく新規Agent起動で行う(契約違反を犯した 文脈を引き継がせない)。名前はラウンド1と同じものを使ってよく、以後のSendMessageは新しい方の エージェントに届く。新規起動ではそれまでの会話コンテキストが失われるので、前ラウンドまでの文脈と レビュー指示文一式を改めて渡す。 - エラー内容が固定モデル自体の利用不可(モデル未対応・権限エラーなど、モデルを名指しする エラー)を示す場合は、原因を「<固定モデルの表示名>が使用不可」として明示し、再試行せず直ちに ユーザーへ報告して停止する(恒久的な利用不可は再試行しても解消しない)。
- 応答末尾のモデル表示名が固定モデルを示していない場合は、モデルが黙って代替された疑いとして 契約違反扱いにし、失敗ラウンドとして新規エージェントで再実行する(下記既知の限界参照)。
- レビュアーが本レビューへ進まず差し戻してきた場合は失敗ラウンドに数えない(呼び出し側が レビュー指示文の組み立てを誤ったことが原因で、レビュアー側の障害ではない)。差し戻しが明示する 不備を直した指示文で、同じラウンドを即座に取り直す。差し戻しはレビュアーの契約違反ではないので エージェントを捨てない: ラウンド1の差し戻しは新規起動、継続ラウンドの差し戻しは同じエージェントへ 直した依頼を送り直す形で取り直す。
- 2回連続で失敗ラウンド扱いになったら「問題発生」として停止し、状況をユーザーに報告する。
既知の限界(自己申告に依存する検知)
レビュアーエージェントは frontmatter でモデルを固定しているが、組織・プロジェクト・ユーザーいずれかの
スコープの settings で availableModels の許可リストによりそのモデルが除外されている場合、
Claude Codeはエラーを出さず親会話のモデルへ黙って切り替えて実行を継続しうる。Agent ツールの
戻り値自体には実行モデルを示す情報が無いため、上記失敗時の扱いが求める、応答末尾への実行モデル表示名の申告
(手順1のレビュー指示文で要求)がこの経路の唯一の検知手段になる。この申告は、サブエージェントの
システムプロンプトにハーネス自身が注入した表示名をそのまま書き写させるものであり、モデルが
学習知識から自己のバージョンを推測して答える場合より信頼できる。いずれかのスコープの settings で
availableModels が設定されない限りこの経路は発動しない。設定された場合に備えて、この申告
ベースの検知を安全網として置く。
手順2: 照合・仕分け
review-loop-judgement スキルの手順2のとおり判定する。
手順3: 終了判定
review-loop-judgement スキルの手順3のとおり。
手順4: 報告(日本語)
review-loop-judgement スキルの手順4のとおり。コミットはしない
(コミットは別途ユーザーの指示で commit スキルに委譲)
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Codexへの単発の相談・調査・診断依頼を、ハング防止(watchdog)付きで実行する。反復・収束判定・コミットゲートは持たない。行き詰まって一回だけCodexに相談・調査を依頼したいときに使う。コミット前のレビュー収束が目的ならcodex-review-loopを使う。
codex:rescueにレビューさせ、各指摘を実コードで検証して修正/反証/受容/保留に仕分け、再レビューを反復する。未解決ゼロ・千日手・要ユーザー判断のいずれかで終了。コードレビューを回したいときに使う。
codex:codex-rescueエージェントを起動する各スキル(codex-review-loop・codex-consult等)が共有する、ハング防止付きの起動・監視・再試行契約の正本。内部専用でユーザーが直接使うものではない。
gitコミットをcommit-workerエージェントに委譲して実行する。コミットの依頼を受けたとき、変更をコミットするときに使用する。
fable-reviewer(Fableモデル、read-only)にレビューさせ、各指摘を実コードで検証して修正/反証/受容/保留に仕分け、再レビューを反復する。未解決ゼロ・千日手・要ユーザー判断のいずれかで終了。Fableモデルでコードレビューを回したいときに使う。