Claude Code のスキルは、保存した場所によって読み込むセッションが決まります[1]。本稿では、2026-11-06 に取得した公式ドキュメントの記述をもとに、次の 5 点を整理します。置き場所ごとの読み込み範囲、ディレクトリをたどる規則、同じ名前のスキルがあるときの扱い、Cowork・cloud・scheduled task での挙動、変更が反映される条件です。
1. 配置場所と読み込み範囲
Where you save a skill decides which sessions load it.
- Enterprise:組織が配布したマシンの全ユーザーに読み込まれます[1]。配置パスは OS ごとの根拠がそろっていないため、本稿には書きません。
-
Personal(
~/.claude/skills/):そのマシンの全プロジェクトに読み込まれます。Cowork セッションと cloud セッションには読み込まれません[1]。 -
Project(
.claude/skills/):そのリポジトリ内のセッションに読み込まれます。project の cloud thread には読み込まれません[1]。 -
Nested(
<subdir>/.claude/skills/):それより上のディレクトリで始めたセッションでも、Claude がそのディレクトリのファイルを扱った時点で読み込まれます[1]。
2. ディレクトリ探索の規則
- 起動したディレクトリと、そこからリポジトリルートまでの各親ディレクトリにある
.claude/skills/の project スキルを読み込みます[1]。 - 起動ディレクトリより下にある
.claude/skills/は、起動時には読み込まれません。Claude がそのサブディレクトリのファイルを初めて読むか編集した時点で読み込まれ、セッションが終わるまで使えます[1]。 - 早めに読み込みたいときは、
/add-dirにサブディレクトリのパスを渡します。これには v2.1.257 以降が必要です[1]。 - v2.1.246 以降では、
/cdでセッションを移動すると、移動先ディレクトリの project スキルが追加されます[1]。 - v2.1.277 以降では、linked git worktree のチェックアウトのルートに
.claude/skillsが無い場合、メインチェックアウトの project スキルが読み込まれます[1]。 - settings.json の
permissions.additionalDirectoriesについて、ドキュメントは「ファイルアクセスを与えるだけで、these を何も読み込まない」と書いています[1]。"these" が何を指すかは前の文によって決まるため、本稿ではこの設定をスキルの読み込み経路として扱いません。 -
--add-dirで追加したディレクトリの.claude/commands/と.claude/agents/は監視されません。ここのファイルを変更したら、セッションを再起動します[1]。
3. 名前の衝突と優先順位
Enterprise over personal, and personal over project.
- 同じ名前のスキルが複数の階層にある場合、enterprise が personal より、personal が project より優先されます[1]。
- ネストしたスキルのディレクトリ名が他のスキルの名前と同じ場合は、両方とも使える状態で残ります[1]。
- 追加ディレクトリのスキルは、フォルダ名が enterprise・personal・project のスキルと衝突すると、プレフィックス付きの名前になります[1]。この名前(例:
/cli:verify)で実行するには v2.1.309 以降が必要です[1]。 - プラグインのスキルは
/plugin-name:skill-nameの名前空間を持つため、他の場所にある同じ名前のスキルと両方が読み込まれます[1]。 - カスタムコマンドはスキルに統合されました。
.claude/commands/deploy.mdと.claude/skills/deploy/SKILL.mdは、どちらも/deployを作ります[1]。
4. Cowork・cloud・scheduled task
This happens because each run starts as a fresh cloud session.
- Cowork セッションは、対話型も scheduled も、claude.ai アカウントで有効にしたスキルを読み込みます。同期はセッション開始時に行われます[1]。
- ターミナルセッションで claude.ai のスキルを同期するには、v2.1.273 以降が必要です[1]。
- cloud scheduled task でスキルが見つからない原因は、実行のたびに新しい cloud セッションとして始まることです[1]。
- Desktop の scheduled task はマシン上でローカルに動くため、
~/.claude/skills/のスキルを読み込みます[1]。
5. 変更の反映
Live change detection covers SKILL.md text only.
- セッション開始時にあったスキルディレクトリでは、スキルの変更が再起動なしで現在のセッションに反映されます[1]。
- セッション開始時に無かった最上位のスキルディレクトリを作った場合は、
/reload-skillsを実行するとスキルが読み込まれます[1]。 - 変更をその場で検知する対象は、SKILL.md のテキストだけです[1]。
- personal または project のスキルのディレクトリを削除すると、現在のセッションの
/skillsからそのスキルが外れます[1]。 - enterprise・personal・project の位置に置いたシンボリックリンクのスキルは、複数の場所が同じ実体を指していても 1 回だけ読み込まれます[1]。
6. コンテキストへの読み込み
- 通常のセッションでは、スキルの description がコンテキストに読み込まれます。スキル本文が読み込まれるのは、呼び出されたときだけです[1]。
- 呼び出すと、レンダリング済みの SKILL.md の内容が 1 つのメッセージとして会話に入り、後のターンでも残ります[1]。
- frontmatter に
pathsを設定したスキルは、パターンに一致するファイルを扱うときだけ自動で読み込まれます[1]。Claude の現在の作業ディレクトリの外にあるファイル(例:兄弟の git worktree の中)では有効になりません[1]。 - スキル一覧の予算は、モデルのコンテキストウィンドウの 1% に合わせて増減します[1]。予算の単位と換算は、本稿の検証範囲に含まれていません。
- 一覧の各エントリは、予算に関係なく、合計 1,536 文字が上限です(2026-11-06 時点)[1]。