スキルを構築する
スキルを構築する
Codex に新しい機能と専門知識を追加します
エージェントスキルを使用すると、タスク固有の機能で ChatGPT と Codex を拡張できます。 スキルは指示、リソース、任意のスクリプトをパッケージ化するため、どちらの製品でも ワークフローを確実に実行できます。スキルは オープンなエージェントスキル標準を基盤としています。
スキルは、再利用可能なワークフローを作成するための形式です。プラグインは、 ChatGPT と Codex が共有する汎用プラグインディレクトリを通じて、再利用可能なスキルとコネクターを配布します。 プラグインは、Web、デスクトップ、モバイル版 ChatGPT の Chat と Work、 ChatGPT デスクトップアプリ内の Codex、および Codex CLI で動作します。まずスキルを使用してワークフロー自体を設計し、他のユーザーが インストールできるようにする場合は、プラグインとして パッケージ化してください。
スタンドアロンのスキルは、ChatGPT デスクトップアプリ、Codex CLI、IDE 拡張機能で利用できます。プラグインに同梱されたスキルは、Web、デスクトップ、モバイル版 ChatGPT の Chat と Work でも利用できます。
ChatGPT デスクトップアプリでは、サイドバーの Skills を開くと、プロジェクト全体で 作成されたスキルを表示して確認できます。
Codex では、最初のリストに各スキルのファイルパスも含まれます。プロンプトの残りの部分を 圧迫しないよう、このリストが使用するのは、モデルのコンテキストウィンドウの最大 2%、 コンテキストウィンドウが不明な場合は 8,000 文字までです。多数のスキルがインストールされている場合、Codex はまずスキルの説明を 短縮します。スキルの数が非常に多い場合、Codex は最初のリストから一部のスキルを省略し、警告を表示することがあります。
この上限は、スキルの初期一覧にのみ適用されます。Codex がスキルを選択すると、そのスキルの完全な SKILL.md の指示を読み込みます。
スキルは、SKILL.md ファイルと、オプションのスクリプトおよびリファレンスを含むディレクトリです。SKILL.md ファイルには name と description を含める必要があります。
ChatGPT と Codex がスキルを使用する仕組み
ChatGPT と Codex は、次の 2 つの方法でスキルを有効化できます。
- 明示的な呼び出し: スキルをプロンプトに直接含めます。
ChatGPT では、
@と入力してスキルを選択します。Codex CLI または IDE 拡張機能では、/skillsを実行するか、$と入力してスキルをメンションします。 - 暗黙的な呼び出し: タスクがスキルの
descriptionと一致する場合、ChatGPT または Codex がそのスキルを選択できます。
暗黙的なマッチングは description に依存するため、対象範囲と境界が明確な簡潔な説明を
記述してください。説明が短縮された場合でもホストがスキルを照合できるように、
主要なユースケースとトリガーとなる単語を説明の先頭に配置してください。
スキルを作成する
ワークフローがすでに明確で、説明するより実演する方が簡単な場合は、 Record & Replay を使用してください。レコーダーは ワークフローを記録して手順を検査し、実演内容から再利用可能なスキルの 下書きを作成します。
スキルを言葉で説明したい場合は、組み込みの作成機能を使用してください。ChatGPT
Work では、@skill-creator として呼び出します。Codex では、次のように呼び出します。
$skill-creator作成ツールは、スキルの機能、スキルが呼び出される条件、指示のみの構成にするかスクリプトを含めるかを尋ねます。デフォルトは指示のみです。
SKILL.md ファイルを含むフォルダーを作成し、スキルを手動で作成することもできます。
---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for ChatGPT or Codex to follow.Codex はスキルへの変更を自動的に検出します。更新が表示されない場合は、Codex を再起動してください。
Codex がローカルスキルを読み込む場所
Codex は、リポジトリ、ユーザー、管理者、システムの各場所からスキルを読み取ります。リポジトリでは、現在の作業ディレクトリからリポジトリルートまでの各ディレクトリにある .agents/skills をスキャンします。2つのスキルが同じ name を共有していても、Codex はそれらをマージしません。両方がスキルセレクターに表示されることがあります。
| スキルのスコープ | 場所 | 推奨用途 |
|---|---|---|
REPO |
$CWD/.agents/skills 現在の作業ディレクトリ: Codex を起動した場所です。 |
リポジトリまたはコード環境で作業している場合、チームは作業フォルダーに関連するスキルをチェックインできます。たとえば、特定のマイクロサービスやモジュールにのみ関連するスキルです。 |
REPO |
$CWD/../.agents/skills Git リポジトリ内で Codex を起動した場合の CWD より上位のフォルダーです。 |
ネストされたフォルダーを持つリポジトリでは、組織は親フォルダーの共有領域に関連するスキルをチェックインできます。 |
REPO |
$REPO_ROOT/.agents/skills Git リポジトリ内で Codex を起動した場合の最上位ルートフォルダーです。 |
ネストされたフォルダーを持つリポジトリでは、組織はリポジトリを使用するすべてのユーザーに関連するスキルをチェックインできます。これらは、リポジトリ内のどのサブフォルダーでも利用可能なルートスキルです。 |
USER |
$HOME/.agents/skills ユーザーの個人フォルダーにチェックインされた任意のスキルです。 |
ユーザーが作業する可能性のあるあらゆるリポジトリに適用できる、そのユーザー向けのスキルを整理するために使用します。 |
ADMIN |
/etc/codex/skills 共有システム領域にある、マシンまたはコンテナへチェックインされた任意のスキルです。 |
SDK スクリプトや自動化、およびマシン上の各ユーザーが利用できるデフォルトの管理者スキルをチェックインするために使用します。 |
SYSTEM |
OpenAI によって Codex に同梱されています。 | skill-creator や plan スキルなど、幅広いユーザーに役立つスキルです。Codex を起動すると、すべてのユーザーが利用できます。 |
Codex はシンボリックリンクされたスキルフォルダーに対応し、これらの場所をスキャンするときにリンク先をたどります。
これらの場所は、スキルの作成とローカルでの検出に使用されます。単一のリポジトリを超えて 再利用可能なスキルを配布する場合、または必要に応じてコネクターと同梱する場合は、 プラグインを使用してください。
プラグインでスキルを配布する
スキルフォルダーを直接使用する方法は、ローカルでの作成やリポジトリ単位のワークフローに最適です。再利用可能なスキルを 配布したい場合、2つ以上のスキルをまとめたい場合、または コネクターと一緒にスキルを提供したい場合は、 プラグインとしてパッケージ化してください。
プラグインには、1 つ以上のスキルを含めることができます。また、登録済みの MCP サーバー接続、同梱された MCP サーバー設定、および プレゼンテーション用アセットを、必要に応じて1つのパッケージにまとめることもできます。
ローカルで使用する厳選スキルをインストールする
個人のローカル Codex 環境に組み込み以外の厳選スキルを追加するには、$skill-installer を使用します。たとえば、$linear スキルをインストールするには、次のようにします。
$skill-installer linearほかのリポジトリからスキルをダウンロードするよう、インストーラーに指示することもできます。 Codex は新しくインストールされたスキルを自動的に検出します。表示されない場合は、 Codex を再起動してください。
これはローカル環境のセットアップと実験に使用してください。独自スキルを再利用可能な形で 配布する場合は、プラグインを推奨します。
ローカルの Codex スキルを有効または無効にする
~/.codex/config.toml の [[skills.config]] エントリを使用すると、スキルを削除せずに無効化できます。
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false~/.codex/config.toml を変更した後は Codex を再起動してください。
オプションのメタデータ
agents/openai.yaml を追加すると、ChatGPT デスクトップアプリの UI メタデータを構成し、呼び出しポリシーを設定し、ツールの依存関係を宣言して、スキルをよりシームレスに使用できるようになります。
interface:
display_name: "Optional user-facing name"
short_description: "Optional user-facing description"
icon_small: "./assets/small-logo.svg"
icon_large: "./assets/large-logo.png"
brand_color: "#3B82F6"
default_prompt: "Optional surrounding prompt to use the skill with"
policy:
allow_implicit_invocation: false
dependencies:
tools:
- type: "mcp"
value: "openaiDeveloperDocs"
description: "OpenAI Docs MCP server"
transport: "streamable_http"
url: "https://developers.openai.com/mcp"allow_implicit_invocation(デフォルト: true): false の場合、Codex はユーザープロンプトに基づいてスキルを暗黙的に呼び出しません。明示的な $skill による呼び出しは引き続き機能します。
ベストプラクティス
- 各スキルの目的を1つの作業に絞ってください。
- 決定論的な動作や外部ツールが必要な場合を除き、スクリプトより指示を優先してください。
- 入力と出力を明示し、命令形で手順を記述してください。
- スキルの説明に対してプロンプトをテストし、意図したトリガー動作になることを確認してください。
その他の例については、 GitHub CIの修復、 PDF、 Linear、 openai/skills、および エージェントスキル仕様を参照してください。インストール可能な形式で 配布する場合は、プラグインを推奨します。