😊

Claude Codeの「スキル」機能がすごかった ─ AIに専門家の脳をインストールする

に公開

Claude Codeを使っていて、「もっと専門的な回答がほしいな」と思ったことはないだろうか。

コードレビューをお願いしたら、もうちょっとセキュリティ観点を深掘りしてほしい。ブログ記事を書いてもらったら、もう少しSEOを意識した構成にしてほしい。そんな「あと一歩」の物足りなさを感じることがある。

そこで登場するのが「スキル」機能だ。

スキルを使えば、Claude Codeに「専門家の脳」をインストールできる。セキュリティのスペシャリスト、コピーライター、テクニカルライター。タスクに応じて最適な専門家が自動的に起動する。

この記事では、スキル機能の仕組みから実践的な使い方まで、じっくり解説していく。

スキルとは

専門家ペルソナの自動起動

スキルは、Claudeに特定の専門家としてのペルソナを与える仕組みだ。

たとえば「コピーライター」スキルを登録しておくと、「ランディングページのコピーを書いて」と依頼したときに、Claudeが自動的にコピーライターとして振る舞い始める。AIDAフレームワークやPASフォーミュラを駆使した、説得力のあるコピーを生成してくれる。

ここで重要なのは「自動的に」という点だ。

スラッシュコマンドとの違い

Claude Codeには似たような機能として「スラッシュコマンド」がある。両者の違いを整理しておこう。

スラッシュコマンドは、ユーザーが /command と明示的に打ち込んで実行する。定型タスクを実行するためのショートカットのようなものだ。

一方、スキルはユーザーが意識しなくても、タスクの内容に応じて自動的に起動する。Claudeがコンテキストを分析し、「このタスクにはこのスキルが適している」と判断してくれる。

