// ARTICLE · AIツールの使い方
Claude Code Skillsの作り方と設定
// この記事を書いた人
株式会社Global Design Factory 代表取締役
高橋 遼
北海道大学工学部でAIによる自然言語処理を研究。P&Gにてビッグデータ解析・消費者分析を担当した後、伊良コーラのマーケティング責任者を経て、現在は株式会社Global Design Factory代表取締役として、中小企業を中心にAIを活用した業務効率化・自動化を支援。

Claude.aiやClaude Codeを使っていて「スキル(Skills)」という言葉を目にしたものの、どこにファイルを置けばよいのか、スラッシュコマンドやCLAUDE.md、MCPとどう違うのかが分からず、手が止まっていませんか。Claude Skillsは、特定のタスクをこなす手順やノウハウをフォルダにまとめ、必要なときだけClaudeに読み込ませられる機能です。本記事では、Anthropic公式ヘルプセンター、Claude Code公式ドキュメント、Claude APIドキュメントをもとに、スキルの仕組みと種類、Claude Codeでの作り方(置き場所・SKILL.mdのフロントマター・呼び出し方)、claude.aiでの有効化とアップロード、APIでの使い方、他機能との使い分け、セキュリティ上の注意点までを順に整理します。読み終える頃には、自分の環境で最初のカスタムスキルを作れる状態になっているはずです。
Claude Skills(スキル)とは何か?基本の仕組みを理解する
Claudeの「スキル」とは、Claudeが動的に読み込んで特定のタスクのパフォーマンスを向上させるための、命令・スクリプト・リソースをまとめたフォルダのことです。Anthropicヘルプセンターの「What are skills?」では、会社のブランドガイドラインに従ったドキュメント作成、組織固有のワークフローを使ったデータ分析、個人的なタスクの自動化などを、繰り返し同じやり方で完了する方法をClaudeに教える機能と説明されています。
イメージとしては、Claudeに「専門知識入りのマニュアル」を渡しておき、必要な場面だけそのマニュアルを開いて参照させる仕組みと考えると理解しやすいはずです。あらかじめ細かく指示を書き込まなくても、スキルが用意されていれば、Claudeが自分で「このタスクにはこのマニュアルが必要だ」と判断して読み込んでくれます。Claude Codeでは、スキル名を/スキル名と入力して自分で呼び出すこともできます。
なお、Anthropicは2025年12月18日の発表「Skills for organizations, partners, the ecosystem」で、スキルの形式を「Agent Skills」というオープン標準として公開しました。仕様はAgent Skills公式サイト(agentskills.io)で公開されています。これにより、Claude向けに作ったスキルはClaudeだけにロックされるものではなく、同じ標準を採用する他のAIツールでも使える可能性がある、という点が大きな動きです。
スキルが動く仕組み(段階的開示)
スキルの動作を理解するうえで欠かせないのが「段階的開示(プログレッシブディスクロージャー)」という仕組みです。Anthropicヘルプセンターによれば、Claudeは関連するスキルを判断したうえで、そのタスクを完了するために必要な情報だけを読み込みます。これにより、コンテキストウィンドウが不必要な情報で埋め尽くされる「過負荷」を防いでいます。
Claude APIドキュメントの「Agent Skills」では、読み込みのタイミングが次の3段階に分けて説明されています。
- レベル1:メタデータ(常に読み込み):各スキルのフロントマターにある
name(名前)とdescription(説明文)だけが、起動時にシステムプロンプトへ入ります。目安は1スキルあたり約100トークンと軽量で、多数のスキルを登録しておいても大きな負荷にはなりにくい設計です。 - レベル2:指示(呼び出されたときに読み込み):descriptionの内容とユーザーの依頼が合致すると判断されたスキルについてのみ、SKILL.mdの本文(目安は5,000トークン未満)が読み込まれます。
- レベル3:リソースとコード(必要になったときだけ):スキルに同梱した参考資料やスクリプトは、実際に参照・実行されるまでコンテキストを消費しません。スクリプトは実行結果だけがコンテキストに入ります。
つまり、スキルは「常にすべてを読み込む」のではなく、「必要なものだけをその都度呼び出す」仕組みによって、多くのスキルを登録していてもパフォーマンスを損なわないように設計されているわけです。この考え方は、後で扱うSKILL.mdのdescriptionの書き方や、補足ファイルの分け方にも直結します。
スキルを使える環境とプラン
スキル機能は、特定の上位プランだけの限定機能ではありません。Anthropicヘルプセンターによれば、スキルはFree、Pro、Max、Team、Enterpriseの各プランで利用でき、Claude Codeでも、コード実行ツールを使うAPIでも利用できます。プランごとの料金や機能差はClaudeの料金プランの比較で確認できます。
claude.ai(Web・デスクトップアプリ)で使う場合は、「コード実行とファイル作成」の設定を有効にすることが前提条件です。スキルはMarkdownの指示だけでなく、必要に応じて実行可能なスクリプトを含められる機能のため、この設定がオフだと使えません。一方、Claude Codeは手元のPC上でファイルを読み書きするツールなので、スキルをフォルダに置けばそのまま使えます。
環境ごとの違いをまとめると、次のようになります。
| 環境 | スキルの置き場所・登録方法 | 共有範囲 |
|---|---|---|
| claude.ai(Free/Pro/Max) | 「Customize > Skills」でON/OFF、ZIPでアップロード | 自分のアカウントのみ |
| claude.ai(Team/Enterprise) | 上記に加え、組織の所有者がプロビジョニング | 共有・組織への公開が可能 |
| Claude Code | ~/.claude/skills/や.claude/skills/にフォルダを置く | 個人・リポジトリ・プラグイン単位 |
| Claude API | Skills API(/v1/skills)でアップロード | ワークスペース全体 |
注意したいのは、APIドキュメントが「カスタムスキルは環境をまたいで自動では同期されない」と明記している点です。claude.aiにアップロードしたスキルはAPIでは使えず、その逆も同様なので、使いたい環境ごとに登録が必要です。ただしClaude Codeは例外的に、claude.aiと同じアカウントでサインインしていれば、claude.aiで有効にしたスキルを読み込めます(後述)。
Claude Skillsの4つの種類
Claudeの「スキル」は、誰が作り、誰が管理しているかによって4つの種類に分類されます。Anthropicヘルプセンターによると、これらは「Anthropicスキル」「カスタムスキル」「組織がプロビジョニングしたスキル」「パートナースキル」の4種類です。それぞれの役割を理解しておくと、自分が使っているスキルがどの立ち位置のものかを整理しやすくなります。
Anthropicスキル(標準スキル)
Anthropicスキルは、Anthropic自身が作成・保守している標準スキルです。代表的な例として、Excel・Word・PowerPoint・PDFといったファイル形式に対応した拡張ドキュメント作成機能が挙げられます。
このタイプの特徴は、以下の2点です。
- すべてのユーザーが利用できること
- Claudeが会話の文脈に応じて自動的に呼び出すこと
つまり、ユーザー側でフォルダを準備する手間がかからず、対象となる作業(たとえばExcelファイルの整形やPDFの生成)が発生した場面で、Claudeが判断して裏側でAnthropicスキルを呼び出します。なお、これらのドキュメント系スキルはclaude.aiとAPIで提供されるもので、APIドキュメントによればClaude Codeでは利用できません。Anthropicは公式のGitHubリポジトリanthropics/skillsでもスキルの実例を公開しており、自作する際のお手本になります。
カスタムスキル・組織プロビジョニングスキル・パートナースキル
残り3種類は、Anthropicスキルとは対照的に「ユーザーや組織、あるいは外部パートナーが用意するスキル」です。
カスタムスキルは、特定のワークフローやドメイン固有のタスク向けに、ユーザーや組織が自分で作成するスキルです。会社のブランドガイドラインに沿った文書作成や、社内の議事録フォーマット、独自のデータ分析手順など、汎用的なAnthropicスキルではカバーできない業務を任せたいときに作成します。後述するSKILL.mdの作成手順を踏めば、誰でも自分専用のカスタムスキルを持てます。
組織がプロビジョニングしたスキルは、TeamおよびEnterpriseプランに用意されている仕組みです。ヘルプセンターの「Provision and manage skills for your organization」によると、組織の所有者(Owner)がすべてのユーザーに向けてスキルをまとめて配布でき、配布したスキルは全員に対して既定で有効になります(各ユーザーは自分の分をオフにできます)。個々のメンバーが自分でセットアップする必要がないため、チーム全体で一貫した業務手順をClaudeに覚えさせたい場合に向いた分類です。
パートナースキルは、Notion・Figma・Atlassianといった外部パートナーが専門的に構築し、スキルディレクトリで提供しているスキルです。それぞれのパートナーが持つMCPコネクタとシームレスに連携するよう設計されている点が特徴で、外部サービスとの接続(MCP)と、そのサービスを使いこなすための手順(スキル)が一体となって提供される形です。
このように4つの種類は、「誰が作るか」「誰のために配布されるか」という軸で整理できます。ここからは、いちばん自由度の高いClaude Codeでのカスタムスキルの作り方を見ていきます。
Claude CodeでSkillsを作る手順と置き場所
Claude Codeでは、スキルは「SKILL.mdというファイルを入れたフォルダ」を決まった場所に置くだけで使えるようになります。APIへのアップロードは不要です。以下はClaude Code公式ドキュメント「Extend Claude with skills」の内容をもとにしています。Claude Code自体の導入方法や料金は、Claude Codeの使い方・できること・料金で詳しく扱っています。
公式ドキュメントでは、スキルを作るべきタイミングとして「同じ指示やチェックリスト、複数ステップの手順を何度もチャットに貼り付けているとき」「CLAUDE.mdの一部が事実ではなく手順に育ってきたとき」が挙げられています。CLAUDE.mdと違い、スキルの本文は使うときにだけ読み込まれるため、長い参考資料を入れておいても普段はほとんどコストがかかりません。
スキルの置き場所と適用範囲
SKILL.mdはどこに置くかによって、読み込まれる範囲が変わります。主な保存場所は次の通りです。
| 種類 | パス | 読み込まれる範囲 |
|---|---|---|
| Enterprise | 管理設定ディレクトリ内の.claude/skills/<skill-name>/SKILL.md | 組織が配布したマシンの全ユーザー |
| Personal(個人用) | ~/.claude/skills/<skill-name>/SKILL.md | そのマシン上の自分のすべてのプロジェクト |
| Project(プロジェクト用) | .claude/skills/<skill-name>/SKILL.md | そのリポジトリでのセッション。コミットすればチーム全員が使える |
| Nested(サブディレクトリ) | <subdir>/.claude/skills/<skill-name>/SKILL.md | そのサブディレクトリで作業するとき(モノレポ向け) |
| Plugin | <plugin>/skills/<skill-name>/SKILL.md | プラグインが有効な場所。/plugin-name:skill-nameで呼び出す |
| claude.aiアカウント | claude.aiで有効にしたスキル | 同じアカウントでサインインしたClaude Code・Cowork・クラウドセッション |
使い分けの目安は、自分だけの作業効率化ならPersonal、チームで共有するプロジェクト固有のワークフローならProject、組織全体で統一したいならEnterpriseかプラグインです。
置き場所まわりで押さえておきたい仕様は、次の4点です。
- 同名スキルの優先順位:Enterprise・Personal・Projectに同じ名前のスキルがある場合、Enterpriseが最優先で、次にPersonal、最後にProjectです。たとえば
deployが~/.claude/skills/とプロジェクトの.claude/skills/の両方にあると、/deployでは個人用が動きます。プラグインのスキルは/plugin-name:skill-nameという名前空間付きになるため、衝突せず両方読み込まれます。 - 親ディレクトリも探索される:Claude Codeは起動したディレクトリから、リポジトリのルートまでの各階層の
.claude/skills/を読み込みます。packages/frontend/で起動しても、ルートに置いたスキルが使えます。起動位置より下の階層に置いたスキルは、Claudeがそのディレクトリのファイルを読んだり編集したりした時点で読み込まれます。 - 編集はその場で反映される:
~/.claude/skills/やプロジェクトの.claude/skills/でスキルを追加・編集・削除すると、再起動せずに現在のセッションへ反映されます。ただし、起動時に存在しなかったスキル用ディレクトリを新しく作った場合は、/reload-skillsを実行します。 - 使えないフォルダ名がある:
synced(claude.aiから同期したスキルの保存先)と、anthropic-skillsで始まる名前は予約されており、自作スキルのフォルダ名には使えません。
また、個人用スキル(~/.claude/skills/)は、Coworkやクラウドセッションでは読み込まれない点にも注意が必要です。そうした環境でも使いたい場合は、claude.aiのアカウントでスキルを有効にするか、クラウドセッションであればリポジトリの.claude/skills/にコミットします。
ステップ1:フォルダとSKILL.mdを作る
最初にやることは、スキル用のフォルダを作り、その中にSKILL.mdというファイルを置くことです。公式ドキュメントの例では、個人用スキルとして次のようにフォルダを作成します。
mkdir -p ~/.claude/skills/summarize-changes
特定のプロジェクトだけで使いたい場合は、リポジトリの中に.claude/skills/summarize-changes/を作ります。
次に、フォルダ内にSKILL.mdを作成します。SKILL.mdは、ファイルの冒頭を---で挟んだYAMLフロントマター(Claudeに「いつこのスキルを使うべきか」を伝える部分)と、その下のMarkdown本文(スキルが実行されるときにClaudeが従う指示)の2層構造です。公式ドキュメントの例を日本語に置き換えると、次のようになります。
---
description: 未コミットの変更内容を要約し、リスクのある箇所を指摘する。「何を変えた?」「コミットメッセージを考えて」「差分をレビューして」と頼まれたときに使う。
---
## 現在の変更
!`git diff HEAD`
## 指示
上の変更を2〜3個の箇条書きで要約し、エラー処理の漏れ、ハードコードされた値、更新が必要なテストなど、気づいたリスクを列挙する。差分が空の場合は、未コミットの変更はないと伝える。
!`git diff HEAD`の行は「動的コンテキスト注入」と呼ばれるClaude Code独自の書き方です。Claudeがスキルを読む前にClaude Codeがコマンドを実行し、その出力でこの行を置き換えるため、Claudeは最新の差分を受け取った状態で指示に従えます。なお、この書き方はclaude.aiのチャットやAPIでは機能しません。
コマンド名は、フォルダ名(またはフロントマターのname)から決まります。上の例なら/summarize-changesで呼び出せます。命名の時点で、どんなタスクをこなすスキルなのかが一目で分かるようにしておくと、後々の管理がしやすくなります。
ステップ2:フロントマターで呼び出し条件を設定する
フロントマターの項目はすべて任意ですが、公式に記載が推奨されているのはdescriptionです。Claudeはこの説明文を見て、スキルを自動で読み込むかどうかを判断します。descriptionを省略すると、本文の最初の空でない行が代わりに使われます。
いくつかの項目を組み合わせた例は次の通りです。
---
name: fix-issue
description: GitHubのIssueを番号指定で修正する
argument-hint: [issue-number]
disable-model-invocation: true
allowed-tools: Bash(git status *) Bash(git diff *)
---
GitHub Issue $ARGUMENTS をコーディング規約に沿って修正してください。
1. Issueの内容を読む
2. 要件を整理する
3. 修正を実装する
4. テストを書く
5. コミットを作成する
Claude Codeで使える主なフィールドは次の通りです。
| フィールド | 役割 |
|---|---|
name | /メニューに表示されるコマンド名。省略時はフォルダ名 |
description | 何をするスキルで、いつ使うか。自動呼び出しの判断材料(推奨) |
when_to_use | 呼び出すべき場面の補足(依頼文の例など)。descriptionの後ろに追加される |
argument-hint | 入力補完時に表示する引数のヒント(例:[issue-number]) |
arguments | $nameで参照できる名前付き引数 |
disable-model-invocation | trueでClaudeによる自動呼び出しを禁止し、自分で/名前を打ったときだけ動かす |
user-invocable | falseで/メニューから隠し、Claudeだけが使う背景知識にする |
allowed-tools | スキルを呼び出したターンの間、確認なしで使えるツール |
disallowed-tools | スキルが有効な間、使わせないツール |
model/effort | スキル実行時のモデルや推論の度合いを上書きする |
context/agent | context: forkでサブエージェントとして隔離実行し、agentで種類を指定する |
paths | 指定したパターンに合うファイルを扱うときだけ自動で読み込む |
hooks | スキル呼び出し時に登録するフック |
このほか、Agent Skills標準の項目としてlicense・compatibility・metadataも書けますが、Claude Codeはこれらを受け付けるだけで動作には使いません。
フロントマターを書くときの注意点は次の通りです。
- フィールド名は表記どおりに書く:ハイフンの有無まで一致しないフィールドは、エラーも出ずに無視されます。
---は1行目に置く:冒頭が---で始まっていないと、ファイル全体が本文として扱われます。- 説明文は要点を先頭に:
descriptionとwhen_to_useを合わせたテキストは、スキル一覧では1,536文字で切り詰められます。 - claude.aiやAPIにも持っていくなら標準項目だけにする:claude.aiへのアップロードやSkills APIで使えるのは
name・description・license・compatibility・metadata・allowed-toolsの6項目だけです。argument-hintなどClaude Code独自の項目が入っていると、「Unexpected key(s) in SKILL.md frontmatter」というエラーでアップロードに失敗します。
本文についても、公式ドキュメントは簡潔さを求めています。スキルは一度読み込まれると、その内容が以降のターンにも会話の中に残り続けるため、書いた行はすべて繰り返しトークンコストになります。「なぜそうするか」を語るより「何をするか」を端的に書き、実行手順を並べたチェックリストに近い感覚でまとめるのがコツです。
ステップ3:呼び出し方と引数を決める
スキルの呼び出し方は2通りです。
- 自動で呼び出される:descriptionに合う依頼をすると、Claudeが判断してスキルを読み込みます。
- 自分で呼び出す:チャット欄に
/summarize-changesのようにスキル名を入力します。
引数も渡せます。本文に書いた$ARGUMENTSは、スキル名の後ろに入力した内容に置き換わります。上のfix-issueの例で/fix-issue 123と入力すると、Claudeは「GitHub Issue 123 をコーディング規約に沿って修正してください」という指示を受け取ります。複数の引数を位置で受け取りたい場合は、$ARGUMENTS[0]や短縮形の$0・$1を使います。
誰が呼び出せるかは、2つのフィールドで制御します。
| 設定 | 自分で呼び出す | Claudeが呼び出す | コンテキストへの読み込み |
|---|---|---|---|
| 既定(指定なし) | 可 | 可 | 説明文は常に、本文は呼び出し時 |
disable-model-invocation: true | 可 | 不可 | 説明文も入らず、本文は自分で呼び出したとき |
user-invocable: false | 不可 | 可 | 説明文は常に、本文は呼び出し時 |
デプロイやコミット、メッセージ送信のように副作用のある作業は、disable-model-invocation: trueにしておくのが安全です。公式ドキュメントも「コードの準備ができたように見えたからといって、Claudeに勝手にデプロイを判断させたくはない」という例で、この設定を勧めています。逆に、古いシステムの仕組みの解説のように、コマンドとして実行する意味はないがClaudeには知っておいてほしい背景知識は、user-invocable: falseが向いています。
ステップ4:補足ファイルでSKILL.mdを軽く保つ
スキルのフォルダには、SKILL.md以外のファイルも入れられます。公式ドキュメントでは、SKILL.mdは500行未満に抑え、詳しい資料は別ファイルに分けることが勧められています。
my-skill/
├── SKILL.md(必須。概要と案内)
├── reference.md(詳しいAPI仕様。必要なときに読み込む)
├── examples.md(使用例。必要なときに読み込む)
└── scripts/
└── helper.py(実行するスクリプト。中身は読み込まない)
補足ファイルは、SKILL.mdの中から「API仕様の詳細はreference.mdを参照」のようにリンクしておくと、Claudeがどのファイルにいつ目を通すべきかを判断できます。段階的開示のレベル3にあたる部分で、使われない資料はコンテキストを消費しません。
ステップ5:テストして改善する
SKILL.mdを書いたら、Claude Codeを起動して動作を確認します。
- 自然な依頼で試す:descriptionに合う依頼文(例:「何を変えた?」)を投げかけ、スキルが自動で呼び出されるかを確認します。
- コマンドで直接呼び出す:
/summarize-changesのようにスキル名を入力し、本文の指示どおりに動くかを確認します。
前者は「description(呼び出し条件)」の確認、後者は「本文(中身)」の確認です。両方を試すことで、どちらを直すべきかを切り分けられます。
うまくいかないときは、公式ドキュメントのトラブルシューティングに沿って次の点を見直します。
- 呼び出されない:descriptionに、ユーザーが実際に使いそうな言葉が入っているかを確認します。「What skills are available?」と尋ねてスキルが一覧に出るかも確かめます。YAMLの書式が壊れていると、
/スキル名では動くのにdescriptionとの照合ができなくなるため、--debug付きで起動してエラーを確認します。 - 呼び出されすぎる:descriptionをより具体的にするか、
disable-model-invocation: trueで手動専用にします。 - 説明文が切れる:スキルが多いと、一覧に入りきらない説明文が省かれ、Claudeが照合に使うキーワードが消えます。
/doctorで一覧のコンテキスト消費を確認し、使わないスキルはオフにします。
スキルの効果をきちんと測りたい場合は、公式マーケットプレイスのskill-creatorプラグインも使えます。テストケースを作り、スキルあり・なしの結果を比べる評価の流れを、Claude Codeの中で自動化してくれます。
/plugin install skill-creator@claude-plugins-official
なお、Claude Codeには最初から/code-review・/debug・/batch・/loop・/claude-apiなどのバンドルスキルが入っています。自作する前に、これらの動き方を参考にしてみるのも一つの方法です。
claude.ai(Web・アプリ)でスキルを有効化・アップロードする
claude.aiでは、ファイルを置く代わりに設定画面からスキルを有効化・登録します。以下はヘルプセンターの「Use skills in Claude」に沿った手順です(画面の項目名はヘルプセンターの英語表記です)。
スキルを有効にする
- コード実行を有効にする:Free・Pro・Maxプランは「Settings > Capabilities」で「Code execution and file creation」をオンにします。Team・Enterpriseプランは、組織の所有者が「Organization settings > Plugins & skills」の「Policy」タブで「Cloud code execution and file creation」と「Skills」の両方をオンにします(Teamプランは組織レベルで既定で有効です)。
- スキル一覧を開く:「Customize > Skills」を開きます。
- 使いたいスキルをオンにする:一覧のスイッチで、スキルを個別にオン・オフします。
Excel・Word・PowerPoint・PDFのAnthropicスキルは、コード実行がオンであれば、Claudeが依頼内容に応じて自動で使います。デスクトップアプリでは、サイドバーの「Customize」から同じようにスキルを管理できます。アプリの導入方法はClaude Desktopの機能・料金・導入方法を参照してください。
カスタムスキルをアップロードする
- スキルのフォルダ(SKILL.mdを含む)を用意し、フォルダごとZIPに圧縮します。ZIPを開いたときに、スキルのフォルダが最上位に来る形にします(ファイルがZIPの直下に並ぶ形は不可です)。
- 「Customize > Skills」で「+」ボタンを押し、「+ Create skill」を選びます。
- 「Upload a skill」を選び、ZIPファイルをアップロードします。
- 一覧に追加されたスキルをオンにし、呼び出されるはずの依頼をいくつか試します。
ヘルプセンターの「How to create custom skills」によると、SKILL.mdのnameは64文字以内、descriptionは200文字以内とされています。また、フォルダ名をスキル名と一致させることも求められています。アップロードに失敗する主な原因として、ZIPのサイズ超過、フォルダ名とスキル名の不一致、SKILL.mdの欠落、名前や説明文に使えない文字が含まれていることが挙げられています。Claude Code向けに書いたスキルをアップロードする場合は、前述のとおりフロントマターを標準の6項目に絞っておきます。
Team・Enterpriseプランでは、作成したスキルを特定の同僚やグループと共有したり、「Publish to org」で組織のライブラリに公開したりできます(組織の設定によっては、所有者のレビューが必要です)。共有されたスキルは閲覧専用で、受け取った側は有効にして使えますが、中身は編集できません。
claude.aiのスキルをClaude Codeでも使う
claude.aiで有効にしたスキルは、同じアカウントでサインインしたClaude Code(ターミナル)でも読み込まれます。自分で作成・有効化したスキルに加え、組織の所有者がプロビジョニングしたスキルも対象です。ヘルプセンターと公式ドキュメントによると、仕様は次の通りです。
- Claude Codeで
/skillsを実行すると、「claude.ai sync」の下に同期されたスキルが表示されます。 - スキルはセッション開始時に同期され、その後はおよそ10分ごとに変更が確認されます。
- 同期は一方向で、claude.ai側を変更することはありません。
- APIキーでサインインしている場合や、Amazon Bedrockなどのクラウド経由で動かしている場合は同期されません。
- 同期を止めたい場合は、Claude Codeの設定で
syncClaudeAiSkillsをfalseにします。
安全のため、claude.aiから同期したスキルでは、!`コマンド`による動的コンテキスト注入は実行されません。
APIでAgent Skillsを使う
アプリケーションに組み込む場合は、Claude APIからスキルを使います。Claude APIドキュメントの「Using Agent Skills with the API」によると、Messages APIのリクエストでcontainerパラメータにスキルを指定し、コード実行ツールと組み合わせて使います。1回のリクエストで指定できるスキルは最大20個です。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=4096,
container={
"skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
},
messages=[
{"role": "user", "content": "再生可能エネルギーについてのプレゼン資料を作成してください"}
],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
APIでのスキルの扱いは次の通りです。
- Anthropicスキル:
skill_idにpptx・xlsx・docx・pdfを指定し、typeはanthropicにします。 - カスタムスキル:Skills API(
/v1/skills)でアップロードし、発行されたskill_idをtype: customで指定します。アップロードしたスキルは、ワークスペースのメンバー全員が使えます。 - SKILL.mdの制約:
nameは64文字以内で、英小文字・数字・ハイフンのみ使えます。「anthropic」「claude」という語は含められません。descriptionは1,024文字以内です。アップロードできるのは、全ファイル合計(非圧縮)で30MB未満です。 - 実行環境の制約:APIのスキルはネットワークに接続できないサンドボックスで動き、実行中に追加のパッケージをインストールすることもできません。
なお、同じドキュメントには、Skills APIはベータを終了し、ベータ用のヘッダーは不要になったと記載されています。
Claude Codeの他機能との使い分け
Claude Codeには、スキル以外にもClaudeの挙動をカスタマイズする機能がいくつもあります。スラッシュコマンド、CLAUDE.md、サブエージェント、MCP(モデルコンテキストプロトコル)、プラグインなどです。どれも「Claudeに何かを教える・させる」という点で似ているため、どれを使えばよいのか迷いがちです。Claude Code公式ドキュメントの「Extend Claude Code」をもとに、役割の違いを整理します。
| 機能 | 読み込まれるタイミング | 向いている用途 |
|---|---|---|
| CLAUDE.md | 毎セッション自動で | 「常にこうする」というルール、ビルドコマンド、コーディング規約 |
| スキル | 必要なとき(自動または/名前) | 繰り返す作業手順、ときどき必要な参考資料 |
| サブエージェント | 呼び出されたとき、別のコンテキストで | 大量のファイルを読む調査、並行作業 |
| MCP | 接続したツールを使うとき | 外部サービス・データへの接続 |
| フック | 決まったイベントのたびに必ず | 編集後のlint実行、危険なコマンドの阻止 |
| プラグイン | (パッケージの仕組み) | スキルやフック、MCPなどをまとめて配布・再利用 |
スキルとスラッシュコマンド(.claude/commands/)
以前からあるカスタムスラッシュコマンドは、現在はスキルに統合されています。.claude/commands/deploy.mdというファイルと、.claude/skills/deploy/SKILL.mdというスキルは、どちらも/deployというコマンドになり、同じように動きます。
既存の.claude/commands/のファイルはそのまま使えますが、公式ドキュメントでは新しく作るならスキルが推奨されています。スキルには、補足ファイルを入れるフォルダを持てる、Claudeが必要に応じて自動で読み込める、といった利点があるためです。なお、コマンドファイルではnameとpaths以外のフロントマターが使えます。同じ名前のスキルとコマンドファイルがある場合は、スキルが優先されます。
スキルとCLAUDE.md
どちらも指示を書いておく仕組みですが、読み込まれ方が違います。CLAUDE.mdは毎セッション自動で読み込まれ、スキルは必要なときだけ読み込まれます。
- CLAUDE.mdに書く:コーディング規約、ビルドコマンド、プロジェクトの構成、「〜は絶対にしない」といった、Claudeが常に知っているべきこと
- スキルにする:API仕様書やスタイルガイドのように、ときどき必要になる参考資料や、デプロイ・レビュー・リリースのように
/名前で起動する作業手順
公式ドキュメントでは、CLAUDE.mdは200行未満を目安にし、長くなってきたら参考資料をスキルに移すよう勧めています。
スキルとサブエージェント
サブエージェントは、メインの会話とは別のコンテキストで作業し、結果の要約だけを返す「隔離された作業者」です。~/.claude/agents/や.claude/agents/に定義します。スキルが「どのコンテキストにも読み込める再利用可能な指示」であるのに対し、サブエージェントは「メインのコンテキストを汚さずに作業させる仕組み」という違いがあります。
両者は組み合わせることもできます。スキル側でcontext: forkを指定すると、スキルの内容をタスクとしてサブエージェントに実行させられます。
---
name: deep-research
description: 指定したテーマについてコードベースを詳しく調べる
context: fork
agent: Explore
---
$ARGUMENTS について詳しく調べてください。
1. Glob と Grep で関連ファイルを探す
2. コードを読んで分析する
3. 具体的なファイル名を挙げて結果をまとめる
この場合、サブエージェントはそれまでの会話履歴を見られないため、スキルの指示だけで完結するように書く必要があります。逆に、サブエージェントの定義でskills:フィールドにスキル名を並べると、そのスキルの全文を起動時に読み込ませられます。
スキルとMCP(モデルコンテキストプロトコル)
MCPとスキルは役割が根本的に異なりますが、混同されやすい組み合わせです。MCPはClaudeを外部サービスやデータソースに接続するための仕組みで、社内データベースやSaaSツールにアクセスするための「通り道」を用意します。いわばClaudeに新しい「道具(ツール)」を持たせる仕組みです。
これに対してスキルは、手順的な知識、つまり特定のタスクやワークフローを完了する方法の指示を提供します。道具そのものではなく、「その道具をどう効果的に使うか」を教える役割です。
両者は組み合わせて使うことでより力を発揮します。たとえば、MCPで顧客管理システムに接続できるようになったとしても、「どの順番で情報を取得し、どのようなフォーマットでまとめるか」というワークフローまではMCP単体では定義できません。公式ドキュメントでも、チームのデータベースのスキーマとクエリのパターンをまとめたスキルや、チームの書式ルールに沿ってSlackに投稿する/post-to-slackのようなスキルが例に挙げられています。
- 外部のサービスやデータに接続したい → MCP
- 接続した先をどう使うか、作業の手順を定義したい → スキル
- 接続と手順をセットで運用したい → MCP+スキルの併用
スキルとプラグイン
プラグインは、スキル・サブエージェント・フック・MCPサーバーを1つにまとめてインストールできるようにする「パッケージの仕組み」です。スキル単体でも~/.claude/skills/に置けば使えるため、プラグインが必要になるのは、同じ設定を複数のリポジトリで使い回したいときや、マーケットプレイスを通じて他の人に配布したいときです。
プラグインに入れたスキルは/プラグイン名:スキル名という名前空間付きのコマンドになるため、複数のプラグインが同じスキル名を使っていても衝突しません。プラグインの導入方法やおすすめは、Claude Codeプラグインの導入方法とおすすめで紹介しています。
claude.aiのプロジェクト・カスタム指示との違い
claude.aiで使う場合は、プロジェクトやカスタム指示との違いも押さえておくと迷いません。ヘルプセンターによると、プロジェクトはその中でチャットを始めると常に読み込まれる「静的な背景知識」、カスタム指示はすべての会話に広く適用される設定です。一方でスキルは、必要になったときだけ動的に有効になる「特定の手順」で、特定のプロジェクトに縛られず、関連する場面であれば横断的に使われます。
たとえば「回答は常に敬語で」といった全体方針はカスタム指示向きですが、「月次レポートを決まったフォーマットで作成する」「議事録を社内の書式で整理する」といった、特定の場面でのみ発動してほしい手順はスキル向きといえます。
活用事例とベストプラクティス
スキルの仕組みと作り方がわかったところで、実際にどんな場面で役立つのか、そして効果的なスキルを書くにはどんな工夫が必要なのかを見ていきます。
業務での活用シーン
スキルは「Claudeに一度教えれば、あとは必要な場面で使ってもらえる」機能なので、繰り返し発生する業務ほど効果を発揮しやすくなります。
- ドキュメント作成の標準化:会社のブランドガイドラインに沿った文書作成をスキルにしておけば、誰が依頼しても同じ体裁の資料が出てきます。Excel・Word・PowerPoint・PDFの作成は、claude.aiではAnthropicスキルとして標準で用意されています。
- 組織固有のデータ分析:自社独自のワークフローに沿ったデータ分析手順をスキルとしてまとめておけば、担当者が誰であっても同じ手順で分析結果を出せるようになります。
- コードレビューやデプロイ作業:
/deployや/review-prのようなスキルをプロジェクトの.claude/skills/にコミットしておけば、チーム全員が同じ手順でレビューやデプロイを進められます。副作用のある作業はdisable-model-invocation: trueで手動専用にしておきます。 - 社内ツールへの登録作業:ヘルプセンターでは、チームのルールに沿ってJIRA・Asana・Linearなどにタスクを作成するといった使い方も例に挙げられています。MCPで接続したうえで、登録のルールをスキルに書く形です。
- 個人的なタスクの自動化:会議の議事録要約、変更差分のサマリー作成など、個人が繰り返し行う定型作業を
~/.claude/skills/以下に用意しておけば、毎回同じ指示を書く手間がなくなります。 - チーム・組織全体での知識共有:TeamやEnterpriseプランでは、組織の所有者がスキルを一元的にプロビジョニングできるため、ベストプラクティスや組織知識をスキルという形でまとめ、チーム全体で一貫したワークフローを確保できます。
ヘルプセンターでも、シンプルなスキルならMarkdownで指示を書くだけで作れ、コーディングは不要とされています。エンジニアでないメンバーでも業務ノウハウをスキルにできる点は、導入のハードルを下げてくれます。
効果的なスキルを書くコツ
スキルを作ってみると、「動くけれど期待通りに呼び出されない」「呼び出されるけれど的外れな動きをする」といった悩みに行き当たることがあります。公式ドキュメントやAnthropicの「Skill authoring best practices」でも触れられている、次のポイントを意識すると、こうした問題を減らせます。
descriptionに「何をするか」と「いつ使うか」の両方を書くこと
Claudeはスキルを自動で読み込むかどうかを、主にdescriptionの内容で判断します。「変更内容を要約する」とだけ書くよりも、「差分の要約やコミットメッセージを頼まれたときに使う」のように、実際の依頼文に近い言葉を含めておくと、依頼内容とスキルが結びつきやすくなります。一覧では説明文が切り詰められることがあるため、要点は前半に書きます。
1つのスキルには1つの目的だけを持たせること
ヘルプセンターでは、何でもこなす大きなスキルを1つ作るより、目的ごとに小さなスキルを分けるほうがうまく組み合わさるとされています。Claudeは複数のスキルを自動で組み合わせて使えます。
本文は簡潔に保ち、詳細は補足ファイルに分けること
SKILL.mdの本文は、読み込まれると以降のターンにも会話の中に残ります。「なぜそうするか」という背景説明よりも、「何を実行するか」という手順を端的に書き、長い資料は補足ファイルに移すことが、コンテキストを圧迫せずにスキルを機能させるコツです。
自動呼び出しと直接呼び出しの両方でテストすること
descriptionに合う依頼を自然に伝える方法と、/summarize-changesのようにスキル名で直接呼び出す方法の2通りで確認しておくと、「呼び出されるはずの場面で呼び出されない」という事態を避けられます。
保存場所を用途に合わせて選ぶこと
自分だけの効率化ならPersonal、特定プロジェクト限定の手順ならProject、組織全体で共有すべきワークフローならEnterpriseやプラグイン、というように、用途に合った保存場所を選ぶことも「効果的なスキル」の条件の一つです。
導入時の注意点とセキュリティ対策
スキルは業務を効率化する便利な機能ですが、便利さと引き換えに新しいリスクも抱えています。導入前に、そのリスクの正体と対策を正しく理解しておくことが欠かせません。
出所不明なスキルに潜むリスク
スキルの本質は「Claudeが動的に読み込む命令・スクリプト・リソース」であり、指示やコードを通じてClaudeに新しい動作をさせる仕組みです。この特性は業務自動化の強力な武器になる一方、悪意のある第三者が作成したスキルを不用意に導入すると、以下のような被害につながる可能性があります。
- データの窃取・外部送信:スキルに埋め込まれたスクリプトや指示が、機密情報を外部へ送信してしまうおそれがあります
- ファイルの破壊・不正操作:意図しないファイル削除や改変、システムへの不正な操作が行われるおそれがあります
- プロンプトインジェクション:スキルの指示や、スキルが取得した外部のデータによって、Claudeが本来の目的と違う動作をさせられるおそれがあります
APIドキュメントでは、スキルは自分で作成したものかAnthropicから入手したものなど、信頼できる提供元のものだけを使うよう明記されています。やむを得ず出所の分からないスキルを使う場合は、SKILL.md・スクリプト・画像などの同梱ファイルをすべて確認し、想定外のネットワーク通信やファイル操作がないかを調べるよう求めています。ヘルプセンターも、同僚から共有されたスキルであっても、有効にする前に中身を確認するよう勧めています。
Claude Codeならではの注意点もあります。公式ドキュメントによると、プロジェクトのスキルに書かれたallowed-toolsは、ワークスペースの信頼確認に関係なく、スキルが呼び出されたときに適用されます。スキルは自分自身に広いツール権限を与えられるため、他人のリポジトリでClaude Codeを動かす前に、コミットされているスキルのallowed-toolsを確認しておくと安心です。
こうしたリスクを踏まえると、基本の方針はシンプルです。自分で作成したカスタムスキル、Anthropic公式のスキル、信頼できるパートナー企業のスキルに限定して使い、SNSや個人ブログで配布されている出所不明のスキルをそのまま組織に持ち込むことは避けましょう。
組織で安全に運用するための仕組み
個人利用であれば「信頼できるスキルだけを使う」という自己判断で対応できますが、チームや組織全体でスキルを展開する場合は、個々のメンバーの判断力に頼らない仕組みが必要になります。
- スキルスキャン機能(Enterprise):Enterpriseプランでは、スキルスキャンをオンにすると、ユーザーがアップロード・編集したサードパーティのスキルやプラグインに悪意のある内容がないかを、実行前に自動でチェックできます。ヘルプセンターによると、スキャンは2026年10月2日までは既定でオフで、それ以降は、設定をしていないEnterprise組織では利用可能な範囲で既定でオンになります。
- 組織プロビジョニングと公開ルール(Team・Enterprise):所有者は組織で使うスキルを一元的に配布でき、ユーザーが組織のライブラリへスキルを公開する際に「レビュー必須」にすることもできます。ユーザー自身によるスキルの作成・アップロードを禁止する設定も用意されています。
- Claude Codeの権限設定:Claude Codeでは、権限ルールで
Skillを拒否するとすべてのスキルを無効にでき、Skill(deploy *)のように書けば特定のスキルだけを拒否できます。
これらの仕組みを組み合わせることで、組織は「安全性が確認されたスキルだけを、必要なメンバーに一貫して届ける」運用を実現できます。個人で試す段階では信頼できる作成元を選ぶことを徹底し、組織で本格運用に移る段階では、スキャンやプロビジョニング、権限設定を活用して統制を利かせます。この段階的な導入判断が、スキルという強力な機能を安全に使いこなすための鍵になります。
まとめ
Claude Skillsは、命令やスクリプトをフォルダにまとめ、段階的開示によって必要なときだけ読み込ませる仕組みです。Claude Codeでは、~/.claude/skills/<スキル名>/SKILL.md(個人用)か.claude/skills/<スキル名>/SKILL.md(プロジェクト用)にファイルを置くだけで使え、フロントマターのdescriptionで自動呼び出しの条件を、disable-model-invocationやuser-invocableで呼び出せる人を制御します。claude.aiでは「Customize > Skills」からZIPをアップロードし、APIではcontainerパラメータでスキルを指定します。CLAUDE.mdは「常に守るルール」、スキルは「必要なときの手順」、サブエージェントは「隔離された作業者」、MCPは「外部接続の道具」、プラグインは「まとめて配布する箱」という役割分担で使い分けましょう。出所不明のスキルはデータ流出などのリスクを伴うため、信頼できる作成元に限定することも忘れないでください。まずは自分の定型業務を1つ選び、個人用の~/.claude/skills/にSKILL.mdを作るところから始めてみてください。
// TOPICS
// RELATED








