T-CREATOR

<div />

Claude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない

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 CodeCodex
.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 では自分の設定の方が使われます。プロジェクトのスキルが呼ばれないときは、自分の設定のフォルダーに同じ名前がないかを見ます。

呼ばれないときは、置き場所から確かめる

スキルが呼ばれないときは、説明の書き方を直す前に、そのツールの置き場所に入っているかを確かめます。

参考文献

著書

とあるクリエイター

フロントエンドエンジニア Next.js / React / TypeScript / Node.js / Docker / AI Coding