local-codex について
ローカルの OpenAI Codex CLI エージェントにコーディングタスクを委任するスキルです。コード生成やレビュー、ログイン状態の確認に対応し、ChatGPT OAuth と設定可能なサンドボックスを利用します。
主な機能
- 01コード生成、リファクタリング、レビューの委任
- 02Codex CLI 実行ファイルの検出と選択
- 03キャッシュ済みログイン状態の確認
- 04単発実行とセッション再開
活用シーン
- 01Codex によるコード生成やリファクタリング
- 02読み取り専用サンドボックスでのコードレビュー
- 03非対話型のコーディングタスク実行
- 04Codex のログイン状態確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ daymade/ claude-code-skills --skill local-codexインストール後、Claude Code で/local-codexを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/oauth-guide.mdscripts/codex_wrapper.pytest_codex_wrapper.py詳細
Local Codex
認証済み ChatGPT アカウントの OAuth アクセスを使用して、コーディングタスクをローカルの OpenAI Codex CLI エージェントに委任します。
使用する場面
- Codex を使ってコードを生成、リファクタリング、レビューしたい場合
- 非対話型タスクで
codex execを実行したい場合 - Codex の GPT-5.5 エージェント機能を使いたい場合
- 「codex」「run codex」「delegate to codex」と言及された場合
認証(ChatGPT OAuth)
重要:選択した認証情報ストアを通じて ChatGPT OAuth を使用してください。このワークフローでは、OPENAI_API_KEY を設定したり、API キーを渡したりしないでください。認証経路を、アカウントの利用枠や追加 Credit のポリシーと分けてください。OAuth を使っても、長時間の作業で追加 Credit が消費されないとは限りません。
- 実際の
CODEX_HOMEとストアを特定してください。デスクトップアプリと CLI は認証情報を共有できます。 - ログイン、アカウントの切り替え、トークンの復旧を行う前に、OAuth ガイドを読み、復旧手順に従ってください。独立した認可には新しい空のストアを使用し、明示的に認可された単一所有者間の移管は維持し、実際のアクセスと既存プロセスでの利用をそれぞれ確認してください。
- ネイティブの利用枠を照会する前に、更新の所有権を読んでください。一見読み取り専用の照会でも、認証情報が更新されることがあります。
- 別の認可済みアカウントで、利用枠に基づいて処理を継続する場合は、本格的な実行に進む前に利用済み分の確認を行ってください。キャッシュ済みログインや新しいデフォルトファイルは、この確認の代わりにはなりません。
Codex CLI のパス
このスキルは、次の順序で Codex CLI を自動検出します。
CODEX_BIN環境変数が設定されている場合は、その値を使用します(明示的な上書き)。実行権限のないパスが指定されていると、別のビルドに暗黙的にフォールバックせず、エラーで終了します(そうすると、ラッパーが測定した内容の帰属先が不明になるためです)。which codex— ラッパープロセスの PATH で最初に見つかった実行ファイルです。nvm 配下の npm グローバルインストール(~/.nvm/versions/node/*/bin/codex)も含みます。この検索では、対話型シェルのエイリアスや関数は実行されません。/Applications/ChatGPT.app/Contents/Resources/codex— ChatGPT.app に同梱されているコピーで、フォールバックとしてのみ使用されます。バージョンはデスクトップアプリに追従し、npm ビルドと異なることがあるため、意図的に最後に配置されています。
不正な CODEX_BIN が設定されていた場合、ラッパーは {"error": "CODEX_BIN not executable", "path": <value>} を返して 1 で終了します。問題の値はエラー自体に含まれ、この場合は他の検索手順が実行されていないため、searched_paths は出力されません。PATH にもアプリのバンドルにも codex が見つからない場合、ラッパーは実際の検索順を searched_paths に含めて 1 で終了します。
どのバイナリが選ばれた場合も、実行されたバイナリのバージョンを確認して、その挙動の帰属先を特定してください。無関係なシェルで codex --version を実行すると、別のエントリーが解決される場合があります。フォールバックでアプリ同梱版が選ばれた場合、引用するビルドとしてそれは不適切です。ラッパーのステータス出力にある codex_path フィールドを使用してください。
"<codex_path from status output>" --version
このラッパーを使用する前に、ユーザーが通常使う CLI のエントリーを特定してください。そのエントリーがネットワークや認証のコンテキストを提供するシェル関数またはランチャーの場合、検出されたバイナリに暗黙的に置き換えず、それを所有するシェル経由で実行してください。macOS の zsh では、/bin/zsh -lic 'command -v codex; codex --version' で確認し、同じシェルモード内で codex を実行してください。タイムアウトはシェルプロセスに設定してください。gtimeout … codex は実行ファイルを解決するため、シェル関数を呼び出せません。同梱の Python ラッパーはシェルの初期化を再現せず、すべてのネイティブフラグに対応しているわけではありません。そのような機能が必要な場合は、ネイティブ CLI を直接実行してください。
使用パターン
1. 基本的な exec(単一タスク)
python3 scripts/codex_wrapper.py exec "<prompt>" [<workdir>] [<model>] [<sandbox>] [<timeout>]
例:
python3 scripts/codex_wrapper.py exec \
"Write a Python function to calculate fibonacci" \
/tmp \
gpt-5.5 \
workspace-write \
300
2. コードレビュー
python3 scripts/codex_wrapper.py review [<workdir>] [<model>] [uncommitted:true] [<timeout>]
例:
python3 scripts/codex_wrapper.py review \
/path/to/repo \
gpt-5.5 \
true \
300
3. キャッシュ済みログインの確認
python3 scripts/codex_wrapper.py status
この結果は、キャッシュ済みログインの確認を参照して解釈してください。認可済みの実アクセスを確認するには、このガイドの検証手順に従ってください。
パラメーターと結果
コマンド引数、デフォルト値、JSON フィールドは、scripts/codex_wrapper.py の main()、
exec_codex()、review_codex()、check_auth_status() で定義されています。
別のパラメーター表や出力フィールド表ではなく、これらの定義を参照してください。
安全に関する注意事項
- 分析/レビュータスクには
sandbox=read-onlyを使用します(ファイルへの書き込みは行いません)。 - コード生成には
sandbox=workspace-writeを使用します(作業ディレクトリに書き込みます)。 sandbox=danger-full-accessは明示的に必要な場合にのみ使用します(システム全体へのアクセス)。- Git リポジトリ外で実行する場合は、必ず
--skip-git-repo-checkを使用します。 - 単発タスクには
--ephemeralを使用します(セッションは保持されません)。
セッション管理
複数ステップのタスクでは、Codex のセッションを再開できます。
# First step
codex exec --json "Step 1..."
# Later, use the session ID reported by that first invocation:
codex exec resume "${CODEX_SESSION_ID:?Set the session ID from the first invocation}" "Step 2..."
このラッパーは現在、単発の exec を実行します。複数ステップのワークフローには、codex exec コマンドを直接使用してください。
エフェメラルな呼び出しでは、後で再開するためのセッションは保持されません。
--last は、直近に記録されたセッションが対象として意図したものだと確認してから使用してください。
制限事項
- リモートログインでは、別のマシン上のブラウザーを使ったデバイス認証を利用できます。リモートホストにデスクトップアプリを要求するのではなく、OAuth ガイドに従ってください。
- 選択したバイナリの診断機能を使用する前に、
doctor --helpを確認してください。対応している場合は、--summaryではなく詳細なレポートを使用して、エンドポイントや対処方法を確認します。集約された終了コードだけでなく失敗したチェックを確認し、古いビルドのキーを前提とせず、出力された JSON スキーマを読んでください。 - シェル環境の継承は、選択したビルドの
shell_environment_policyに従います。有効な設定を確認してください。認証情報をプロンプトに含めないでください。 - 大きなファイル操作では、タイムアウトの延長が必要になることがあります。