Claude Code Skillsとは
Claude Code Skills(スキル)は、Claude Codeに「手順書」や「専門知識」を覚えさせる仕組みです。SKILL.md というMarkdownファイルに指示を書いてフォルダに置くだけで、Claudeがそれを道具箱に加えます。
使い方は2通りあります。
- 自分で呼び出す:
/スキル名と入力して実行する
- Claudeが自動で使う:依頼内容がスキルの説明(description)に合っていれば、Claudeが自分で読み込んで使う
公式ドキュメントでは、スキルを作るタイミングを「同じ指示やチェックリスト、手順を何度もチャットに貼り付けているとき」「CLAUDE.mdの一部が“事実”ではなく“手順”に育ってしまったとき」と説明しています。毎回同じプロンプトを打っているなら、それはスキルにする合図です。
なお、Claude CodeのスキルはAnthropicが公開している「Agent Skills」というオープン標準に沿っています。Claude Codeはそこに、呼び出し制御やサブエージェント実行などの独自機能を足した形です。同じ仕組みはClaudeアプリ(claude.ai)やAPIでも使えるため、まとめて「Claude Skills」と呼ばれることもあります。アプリ版との違いは、この記事の後半「Claudeアプリ(claude.ai)のSkillsとClaude Codeの違い」で整理しています。
Claude Code自体の基本は「Claude Codeとは?使い方から実践テクニックまで完全ガイド」、まだ入れていない方は「Claude Codeのインストール方法」から先にどうぞ。この記事の内容は、2026年11月時点の公式ドキュメント(code.claude.com)をもとにしています。
---
スキルの仕組み——必要なときだけ読み込まれる
スキルの一番の特徴は、本文が必要になったときにだけ読み込まれることです。
普段のセッションでClaudeが把握しているのは、各スキルの「名前」と「説明文(description)」だけ。依頼内容がその説明に合ったときに、はじめて SKILL.md の本文がコンテキストに読み込まれます。
これがCLAUDE.mdとの大きな違いです。CLAUDE.mdは毎セッション必ず読み込まれるので、長い手順書やAPI仕様を詰め込むと、そのぶん毎回トークンを消費します。スキルにしておけば、使わない日はほぼコストがかかりません。
ただし、一度読み込まれたスキルの本文は、その後のやり取りでもコンテキストに残ります。公式も「本文は簡潔に。何をするかを書き、経緯や理由の説明は削る」と推奨しています。
---
SKILL.mdの書き方とフロントマター
基本の構成
スキルは「フォルダ1つ=スキル1つ」です。フォルダの中に SKILL.md を置きます。
summarize-changes/
└── SKILL.md
SKILL.md は2つのパートでできています。
--- で囲んだYAMLフロントマター(いつ使うスキルかを伝える)公式ドキュメントの最初の例は、未コミットの変更を要約してリスクを指摘するスキルです。
---
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---
## Current changes
!`git diff HEAD`
## Instructions
Summarize the changes above in two or three bullet points, then list any risks you notice.
! に続けてバッククォートでコマンドを書くと、Claude Codeがそのコマンドを実行し、結果を差し込んだ状態でClaudeに渡します(動的コンテキスト注入)。上の例なら、最新の差分を読んだうえで要約してくれるわけです。
主なフロントマター項目
フロントマターの項目はすべて任意ですが、description だけは書くことが推奨されています。よく使うものを抜き出すと次のとおりです。
| 項目 | 役割 |
|---|---|
| name | / メニューに出るコマンド名。省略するとフォルダ名になる |
| description | 何をするスキルか、いつ使うか。Claudeが自動で使うかどうかの判断材料 |
| when_to_use | 発動させたい言い回しや依頼例などの補足。descriptionと合わせて1,536文字で切り詰められる |
| disable-model-invocation | trueにするとClaudeが勝手に実行しなくなる(デプロイなど副作用のある操作向け) |
| user-invocable | falseにすると / メニューに出ず、Claudeだけが使う背景知識になる |
| allowed-tools | スキル実行中、許可確認なしで使えるツール |
| argument-hint | 引数のヒント(例:[issue-number]) |
| context | forkにするとサブエージェントとして別コンテキストで実行 |
| model / effort | スキル実行中に使うモデルや思考の深さ |
| paths | 特定のファイルパターンを扱うときだけ自動で読み込む |
項目名はハイフンまで正確に書く必要があります。間違えてもエラーにはならず、黙って無視されるので注意してください。
引数を渡す
本文に $ARGUMENTS と書いておくと、/deploy staging のように呼び出したときの引数(この場合は「staging」)に置き換わります。$0、$1 で位置ごとに取り出すこともできます。
補足ファイルを同じフォルダに置く
スキルのフォルダには、SKILL.md 以外のファイルも置けます。
my-skill/
├── SKILL.md(概要と案内。必須)
├── reference.md(詳細資料。必要なときだけ読む)
├── examples.md(出力例)
└── scripts/
└── helper.py(実行用スクリプト)
SKILL.md から「詳細はreference.mdを参照」とリンクしておけば、Claudeは必要な場面でだけそのファイルを開きます。公式は SKILL.md を500行以内に収め、詳細は別ファイルに分けることを勧めています。
---
スキルの保存場所——個人・プロジェクト・プラグイン
どこに置くかで、どのセッションで使えるかが決まります。
| 種類 | 保存場所 | 使える範囲 | |---|---|---| | 個人(Personal) | ~/.claude/skills/スキル名/SKILL.md | そのPCのすべてのプロジェクト | | プロジェクト(Project) | .claude/skills/スキル名/SKILL.md | そのリポジトリ内。コミットすればチーム全員が使える | | プラグイン(Plugin) | プラグイン/skills/スキル名/SKILL.md | プラグインを有効にした環境。/プラグイン名:スキル名 で呼び出す | | エンタープライズ | 管理設定ディレクトリ内の .claude/skills/ | 組織が配布したマシンの全ユーザー |
同じ名前のスキルが複数の場所にある場合は、エンタープライズ>個人>プロジェクトの順で優先されます。プラグインのスキルは名前空間が分かれるので衝突しません。
モノレポの場合、起動したディレクトリから上のリポジトリルートまでの .claude/skills/ が読み込まれます。サブディレクトリ内のスキルは、Claudeがそのディレクトリのファイルを触った時点で読み込まれます。
また、スキルファイルを編集すると、セッションを再起動しなくても変更が反映されます。作りながら試せるので、調整がとても楽です。
---
Claudeアプリ(claude.ai)のSkillsとClaude Codeの違い
「Claude Skills」で調べると、Claude Codeの話とClaudeアプリ(claude.ai、デスクトップ版を含む)の話が混ざって出てきます。どちらも中身は同じ SKILL.md 形式のスキルですが、置き場所や使える機能が違います。以下は2026年11月時点のAnthropic公式ヘルプとClaude Codeのドキュメントに基づく整理です。
| 項目 | Claudeアプリ(claude.ai) | Claude Code |
|---|---|---|
| 主な利用者 | 資料作成や分析をする一般のビジネスユーザー | 開発者、ターミナルで作業する人 |
| 使える環境 | Free・Pro・Max・Ultra・Team・Enterprise | Claude Codeを利用できる環境(claude.aiアカウントでのログイン、またはAPIキー) |
| 前提条件 | コード実行(Code execution)が有効であること | 特になし |
| スキルの追加方法 | 「Customize」→「Skills」→「+ Create skill」→「Upload a skill」でZIPをアップロード | フォルダに SKILL.md を置くだけ |
| 最初から入っているスキル | Excel・Word・PowerPoint・PDFの作成や編集(関連する依頼で自動的に使われる) | 同梱のスキルに加え、プラグインで追加 |
| 組織での配布 | Team・Enterpriseのオーナーが「Organization settings」→「Plugins & skills」から全社に配布 | リポジトリにコミット、またはプラグインで配布 |
| フロントマター | name、description、license、compatibility、metadata、allowed-tools のみ | 上記に加え disable-model-invocation、context、paths などClaude Code独自の項目も使える |
Team・Enterpriseプランでは、管理者が組織設定で「コード実行とファイル作成(Code execution and file creation)」と「Skills」の両方を有効にしていないと、メンバーはスキルを使えません。社内で「スキルが見当たらない」と言われたら、まずここを確認してください。
claude.aiのスキルはClaude Codeにも同期される
claude.aiのアカウントで有効にしたスキルは、Claude Code(v2.1.273以降)にも一方向で同期されます。claude.aiのアカウントでログインしたセッションを開始すると、スキルが ~/.claude/skills/synced/ にダウンロードされる仕組みです。一方、APIキーで認証しているセッションでは同期されません。
つまり、アプリで作ったスキルはClaude Codeでも使えるが、Claude Code独自のフロントマター項目はアプリ側では使えないという関係です。両方で使い回したいスキルは、Agent Skillsの標準項目(name・description など)だけで書いておくと扱いやすくなります。
どちらで作ればいいか
- 文書作成・データ整理など、非エンジニアも使う業務手順 → Claudeアプリでスキルを作り、Team・Enterpriseなら組織に配布する
- コードレビュー、デプロイ、リポジトリ固有のルール → Claude Codeの
.claude/skills/に置いてコミットする
- 両方で使う社内ルール集 → 標準項目だけで書き、claude.aiに登録して同期させる
Claudeアプリそのものの使い方は「Claudeの使い方」、デスクトップでClaudeに作業を任せる機能は「Claude Coworkの使い方と料金」で解説しています。
---
スラッシュコマンド・サブエージェント・フック・MCP・CLAUDE.mdとの違い
Claude Codeには拡張機能がいくつもあり、「結局どれを使えばいいの?」となりがちです。公式ドキュメントの整理をもとにまとめると次のようになります。
| 機能 | 何をするものか | 読み込み・発動のタイミング | 向いている用途 | |---|---|---|---| | CLAUDE.md | 毎回必ず読む前提ルール | 毎セッション自動 | 「常にpnpmを使う」などの規約 | | スキル | 再利用できる知識・手順 | 呼び出し時、またはClaudeが必要と判断したとき | デプロイ手順、レビュー観点、社内ルール集 | | サブエージェント | 独立したコンテキストで動く作業者 | Claudeが委任したとき | 大量のファイル調査、並列作業 | | フック | イベント発生時に確実に実行される処理 | ファイル編集後などのライフサイクルイベント | 編集後の自動Lint、危険なコマンドのブロック | | MCP | 外部サービスとの接続 | 常時接続(ツールとして利用) | Slack、データベース、ブラウザ操作 | | プラグイン | 上記をまとめて配布する箱 | インストール・有効化したとき | チームや複数リポジトリへの展開 |
スラッシュコマンドとの違い
以前からある「カスタムスラッシュコマンド」(.claude/commands/deploy.md)は、現在はスキルに統合されています。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md はどちらも /deploy を作り、同じように動きます。既存のコマンドファイルはそのまま使えます。
スキルのほうが、補足ファイルを同じフォルダに置ける、Claudeが自動で使える、呼び出し方を細かく制御できる、といった点で上位互換です。新しく作るならスキル形式を選びましょう。
サブエージェントとの違い
スキルは「メイン会話に読み込む指示」、サブエージェントは「別のコンテキストで動いて要約だけ返す作業者」です。スキルはメインのコンテキストを消費しますが、サブエージェントは消費しません。
両者は組み合わせられます。フロントマターに context: fork を書けばスキルをサブエージェントとして実行でき、逆にサブエージェント側で特定のスキルを事前に読み込ませることもできます。
フックとの違い
フックは「必ず実行される」仕組みで、Claudeの判断を挟みません。スキルはClaudeが指示を読んで解釈するので、結果に多少の揺れがあります。「毎回絶対にフォーマッターを通したい」ならフック、「状況を見て判断しながら進めてほしい手順」ならスキル、と使い分けます。
MCPとの違い
MCPはClaudeに外部サービスを操作する手段を与え、スキルはその使い方を教えます。たとえば「SlackのMCPサーバー」で投稿できるようにしたうえで、「週報はこのフォーマットで#generalに投稿する」という手順をスキルにする、という組み合わせが典型です。MCPの設定は「Claude Code × MCPサーバーで開発ワークフローを自動化する方法」で詳しく解説しています。
CLAUDE.mdとの違い
公式の目安は「Claudeが常に知っておくべきことはCLAUDE.md、ときどき必要な資料や /名前 で起動する手順はスキル」。CLAUDE.mdは200行以内に抑え、膨らんできたら参照資料をスキルに移すことが推奨されています。
---
スキルの作り方——4ステップ
ここでは、ブログ記事の公開前チェックを行うスキルを例に作ってみます。
ステップ1:フォルダを作る
チームで共有したいので、プロジェクト直下に作ります。
mkdir -p .claude/skills/blog-check
自分だけで全プロジェクトに使いたい場合は ~/.claude/skills/blog-check に作ります。
ステップ2:SKILL.mdを書く
---
name: blog-check
description: ブログ記事の公開前チェック。記事の校正、公開前確認、SEOチェックを頼まれたときに使う。
argument-hint: [記事ファイルのパス]
---
$ARGUMENTS の記事を次の観点で確認し、問題点を表にまとめる。
1. タイトルは40文字前後で、主要キーワードが前半にあるか
2. 見出し(H2/H3)の階層が正しいか
3. 料金や数値に「時点」の注記があるか
4. 社内リンクの末尾にスラッシュがあるか
5. 表記ゆれ(例:「お問合せ」と「お問い合わせ」)
修正はせず、指摘だけを返すこと。
ポイントは description です。Claudeはこの文を見て自動で使うかどうかを判断するので、「何をするか」に加えて「どんな依頼のときに使うか」を具体的に書きます。
ステップ3:試す
Claude Codeを起動し、次のどちらかで動作を確認します。
/blog-check content/new-post.mdと直接呼び出す
- 「この記事を公開前にチェックして」と頼み、自動で使われるか確かめる
/skills を実行すると、読み込まれているスキルの一覧を確認できます。
ステップ4:育てる
使ってみて指摘漏れがあれば、そのたびに SKILL.md に1行足していきます。編集はセッション中にそのまま反映されます。公式も「手作業で何度も直しているワークフローは、スキルの改訂が必要なサイン」と書いています。
Claudeが勝手に実行すると困るスキル(本番デプロイ、メール送信など)には、必ず disable-model-invocation: true を付けておきましょう。
---
業務・開発チームでの活用例
| 用途 | スキルの例 | 設定のポイント |
|---|---|---|
| コードレビュー | 社内のレビュー観点(命名、エラー処理、セキュリティ)を列挙 | Claudeが自動で使えるようにしておく |
| デプロイ | テスト→ビルド→本番反映の手順 | disable-model-invocation: true で手動限定 |
| コミット・PR作成 | コミットメッセージの書式、PRテンプレート | !git diff で差分を差し込む |
| 社内ルール集 | 表記ルール、命名規則、レガシーシステムの仕様 | user-invocable: false で背景知識として使う |
| 定型ドキュメント作成 | 議事録の整形、週報、見積書のたたき台 | 雛形をtemplate.mdとして同じフォルダに置く |
| データ処理 | CSVの集計・整形手順 | scripts/ にPythonスクリプトを同梱 |
開発以外の業務にも向いています。たとえば「問い合わせメールの返信案を、社内の言い回しルールに沿って作る」「経費精算の申請内容を社内規程と照らし合わせる」といった、判断基準が文書化できる作業はスキルにしやすい領域です。
逆に、毎回状況がまったく違う作業や、判断基準を言葉にできていない作業はスキルにしても効果が出にくいです。まずは「人に引き継ぐときに手順書を書けるか」を基準に選ぶとうまくいきます。
---
プラグインでスキルをチームに配布する
プロジェクト単位なら .claude/skills/ をコミットするだけで共有できます。一方、複数のリポジトリで同じスキルを使いたい、スキルとMCPサーバー・フックをセットで配りたい場合はプラグインにまとめます。
プラグインの構成
my-plugin/
├── .claude-plugin/
│ └── plugin.json(プラグイン名などを書くマニフェスト)
└── skills/
└── review/
└── SKILL.md
plugin.json 以外のファイルは .claude-plugin/ の中に入れない点に注意してください。中に置いたコンポーネントは読み込まれません。開発中は claude --plugin-dir ./my-plugin で、インストールせずに1セッションだけ読み込んで試せます。プラグインのスキルは /my-plugin:review のように名前空間付きで呼び出します。
マーケットプレイス経由でインストールする
プラグインは「マーケットプレイス」というカタログから配布します。GitHubリポジトリをマーケットプレイスとして登録し、そこからインストールする流れです。
/plugin marketplace add your-org/plugins
/plugin install プラグイン名@マーケットプレイス名
Anthropic公式のマーケットプレイス(claude-plugins-official)は、初回起動時に自動で登録されます。/plugin を実行するとDiscoverタブから公開プラグインを探せます。
なお、有効にしたプラグインのスキルは、使わないセッションでも名前と説明文がコンテキストに載ります。入れっぱなしにせず、使っていないものは無効化しておくのがおすすめです。
---
スキルを作るときの注意点
- descriptionが曖昧だと発動しない:「便利ツール」のような説明では、Claudeがいつ使えばいいか判断できません
- 本文は短く:読み込まれたあとは毎ターンコンテキストに残ります
- 副作用のある操作は手動限定に:デプロイや外部送信は
disable-model-invocation: true
- 他人のスキル・プラグインは中身を確認してから:プラグインはあなたの権限で動きます
- クラウドセッションでは個人スキルは読まれない:
~/.claude/skills/はローカルのPCにしかないため、クラウド上のセッションで使うにはリポジトリにコミットするか、claude.aiのアカウントでスキルを有効にします
---
まとめ
- Claude Skills(Claude Code Skills)は、
SKILL.mdに書いた知識や手順を必要なときだけ読み込む仕組み
- Claudeアプリ(claude.ai)ではZIPでアップロードして使い、Claude Codeへも同期される。Claude Code独自の項目はアプリでは使えない
/スキル名で呼び出すことも、Claudeに自動で使わせることもできる
- 置き場所は個人(~/.claude/skills/)、プロジェクト(.claude/skills/)、プラグインの3つが基本
- カスタムスラッシュコマンドはスキルに統合済み。新規作成はスキル形式で
- 常に守るルールはCLAUDE.md、確実に実行したい処理はフック、外部連携はMCP、手順と知識はスキル
スキルは、社内のノウハウをAIが使える形に落とし込む一番手軽な方法です。Swaaabでは、Claude Codeを使った業務自動化やAIエージェント開発のほか、社内でスキルを作って運用できるようにするAI研修も行っています。「どの業務をスキル化すればいいかわからない」という段階からでも、お問い合わせからお気軽にご相談ください。
Written by
Swaaab編集部
広島を拠点に、AI開発・DX支援・Web制作を手がける株式会社Swaaabの編集チーム。現場で得た知見をもとに、実践的な情報を発信しています。