atama plus techblog
🔗

複数のコーディングエージェントでSkillsを共有する(Claude Code / Codex対応)

に公開
2026/03/12
2件

複数のコーディングエージェントを使っていて Skills の共通管理に困っていませんか?

私たちのチームもまさにその課題に直面していました。Claude Code を使うメンバーもいれば、OpenAI Codex を使うメンバーもいる環境で、Skills の導入に踏み切れていませんでした。

この記事では、シンボリックリンクを活用して複数のコーディングエージェントで同一の Skills を参照する方法を紹介します。

先に結論

以下の構成を採用することで、Claude Code と Codex で同一の Skills を参照できるようになりました。

project-root/
├── .agent/
│   └── skills/                       # 実体(共通Skills)
│       ├── frontend-development/
│       │   └── SKILL.md
│       ├── backend-development/
│       │   └── SKILL.md
│       └── ...
├── .claude/
│   └── skills -> ../.agent/skills    # シンボリックリンク
├── .codex/
│   └── skills -> ../.agent/skills    # シンボリックリンク
├── AGENTS.md                         # 基本情報のみ
└── CLAUDE.md -> AGENTS.md            # シンボリックリンク

ポイント:

  • .agent/skills/ に Skill の実体を配置
  • .claude/skills と .codex/skills はシンボリックリンク
  • メンテナンスは .agent/skills/ のみで完結

背景:なぜこの構成に至ったか

AGENTS.md と CLAUDE.md のシンボリックリンク管理

私たちのチームでは以前から、Claude Code と Codex の設定ファイルをシンボリックリンクで統一管理していました。

# AGENTS.mdを実体として、CLAUDE.mdはシンボリックリンク
ln -s AGENTS.md CLAUDE.md

これにより、どちらのコーディングエージェントを使っても同じガイドラインを参照できる状態でした。

Skills 機能の登場と移行への踏み切り

Claude Code に Skills 機能が導入された際、「これは便利そうだ」と思いつつも、Codex には同等の機能がなかったため導入を見送っていました。

その後、Anthropic が Agent Skills をオープンスタンダードとして公開し、OpenAI も Codex に Skills 機能を実装しました。これにより、ようやく移行に踏み切ることができました。

Skills とは

Skills は、コーディングエージェントの能力を拡張するためのモジュール式のパッケージです。専門的な知識やワークフローを SKILL.md ファイルにまとめておくことで、必要な時だけ読み込んで使用できます。

従来の AGENTS.md(Claude Code では CLAUDE.md)では全ての指示が会話開始時に一括で読み込まれていました。AI に与えたい指示が多岐にわたる場合、AGENTS.md は膨れ上がり、AI はコンテキストウィンドウを圧迫されて性能が落ちてしまいます。

私たちの AGENTS.md も 600 行以上に膨れ上がっており、フロントエンドの修正をするだけなのに DB 設計のガイドラインまで読み込まれる非効率な状態でした。

Skills では起動時に名前と説明のみを読み込み、実際に使用する時に完全な内容が読み込まれます。

この形式に移行することで

  • 必要なガイドラインだけをオンデマンドで読み込める
  • コンテキストの消費を削減できる
  • 各ガイドラインを独立してメンテナンスできる

というメリットが期待できました。

コーディングエージェントごとに異なる Skills の配置場所

ただし、Skills の配置場所は各コーディングエージェントによって異なります:

コーディングエージェント Skills ディレクトリ
Claude Code .claude/skills/
OpenAI Codex .codex/skills/

単純に Skills を導入するだけでは、各コーディングエージェント用に同じ内容のファイルを重複して配置する必要があります。

そこで、AGENTS.md と CLAUDE.md で採用していたシンボリックリンク方式を Skills にも適用することで、この問題を解決しました。

実装手順

ディレクトリ構成とシンボリックリンクの作成

# 共通Skillsディレクトリを作成
mkdir -p .agent/skills

# 各コーディングエージェント用のディレクトリを作成し、シンボリックリンクを設定
mkdir -p .claude .codex
ln -s ../.agent/skills .claude/skills
ln -s ../.agent/skills .codex/skills

