Claude Codeを使っていると、「毎回同じ指示を繰り返している」「プロジェクト固有のルールをもっとスマートに伝えたい」と感じることはありませんか?
そんな課題を解決するのが、Claude Codeのスキル(Skills)機能です。スキルを使えば、ドメイン知識やワークフローをパッケージ化して、必要なときにClaudeが自動的にロードしてくれるようになります。
本記事では、スキルの基本的な仕組みから作成方法、実践的な活用パターンまでを体系的に解説していきます。
[目次を開く]
スキル(Skills)とは?
一言で言うと
スキルとは、Claude Codeに専門知識やワークフローを動的に読み込ませる仕組みです。
SKILL.mdというファイルに手順やルール、参考情報を記述しておくと、Claudeがタスクに応じて必要なスキルを自動的に判断し、そのコンテキストを読み込んだうえで作業してくれます。
スラッシュコマンドとの違い
Claude Codeには以前からスラッシュコマンド(Slash Commands)という仕組みがありましたが、スキルはその進化系と位置づけられます。
| 項目 | スラッシュコマンド | スキル |
|---|---|---|
| 起動方法 | ユーザーが /command で明示的に実行 | Claudeが自動で判断してロード |
| ファイル形式 | 単一の .md ファイル | ディレクトリ(SKILL.md • 補助ファイル) |
| スクリプト同梱 | 不可 | 可(Pythonスクリプトなどを同梱可能) |
| 発見性 | ユーザーが知っている必要あり | Claudeが自動的にマッチング |
なお、既存の .claude/commands/ に作成したスラッシュコマンドはそのまま動作します。スキルはスラッシュコマンドの上位互換であり、両者は共存できます。
スキルの仕組み:プログレッシブ・ディスクロージャー
スキルの設計で最も重要なコンセプトがプログレッシブ・ディスクロージャー(Progressive Disclosure)です。
これは「必要な情報を、必要なときだけ読み込む」という段階的な情報開示の仕組みです。
3段階の情報ロード
第1段階:メタデータのスキャン
Claude Codeの起動時に、インストールされたすべてのスキルのnameとdescriptionがシステムプロンプトに読み込まれます。この段階では各スキルあたり約100トークン程度しか消費しません。
第2段階:SKILL.mdの本文読み込み
Claudeがタスクに関連するスキルを判断すると、該当するSKILL.mdの全文をコンテキストに読み込みます。通常5,000トークン未満です。
第3段階:補助ファイルの参照
スキルディレクトリ内のスクリプトやリファレンスファイルは、Claudeが実際に必要と判断した場合のみ読み込まれます。
この設計により、多数のスキルをインストールしていてもコンテキストウィンドウを圧迫せず、必要なときだけ専門知識を活用できます。
スキルの作成方法
ディレクトリ構成
スキルの保存場所は以下の2つです。
- プロジェクトレベル:
.claude/skills/スキル名/SKILL.md - グローバル(個人):
~/.claude/skills/スキル名/SKILL.md
基本的な構成は次のとおりです。
.claude/skills/
├── my-skill/
│ ├── SKILL.md # 本体(必須)
│ ├── scripts/
│ │ └── helper.py # 補助スクリプト(任意)
│ └── references/
│ └── template.md # 参考資料(任意) フォルダ名がスキルの識別子(スラッシュコマンド名)になります。
SKILL.mdの書き方
SKILL.mdはYAMLフロントマターとMarkdown本文の2つで構成されます。
---
name: my-skill
description: このスキルが何をするか、いつ使うかを簡潔に記述
---
# スキルの詳細な手順やルール
ここにClaudeが従うべき具体的な指示を書きます。
## ステップ1
具体的な手順...
## ステップ2
具体的な手順... フロントマターの要素
name(必須):スキルの名前です。これがスラッシュコマンド名にもなります。小文字のハイフン区切りが推奨されます(例:pdf-editor、brand-guidelines)。最大64文字です。
description(必須):Claudeがスキルをいつ使うか判断するための説明です。最大200文字で、具体的なトリガー条件や用途を明記します。これがスキルの発見精度を左右する最も重要な要素です。
良いdescriptionの例
# ❌ 曖昧な記述
description: PDFやドキュメント関連のスキル
# ✅ 具体的な記述
description: PDFからテキストや表を抽出し、新規PDF作成、
結合・分割、フォーム入力を行う。PDF処理を依頼されたときに使用。 スキルの2つのタイプ
スキルの用途は大きく2つに分類されます。
リファレンス型
Claudeが作業中に参照する知識やガイドラインを提供するタイプです。コーディング規約、デザインパターン、ブランドガイドラインなどが該当します。メインの会話コンテキスト内で、インラインに適用されます。
---
name: api-conventions
description: このコードベースのAPI設計パターン。
APIエンドポイントの作成時に使用。
---
APIエンドポイントを作成する際は以下に従ってください:
- RESTfulな命名規則を使用する
- エラーレスポンスの形式を統一する
- リクエストバリデーションを必ず含める タスク型
特定のアクションをステップバイステップで実行するタイプです。デプロイ手順、コード生成、レビューワークフローなどが該当します。/skill-nameで明示的に呼び出すケースが多いです。
---
name: deploy
description: 本番環境へのデプロイ手順。
デプロイを実行したいときに使用。
---
## デプロイ手順
1. テストをすべて実行する
2. ビルドを実行する
3. ステージング環境で確認する
4. 本番にデプロイする 高度な活用:context: fork
フロントマターにcontext: forkを指定すると、スキルの実行をサブエージェントに委任できます。メインの会話コンテキストを汚さずに、独立した環境でタスクを処理できる強力な機能です。
---
name: deep-research
description: トピックを徹底的にリサーチする
context: fork
agent: Explore
---
$ARGUMENTS について徹底的にリサーチしてください:
1. GlobとGrepで関連ファイルを検索
2. コードを読み込み分析
3. 具体的なファイル参照とともに結果をまとめる agentフィールドでは、使用するサブエージェントの種類を指定できます。Explore(読み取り専用)、Plan(計画策定)、あるいは.claude/agents/に定義したカスタムサブエージェントを指定可能です。
実践的な活用例
例1:コミットメッセージの自動生成
---
name: commit-msg
description: gitの差分からコミットメッセージを生成する。
コミット時に使用。
---
1. `git diff --staged` で変更内容を確認
2. 以下のフォーマットでコミットメッセージを提案:
- 50文字以内の要約
- 変更内容の詳細説明
- 影響するコンポーネント 例2:ブランドガイドライン
---
name: brand-guidelines
description: プレゼンやドキュメントにブランドガイドラインを適用する。
資料作成時に使用。
---
## ブランドカラー
- Primary: #FF6B35
- Secondary: #004E89
## タイポグラフィ
- 見出し: Montserrat Bold
- 本文: Open Sans Regular 例3:プロジェクト固有のコーディング規約
プロジェクトの.claude/skills/に配置すれば、チーム全員が同じルールで開発できます。
---
name: coding-standards
description: プロジェクトのコーディング規約。
コードの記述やレビュー時に自動適用。
---
## 命名規則
- コンポーネント: PascalCase
- 関数: camelCase
- 定数: UPPER_SNAKE_CASE
## エラーハンドリング
- try-catchは必ずログ出力を含める
- ユーザー向けエラーメッセージは日本語で スキル作成のベストプラクティス
descriptionは具体的に書く:Claudeがスキルを発見できるかどうかはdescriptionの品質に依存します。どんなタスクのときに、どんなキーワードでトリガーされるかを明確に記述しましょう。
シンプルに始める:最初はSKILL.mdだけのシンプルな構成で始めて、必要に応じてスクリプトや参考資料を追加していくのがおすすめです。
1スキル1責務:1つのスキルに何でも詰め込むのではなく、用途ごとに分割しましょう。Claudeは複数のスキルを組み合わせて使うことができます。
段階的にテストする:大きな変更をまとめて行うのではなく、小さな変更ごとにテストすることで、問題の切り分けが容易になります。
コンテキスト予算に注意する:スキルのdescriptionはコンテキストウィンドウの約2%の予算内に収める必要があります。/contextコマンドで除外されているスキルがないか確認できます。
Claude.aiとClaude Codeでのスキルの違い
スキルはClaude Code(CLI)だけでなく、Claude.ai(Webアプリ)でも利用可能です。ただし、利用方法には違いがあります。
Claude Codeでは、.claude/skills/や~/.claude/skills/にフォルダを配置するだけで自動的に認識されます。開発プロジェクトに密着した使い方に向いています。
Claude.aiでは、スキルフォルダをZIPファイルにパッケージングし、設定画面からアップロードします。ドキュメント作成やデータ分析など、コーディング以外の用途にも活用できます。
いずれの場合も、Pro、Max、Team、Enterpriseプランで利用可能です。コード実行機能が有効になっている必要があります。
まとめ
Claude Codeのスキル機能は、AIエージェントを自分やチームの専門家に育てるための強力な仕組みです。プログレッシブ・ディスクロージャーにより、必要なときだけ必要な知識がロードされるため、コンテキストの効率も優れています。
まずは日々の開発で繰り返している指示をSKILL.mdにまとめるところから始めてみてください。小さなスキルでも、毎日の作業効率を大きく変えてくれるはずです。
スキルはAgent Skillsというオープンスタンダードに準拠しているため、今後さまざまなAIツール間での相互運用も期待できます。AIとの協働をさらに深めていきたい方は、ぜひスキルの活用を検討してみてください。

