7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenAI Codex Skillsを調べてみた ~仕組み(段階的開示)・作成、呼び出し・Custom Promptsとの使い分け~

7
Last updated at Posted at 2026-01-23

この記事でわかること

  • Skillsは、タスク固有の手順・知識をSKILL.md中心にパッケージ化し、Codexに“必要なときだけ”読ませる仕組み

導入:.codex/skills を見つけた → 公式に追随する

ある日、いつもの様にCodexを触っているとリポジトリ内に .codex/skills/ が出てきて、「これ何?」となりました。公式changelogを確認すると、“Agent skills in Codex(2025-12-19)” としてSkillsが案内されていました。
新しく追加されたこの機能が気になり、今回はskillsについて調べました。

Skillsの概要

Skillsとは

Skillsは、今やAI Agentにおける標準的な機能拡張の仕組みです。
当初はAnthropicのClaudeの拡張機能として登場しましたが、2025年12月にオープンスタンダードとして公開され、現在では多くのAgentフレームワーク(Claude Code、GitHub Copilot、VS Code、Cursor、OpenAI Codex、Gemini CLI、Goose、Lettaなど)で採用されています。特定領域の専門知識(ドメイン知識)を外部化・パッケージ化する手法として業界標準となりつつあります。

具体的には、特定タスクの「指示(Markdown)+必要に応じたスクリプト/リソース」を、ユーザーが明示的に指定しなくてもAgent が自動的に判断して利用できるようにするための仕組みです。
Codex CLIとIDE拡張の両方で利用できます。

ディレクトリ構造

Skillは「フォルダ」で表現され、SKILL.mdが必須です。必要に応じてスクリプトや参照資料を同梱します。

my-skill/
  SKILL.md        # Required
  scripts/        # Optional
  references/     # Optional
  assets/         # Optional

SKILL.mdの形式(YAML front matter)

SKILL.mdYAML front matter + Markdown本文で構成されます。

  • 必須:name(最大100文字。空ではない。一行以内。)
  • 必須:description(最大500文字以内。空ではない。一行以内。)

例(ドキュメントの形式に合わせた最小例):

---
name: skill名
description: このskillで何を実施するのか、どの様な文言をユーザーから言われた際にこのskillは実行されてほしいのか
---

# Instructions
ここに手順を書く

参照: https://developers.openai.com/codex/skills/create-skill

Skillsの探索場所(スコープと優先順位)

Codexは複数の場所からSkillsを読み、同名Skillは優先度の高いスコープが上書きします。優先度(高→低)は以下です。

優先順位 スコープ パス (Linux/macOS例) 用途
REPO $CWD/.codex/skills
$CWD/**/.codex/skills
$REPO_ROOT/.codex/skills
プロジェクト固有のルール
(Lint規約、デプロイ手順など)
USER $CODEX_HOME/skills
(既定: ~/.codex/skills)
個人用の便利スキル
(自分用のレビュー観点など)
ADMIN /etc/codex/skills 組織・マシン全体で強制するポリシー
SYSTEM (Codex同梱) 標準組み込みスキル

Progressive disclosure

まず、Progressive disclosure(段階的開示) について触れておきます。
これはUI/UXデザインの原則の一つで、「ユーザーの認知的負荷を減らすため、最初は重要な情報だけを提示し、ユーザーが求めたときだけ詳細を表示する」 という手法です。

Skillsでは、この概念をLLMのコンテキスト管理に応用しています。
自然言語で短くまとめた概要(name/description)だけを先に読み込み、必要になったSkillが選ばれた時点でそのSkillの詳細手順(本文)を追加で読み込むことで、初期のトークン消費を最小限に抑えています。

  • Codexは起動時に、各Skillの name/description/path をロードします
  • instructions body(SKILL.mdの本文)は、呼び出されるまでランタイムコンテキストに注入されません

SKILLSの作成と利用

1) 作成:$skill-creator

Codexにはスキル作成用の組み込みSkillがあり、CLI/IDE拡張から呼び出せます。

  • IDE拡張
    image.png

  • CLI

    $skill-creator
    

作成フローでは「何をするSkillか」「いつ自動発火させたいか」などを聞かれ、結果として SKILL.md(必要ならスクリプト雛形も)が生成されます。
image.png

2) 呼び出し

Agentはタスク実行中、必要に応じて目的に合致したskillを選択して利用します。
目的に合致しているかどうかは、skillに定義された description で判断します。

(ユーザーが明示的にコマンドを打つ必要はなく、会話の流れの中で自然に発火するのが特徴です)


Custom Prompts、MCPとの違い

ここまでSkillsを学んで来たところで、類似機能である Custom Prompts や、標準プロトコルである MCP (Model Context Protocol) との使い分けを整理しました。
使い分けとしては以下が考えられるのではないでしょうか?

結論としての使い分け:

  • Skills: チームで共有したい「手順」や「ノウハウ」のパッケージ化(How-toの提供)
  • Custom Prompts: 作業内容が明確で作業効率を上げるための定型ショートカット(Templateの提供)
  • MCP: 外部ツールやデータベースとの動的な接続(Capabilityの提供)

比較表

観点 Skills Custom Prompts MCP (Model Context Protocol)
主な目的 専門知識の伝授
(ベストプラクティス、社内手順、組織コンテキスト)
定型文の挿入
(ショートカット、指示のひな形)
外部機能の拡張
(API連携、DB接続、Web検索、社内SaaS)
適用タイミング 必要時(関連すると判断したときに本文を読む) ユーザーが呼び出したとき(テンプレ本文が会話に入る) 必要時(必要なときにツールを呼ぶ)
AIへの読み込み 段階的開示:起動時にname/descriptionを先読み → 必要時にSKILL.md 本文を読み込む → 必要なら同梱ファイルも読む 呼び出し時に会話コンテキストへ展開(挿入) 動的ディスカバリー
(サーバーからツール定義を取得)
情報の性質 手順知・組織/チーム固有のコンテキスト・ベストプラクティス(比較的安定) 固まった文言・フォーマット・指示の型(人が選んで入れる) 外部システムへのアクセス(取得・計算・操作)/状況に応じて変動
アンチパターン 「常に敬語で」等、常時ルールをSkillsに置く(そのSkillが読まれない限り効かない) 巨大なテンプレを作る(挿入時にトークン圧迫・ノイズ化)/テンプレで“知識ベース”をやろうとする 固定手順をMCP化(過剰実装。手順はSkills/テンプレで十分なことが多い)

補足:MCPとの関係
MCPは「ツールをAIに接続するための標準規格」であり、サーバーを立てて外部システムと会話することに特化しています。一方、Skillsは「リポジトリ内にMarkdownを置くだけ」という手軽さがあり、ドキュメント(知識)をそのままAIの能力に変える点に特長があります。

ユースケース例

skillsのユースケースとしては以下が考えられます。

  • リポジトリの開発ルール(lint/test/commit規約)をスキル化(属人化防止)
  • CI失敗時のログ解析テンプレ(チームで観点を揃える=再現性)
  • 定型レビュー観点のスキル化(抜け漏れ削減)

(AGENTS.md、カスタムコマンド、skillsと、使い分けが増え、プロンプトのメンテナンスが益々複雑化していきそうです...)

まとめ

  • Skillsは「SKILL.md中心に、手順/資材/スクリプトを束ねて再利用する」仕組み
  • LLMが利用場面に応じて内容をコンテキストに読み込んでくれるため、トークン消費が比較的節約できる

参考リンク

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?