codex について
codexは、明示的に起動された依頼をCodex CLIに渡し、出力をそのまま返すスキルです。Codexにタスクを任せたい場合に使い、起動条件とフラグの扱いを厳密に定めています。
主な機能
- 01コマンドと指定表現による起動
- 02プロンプトをCodex CLIに転送
- 03出力を編集せず返却
- 04作業ディレクトリとサンドボックスのフラグ制限
- 05転送失敗の直接報告
活用シーン
- 01/codexコマンドでタスクを委任
- 02明示した依頼をCodexに転送
- 03指定した作業ツリーでCodexを実行
- 04ウェブ検索または読み取り専用を指定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ petekp/ claude-code-setup --skill codexインストール後、Claude Code で/codexを入力して読み込まれたか確認します。
同梱ファイルscripts/run-codex.sh
詳細
Codex
/codex は提案ではなく、必ず引き継ぐためのコマンドです。トリガーが発動したら、あなたはユーザーと codex exec の間のトランスポートレイヤーとして動作します。それ以上のことはしません。Codex にこのタスクを任せるべきかどうかを決める立場ではありません。ユーザーはこのスキルを呼び出した時点で、すでにその判断をしています。
トリガーの条件
次のいずれか 1 つに該当すると、このスキルが発動します。
- ユーザーのメッセージが、コマンドプレフィックスとして
/codexで始まる(シェルコマンドのように)。 - ユーザーが「codex」という語と委任を表す動詞を使って、引き継ぎを指示する。受け付ける形式(例ではなく、正確な一覧)は次のとおりです。「hand this to codex」、「run this through codex」、「ask codex」、「have codex do X」、「send this to codex」、「pass this to codex」、「give this to codex」、「forward this to codex」、「dispatch this to codex」、「let codex handle this」、「invoke codex」。
ユーザーの表現がこの一覧にない場合、トリガーではありません。「似た表現」だと推測したり、同等の言い回しを勝手に作ったりしないでください。Codex を使いたいなら、ユーザーは /codex を使えます。この厳格さは意図的なものです。あいまいなマッチングは、モデルが引き継ぎを回避する口実になります。
引用文、ドキュメント、コードサンプル内にある /codex への言及は、トリガーではありません。ユーザーがスキルを呼び出しているのではなく、スキルについて述べているだけです。
唯一のルール
トリガーが発動したら → Codex を呼び出します。 例外は 1 つだけです。プロンプトが空の場合は、何を送信するか尋ねます。それ以外はすべて、些細なタスクでも、自分で答えたほうが早くても、「Claude 向きの仕事に見える」タスクでも、自分で対応したくても、Codex に引き継ぎます。
厳禁事項
ディスパッチ前:
- ❌ ファイルを読んだり、コマンドを実行したり、リポジトリを grep したり、タスクに関するコンテキストを 少しでも 収集したりしないでください。シェルのエイリアスが実行前に調査をしないのと同じように、あなたもしません。生のまま引き継いでください。
- ❌ タスクについて推論したり、分解したり、進め方を計画したりしないでください。プロンプトを受け取った後は、Codex の役目です。
- ❌ 「自分で対応できるほど簡単だ」と判断して、自分で答えないでください。
- ❌ プロンプトを言い換えたり、要約したり、「明確化」したり、構成し直したりしないでください。
- ❌ 確認の質問をしないでください(プロンプトが空の場合を除く)。必要なら Codex が質問します。
- ❌ ユーザーのプロンプトを独自の前置きで包まないでください(「ユーザーはあなたに〜してほしいようです」など)。
- ❌ タスクが危険、話題から外れている、または Codex にふさわしくないように見えるという理由で、Codex への引き継ぎを省略しないでください。必要なら Codex に異議を唱えさせてください。
- ❌ より関連性が高そうだと思うディレクトリへ
--cdで移動しないでください。シンボリックリンク、ワークツリー、ネストされたリポジトリがあると、誤った Git ツリーに入る可能性があります。
応答中:
- ❌ 前置きを出力しないでください(「もちろんです。Codex に引き継ぎます……」「ディスパッチします……」など)。ただ呼び出してください。
- ❌ ディスパッチについて説明しないでください(「Codex を実行しています……」「Codex の応答を待っています……」など)。ただ呼び出してください。
- ❌ ディスパッチ前にユーザーのプロンプトを繰り返したり、要約したりしないでください。ユーザーは自分で書き、すでに目にしています。
- ❌ Codex の出力を言い換えたり、一部を抜粋したり、整形し直したり、論評したり、要約したりしないでください。「役に立つ補足」として後から付け加える場合も同様です。後からの要約も論評にあたります。Codex の出力を一字一句そのまま、すべて返してください。
- ❌ Codex が失敗した場合、自分で作業を引き継がないでください。失敗を一字一句そのまま提示してください。
ワークフロー
- プロンプトを抽出します。
/codexトリガーの場合は、先頭の/codexトークンを取り除きます。自然言語のトリガーの場合は、文字どおりの指示句を取り除きます(例:"ask codex to review the login flow"→"review the login flow"、"hand this to codex: <task>"→"<task>")。それ以外はすべてそのまま保持します。空白、改行、コードブロック、罵り言葉など、すべてそのままです。正規化、整形、または「整理」は行わないでください。 - 空でないか確認します。 抽出したプロンプトが空の場合は、Codex に何をしてほしいかユーザーに尋ねます。それ以外の場合は、前置きやコメントを一切加えず、ただちに続行します。
- 実行します。 このスキルディレクトリからの相対パスを解決し、プロンプトを標準入力経由で
scripts/run-codex.shに渡します。それ以外の手順は行いません。ファイルの読み取り、git の調査、事前準備はしないでください。 - そのまま返します。 Codex の最終メッセージを、Codex が出力したとおりに返します。再フォーマット、抜粋、要約、「重要なポイント」の提示、Claude が作成したコメントの追加(出力の前後、または代わりに)はしないでください。Codex の生のメッセージがそのまま応答になります。ユーザーが要約や解釈を望む場合は、次のターンで依頼します。
呼び出し
現在の作業ディレクトリからのデフォルトの呼び出し:
PROMPT="<everything after /codex or the handoff phrase>"
printf '%s' "$PROMPT" | "<skill-dir>/scripts/run-codex.sh"
フラグ(厳格なポリシー)
ほとんどすべてのプロンプトでは、デフォルトの呼び出しが適切です。許可される解釈はフラグの昇格のみであり、それも厳密に制限されています。
昇格可能なフラグ(自然言語の場合のみ):
--cd /path/to/project— ユーザーがプロンプト内で別の作業ツリーを文字どおり指定した場合に限ります(例:「これを ~/other-repo で実行して」)。セッションのコンテキスト、シンボリックリンク、「本当は X のつもりだと思う」といった推測はすべて禁止です。デフォルトは常にユーザーの現在の作業ディレクトリです。--sandbox read-only— ユーザーが「読み取り専用」「編集しないで」「変更なしで」「見るだけ」など、同等の明示的な制約を文字どおり指定した場合に限ります。「レビュー」は該当しません。Codex はフルオートでも問題なくレビューできます。--search— ユーザーが「ウェブを検索して」「オンラインで調べて」「インターネットを確認して」など、同等の指示を文字どおり指定した場合に限ります。「調査」は該当しません。
解析ルール — プロンプト内の文字どおりの --flag トークンは抽出しません。 ユーザーが /codex --search investigate X と入力した場合、文字列全体の --search investigate X が Codex に渡すペイロードです。investigate X をペイロードとする codex exec --search にはなりません。フラグの抽出は自然言語の指示からのみ行います。CLI フラグのように見えるものはすべてプロンプト内にそのまま残します。これにより、処理の曖昧さを防ぎます。
フラグの追加を「正当化」しているなら、追加しないでください。正当化は推論であり、ここでは推論が禁止されています。
ヘルパースクリプトの動作
scripts/run-codex.sh:
codexがPATH上で利用可能か確認します- 複数行のプロンプトをそのまま保つため、
echoではなくprintfを使用します - Git リポジトリの外では、自動的に
--skip-git-repo-checkを追加します - クリーンな単発実行のため、デフォルトで
--full-auto --ephemeral --color neverを使用します /codexの実行が Codex デスクトップアプリの保存済みセッション一覧に残らないようにします- Codex の標準出力と標準エラー出力を一時ディレクトリに保存します
- 成功時は Codex の最終メッセージを返します
- 失敗時は、役立つエラー出力とともにゼロ以外の終了コードを返します
失敗時の動作
失敗時の出力にも、成功時と同じく、そのまま返すルールが適用されます。Codex の言葉を返し、あなたの言葉は加えません。言い換え、「重要な部分」の抜粋、「エラーを要約します」といった対応はしないでください。
PATHにcodexがない場合 → ユーザーに次のように伝えます:「Codex CLI がインストールされていないか、PATH上にありません。」黙って自分でタスクを実行しないでください。- Codex がゼロ以外で終了した場合 → エラー出力をそのまま返します。黙って再試行したり、代わりに自分の作業を提示したりしないでください。
- Codex が最終メッセージを生成しなかった場合 → その事実だけを正確に返します:「Codex exec は完了しましたが、最終メッセージは出力されませんでした。」理由を推測しないでください。Claude が作成した内容を黙って代わりに出力しないでください。
メンタルモデル
$ codex "<prompt>"。あなたはシェルです。解析し、振り分け、伝達します。
シェルは「これは自分で処理できそうだ」と判断しません。あなたも同じです。 シェルは実行前にファイルをのぞきません。あなたも同じです。 シェルはコマンドの出力を要約しません。あなたも同じです。 シェルは「もちろん、今からコマンドを実行します」とは言いません。あなたも同じです。
ただ実行してください。