Codex(CLI、IDE拡張、スタンドアロンアプリのいずれであっても)を使用している場合、カスタムコマンドの構築はAgent Skillsフレームワークのオープンな枠組みに依存しています。このフレームワークにより、指示、リソース、任意のスクリプトをパッケージ化して、Codexを非常に特化した能力で拡張できます。
Codexのエコシステムでは、カスタムコマンドとスキルは本質的に同じものです。以下は、1つを作るための手順です。
1. ディレクトリ構造を作成する
スキルは専用のフォルダによって定義されます。作成には2つの選択肢があります:
-
簡単な方法: プロンプトで
$skill-creatorを実行し、Codexの内蔵作成機能を使ってください。スキルが何をするのか、いつトリガーすべきかを対話形式で質問し、フォルダを生成してくれます。 - 手動の方法: セットアップを自分で行いたい場合、ディレクトリは次の構造を含めることができます:
my-skill/
├── SKILL.md # 必須: メタデータとAIの指示を含む
├── scripts/ # 任意: 実行可能コード(例: Node.js、bash)
├── references/ # 任意: AI向けドキュメントのコンテキスト
├── assets/ # 任意: テンプレートおよび静的リソース
└── agents/openai.yaml # 任意: 外観および依存関係の設定
2. SKILL.mdファイルを書く
SKILL.mdファイルは、あなたのコマンドの頭脳です。冒頭にメタデータ(NameとDescription)を記述し、その後に指示を続ける必要があります。
プロのコツ: 「プログレッシブ・ディスクロージャ(段階的開示)」を理解する
Codexは、プログレッシブ・ディスクロージャという手法を使います。まず、利用可能なすべてのスキルの説明文だけを読み取り、今のプロンプトにそのスキルが合致するかどうかを判断します。境界を明確にしスコープを厳密にした説明を書けば、Codexはトークンのコンテキストを無駄にすることなく、いつトリガーすべきかを正確に理解できます!
次のように構成します:
---
name: my-skill
description: "Strict scope description of what this command does."
---
# Instructions
When this command is invoked, follow these exact steps...
3. コマンドを保存する場所を選ぶ
Codexは、フォルダをどこに保存したかに基づいてスキルの変更を自動的に検出します。ワークフローに合うスコープを選んでください:
-
プロジェクト/リポジトリレベル:
$CWD/.agents/skills、$CWD/../.agents/skills、または$REPO_ROOT/.agents/skillsに保存します。マイクロサービスのデプロイヤーのような、リポジトリ固有のスクリプトに最適です。 -
ユーザーレベル(グローバル):
$HOME/.agents/skillsに保存します。これにより、あなたが任意のプロジェクトを開く際に、そのコマンドを個人用として利用できるようになります。 -
管理者/システムレベル:
/etc/codex/skillsに保存します。これにより、その特定のマシン上のすべてのユーザーに対して、デフォルトのツールとしてコマンドを利用できるようになります。
4. 呼び出しの挙動を設定する(任意)
デフォルトでは、Codexはスキルを明示的に(名前を呼んだとき)または暗黙的に(自然言語のプロンプトが説明に一致したとき)トリガーできます。
これを厳密に手動コマンドとして動作させたい(AIが自律的に実行するのを防ぐ)場合は、スキルディレクトリ内にagents/openai.yamlファイルを作成します:
# agents/openai.yaml
allow_implicit_invocation: false
5. コマンドを使う
ファイルを保存したら、Codexは自動的に検出します(検出されない場合はCodexを再起動してください)。これでワークフローをトリガーできます:
-
明示的に(手動):
/skillsを実行して一覧を表示するか、プロンプトに直接$の後にスキル名を入力します(例:$my-skill)。 -
暗黙的に(自律的):
allow_implicit_invocationがtrueの場合、単にSKILL.mdの説明に一致するプロンプトを入力するだけで、Codexが指示をシームレスに読み込み、タスクを実行します!


