0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜCodex SkillsとClaude Code Skillsで同じSkill.mdフォーマットを使うのか

0
Last updated at Posted at 2026-08-02

この記事は playpark Blog からの転載です。


この記事で分かること

  • Skill.mdフォーマットの仕様と各フィールドの役割
  • CodexとClaude Codeで同じフォーマットを採用している設計理由
  • どちらにも対応できるスキルの書き方の判断基準

背景: こういう課題があった

AIコーディングツールでスキル(再利用可能な手順定義)を使い始めると、ツールが増えるにつれて「このスキル、別のツールでも動かないか」という疑問が出てくる。

OpenAI CodexとClaude Codeはどちらも SKILL.md を中心にしたスキル機能を持っているが、フィールド構成や機能の差があり、「どこまで共通化できるか」の判断が難しい。

特に困るのは、Codex用に書いたスキルをClaude Codeで流用しようとしたとき、または逆方向の移植をしようとしたときだ。

選択肢の検討

スキルをどう管理するかの選択肢を整理する。

アプローチ メリット デメリット
ツールごとに別フォーマットで作る 各ツールの機能を最大活用できる メンテナンスコストが2倍になる
共通フォーマットで書き、拡張は別管理 一度書けば両ツールで使える 固有機能は別ディレクトリが必要
Codexのみ or Claude Codeのみに絞る シンプル ツールの選択肢が固定される

結論として「共通フォーマットで書き、拡張は別管理」が最も現実的だ。その前提でフォーマット仕様を理解する必要がある。

なぜこのアプローチを選んだか

CodexとClaude Codeは、SKILL.md の必須フィールドが共通している。

---
name: my-awesome-skill
description: |
  Describe what this skill does and when to use it.
  Use when: specific trigger conditions.
  Accepts args: <required-arg> [--optional-flag]
---

# Skill Title

Detailed instructions for the agent.

namedescription の2フィールドだけが必須で、この部分は両ツールで完全に互換性がある。

Claude Code固有の機能として allowed-tools があるが、これは省略可能だ。省略すれば、Codexでもそのまま動く。

フィールド Codex Claude Code 互換性
name 必須 必須 ✅ 完全互換
description 必須 必須 ✅ 完全互換
allowed-tools 非対応 オプション ⚠️ 省略で互換
スキル連鎖 限定的 Skill: other-skill ⚠️ Claude Code固有

この構造から、「allowed-tools を省略した共通スキルを基盤にする」という判断が自然に導かれる。

実装例: ツール横断で動くスキル

---
name: lint-and-format
description: |
  Run linting and formatting checks on the codebase.
  Use when: user asks to check code quality, fix formatting, or run lint.
---
# Lint & Format

## Step 1: Run linter

```bash
npm run lint
```

## Step 2: Auto-fix

```bash
npm run lint -- --fix
```

## Step 3: Report

Report the results:
- Files checked
- Issues found
- Issues auto-fixed

allowed-tools を省略しているため、CodexでもClaude Codeでも動く。

Claude Code固有機能が必要な場合

allowed-tools(権限の最小化)やスキル連鎖が必要な場面では、拡張スキルを別ディレクトリで管理する。

skills/
├── lint-and-format/          ← 共通スキル(両ツールで動く)
│   └── SKILL.md
└── claude-extensions/
    └── lint-and-format/
        └── SKILL.md          ← allowed-tools追加版

まとめ: どういう場面で使うべきか

スキルを書くときの判断基準は次の通りだ。

共通フォーマット(allowed-tools 省略)で書くケース:

  • Codex / Claude Code どちらでも使いたいスキル
  • チームで共有・配布したいスキル(Codex公式カタログへの登録も視野に入れる場合)

Claude Code固有構文を使うケース:

  • 本番デプロイなど、権限を最小化したいスキル(allowed-tools を明示)
  • 複数スキルを連鎖させる複雑なワークフロー(Skill: other-skill 形式)

description の書き方が最もスキル起動に直結するため、Use when:Accepts args: を明示することが最初の優先事項だ。


さらに深掘りしたい方へ

この記事ではCodex / Claude Code共通のSkill.mdフォーマット仕様と設計判断を解説しました。

:page_facing_up: Skill.md 書き方ガイド — Codex Skills と Claude Code Skills の違いと設計パターン ではさらに:

  • ツール横断スキル設計の3パターン(互換性重視・プラットフォーム別拡張・参照ファイル共有)の詳細比較
  • コミットメッセージ生成スキルの完全実装例(Conventional Commits対応)
  • Codex公式スキルカタログ openai/skills のクローンと活用方法

を扱っています。


playpark について

playpark LLC - 業務自動化・AI活用・Web開発

:link: お問い合わせ | ブログ

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?