· reAPI Team
Claude Code のスキル:SKILL.md の仕組みと読み込み先
Anthropic のドキュメントに基づく Claude Code のスキル解説。SKILL.md の形式、読み込み先、frontmatter の項目、コンテキスト消費量、claude.ai や API のスキルとの違いを紹介します。

Claude Code のスキルは、SKILL.md ファイルを含むフォルダーです。ファイルは、スキルを適用する条件を記述した YAML frontmatter と、指示を記述した Markdown 本文で構成されます。Claude Code は各スキルの説明を常に参照できる状態に保ち、本文全体はそのスキルを使うときだけ読み込みます。/skill-name と入力すれば、どのスキルも自分で実行できます。[1] カスタムスラッシュコマンドも現在は同じ仕組みです。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md はどちらも /deploy を作成し、従来のコマンドファイルも引き続き動作します。[1]
スキルを作るタイミングについて、Anthropic 自身は実用的な基準を示しています。同じチェックリストや手順をチャットに繰り返し貼り付けているときや、CLAUDE.md の一部が事実の記述ではなく手順になっているときに作成します。CLAUDE.md は毎セッション読み込まれますが、スキル本文は実行するまでほとんどコンテキストを消費しません。[1]
最小構成の Claude Code スキル
スキルに必要なのは、ディレクトリと 1 つのファイルです。次の例は、最近のコミットからリリースノートの下書きを作成します。~/.claude/skills/release-notes/SKILL.md として保存してください。
---
description: Drafts release notes from recent git commits. Use when the user asks for release notes, a changelog entry, or what shipped.
disable-model-invocation: true
---
## Recent commits
!`git log --oneline -30`
## Instructions
Group the commits above into Added, Changed and Fixed. Write one line per change in plain language. Skip merge commits.ディレクトリ名がコマンドになるため、/release-notes で実行できます。!`...` の行は、コンテキストを動的に注入する仕組みです。Claude Code は Claude がスキルを読む前にコマンドを実行し、その出力をスキルに埋め込みます。そのため、実際の履歴に基づいたノートを作成できます。[1] disable-model-invocation: true は Claude が自発的にスキルを開始するのを防ぐため、自分で起動したい処理に適しています。
Claude Code スキルの読み込み先
どのフォルダーに置くかによって、スキルを使える対象が決まります。[1]
| 配置先 | パス | 利用できる対象 |
|---|---|---|
| 個人用 | ~/.claude/skills/<name>/SKILL.md | このマシン上のすべてのプロジェクトで自分が利用 |
| プロジェクト用 | .claude/skills/<name>/SKILL.md | コミット後、そのリポジトリで作業する全員 |
| 入れ子のフォルダー | <subdir>/.claude/skills/<name>/SKILL.md | そのフォルダー内または配下で開始したセッション |
| プラグイン | <plugin>/skills/<name>/SKILL.md | プラグインを有効にした全員が /plugin-name:skill-name として利用 |
| Enterprise | 管理対象の設定ディレクトリ | 組織が配布した先の全ユーザー |
| claude.ai アカウント | アカウントで有効にしたスキル | そのアカウントでサインインしたセッション |
予約されている名前が 2 つあります。Claude Code は claude.ai からダウンロードしたスキルに ~/.claude/skills/synced/ を使い、そのフォルダー名で自作したスキルは読み飛ばします。プラグイン以外では、anthropic-skills という名前、または anthropic-skills: で始まる名前のフォルダーは読み込まれません。[1]
frontmatter で制御できること
すべてのフィールドは省略可能で、Anthropic が推奨しているのは description だけです。Claude Code はスペルを間違えたフィールド名をエラー表示せずに無視するため、名前は正確にコピーしてください。[1] 動作への影響が特に大きいフィールドは次のとおりです。
descriptionは、Claude がスキルを使うかどうかを判断する材料です。主な用途を先に書いてください。スキル一覧ではwhen_to_useと合わせて 1,536 文字で切り詰められます。disable-model-invocation: trueはスキルを手動実行専用にします。説明もコンテキストから外れるため、入力して呼び出すまでコンテキストを消費しません。user-invocable: falseは逆に、Claude だけが読み込めるようにし、/メニューからスキルを非表示にします。Anthropic は、レガシーシステムの仕組みなどの背景知識にこの設定を勧めています。allowed-toolsは、スキルを実行するターンで使うツールを事前承認します。次のメッセージを送ると、その承認は終了します。pathsは一致するファイルに自動読み込みを限定し、context: forkはサブエージェントでスキルを実行します。
model と effort は、そのターンの残りの処理でモデルと推論レベルを変更します。変更は設定には保存されません。[1]
スキルのコンテキスト消費量
Anthropic は 3 つの段階に分けて説明しています。各スキルの名前と説明は起動時に読み込まれ、スキルあたり約 100 トークンを消費します。SKILL.md の本文はスキルが起動したときに読み込まれ、Anthropic の表ではこの段階を 5,000 トークン未満としています。同梱ファイルは Claude が読むまでコンテキストを消費せず、スクリプトのコード自体はコンテキストに入りません。入るのはその出力だけです。[2]
スキルを実行すると、その内容は 1 つのメッセージとして会話に残り、Claude Code は後のターンでファイルを読み直しません。自動圧縮の後は、Claude Code が各スキルの直近の実行内容を再添付します。新しいものから順に、合計 25,000 トークンの枠内で、それぞれ先頭の 5,000 トークンを保持します。長いセッションで多くのスキルを使うと、古いものが外れる場合があります。[1] タスク全体で守るべきルールは、継続的に適用する指示としてファイルの上部付近に書いてください。
Claude Code 以外での Claude スキル
同じ形式は Claude のほかの環境でも使えますが、環境ごとにルールが異なります。[2]
- claude.ai には、PowerPoint、Excel、Word、PDF ファイル用の Anthropic 製組み込みスキルがあり、設定なしで有効になります。カスタムスキルは、コード実行を有効にした Pro、Max、Ultra、Team、Enterprise プランで、Settings > Features から zip ファイルとしてアップロードします。アップロードしたスキルは各ユーザー専用です。
- Claude API では、コード実行ツールとともに
containerパラメーター内でskill_idを指定します。組み込み ID はpptx、xlsx、docx、pdfです。カスタムスキルは/v1/skillsエンドポイントで扱い、ワークスペース全体で共有されます。 - Claude Code はカスタムスキルに対応していますが、組み込みの文書スキルには対応していません。
同期については、Anthropic のドキュメント内で説明が食い違っています。Agent Skills の概要では、カスタムスキルは環境間で同期されず、Claude Code のスキルは claude.ai と API の両方から独立しているとされています。[2] 一方、より新しい Claude Code のページでは、claude.ai アカウントで有効にしたスキルを、そのアカウントでサインインしたターミナルセッションの読み込み元として挙げており、~/.claude/skills/synced/ にダウンロードされます。[1] この同期を利用するなら、それを前提にワークフローを組む前に、スキルが / メニューに表示されることを確認してください。
Claude Code のスキルを claude.ai や Skills API に移す際は注意が必要です。これらが受け付ける frontmatter フィールドは、Agent Skills オープン標準の name、description、license、compatibility、metadata、allowed-tools の 6 つだけです。disable-model-invocation や argument-hint など、それ以外のフィールドは無視されず、「Unexpected key(s)」エラーでアップロードが失敗します。また、!`command` による注入など、Claude Code 専用の機能は動作しません。[1][3] 上のリリースノートの例では、その両方を取り除く必要があります。
他の人が作ったスキルのインストール
スキルは Claude にコマンドの実行やツールの呼び出しを指示できるため、Anthropic は信頼できる提供元のスキルだけを使い、インストールをソフトウェアの導入と同様に扱うよう勧めています。SKILL.md だけでなく、フォルダー内のすべてのファイルを読んでください。スクリプト、画像、参照ファイルのいずれにも指示が含まれる可能性があります。外部 URL からコンテンツを取得するスキルは、確認後に取得先のページが変わることがあるため、リスクが増します。[2]
FAQ
Claude Code のスキルはスラッシュコマンドと同じ?
両者は統合されています。.claude/commands/ のコマンドファイルと同名のスキルフォルダーは、どちらも同じ /name コマンドを作成します。スキルでは、補助ファイル、自動読み込み、呼び出しの制御が追加で使えます。[1]
Claude Code で PowerPoint や Excel のスキルを使える?
使えません。Anthropic の組み込み文書スキルは claude.ai と API では動作しますが、Claude Code では利用できません。Claude Code には、/code-review、/debug、/claude-api など独自のスキルが同梱されています。[1][2]
Claude が自分のスキルを無視するのはなぜ?
まず説明を確認してください。Claude が使用を判断する前に見られるのは、説明と when_to_use だけです。次に、開始の --- がファイルの 1 行目にあるか確認します。そうでないと Claude Code は frontmatter を通常のテキストとして扱い、YAML エラーがあるとフィールドが何も設定されていない状態でスキルを読み込みます。[1]
自分のモデルアクセスで Claude Code スキルを実行する
個人用とプロジェクト用のスキルは、Claude Code クライアントが読み込むマシン上のファイルです。Claude のサブスクリプションの代わりにゲートウェイへ接続する場合、reAPI の Claude Code ガイド で、ベース URL、キーの種類、対応する Claude のモデル ID を説明しています。Claude Sonnet 5.5 のページ では現在の単価を確認できます。claude.ai から同期するスキルはそのアカウントでのサインインが必要なため、どこでも使いたい Claude Code のスキルは個人用またはプロジェクト用のフォルダーに置いてください。
参考文献
- Anthropic. Extend Claude with skills (Claude Code documentation). 2026年11月4日取得:code.claude.com/docs/en/skills
- Anthropic. Agent Skills overview. 2026年11月4日取得:platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
- Agent Skills. Agent Skills open standard. 2026年11月4日取得:agentskills.io