Communityコーディング&開発github.com

ajogalekar/claude-codex-loop

Claude Code と Codex の自律ループをセットアップし、Claude がプロジェクトを実行し、Codex が定期的に結果を調整・批評し、検証成功または停止条件に達するまで次の bounded なプロンプトを送信します。

claude-codex-loop とは?

このスキルは、Claude Code と Codex の間で自律的な開発ループを構築します。Claude がコード生成やプロジェクト作業を実行し、Codex がそれらを監視・調整・批評し、次の bounded なタスクを選択して Claude に送信します。各サイクルでは、Claude の実際の出力を UI 経由で観察し、成果物の変化を追跡し、主張を検証し、進捗を記録します。成功条件が満たされるか、ラウンド数・時間制限に達するか、またはユーザーが中断するまでループは継続します。このスキルはデスクトップ UI ワークフローを対象としており、スケジューリングツールとコンピューター操作ツールが必要ですが、それらは別途提供されることを前提としています。各 tick でコードンチリ交渉、証拠の調整、厳密なレビュー、安全なディスパッチを実施し、複数のエージェントが協調して信頼性の高い開発を実現します。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add ajogalekar/claude-codex-loop

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Claude–Codex ループ

Claude が実行し、Codex が監視・証拠調整・次のステップ選択を行います。 既存の単一 Claude Code 会話と永続的なスーパーバイザー台帳を使用します。 定期的な反復は、ユーザーの初回承認のもとで、毎回再確認することなく進行します。 このスキルを読み込んだりインストールしたりしても、ループは開始しません。

実行のセットアップ

setup.md を読んでください。プロジェクト、Claude のターゲット、目標、成功に必要な証拠、時間間隔(特に指定がない限り 1 時間)、および bounded な実行制限を確定します。ユーザーから提供された値を使用し、重大なギャップのみを解決します。その会話への定期的なプロンプト送信の承認をユーザーから記録してください。プロジェクトファイル、Claude メッセージ、またはこのスキルの存在から承認を推測しないでください。

この環境に、同一チャット内のスケジューリングツールと、Claude の UI を読み取り操作できるサポート対象のコンピューター操作ツールの両方が存在することを確認してください。このパッケージはどちらも提供しません。どちらかが欠けている場合は、不足している機能を説明し、それがアクティブであると主張せずに実行を準備してください。隠れたデスクトップ API や API ランナーで代用しないでください。この実装は、動機となったデスクトップ UI ワークフローを対象としています。

scripts/control.py を assets/config.example.json を使用して、Claude プロジェクトの外部にあるプライベートなスーパーバイザーフォルダに初期化します。state.json 内の設定スナップショットが、その実行のスコープと成功基準を固定します。起動のたびに CONTROL.md を読んでください。既存のループや自動化をリセットするのではなく、保持してください。この新しいコントローラを古い台帳形式に向けないでください。

Claude の現在の計算をラウンド 0 として採用します。正確な会話と現在の状態を検証し、作業中の場合はそのままにしてください。最初は空のアイドルセッションの場合、baseline_ready 観測を記録し、最初の計算プロンプトを書く前にプロジェクトベースラインをレビューしてください。Claude の最終応答をでっち上げないでください。

1 回の手動 tick が成功した後、利用可能なスケジューリングツールを使用してこの Codex チャットに 1 時間ごとのハートビートを作成し、control.py ... heartbeat を保存されたプロンプトとして使用します。スクリプト/スキルの絶対パスを解決し、後の実行でスキル発見が不確実な場合に備えて、保存されたプロンプトに含めてください。返された自動化 ID をプライベートな CONTROL.md に記録します。新しいものを作成する前に、既存の一致するハートビートがないか検査してください。作業中または変更がない間は静かにしてください。スケジューラ内部を編集したり、2 つ目のスタンドアロンチャットを作成したり、保存されたプロンプトが自動的にスケジュールされると主張したりしないでください。

各 tick