項目 スラッシュコマンド スキル
呼び出し 明示的(/command 自動検出
構成 単一ファイル ディレクトリ
用途 定型タスク 専門家の起動

「呼び出す」のではなく「起動される」という受動的な動きが、スキルの本質だ。

ただし「完全自動」を過信しないでほしい。descriptionの書き方次第で、スキルの起動精度は大きく変わる。複数のスキルが候補に上がったり、説明が曖昧だったりすると、期待どおりに動かないこともある。

なぜスキルが効果的なのか

コンテキストの効率的な利用

スキルには賢い読み込みの仕組みがある。3段階の段階的読み込みモデルだ。

レベル1では、スキルのメタデータ(名前と説明)だけが読み込まれる。約100トークン程度だ。これはClaude Codeの起動時に常に読み込まれ、「どんなスキルが使えるか」を把握するために使われる。

レベル2では、スキルがトリガーされたときに初めてSKILL.mdの本体が読み込まれる。ここには専門家としての知識や振る舞いが記述されており、数千トークン程度を推奨している。

レベル3では、必要に応じて追加のリソースファイルやスクリプトが参照される。読み込まれた内容がそのままコンテキストに追加されるので、大きなリソースファイルは使いすぎに注意だ。

つまり、100個のスキルを登録しても、使わないスキルは100トークン×100で約10000トークン。実際に使うスキルだけが本格的にコンテキストを消費する。

専門知識の外部化

もう一つの利点は、専門知識をスキルファイルとして外部化できることだ。

たとえば「うちのプロジェクトのコーディング規約」「このチームのドキュメント作成ルール」といったナレッジを、スキルとして定義しておける。プロンプトに毎回書く必要がなくなる。

チームで共有すれば、メンバー全員が同じ品質のアウトプットを得られるようになる。

スキルの作り方

ディレクトリ構成

スキルは以下のような構成で作成する。

.claude/skills/
└── technical-writer/
    ├── SKILL.md      # 必須
    ├── reference.md  # オプション
    └── scripts/      # オプション

プロジェクト直下の .claude/skills/ に配置すれば、そのプロジェクト専用のスキルになる。ホームディレクトリの ~/.claude/skills/ に配置すれば、全プロジェクトで使える個人用スキルになる。

SKILL.mdの書き方

スキルの定義はSKILL.mdというMarkdownファイルで行う。YAMLフロントマターでメタデータを記述し、本文に専門家としての知識を書く。

---
name: technical-writer
description: テクニカルライティングのスペシャリスト。明確で正確な技術文書の作成を担当。ドキュメント作成やAPI仕様書の執筆を依頼された時に使用。
---

You are a technical writing specialist creating clear, accurate documentation.

## Primary Responsibilities

1. **Documentation Types**
   - API documentation
   - User manuals
   - Developer guides
   - Release notes

2. **Writing Principles**
   - Clarity over cleverness
   - Consistent terminology
   - Task-oriented approach
   - Progressive disclosure

## Code Examples
- Working, tested code
- Multiple languages if applicable
- Copy-paste ready
- Clear comments

## Best Practices
- Keep documentation current
- Include search functionality
- Version your documentation
- Gather user feedback

descriptionの重要性

フロントマターの description は非常に重要だ。Claudeはこの説明文を読んで、スキルを自動起動するか判断している。

「何をするか」と「いつ使うか」の両方を含めるのがポイントだ。

良くない例を挙げると、「ドキュメントを書く」では曖昧すぎる。良い例は「テクニカルライティングのスペシャリスト。API仕様書やユーザーマニュアルなど技術文書の作成を担当。ドキュメント作成を依頼された時に使用。」のように具体的に書くことだ。

スキルマッチャーツールの紹介

「どんなスキルを作ればいいかわからない」という人向けに、スキルを検索・ダウンロードできるツールを作った。

https://tools.easegis.jp/ja/tools/ai/skill-matcher
※これは私が独自に作成したツールで、Anthropic公式機能ではありません。

主な機能:

  • 19カテゴリ、多数のスキルを収録
  • キーワード検索で最適なスキルを推薦
  • 個別・カテゴリ別・一括ダウンロード

タスクの説明を入力すると、関連度の高いスキルが表示される。気に入ったスキルをダウンロードして .claude/skills/ に配置すれば、すぐに使い始められる。

実践的なスキル設計

ペルソナの明確化

スキルを設計する際は、まず「この専門家は何者か」を明確にする。

コピーライターなら、どんなフレームワークを使うのか。AIDAなのかPASなのか。どんな種類のコピーが得意なのか。ランディングページなのかメール文なのか。

テクニカルライターなら、どんな文書を書くのか。APIドキュメントなのかユーザーマニュアルなのか。どんな原則に従うのか。

これらを具体的に書き出すことで、スキルの「輪郭」がはっきりする。

使い分けの例

私のプロジェクトでは、以下のようなスキルを使い分けている。

コンテンツ作成系として、blog-writer(ブログ記事)、copywriter(セールスコピー)、technical-writer(技術文書)、newsletter-writer(メールマガジン)、social-media-writer(SNS投稿)を用意している。

戦略系としてはcontent-strategist(コンテンツ戦略)、cms-specialist(CMS選定・構築)がある。

タスクに応じて適切なスキルが自動的に起動するので、「今回はブログだからblog-writerを呼ぼう」と意識する必要がない。

スキルを簡単に導入する

「どんなスキルを作ればいいかわからない」という場合は、スキルマッチャーツールが役立つ。これは私が独自に作成したツールで、Anthropic公式機能ではないが、スキル導入のハードルを下げるために作った。

タスクの説明を入力すると、関連度の高いスキルを推薦してくれる。気に入ったスキルをダウンロードして .claude/skills/ に配置すれば、すぐに使い始められる。

フロントエンド開発、バックエンド、インフラ、セキュリティ、デザイン、コンテンツ作成など、19カテゴリにわたるスキルを収録している。

注意点

nameの制約

name フィールドにはいくつかの制約がある。

64文字以下で、使えるのは小文字、数字、ハイフンのみだ。また anthropicclaude は予約語として使えない。

起動しない場合のチェックポイント

スキルが期待通りに起動しない場合は、以下を確認してみよう。

descriptionが曖昧でないか。タスクとスキルの関連性がClaude に伝わっていない可能性がある。

ファイル名が正しいか。必ず SKILL.md という名前にする。

配置場所が正しいか。.claude/skills/[skill-name]/SKILL.md の階層になっているか確認する。

おわりに

Claude Codeのスキル機能は、AIを「汎用アシスタント」から「専門家チーム」に変える仕組みだ。

一度設定してしまえば、タスクに応じて自動的に最適な専門家が起動する。プロンプトに毎回「あなたはコピーライターです」と書く必要がなくなる。

自分のワークフローに合わせてスキルをカスタマイズすれば、Claude Codeの活用の幅がグッと広がるはずだ。

ぜひ試してみてほしい。

参考

Claude Code Skills Documentation

Discussion