Codex vs Claude Code Skills:セットアップ、設定、両方のエージェントでスキルを共有する方法
Updated on
「Skills(スキル)」は、AIコーディングエージェントにおける再利用可能な基本単位として急速に普及しています。スキルとは、指示、オプションのスクリプト、参照ファイルを1つのフォルダにまとめたもので、エージェントが確実に発見して適用できるようになっています。複数のAIコーディングツールを使っている場合、それぞれ別々の設定を管理する煩わしさを既に感じているかもしれません。
OpenAI CodexとAnthropic Claude Codeはどちらもスキルをサポートしており、Agent Skillsオープン標準をベースに構築されています。Codexはスキルがこの標準に基づいており、コンテキストを効率的に管理するための「プログレッシブディスクロージャー」を採用していると明言しています。Claude CodeもAgent Skills標準に準拠しつつ、呼び出し制御、サブエージェント、動的コンテキスト注入などの独自拡張を加えています。
この共通基盤があるからこそ、「一度書けば両方で使える」ワークフローが実現可能なのです。ただし、スキルの配置場所、設定の違い、どのfrontmatterフィールドが移植可能かを正しく理解する必要があります。本ガイドでは、実用的な違いをすべて分解し、1つのスキルを両方のエージェントで共有する方法を紹介します。
クイック比較:Codex Skills vs Claude Code Skills
| 機能 | OpenAI Codex | Claude Code |
|---|---|---|
| スキルのエントリーポイント | SKILL.md(必須) | SKILL.md(必須) |
| 検出パス(プロジェクト) | .agents/skills/ | .claude/skills/ |
| 検出パス(ユーザー) | $HOME/.agents/skills/ | ~/.claude/skills/ |
| 設定フォーマット | TOML (config.toml) | JSON (settings.json) |
| 呼び出し方法 | descriptionからの暗黙的選択;/skillsリスト | /skill-nameスラッシュコマンド;descriptionに基づく自動ロード |
| シンボリックリンクサポート | 明示的にサポート | 動作するが、検出に若干の問題あり |
| プログレッシブローディング | あり(メタデータ優先、使用時にフルロード) | あり(descriptionベースの自動ロード) |
| ツール固有の拡張 | agents/openai.yaml | context: fork、allowed-tools、!プリプロセッシング |
| ビルトインクリエイター | $skill-creator | 手動またはIDEスキャフォールディング |
| 削除せずに無効化 | TOMLの[[skills.config]] | .claude/skills/から削除またはマネージド設定 |
| 標準準拠 | Agent Skillsオープン標準 | Agent Skillsオープン標準 + 拡張 |
メンタルモデル:同じSKILL.md、異なるエコシステム
両ツールの核心的な考え方は同じです。YAMLフロントマター(name、description)とMarkdown指示を含むSKILL.mdファイルが入ったディレクトリです。エージェントはメタデータを読み取ってスキルを使用するかどうかを判断し、有効化する際に完全な指示をロードします。違いがあるのは、検出パス、設定フォーマット、そしてパワーフィーチャーです。
Codexにおける「スキル」の意味
Codexのスキルは、必須のSKILL.mdとオプションのscripts/、references/、assets/、さらにUIメタデータや依存関係(MCPサーバーなど)用のオプションのagents/openai.yamlを含むディレクトリです。
Codexはまずスキルのメタデータをロードし、スキルを使用すると判断した場合のみ完全な指示をロードします。これはプログレッシブディスクロージャーと呼ばれ、エージェントが実際に必要なものだけを注入することでコンテキストウィンドウを軽量に保ちます。
Claude Codeにおける「スキル」の意味
Claude CodeのスキルもSKILL.mdベースで、再利用可能なスラッシュコマンドとして機能します。Claudeは関連性がある場合に自動的に呼び出すことも、/skill-nameで直接実行することもできます。
Claude Codeはカスタムスラッシュコマンドをスキルに統合しました:
.claude/commands/review.mdと.claude/skills/review/SKILL.mdはどちらも/reviewを作成します- スキルにはサポートファイル、呼び出し制御、関連時の自動ロード機能が追加されています
Codexでスキルを作成・インストールする方法
1. スキルのディレクトリ構造
最低限、Codexスキルに必要なのは以下です:
my-skill/
SKILL.mdフル機能のスキルには以下を含めることができます:
my-skill/
SKILL.md
scripts/
run-check.sh
references/
CHECKLIST.md
assets/
diagram.png
agents/
openai.yamlSKILL.mdのYAMLフロントマターにはnameとdescriptionが必須です。
2. Codexのスキル検出パス
Codexは定義された優先順位で複数の場所をスキャンします:
| スコープ | パス | 用途 |
|---|---|---|
| リポジトリ | .agents/skills/(CWDからリポジトリルートまで) | プロジェクト固有のスキル |
| ユーザー | $HOME/.agents/skills/ | すべてのプロジェクトで使える個人スキル |
| 管理者 | /etc/codex/skills/ | 組織全体のポリシー |
| システム | Codexにバンドル | ビルトイン機能 |
Codexはシンボリックリンクされたスキルフォルダも明示的にサポートしており、スキャン時にシンボリックリンクのターゲットを追跡します。
3. ビルトインスキルツールの使用
Codexには2つのビルトインヘルパーがあります:
$skill-creator— 正しい構造で新しいスキルディレクトリをスキャフォールドします$skill-installer— 外部ソースからスキルを取得してインストールします
4. 設定でスキルの有効化・無効化
Codexは、TOML設定の[[skills.config]]にエントリを追加することで、スキルを削除せずに無効化できます:
# ~/.codex/config.toml
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false設定変更後はCodexを再起動してください。
5. Codexの設定フォーマット
Codexの設定は、明確な優先順位でTOMLファイルに記述されます:
CLIフラグ > プロファイル > プロジェクト設定 (.codex/config.toml) > ユーザー設定 (~/.codex/config.toml) > システム設定 > デフォルト
スキルはこれらの設定で制御でき、プロジェクトごとにスコープを設定できます。
Claude Codeでスキルを作成・インストールする方法
1. スキルのディレクトリ構造
Claude CodeのスキルはSKILL.mdをエントリーポイントとするディレクトリです。追加ファイルはオプションです:
my-skill/
SKILL.md
template.md
examples/
sample.md
scripts/
validate.shサポートファイルはSKILL.mdから参照して、Claudeがその内容といつロードすべきかを把握できるようにしてください。
2. Claude Codeのスキル検出パス
Claude Codeには優先順位付きの複数のスコープがあります:
| スコープ | パス | 用途 |
|---|---|---|
| プロジェクト | .claude/skills/<skill-name>/SKILL.md | リポジトリ固有のスキル |
| 個人 | ~/.claude/skills/<skill-name>/SKILL.md | 個人のツールキット |
| エンタープライズ | マネージド設定(組織全体) | 企業ポリシー |
| プラグイン | <plugin>/skills/<skill-name>/SKILL.md | 名前空間付きプラグインスキル |
Claude Codeはモノリポでのネスト検出もサポートしています:packages/frontend/...を編集中の場合、packages/frontend/.claude/skills/も検索します。
3. SKILL.mdフォーマット:YAML + Markdown
Claude Codeのスキルは2つの部分で構成されます — YAMLフロントマターとMarkdown指示:
---
name: explain-code
description: Explains code with visual diagrams and analogies.
---
When explaining code:
1) Start with an analogy
2) Draw an ASCII diagram
3) Walk step-by-step
4) Highlight a gotchanameが/slash-commandになり、descriptionはClaudeが自動ロードのタイミングを判断するために使用されます。
4. Claude Codeの拡張スキル機能
Claude Codeは、Codexにはない以下の機能で標準を拡張しています:
| 機能 | 説明 |
|---|---|
disable-model-invocation: true | 自動トリガーを防止 |
allowed-tools | スキル実行中のツールアクセスを制限または事前承認 |
$ARGUMENTS / $ARGUMENTS[N] | スキルに引数を渡す($0、$1など) |
!`command` | 動的コンテキスト注入 — プロンプト前にシェルコマンドを実行 |
context: fork | フォークされたサブエージェントコンテキストでスキルを実行 |
agent: Explore | 実行を特殊化されたサブエージェントにルーティング |
これが最大の実用的な違いです:Claude Codeのスキルはプリプロセッシングとサブエージェントを持つミニワークフローとして動作できます。一方、Codexのスキルは指示、リソース、スクリプトをプログレッシブローディングでパッケージングすることに重点を置いています。
5. Claude Codeの設定フォーマット
Claude Codeの設定はJSON形式で、managed/user/project/localにスコープ分けされ、インタラクティブREPLの/configで編集できます:
- ユーザー:
~/.claude/settings.json - プロジェクト:
.claude/settings.json - ローカルオーバーライド:
.claude/settings.local.json
主要な違い:サイドバイサイド比較
検出パス
Codex: .agents/skills/ → $HOME/.agents/skills/ → /etc/codex/skills/
Claude Code: .claude/skills/ → ~/.claude/skills/ → enterprise managedこれがスキル共有にシンボリックリンクまたは共有リポジトリが必要な主な理由です。
設定フォーマット
| 項目 | Codex | Claude Code |
|---|---|---|
| フォーマット | TOML | JSON |
| ユーザー設定 | ~/.codex/config.toml | ~/.claude/settings.json |
| プロジェクト設定 | .codex/config.toml | .claude/settings.json |
| 優先順位 | CLI > プロファイル > プロジェクト > ユーザー > システム > デフォルト | マネージド > エンタープライズ > ユーザー > プロジェクト > ローカル |
アクティベーションUX
- Codex: CLI/IDEでの
/skillsリストと$メンション;descriptionからの暗黙的選択 - Claude Code:
/skill-nameでの呼び出し;descriptionに基づく自動ロード
ツール固有の拡張
- Codex: UIメタデータと依存関係宣言(MCPサーバーなど)用のオプション
agents/openai.yaml - Claude Code:
disable-model-invocation、context: fork、コマンドプリプロセッシング(!`…`)、引数渡しなどのフロントマターフィールド
共通の基盤:Agent Skillsオープン標準
1つのスキルをCodexとClaude Codeの両方で動作させたい場合は、Agent Skills仕様に準拠してください。以下が仕様の要件です:
必須のフロントマターフィールド
| フィールド | 要件 | 備考 |
|---|---|---|
name | 必須 | 親ディレクトリ名と一致する必要あり;小文字/数字/ハイフン;1-64文字 |
description | 必須 | エージェントがスキルの使用タイミングを判断するのに使用 |
Codexは両フィールドを必須としています。Claude Codeはより寛容で(nameをディレクトリ名からデフォルト設定可能)、クロスエージェント再利用のためには両方を必須として扱うべきです。
ファイル参照
仕様では、スキルルートからの相対パスでファイルを参照することを推奨しています:
See [the reference guide](references/REFERENCE.md) for details.
Run the extraction script:
scripts/extract.py複雑なネストチェーンを避けるため、参照は1階層に留めてください。
シンボリックリンクを使って1つのスキルを両方のエージェントで共有する方法
両ツールで1つのスキルを使うための最もクリーンなパターン:
- 単一の正規スキルリポジトリまたはフォルダを管理する
- そのスキルフォルダを各エージェントの検出パスにシンボリックリンクする
ステップバイステップのセットアップ
共有スキルを~/shared-agent-skills/に保存していると仮定します:
~/shared-agent-skills/
code-review/
SKILL.md
references/
REVIEW_CHECKLIST.md
test-writer/
SKILL.md
scripts/
run-tests.shプロジェクトへのCodex用リンク:
mkdir -p .agents/skills
ln -s ~/shared-agent-skills/code-review .agents/skills/code-review
ln -s ~/shared-agent-skills/test-writer .agents/skills/test-writer同じプロジェクトへのClaude Code用リンク:
mkdir -p .claude/skills
ln -s ~/shared-agent-skills/code-review .claude/skills/code-review
ln -s ~/shared-agent-skills/test-writer .claude/skills/test-writerまたは、全プロジェクト共通のユーザーレベルリンク:
# Codex (user scope)
ln -s ~/shared-agent-skills/code-review $HOME/.agents/skills/code-review
# Claude Code (user scope)
ln -s ~/shared-agent-skills/code-review ~/.claude/skills/code-reviewシンボリックリンクの互換性に関する注意
| エージェント | シンボリックリンクサポート |
|---|---|
| Codex | 明示的にドキュメント化済み。スキャン時にシンボリックリンクのターゲットを追跡。 |
| Claude Code | 呼び出し(/code-review)では動作するが、一部のバージョンでは/skillsリストがシンボリックリンクされたスキルを検出しない場合がある。 |
Claude Codeの/skillsリストにシンボリックリンクしたスキルが表示されない場合でも、名前を直接指定して呼び出すことができます。
移植可能なSKILL.mdテンプレート
以下は両方のエージェントで動作する仕様準拠のテンプレートです:
---
name: code-review
description: >
Perform a structured code review for correctness, security,
performance, and readability. Use when asked to review a
diff, PR, or when preparing changes for merge.
license: MIT
compatibility: >
Intended for coding agents (Codex, Claude Code) in Git repos.
Requires read access to the repo.
metadata:
owner: platform-team
version: "1.0.0"
---
# Code Review Skill
## Inputs
- A diff, PR link, or list of changed files.
- The relevant module/service context.
## Process
1. Identify the goal of the change and expected behavior.
2. Review for correctness (edge cases, error handling).
3. Review for security (authz/authn, injection risks, secrets).
4. Review for performance (N+1 queries, hot paths, allocations).
5. Review for maintainability (naming, structure, tests).
6. Summarize findings with:
- Must-fix items
- Suggestions
- Positive notes
## Reference checklist
See [our checklist](references/REVIEW_CHECKLIST.md) for the full list.Codex固有のメタデータの追加(オプション)
Codex UIのメタデータと依存関係用にagents/openai.yamlを追加します。他のツールはこれを無視します:
# agents/openai.yaml
display_name: "Code Review"
icon: "🔍"
dependencies:
mcp_servers:
- githubClaude Code固有の機能の追加(オプション)
Claude専用のワークフローでは、別のClaude専用スキルまたは.claude/固有のオーバーライドに拡張フロントマターを追加できます:
---
name: code-review
description: Structured code review with security focus.
allowed-tools:
- Read
- Grep
- Glob
- Bash(git diff*)
context: fork
---クロスエージェントスキルのベストプラクティス
1. 移植可能なコンテンツは共有フォルダに保管する
Agent Skills仕様のフィールド(name、description)に準拠し、長いドキュメントやチェックリストには相対リンク付きのreferences/を使用します。これにより、両方のエージェントがスキルを解析して使用できます。
2. ツール固有のパワーフィーチャーを分離する
- Claude Code向け:
context: fork、!コマンドプリプロセッシング、allowed-toolsは強力だがClaude固有 - Codex向け:
agents/openai.yamlはCodex固有だが、独自のファイルにきれいに分離されている
どちらのツールも未知のフィールドでエラーになることはなく、単に無視します。ただし明確さのため、ツール固有の機能はツール固有のファイルやオーバーライドに保持するのがベストプラクティスです。
3. スキル用の共有Gitリポジトリを使用する
shared-agent-skills/ # Git repo
├── code-review/
│ ├── SKILL.md
│ └── references/
├── test-writer/
│ ├── SKILL.md
│ └── scripts/
├── setup-links.sh # Symlink installer script
└── README.mdシンプルなsetup-links.shでシンボリックリンクの作成を自動化できます:
#!/bin/bash
SKILL_DIR="$(cd "$(dirname "$0")" && pwd)"
# Link into Codex user scope
mkdir -p "$HOME/.agents/skills"
for skill in "$SKILL_DIR"/*/; do
name=$(basename "$skill")
[ "$name" = "scripts" ] && continue
ln -sfn "$skill" "$HOME/.agents/skills/$name"
done
# Link into Claude Code user scope
mkdir -p "$HOME/.claude/skills"
for skill in "$SKILL_DIR"/*/; do
name=$(basename "$skill")
[ "$name" = "scripts" ] && continue
ln -sfn "$skill" "$HOME/.claude/skills/$name"
done
echo "Skills linked for both Codex and Claude Code."4. スキルのバージョン管理
メタデータにversionフィールドを含め、共有スキルリポジトリでリリースにタグを付けてください。スキルの動作が変更された際に、バージョンを上げることでチームが何がいつ変わったかを追跡できます。
CodexやClaude Codeのようなコーディングエージェントをデータ分析ワークフローで使用している場合、PyGWalker (opens in a new tab)を使えばDataFrameをインタラクティブな可視化に変換できます。また、PyGWalkerをエージェントのツールキットに統合するスキルを構築すれば、オンデマンドでデータ探索が可能になります。
FAQ
Agent Skillsオープン標準とは何ですか?
Agent Skillsオープン標準は、AIコーディングエージェントが再利用可能なスキルパッケージを検出して使用する方法を定義する仕様です。YAMLフロントマターとMarkdown指示を含むSKILL.mdファイルを持つディレクトリという共通フォーマットを確立しており、異なるエージェントツール間でスキルを移植可能にします。
同じSKILL.mdをCodexとClaude Codeの両方で使えますか?
はい。両方のエージェントはAgent Skills標準に基づいており、nameとdescriptionのフロントマターを含むSKILL.mdファイルを認識します。重要なのは、各エージェントの検出パス(Codexは.agents/skills/、Claude Codeは.claude/skills/)にスキルを配置することであり、シンボリックリンクを使えば単一の正規ロケーションから実現できます。
CodexスキルとClaude Codeスキルの主な違いは何ですか?
核心的な違いは、検出パス(.agents/skills/対.claude/skills/)、設定フォーマット(TOML対JSON)、拡張機能です。Claude Codeはサブエージェントコンテキストフォーキング、シェルコマンドプリプロセッシング、ツールアクセス制御を追加しています。Codexはagents/openai.yamlでUIメタデータとMCPサーバー依存関係を追加しています。基本的なSKILL.mdフォーマットは両方で互換性があります。
スキルをエージェント間で共有する際、シンボリックリンクは動作しますか?
Codexはシンボリックリンクされたスキルフォルダを明示的にサポートし、ターゲットを追跡します。Claude Codeもシンボリックリンクでの呼び出しは動作しますが、一部のバージョンでは/skillsリストコマンドがシンボリックリンクされたスキルを検出しない場合があります。リストに表示されなくても、名前を指定してシンボリックリンクされたスキルを呼び出すことは可能です。
移植可能なスキルに必要なフロントマターフィールドは何ですか?
Agent Skills仕様では、name(親ディレクトリと一致する必要あり、小文字とハイフン、1-64文字)とdescription(エージェントがスキルの使用タイミングを判断するのに使用)が必須です。CodexとClaude Codeの両方がこれらのフィールドをサポートしています。license、compatibility、metadataなどの追加フィールドはオプションですが推奨されます。
ユーザー全体でアクセスするにはスキルをどこに配置すべきですか?
Codexの場合は$HOME/.agents/skills/に配置してください。Claude Codeの場合は~/.claude/skills/を使用してください。どちらの場所も、リポジトリごとのセットアップなしにすべてのプロジェクトでスキルを利用可能にします。
まとめ
CodexとClaude Codeのスキルは、異なるエコシステムから想像される以上に多くのDNAを共有しています。両方ともAgent Skillsオープン標準に基づいており、SKILL.mdをエントリーポイントとして使用し、スキルのdescriptionに基づくプログレッシブローディングをサポートしています。検出パス、設定フォーマット、拡張機能の実用的な違いは存在しますが、十分に管理可能です。
最良の戦略は、スキルの単一の信頼できるソースを維持し、移植可能なコア部分には仕様で必須のnameとdescriptionフィールドを使用し、シンボリックリンクで各エージェントが同じスキルフォルダを参照できるようにすることです。ツール固有のパワーフィーチャー(Claudeのサブエージェントフォーキング、CodexのYAMLメタデータ)はそれぞれの拡張ファイルに保持してください。これにより、どちらのツールの高度な機能も犠牲にすることなく、移植性を確保できます。