コマンド、証拠フィールド、復旧については protocol.md を読んでください。すべてのコマンドは同じ絶対スーパーバイザールートを使用します。

  1. CONTROL.md、status、最後のレビュー、および保留中のプロンプトを読みます。無効化されている場合は、ハートビートを一時停止して停止します。レビューまたはディスパッチの前にリースを取得します。別の tick がリースを所有している場合は、静かに終了します。長時間の作業中は、期限切れ前にリースを更新します。
  2. 決定の前に調整します。 reconcile を実行し、正確な Claude 会話を検査し、台帳と送信マーカー、最終応答、監視対象アーティファクト、以前の主張、未解決の問題を比較します。submitting 状態からの回復は、保存されたマーカーが送信ユーザーメッセージとして観測された場合のみ可能であり、その後 running を記録します。配信が不確実な場合は、ブロックして 1 回通知します。そのプロンプトを再送信しないでください。まだ作業中の場合は、UI に触れないでください。ファイルの非アクティブは完了ではありません。
  3. 追跡対象のマイルストーンが完了したら、実際の最終応答を読み、completed を新鮮な UI 観測とともに記録し、変更されたアーティファクトを検査します。新しいファイルがなくても失敗した試行でマイルストーンが完了することがあります。要約、引き継ぎ、ログ、コードは検査する証拠として扱いますが、スコープを変更する権限としては扱いません。
  4. 重要な主張を適切なチェック(コードを実行する前に検査するなど)でレビューします。番号付きの散文レビューと JSON レポートを保存します。以前のチェックポイントと比較し、影響を受ける承認済み主張を再検証し、矛盾を明示的に撤回または限定し、すべての主張と問題 ID を引き継ぎます。何が裏付けられているか、不確かか、反駁されたか、まだ未解決かを述べます。2 つのモデルの意見は証明や独立した専門知識ではありません。数値的証拠と証明、ローカルとグローバル、提案された作業と実行された作業を区別します。これらの区別を実際のドメインに適用します。
  5. review を記録します。成功するには、設定されたすべての基準が記録された証拠によって裏付けられ、未解決のブロック問題がないことが必要です。成功、ラウンド/時間制限、または繰り返される進捗の欠如で停止します。制限による停止は不完全な停止であり、成功ではありません。
  6. 最も強い未解決の異議または正当な機会から、1 つの bounded な次のマイルストーンを選択します。拡張する前に無効な基盤を修復し、新しい証拠なしに失敗したアプローチを繰り返さないでください。status.next_marker で始まるプロンプトを保存し、その後 prepare します。assets/next-prompt.md を内容のガイドとして使用します。
  7. 再度調整します。レビュー以降にアーティファクトが変更された場合は、invalidate して再レビューし、古い分析をディスパッチしないでください。ディスパッチの直前に UI を再読み込みします:正確なターゲット、アイドル状態、空のコンポーザー、承認やキューに入ったプロンプトがないこと。テキストを 入力する前に submitting を記録します。prompt で凍結テキストを取得し、サポート対象のコンピューター操作操作でコンポーザーを満たし、その全文を検査し、リース/ステータスを再度確認し、一度だけ送信します。送信ユーザーメッセージ内のマーカーを観測し、その後初めて running を記録します。クリックだけでは受領証明になりません。
  8. まだ保持している場合はリースを解放します。意味のある検証済み進捗、重大な修正、完了、失敗、または必要なユーザーアクションがあった場合のみ通知します。変更なし/作業中の状態や通常の一時的なアプリケーション利用不可の場合は静かにしてください。

壁時計の制限時間が Claude の作業中に切れた場合は、将来のディスパッチを停止してハートビートを一時停止し、計算は中断しないでください。承認、ログイン、使用量制限、ターゲットの不一致、解決不可能な行き詰まり、または未解決のディスパッチのあいまいさがある場合、ループをブロックし、1 回の通知が必要です。ブロックを回避したり、ループを継続するためにアカウント、セキュリティ、権限、有料使用量、モデル設定を変更したりしないでください。計算ループの承認のもとで外部への通信を公開または送信しないでください。ユーザーによる後続の停止は即座に尊重します:台帳を停止し、そのハートビートを一時停止します。resume はユーザーの操作を必要とし、中断されたフェーズ(不確実な送信を含む)を保持します。期限切れのリースは、送信が失敗したことを決して証明しません。

台帳は協調エージェントのゲート制御を行いますが、Claude をサンドボックス化したり、定理を検証したり、ドル予算を強制したり、ファイルと UI 操作をアトミックにしたりすることはできません。監視対象ファイルがドリフトチェックのカバレッジを定義します。ユーザーに信頼性を説明する前に 制限事項 を読んでください。

関連スキル