Claude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
プロジェクトに置いたスキルを、Claude Code は .claude/skills からだけ読み、Codex は .agents/skills からだけ読みました。2026年11月8日に、Claude Code 2.1.309 と Codex CLI 0.166.0 で確かめました。
経緯
security-audit スキルを npx skills add で入れたところ、本体は .agents/skills に置かれ、.claude/skills にはリンクだけが作られました。なぜ2か所に分けるのかを知りたくて、置き場所ごとにどちらのツールが読むかを確かめました。
環境
- macOS 26.6.2
- Claude Code 2.1.309(モデルは初めの設定の Claude Opus 5.5)
- Codex CLI 0.166.0(モデルは初めの設定の GPT-6.1-Sol)
- どちらも、プロジェクトのフォルダーに置いたスキルだけを見た。自分の設定のフォルダー(
~/.claude/skillsなど)には置いていない
動き
置き場所だけを変えた4つのリポジトリを作り、それぞれにスキルを1つ置きました。スキルの本文には「この6文字の合言葉だけを返す」と書き、合言葉は、名前や説明からは分からない文字にしました。合言葉を返せたら、そのスキルを読み込んだと判断しました。
| 置き場所 | Claude Code | Codex |
|---|---|---|
.claude/skills/ だけ | 読んだ(合言葉を返した) | 読まなかった |
.agents/skills/ だけ | 読まなかった | 読んだ(合言葉を返した) |
| 両方に同じ名前のスキル | .claude/skills/ の方を使った | .agents/skills/ の方を使った |
.agents/skills/ に本体、.claude/skills/ にリンク | 読んだ(リンクの先の本文を使った) | 読んだ |
.claude/skills/ だけに置いたとき、Codex はファイルを1つも開かずに、スキルの名前から作った「pong-sk-claude」のような言葉を返しました。本文の合言葉は返せなかったので、読み込んではいません。Claude Code に .agents/skills/ だけのスキルを呼ばせたときは、スキルがないものとして、ふつうのあいさつを返しました。
起動したときに読み込むスキルの一覧にも、同じ違いが出ました。Claude Code の一覧には、.agents/skills/ だけに置いたスキルは出ませんでした。
公式との違い
違いはありませんでした。公式の説明でも、Claude Code がプロジェクトで読むのは .claude/skills/、Codex が読むのは .agents/skills/ です。
| 説明されていること | Claude Code の公式 | Codex の公式 |
|---|---|---|
| プロジェクトの置き場所 | .claude/skills/ | 今いるフォルダーからリポジトリの一番上までの各 .agents/skills/ |
| 自分の設定の置き場所 | ~/.claude/skills/ | ~/.agents/skills/ |
| 同じ名前があるとき | 自分の設定のものが、プロジェクトのものより先 | まとめずに、両方が選択肢に出る |
| リンク | リンクの先の SKILL.md を読む | (説明なし) |
Claude Code の公式の説明には、スキルの書き方は Agent Skills という共通の形に沿っている、とあります。書き方は共通でも、置き場所はツールごとに違います。
対処
両方で使いたいときは、本体を1つにしてリンクを張る
本体を .agents/skills/ に置き、.claude/skills/ からリンクを張ると、どちらのツールも同じ本文を読みます。
terminal$ mkdir -p .claude/skills
$ ln -s ../../.agents/skills/my-skill .claude/skills/my-skill
npx skills add で入れると、この形を自動で作ります。同じ内容を2か所に写すと、片方だけを直したときに、ツールによって違う指示で動きます。
注意点
同じ名前なら、自分の設定のスキルが先に使われる
~/.claude/skills/ と ~/.agents/skills/ に置いたスキルも、公式の説明ではそれぞれのツールだけが読みます。同じ名前のスキルが自分の設定とプロジェクトの両方にあると、Claude Code では自分の設定の方が使われます。プロジェクトのスキルが呼ばれないときは、自分の設定のフォルダーに同じ名前がないかを見ます。
呼ばれないときは、置き場所から確かめる
スキルが呼ばれないときは、説明の書き方を直す前に、そのツールの置き場所に入っているかを確かめます。
参考文献
著書
articleClaude Code と Codex を並列で動かしたときの動き: 同じファイルでも書き換えは消えない
articleClaude Code の Stop フックで、終わる前にテストを走らせる手順: 失敗が残ったまま終わらない
articleClaude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
articleClaude Code の /security-review で変更を点検する手順: origin/HEAD がないと止まる
articleClaude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所
articleCloudflare の security-audit スキルを Claude Code と Codex で比較: 3つとも見つけ、進め方に差
articleClaude Code と Codex を並列で動かしたときの動き: 同じファイルでも書き換えは消えない
articleClaude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
articleClaude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所
articleCloudflare の security-audit スキルを Claude Code と Codex で比較: 3つとも見つけ、進め方に差
articleCodex の常駐プロセス(app-server)と会話の記録: 画面を閉じても動き続ける
articleClaude Code と Codex の違いを同じ課題で比較: 3つともテストは通り、差はテストの数と説明に出た
articleClaude Code と Codex を並列で動かしたときの動き: 同じファイルでも書き換えは消えない
articleClaude Code の Stop フックで、終わる前にテストを走らせる手順: 失敗が残ったまま終わらない
articleClaude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
articleClaude Code の /security-review で変更を点検する手順: origin/HEAD がないと止まる
articleClaude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所
articleCloudflare の security-audit スキルを Claude Code と Codex で比較: 3つとも見つけ、進め方に差