Skill ファイルの作成

Skill ファイルの書き方については、各コーディングエージェントの公式ドキュメントを参照してください

以下は最小限の SKILL.md の例です:

.agent/skills/frontend-development/SKILL.md
---
name: frontend-development
description: フロントエンド開発時のコーディング規約とベストプラクティス
---

# フロントエンド開発ガイドライン

## 使用技術

- React 18+ / TypeScript
- Tailwind CSS
...

既存の AGENTS.md からの移植

私たちの場合、既存の AGENTS.md から Skills への分割は、コーディングエージェント自身に依頼しました。「AGENTS.md の内容を Skill 形式に分割して」とお願いして最後に少し手直しするだけですみました。

分割後の AGENTS.md には、コーディングエージェントが Skills を認識しやすいように Skills 一覧テーブルを記載しました。

AGENTS.md(抜粋)
## 利用可能な Skills

| Skill 名 | 説明 |
|----------|------|
| frontend-development | フロントエンド開発のガイドライン |
| backend-development | バックエンド開発のガイドライン |
| database-design | DB設計のガイドライン |
| testing | テスト方針のガイドライン |

動作確認

以下の動作を確認しました:

  • Claude Code: claude コマンド起動後、/skills で Skills 一覧が表示される
  • OpenAI Codex: codex 起動後、$ を入力すると Skills 一覧が表示される

両コーディングエージェントともシンボリックリンク経由で .agent/skills/ 配下の SKILL.md を正しく認識しました。

移行の効果

Skills 形式への移行により、以下の効果がありました:

  • AGENTS.md が 600 行 → 100 行に削減: Skills 一覧テーブルと基本情報のみになり、見通しが大幅に改善
  • コンテキスト消費の削減: フロントエンドの修正時に DB 設計のガイドラインが読み込まれなくなった
  • メンテナンス性の向上: 各 Skill を独立して編集できるため、変更の影響範囲が限定的に

補足:他のコーディングエージェントの Skills への対応状況

本記事では Claude Code と Codex を中心に解説しましたが、Skills に対応している他のコーディングエージェントでも同様のアプローチが可能です。

よく利用されている VSCode と Cursor については以下の対応状況でした。

VSCode

VSCode はchat.useClaudeSkillsという設定をオンにすると Claude Code の Skills を自動で読み込むようです。

.claude/skills/ 配下の Skills を自動で認識するため、本記事の構成がそのまま使えます。

VS Code can now reuse your existing skills. Enable the chat.useClaudeSkills setting to allow agents to discover and use your skills.
VS Code supports personal skills found at ~/.claude/skills/skill-name/SKILL.md and project skills found in workspace folders at ${workspaceFolder}.claude/skills/skill-name/SKILL.md.

参考: VSCode June 2025 Update - Reuse your Claude skills、VSCode Custom Instructions

Cursor

Cursor の Skills はまだ Nightly リリースチャンネルでのみ利用可能です。

エージェントスキルは、Nightly リリースチャネルでのみ利用できます。

Nightly 版では「Import Agent Skills」という設定があり、これをオンにすると .claude/skills/ や .codex/skills/ を自動で読み込んでくれます。本記事の構成であれば、この設定をオンにするだけで Skills が使えます。

また、.cursor/skills/ に直接 Skills を配置することもできます。本記事の構成に合わせる場合は、以下のようにシンボリックリンクを追加してください。

ln -s ../.agent/skills .cursor/skills

参考: Cursor Skills Documentation

まとめ

シンボリックリンクを活用することで、複数のコーディングエージェントで同一の Skills を参照できる構成を実現しました。

.agent/skills/  # 実体(共通Skills)
.claude/skills -> ../.agent/skills
.codex/skills  -> ../.agent/skills

各コーディングエージェントで設定ファイルの置き場所が統一される日が来るかもしれませんが、それまではシンボリックリンクで対応が無難だと思います。

この記事が、複数のコーディングエージェントを使っている方、チームの参考になれば幸いです。

atama plus techblog
atama plus techblog

Discussion