Skip to content
Codex vs Claude Code Skills:セットアップ、設定、両方のエージェントでスキルを共有する方法

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 CodexClaude 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.yamlcontext: forkallowed-tools!プリプロセッシング
ビルトインクリエイター$skill-creator手動またはIDEスキャフォールディング
削除せずに無効化TOMLの[[skills.config]].claude/skills/から削除またはマネージド設定
標準準拠Agent Skillsオープン標準Agent Skillsオープン標準 + 拡張

メンタルモデル:同じSKILL.md、異なるエコシステム

両ツールの核心的な考え方は同じです。YAMLフロントマター(namedescription)と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.yaml

SKILL.mdのYAMLフロントマターにはnamedescription必須です。

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 gotcha

name/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

これがスキル共有にシンボリックリンクまたは共有リポジトリが必要な主な理由です。

設定フォーマット

項目CodexClaude Code
フォーマットTOMLJSON
ユーザー設定~/.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-invocationcontext: 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つのスキルを使うための最もクリーンなパターン:

  1. 単一の正規スキルリポジトリまたはフォルダを管理する
  2. そのスキルフォルダを各エージェントの検出パスにシンボリックリンクする

ステップバイステップのセットアップ

共有スキルを~/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:
    - github

Claude 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仕様のフィールド(namedescription)に準拠し、長いドキュメントやチェックリストには相対リンク付きの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標準に基づいており、namedescriptionのフロントマターを含む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の両方がこれらのフィールドをサポートしています。licensecompatibilitymetadataなどの追加フィールドはオプションですが推奨されます。

ユーザー全体でアクセスするにはスキルをどこに配置すべきですか?

Codexの場合は$HOME/.agents/skills/に配置してください。Claude Codeの場合は~/.claude/skills/を使用してください。どちらの場所も、リポジトリごとのセットアップなしにすべてのプロジェクトでスキルを利用可能にします。

まとめ

CodexとClaude Codeのスキルは、異なるエコシステムから想像される以上に多くのDNAを共有しています。両方ともAgent Skillsオープン標準に基づいており、SKILL.mdをエントリーポイントとして使用し、スキルのdescriptionに基づくプログレッシブローディングをサポートしています。検出パス、設定フォーマット、拡張機能の実用的な違いは存在しますが、十分に管理可能です。

最良の戦略は、スキルの単一の信頼できるソースを維持し、移植可能なコア部分には仕様で必須のnamedescriptionフィールドを使用し、シンボリックリンクで各エージェントが同じスキルフォルダを参照できるようにすることです。ツール固有のパワーフィーチャー(Claudeのサブエージェントフォーキング、CodexのYAMLメタデータ)はそれぞれの拡張ファイルに保持してください。これにより、どちらのツールの高度な機能も犠牲にすることなく、移植性を確保できます。

📚