Claude Codeのエージェントスキルの作成方法から管理、トラブルシューティングまで。スタートアップの業務効率化に必須のスキルガイド。
Claude Codeでスキルを作成・活用する完全ガイド
スタートアップとして急速に成長する中で、チームの生産性を最大限に引き出したいですよね。Claude Codeのスキル機能は、その答えになるかもしれません。
このガイドでは、スキルの仕組みから実装、トラブルシューティングまで、スタートアップが知っておくべき全てを分かりやすく説明します。複雑に見えるスキル管理も、この完全ガイドを読めば、あなたのチームの日常業務をぐっと効率化できるツールに変わります。
核心要約
- スキルとは:Claudeに特定の業務を自動実行させるMarkdownファイル。PRレビューやコミットメッセージ生成など、標準化された作業を効率化
- 自動トリガー方式:スラッシュコマンドと異なり、リクエストの内容に基づいてClaudeが自動的にスキルを適用。明示的な指示が不要
- スキル配置の重要性:スキルの保存場所(個人・プロジェクト・企業)により、利用範囲が決定。チーム全体での効率化には適切な配置が鍵
- 柔軟な制御機能:ツールアクセス制限、フォークコンテキスト、ユーザー可視性など、細かい制御で安全性と効率性を両立
- 進化的な設計パターン:プログレッシブ開示により、複雑なドキュメントもコンテキスト負荷を最小化しながら実装可能
スキルの基礎:Claudeの専門知識を引き出す
スキルとは何か、そしてなぜ重要なのか
スキルは、Claudeに特定の業務を実行させるためのMarkdownファイルです。チームの標準に沿ったPRレビュー、好みの形式でのコミットメッセージ生成、会社のデータベースのクエリ実行など、繰り返し発生する作業を自動化します。
スタートアップの現場では、毎日のように同じような指示をClaudeに与えていることはありませんか?例えば:
- 「うちの企業文化に合わせてコードをレビューして」
- 「いつものフォーマットでコミットメッセージを作成して」
- 「データベーススキーマに従ってクエリを書いて」
こうした毎回説明する手間を、スキルを使えば一度の設定で永続化できます。スキルは、あなたのチームの「仕事のやり方」をClaudeに教える教科書のようなものなのです。
スキルの仕組み:モデルによる自動検出
スキルの最大の特徴は、モデルによって自動的に呼び出される という点です。スラッシュコマンドのように明示的に指定する必要がありません。
あなたがClaudeにリクエストを送信すると、以下のプロセスが瞬時に実行されます:
- Claudeがスキルの説明を読み込み
- あなたのリクエストとマッチするかを判定
- マッチしたスキルを自動的に適用
例えば、「このPRをレビューして」と言えば、もしPRレビュースキルが存在すれば、Claudeは自動的にそのスキルを活用し、あなたが事前に定義した基準に沿ったレビューを実施します。
この自動検出は、チーム全体の業務効率化につながります。新しいメンバーが加わった時、複雑な指示を毎回教える必要がなく、スキルが自動的に標準化された作業を実行してくれるからです。
スキルの配置戦略:チーム規模に応じた最適な構成
スキルをどこに保存するかは、極めて重要な決定です。保存場所によって、スキルを利用できるユーザーの範囲が劇的に変わるからです。
| 配置場所 | パス | 利用範囲 | 最適なユースケース |
|---|---|---|---|
| エンタープライズ | 管理設定を参照 | 組織内の全ユーザー | 企業全体で統一したい標準化ルール |
| 個人 | ~/.claude/skills/ |
あなた自身、全プロジェクト | 個人的な作業習慣やツール |
| プロジェクト | .claude/skills/ |
リポジトリで作業する全員 | チーム固有の業務フロー |
| プラグイン | プラグインディレクトリ内 | プラグイン導入者全員 | 複数組織で再利用可能なスキル |
スタートアップの成長段階に応じた配置戦略を考えてみましょう。初期段階では、プロジェクトレベルのスキルで十分です。チームが拡大し、複数プロジェクトで共通の作業フローが確立されたら、エンタープライズレベルで統一することで、全員が同じ基準で業務を実行できるようになります。
重要な優先順位ルールとして、同じ名前のスキルが複数存在する場合、上位の行が優先される ことを覚えておきましょう。エンタープライズ > 個人 > プロジェクト > プラグインの順です。
スキルの選定:他のオプションとの使い分け
Claude Codeには、動作をカスタマイズするための複数の方法があります。スキルも便利ですが、常に最適な選択肢とは限りません。あなたのニーズに合わせた使い分けを理解しましょう。
| 機能 | 使用場面 | トリガー方式 | スタートアップでの活用度 |
|---|---|---|---|
| スキル | Claudeに専門知識を付与(「当社の標準でコードレビュー」) | 関連性がある場合、Claudeが自動選択 | ⭐⭐⭐⭐⭐ 業務標準化の中核 |
| スラッシュコマンド | 再利用可能なプロンプト(/deploy staging) |
/commandと明示的に入力 |
⭐⭐⭐⭐ よく使うコマンド |
| CLAUDE.md | プロジェクト全体の設定指示(「TypeScript厳格モードを使用」) | 全会話に自動ロード | ⭐⭐⭐⭐ プロジェクト基本設定 |
| サブエージェント | 独自ツールを持つ別コンテキストへのタスク委任 | Claudeの判定または明示的呼び出し | ⭐⭐⭐ 複雑な多段階タスク |
| フック | イベント時のスクリプト実行(ファイル保存時のlint) | 特定のツールイベント発火 | ⭐⭐ 自動化されたチェック |
| MCPサーバー | 外部ツール・データソースへの接続 | Claudeが必要に応じて呼び出し | ⭐⭐⭐⭐ 外部インテグレーション |
スタートアップにおいては、スキルとスラッシュコマンド の組み合わせが最も効果的です。頻繁に使う操作をスキルで自動化し、臨時で実行したい操作をスラッシュコマンドで手動実行する、このバランスが業務効率を最大化します。
スキルの利点をさらに掘り下げると、学習曲線の短縮 があります。新入社員がプロジェクトに参加する時、複雑な社内ルールを教える代わりに、スキルが自動的に標準化された作業をサポートしてくれます。これは、急速に成長するスタートアップにおいて、非常に大きな価値です。
スキルの実装:SKILL.mdファイルの構造と最適化
スキルの核となるのは、SKILL.mdファイルです。このファイルが正しく構成されていなければ、スキルは機能しません。スタートアップのチームメンバーが簡単に理解・活用できるスキル設計を目指しましょう。
必須要素:YAMLメタデータとMarkdown命令
SKILL.mdファイルは、二つの部分で構成されます:
1. YAMLメタデータ(---で囲まれた部分)
スキルの名前、説明、実行時の設定を定義します。ここがスキルの「顔」となり、Claudeがスキルを検出・選択するための情報源です。
2. Markdown命令(フロントマター以下)
Claudeに具体的に何をすべきかを説明する部分です。ステップバイステップの指示、具体例、注意点などを記述します。
---
name: your-skill-name
description: このスキルが何をするか、いつ使うかを簡潔に
---
# スキル名
## 手順
ステップバイステップの指示をここに記述
## 実装例
具体的な使用例を示す
メタデータフィールドの詳細解説
| フィールド | 必須 | 説明 | 活用のポイント |
|---|---|---|---|
name |
✅ | スキル名(小文字、数字、ハイフンのみ、最大64文字) | ディレクトリ名と一致させる必須。チーム内で一意にする |
description |
✅ | スキルの機能と利用時期(最大1024文字) | Claudeがスキル選択の判断に使用。具体的で分かりやすく |
allowed-tools |
オプション | Claudeが使用可能なツール一覧 | セキュリティと機能制限のバランスをとる上で重要 |
model |
オプション | このスキル実行時のモデル指定 | 高度な処理には最新モデルを指定可能 |
context |
オプション | forkで独立コンテキストを作成 |
複雑な多段階タスクの実行に有効 |
agent |
オプション | コンテキストfork時のエージェント種別 | context: forkと組み合わせて使用 |
user-invocable |
オプション | スラッシュメニューへの表示可否 | falseでも自動検出・プログラム呼び出しは可能 |
スタートアップの実例で考えると、PRレビュースキルの場合:
---
name: pr-review-standards
description: プルリクエストをスタートアップの品質基準で評価します。コード品質、セキュリティ、テストカバレッジ、ドキュメント整備を確認する際に使用します。
allowed-tools: Read, Grep
model: claude-opus-4-1
---
このように記述することで、Claudeは「コード品質やセキュリティに関するリクエスト」を受けた時に、このスキルを自動選択し、許可したツール(Read、Grep)のみを使用し、高度なモデル(Opus)で実行します。
スキルの更新と管理:継続的な改善のサイクル
スキルは静的なものではなく、チームの成長と共に進化させるべきものです。
スキルの更新プロセス
スキルを更新するのは極めてシンプルです。SKILL.mdファイルを直接編集するだけで、変更は即座に反映されます。バージョン管理の複雑な手続きは不要です。
スタートアップでよくあるシナリオとしては:
- 新しいチームメンバーの合流に伴い、スキルの説明を更新
- チームの業務プロセス改善に伴い、スキルのステップを修正
- セキュリティ要件の変更に伴い、
allowed-toolsを調整
こうした更新は、.claude/skills/ディレクトリのファイルを編集するだけで完了します。即座に全チームに反映されるため、チーム全体の標準化を効率的に保つことができます。
スキルの削除と整理
不要になったスキルはディレクトリごと削除します。プロジェクトが進化する中で、かつての標準が不要になることは往々にしてあります。定期的にスキルを棚卸しして、チームに本当に必要なスキルのみを保持することが大切です。
サポートファイルの活用:プログレッシブ開示で管理
複雑なスキルを作成する時、すべての情報をSKILL.mdに詰め込むと、ファイルが膨大になり、本質的な部分が埋もれてしまいます。プログレッシブ開示 という設計パターンを活用しましょう。
プログレッシブ開示の基本概念
プログレッシブ開示とは、必要な情報を段階的に提供する設計です:
- 必須情報 を
SKILL.mdに集約 - 詳細な参考資料 は別ファイルに配置
- Claudeが必要な時だけ サポートファイルを読み込む
このアプローチにより、複雑なスキルでもコンテキストウィンドウを圧迫することなく、充実したドキュメントを提供できます。
実践的なスキル構成例
例えば、データ処理スキルの場合:
data-processing-skill/
├── SKILL.md # 概要と基本的な手順
├── API_REFERENCE.md # 詳細なAPI仕様書
├── EXAMPLES.md # 使用例とベストプラクティス
└── scripts/
├── validate.py # データ検証用ユーティリティ
└── transform.py # データ変換用ユーティリティ
SKILL.mdではこのように参照するだけでOKです:
## 基本的な使用方法
[簡潔な説明]
## さらに詳しく知りたい方へ
- 完全なAPI仕様:[API_REFERENCE.md](API_REFERENCE.md)を参照
- 実装例:[EXAMPLES.md](EXAMPLES.md)を参照
## データ検証
データが正しいか確認するには以下を実行:
```bash
python scripts/validate.py input.csv
このパターンなら、`SKILL.md`は簡潔に保たれ、詳細情報が必要な時だけ追加ファイルが読み込まれます。スタートアップの成長に伴い、スキルがますます複雑になっても、このプログレッシブ開示パターンなら効率的に管理できるのです。
## ツールアクセスの制御:セキュリティと効率のバランス
スキルが無制限のツールにアクセスできると、意図しない操作が発生する可能性があります。特にスタートアップの初期段階では、セキュリティと効率のバランスが重要です。
### allowed-toolsによる制限
`allowed-tools`フィールドを使用すれば、スキルが使用可能なツールを明示的に制限できます。
```yaml
---
name: file-reading-only
description: ファイルを読み取り専用で処理します。変更が加わってはいけないドキュメント確認に使用します。
allowed-tools: Read, Grep, Glob
---
このスキルがアクティブな場合、Claudeは指定された3つのツール(Read、Grep、Glob)のみを使用可能です。他のツール(Write、Bashなど)の使用は自動的にブロックされます。
制限が有効な場面
- 読み取り専用スキル:コード品質監査やドキュメント確認など、ファイル変更が不要なタスク
- スコープ限定スキル:特定の機能のみを実行し、それ以外の操作を禁止したい場合
- セキュリティ重視タスク:機密データ扱い時や重要なシステムに触れる場合
スタートアップでの活用例として、「顧客データ分析スキル」の場合:
allowed-tools: Read, Grep
と制限することで、データの読み取り分析には使えますが、誤ってデータを上書きしてしまう可能性は排除できます。
フォークコンテキスト:複雑なタスクの隔離実行
複雑な多段階タスクを実行する場合、メインの会話履歴を保持したまま、独立したコンテキストで処理したい場面があります。これを可能にするのがcontext: forkです。
フォークコンテキストの活用
context: forkを設定すると、スキルは独立した会話履歴を持つサブエージェントコンテキストで実行されます。
---
name: code-analysis
description: コードの品質、パフォーマンス、セキュリティを詳細に分析し、改善提案をレポート形式で生成します。複雑なコード分析が必要な場合に使用します。
context: fork
agent: Explore
---
このように設定することで:
- メイン会話の保持:分析結果のみがメイン会話に戻る
- 独立した実行:複雑な中間ステップはサブコンテキストで完結
- リソースの効率化:大規模な分析でメイン会話の文脈が失われない
スタートアップで複数の大規模ドキュメント分析を同時実行する際、フォークコンテキストなら各分析が独立して実行され、互いに干渉しません。
フック機能:自動実行による効率化
スキル実行時に自動的にスクリプトを実行したい場面があります。例えば、操作前のセキュリティチェック、実行後の検証など。これを可能にするのがフック 機能です。
基本的なフック設定
フックは、スキルのライフサイクルの特定のイベント時に実行されます。
---
name: secure-deployment
description: セキュリティチェックを通した本番デプロイを実行します。デプロイ前のセキュリティ検証が必須の場合に使用します。
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/security-check.sh $TOOL_INPUT"
once: true
---
このフック設定は、Bash実行前にsecurity-check.shを実行し、セキュリティチェックをパスしないと先に進みません。once: trueにより、セッション中は初回実行後に削除されます。
スキルで定義されたフックの特性
フックはスキルのライフサイクルに限定されます。スキル実行が終了すると、そのフックは自動的にクリーンアップされ、他のスキルに影響を与えません。この独立性が、複数スキルの並行実行を安全にします。
スキルの可視性制御:透明性と自動化のバランス
「どのスキルをユーザーに見せるか」という制御は、チーム体験を大きく左右します。
user-invocableフィールドの活用
user-invocable: false
と設定すると、スキルはスラッシュメニューから非表示になります。しかし、Claudeはプログラムで呼び出したり、自動検出したりすることは可能です。
具体的なユースケース:
- 内部レビュー基準スキル:ユーザーが直接呼び出す必要ない、Claudeが自動適用すべきスキル
- 複雑な補助スキル:詳細な設定が必要で、初心者には扱いづらいスキル
スタートアップの初期段階では、全スキルをuser-invocable: trueに保つことで、チーム全員がスキルの存在を認識でき、活用促進につながります。チームが成熟し、使用パターンが固定化してきたら、falseに変更して、初心者向けUIを整理する戦略が効果的です。
disable-model-invocationとの使い分け
disable-model-invocation: true
と設定すれば、ユーザーが手動で呼び出せますが、Claudeはプログラムで呼び出せません。例えば、「特定のユーザー操作のみで実行すべきスキル」や「AIの裁量では実行されてはいけないスキル」で活用します。
スキルの実装実例:段階的な複雑性
スキルは「シンプル 」から「複雑」まで、様々なレベルで実装できます。スタートアップの段階に応じた選択が大切です。
例1:シンプルなスキル(単一ファイル)
チームの日常業務で繰り返されることを自動化するのが、シンプルスキルです。
commit-message-helper/
└── SKILL.md
内容:
---
name: commit-message-helper
description: ステージング中の変更から明確で読みやすいコミットメッセージを生成します。変更をレビューしたりコミットメッセージを作成する時に使用します。
---
# コミットメッセージ生成
## 手順
1. `git diff --staged`で変更内容を確認
2. 以下の構成でメッセージを提案:
- 50文字以内の簡潔な説明
- 詳細な説明
- 影響を受けるコンポーネント
## ベストプラクティス
- 現在形で記述(「fixed」ではなく「fix」)
- 「何をしたか、なぜしたか」を説明(方法ではなく)
- 重要な変更は必ず詳細説明に含める
このシンプルなスキルでも、毎日のコミット作業がぐっと効率化されます。
例2:複雑なスキル(複数ファイル)
PDFやデータベースなど、外部リソースを扱うスキルは、複数ファイルで構成するのが効果的です。
pdf-processing-skill/
├── SKILL.md # 概要とクイックスタート
├── FORMS.md # フォーム操作の詳細
├── REFERENCE.md # API詳細リファレンス
└── scripts/
├── validate.py # 入力ファイル検証
└── transform.py # データ変換ユーティリティ
SKILL.mdは簡潔に:
---
name: pdf-processing
description: テキスト抽出、フォーム入力、ドキュメント結合を行います。PDFファイル、フォーム、ドキュメント処理が必要な時に使用します。
allowed-tools: Read, Bash(python:*)
---
# PDF処理スキル
## クイックスタート
テキスト抽出:
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
text = pdf.pages[0].extract_text()
フォーム操作の詳細はFORMS.mdを参照
完全なAPIリファレンスはREFERENCE.mdを参照
環境要件
pip install pypdf pdfplumber
プログレッシブ開示により、主要な操作はシンプルに、詳細情報は必要な時だけ参照できます。
## スキルのトラブルシューティング:確実に動作させるために
スキルが期待通りに機能しない場合、段階的なアプローチで問題を特定しましょう。
### スキルの可視性確認
Claudeに「利用可能なスキルは何ですか?」と尋ねてみてください。Claudeは会話開始時に全スキルをコンテキストに読み込むため、利用可能なスキル一覧が返されます。もしスキルが表示されない場合、以下を確認します。
### スキルがトリガーされない主な原因
**1. descriptionが曖昧すぎる**
```yaml
# ❌ 曖昧な説明
description: ドキュメント支援
# ✅ 具体的な説明
description: PDFのテキスト抽出、フォーム入力、ドキュメント結合を行います。PDFファイルやドキュメント処理が必要な場合に使用します。
説明は、「何ができるか」「いつ使うか」の両方を含める必要があります。トリガー用語(ユーザーが口にするキーワード)を含めることで、Claudeのマッチング精度が飛躍的に向上します。
2. ファイルパス・ファイル名の誤り
スキルは正確なファイル構成を要求します:
| 配置場所 | 正確なパス |
|---|---|
| 個人用 | ~/.claude/skills/my-skill/SKILL.md |
| プロジェクト用 | .claude/skills/my-skill/SKILL.md |
ファイル名は SKILL.md で、大文字と小文字は厳密に区別されます。skill.mdやSkill.mdでは認識されません。
3. YAML構文エラー
フロントマターの無効なYAMLはスキルのロード自体を失敗させます。チェックポイント:
- 1行目は
---で始まる(前に空白行なし) - メタデータ部分の最後も
---で終わる - インデントはタブではなく スペース を使用
- 日本語を含む場合は、適切なクォーテーションを使用
4. 依存関係の未インストール
スキルが外部パッケージを使用している場合、実行環境にインストール済みである必要があります:
pip install required-package
スキルロード時のエラーを詳しく確認
claude --debug
デバッグモードで実行すると、スキルロードエラーの詳細な情報が表示されます。これがスキルの問題を特定する最も確実な方法です。
複数スキルが競合する場合の対応
Claudeが誤ったスキルを選択している、または複数スキル間で混乱しているなら、説明が似すぎている可能性があります。
# ❌ 競合しやすい説明
description: データ分析
description: データ処理
# ✅ 区別しやすい説明
description: Excelファイルと顧客データベースエクスポートの売上分析。売上トレンド、顧客セグメント、予測分析に使用します。
description: ログファイルとシステムメトリクスのパフォーマンス分析。エラートレース、メモリ使用量、レスポンス時間の解析に使用します。
トリガー用語が具体的であればあるほど、Claudeはリクエストに適切なスキルを一致させやすくなります。
プラグイン提供のスキルが表示されない
マーケットプレイスからインストールしたプラグインのスキルが表示されない場合:
rm -rf ~/.claude/plugins/cache
プラグインキャッシュをクリアして再起動し、プラグインを再インストールしてください。これにより、Claudeはプラグインのスキルを改めてダウンロード・登録します。
それでもスキルが表示されない場合は、プラグインディレクトリ構造を確認:
my-plugin/
├── .claude-plugin/
│ └── plugin.json
└── skills/
└── my-skill/
└── SKILL.md
スキル活用による業務改革:スタートアップの実践的アプローチ
スキルは単なる技術ツールではなく、チーム文化を形成する重要な要素です。スタートアップの成長段階に応じた活用戦略を考えましょう。
初期段階(0~10人):基本スキルの構築
プロジェクトレベルでのスキル構築が中心。毎日繰り返される作業を徹底的に自動化:
- コミットメッセージ生成
- コードレビュー基準
- テスト実装テンプレート
このシンプルなスキル群でも、チーム全体の生産性は劇的に向上します。
成長段階(10~50人):標準化の推進
企業全体での共通プロセスを定義し、エンタープライズレベルでスキル配置:
- 企業グループのセキュリティチェック
- 統一されたコード品質基準
- ドキュメント作成テンプレート
スキルにより、新メンバーの教育曲線が大幅に短縮されます。
成熟段階(50人以上):最適化と特化
複雑なビジネスロジックをスキルに組み込み、組織の競争力を強化:
- 顧客固有の分析パイプライン
- AI生成コードの自動検査
- カスタムデータベーススキーマの活用
結論
Claude Codeのスキル機能は、スタートアップの急速な成長と質の維持を両立させる強力なツール です。正確な設定、適切な配置、継続的な改善を通じて、チーム全体の標準化と効率化を実現できます。
このガイドで学んだ知識を基に、あなたのチームの仕事のやり方をスキルに落とし込んでみてください。複雑に見える部分も、段階的に実装していけば、やがて当たり前のツールになるでしょう。スキルを通じて、あなたのスタートアップの競争力をもう一段階引き上げることができるのです。
さあ、最初のスキルを作成し、チーム全体で活用を始めましょう。その先には、より創造的で戦略的な仕事に割く時間が確保でき、スタートアップの成長をアクセルできる未来が待っています。
Original source: Agent Skills - Claude Code Docs
powered by osmu.app