スキルは、MCP サーバーのツールを使ってワークフローを繰り返し実行する方法を ChatGPT と Codex に教えることで、サーバーを補完します。最新データの取得、認証、認可、管理されたアクションの実行にはサーバーを使います。ツールの使用順序、判断のポイント、出力要件、例、テンプレートなど、再利用できるガイダンスにはスキルを使います。
プラグインには、1 つのスキルまたは関連する複数のスキルを含めることができます。 各スキルは、ユースケース一覧にある 明確なユーザーの目標に焦点を絞ってください。ワークフローに必要なものが同梱の指示とリソースだけであれば、 MCP サーバーなしでもスキルを利用できます。
スキルの作成
最も手早く始めるには、組み込みのスキル作成ツールを使います。ユーザーの目標と、その達成を支える MCP ツールを説明してください。
@skill-creator Create a skill named tabletop-dice that understands dice
notation such as 3d6, calls roll_dice once for each die, and reports every
roll and the total.
Codex では、$skill-creator で同じ作成ツールを呼び出します。
ファイルを手動で作成することもできます。各スキルは専用のディレクトリに配置し、
SKILL.md ファイルを必ず含めます。
-
skills
-
tabletop-dice
- SKILL.md 必須の指示とメタデータ
- references 任意のドキュメント
- scripts 任意の実行可能コード
- assets 任意のテンプレートとリソース
-
-
SKILL.md の記述
ファイルの冒頭に名前と説明を記述し、その後に指示を続けます。
---
name: tabletop-dice
description: Roll one or more dice for tabletop games and report each result and the total.
---
Use this skill when the user asks to roll dice.
1. Parse requests written as `NdS` as N dice with S sides. For example, `3d6`
means three six-sided dice.
2. Call `roll_dice` once for each requested die and pass S as `sides`.
3. Report each tool result in order.
4. When the user requests multiple dice, add the results and report the total.
Do not invent, replace, or reroll a result unless the user asks you to.
モデルがスキルの使用を検討するタイミングは、説明によって決まります。ワークフローの内容と、それを起動する条件を明記してください。手順、形式、安全性に関する詳しい指示は本文に記述します。
ワークフローの範囲の定義
各スキルを 1 つ以上のユースケースに結び付けてください。指示では、次の点を明確にします。
- ワークフローが想定する入力
- モデルが従うべき手順
- ユーザーに提供すべき出力
- モデルが推測してはいけない事実
- 質問、停止、または依頼の拒否が必要になる条件
- モデルが参照すべき補助ファイル
関連性の薄い指示を大量にまとめるよりも、目的を絞った 1 つのスキルにすることをおすすめします。起動条件、入力、成功基準が異なるワークフローは分割してください。
指示遵守のレビュー
GPT-6 Astra 向けのスキルを作成またはインポートする際は、指示遵守に関するガイダンスをレビューしてください。 スキルと補助ファイルに不明確な指示や矛盾する指示がないかを点検し、 ユーザーの明示的な指示がスキルのガイドラインより優先されることを明確にしてください。
補助リソースの追加
SKILL.md は簡潔に保ち、詳細な資料は同じスキルのディレクトリ内に別途配置します。
- ポリシー、スキーマ、例、背景資料には
references/を使います。 - ワークフローでコピーまたは変換するテンプレートやファイルには
assets/を使います。 - ワークフローで決定論的な計算やファイル処理が必要な場合は、
scripts/を使います。
SKILL.md から補助ファイルを参照し、
読み込みや実行が必要になるタイミングを説明してください。指示と既存のツールでタスクを確実に完了できる場合は、
スクリプトを追加しないでください。
スキルと MCP ツールの連携
スキルは、プラグインの MCP サーバーが公開するツールの使い方をモデルに案内できます。ワークフローの指示にはスキルを使い、最新データの取得、認可、管理されたアクションの実行にはサーバーを使います。
スキルに MCP サーバーが必要な場合は、
agents/openai.yaml で依存関係を宣言します。
dependencies:
tools:
- type: "mcp"
value: "dice-roller"
description: "Roll an N-sided die"
transport: "streamable_http"
url: "https://tinymcp.dev/api/moldy-aloof-zettabyte/mcp"
依存関係を宣言すると必要なツールが利用可能になりますが、ワークフローの明確な指示に代わるものではありません。使うツールとその順序、結果が得られない場合や曖昧な場合の対処方法をモデルに伝えてください。
MCP からのスキルのインポート
申請時には、パッケージ化したスキルをアップロードするか、プラグインの MCP サーバーからインポートできます。MCP を使う方法では、スキルの指示と補助ファイルをサーバーのデプロイに含めて管理できます。
プラグインの申請ポータルで ツールをスキャン を選択すると、 OpenAI が MCP からスキルをインポートします。インポートされたファイルはドラフト内のスナップショットとして保存されます。 ChatGPT と Codex が実行時に MCP サーバーからこれらのファイルを取得することはありません。 スキルを変更したら、サーバーをデプロイして再度スキャンし、 その後でプラグインの新しいバージョンを申請してください。
ケイパビリティの宣言、検出メソッド、リソースマニフェスト、 インポートの制限については、 MCP サーバーからのスキルのインポートを参照してください。
スキルのテスト
ユースケース一覧にある代表的なリクエストでテストします。
- スキルを起動すべき直接的なリクエスト
- 同じ目標を間接的に表現したリクエスト
- 追加の質問が必要になる不完全な入力
- スキルを起動すべきでないリクエスト
- スキルが情報を捏造したり、未対応のアクションを実行したりしないようにする必要があるエッジケース
起動の適切さと出力の品質の両方を確認してください。スキルが不適切なタイミングで起動する場合は、説明を改善します。正しいワークフローを選択していても結果が安定しない場合は、指示を改善します。
スキルのパッケージ化
プラグインのマニフェストでスキルのディレクトリを指定します。
{
"name": "dice-roller",
"version": "1.0.0",
"description": "Roll dice for tabletop games",
"skills": "./skills/",
"apps": "./.app.json"
}
完全なマニフェスト、MCP サーバーのマッピング、ローカルテスト、配布の流れについては、 プラグインのパッケージ化を参照してください。