Agent Skills Standard を使って Codex のカスタムコマンドを構築する方法

Dev.to / 2026/4/13

💬 オピニオンTools & Practical Usage

要点

  • この記事では、Codex コマンドのカスタマイズはオープンな Agent Skills フレームワークを通じて行うことを説明しており、これは命令、リソース、そしてオプションのスクリプトをパッケージ化して Codex の機能を拡張します。
  • 手順を追ったワークフローとして、専用のスキルフォルダーを作成する方法を示します(Codex の $skill-creator を使うか、手動でディレクトリ構成を作るかのいずれか)。これには必須の SKILL.md と、任意のスクリプト/参照/アセット/設定(configs)が含まれます。
  • 必要な SKILL.md のフォーマットについて詳しく述べています。SKILL.md はメタデータ(name/description)から始まり、その後にスキルが呼び出されたとき Codex が従う AI 用の指示が続く、という点を強調しています。
  • 設計の重要な原則として「段階的開示(progressive disclosure)」を取り上げ、ユーザーが明確で、厳密にスコープされた説明を書くよう助言することで、Codex が適切なスキルに一致でき、トークンの文脈を無駄にすることを防げるとしています。

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が指示をシームレスに読み込み、タスクを実行します!