SKILLは、Claude Codeの能力を拡張する強力な機能で、カスタムコマンドを定義したり、複雑な処理をワンコマンドで実行できたりします。
Claude Codeを使っていると、「毎回同じコマンドを繰り返している」「よく使う処理を自動化したい」などの際に活躍するのが「SKILL(スキル)」です。
本記事では、SKILLの概念から実践的な活用方法まで、わかりやすく解説します。
SKILLとは?
SKILLの基本概念

SKILLは、Claude Codeに新しい機能を追加するための仕組みです。
たとえばGeminiであればGemsを利用してあらかじめ「こういう処理をしてほしい」というカスタム指示文を作成できます。
SKILLはこれと似たような機能でClaudeに「こうした作業をするときは、こういうやり方でやってね」と教える仕組みだと考えると分かりやすいです。
具体的にはマークダウンファイル(SKILL.md)に指示を書いて、Claudeに特定の処理を教えることができます。
作成したスキルはAIがシーンに応じて自動で利用します。また、/skill-name というコマンドで手動で利用することもできます。
- Claudeが文脈に応じて自動的にそのスキルを活用する
/skill-nameというスラッシュコマンドが自動的に生成されユーザーが明示的に呼び出すことができる
スキルの書き方と保存場所
スキルはSKILL.mdを作成して管理・実行してもらいます。
SKILL.mdは下記のような書き方で記載します。
|
1 2 3 4 5 6 7 8 |
--- name: my-skill description: スキルの説明。この説明がClaudeの判断基準になります。 --- スキルの詳細な指示をここに書きます。 |
Claudeはこの指示に従って、/my-skill コマンドが呼ばれたときに動作します。
※my-skillの部分は任意のスキル名です(半角英数一部記号) (例)my-design-skill、my-blog-review、my-research-method
■SKILL.mdの例

スキルの保存場所
スキルの主な保存場所は下記の通り。そのプロジェクトしか使わないスキルか、プロジェクト共通で使いたいスキルかで使い分けます。
- 個人:
~/.claude/skills/<skill-name>/SKILL.md(すべてのプロジェクト共通) - プロジェクト:
<プロジェクトフォルダ>/.claude/skills/<skill-name>/SKILL.md(このプロジェクトのみ)
※<skill-name>は任意のフォルダー名です。

CLAUDE.mdとSKILL.mdの違い・使い分け
SKILL.mdと似たような機能を持つファイルにCLAUDE.mdがあります。
CLAUDE.mdは、プロジェクト全体に適用される設定やルールを記述するファイルです。Claudeが作業を開始するたびに毎回参照されます。
一方、Skillsは特定の作業に必要な手順や専門知識をまとめたものです。関連するタスクが発生したときにだけ自動で使われます。
CLAUDE.mdとSKILL.mdの大きな違いは下記の通り。

CLAUDE.mdは「コメントは日本語で」のような、プロジェクト全体に一貫して適用したいルールに向いていて、「コードレビューの手順」「Excelファイルの作り方」など、特定の作業に向いています。
CLAUDE.mdは「全員が常に守るべき短いルール」に絞り、Skillsは「必要な人が必要なときに参照する詳細マニュアル」として分けることで、Claudeの処理効率と回答精度の両方を最大化できます。
なぜSKILLが重要か?CLAUDE.mdと使い分けるメリット
CLAUDE.mdにSkills機能も含めて全てを詰め込んで利用することも可能ですが、パフォーマンスや可読性が著しく落ちる点に注意です。
CLAUDE.mdは毎回必ず読み込まれるため、Skillsの内容まで全て書き込むと、Claudeが一度に処理できるトークン量(文脈の容量)を常に大量に消費してしまいます。
また、不要な情報によるノイズも問題です。例えばブログ記事を執筆してもらうために、Excelファイルの作り方やPowerPointの手順まで毎回読み込まれるのは無駄です。
その結果、肝心のコード分析や会話に使える余裕が減り、回答の質が低下する可能性があります。

- コンテキスト効率化: CLAUDE.mdが肥大化するのを防ぎ、必要なときだけスキルを読み込める
- 再利用性: チーム全体で共有できるスキル、プロジェクト固有のスキル、個人用スキルと階層化できる
- 自動化: 複雑なマルチステップの処理を「ワンコマンド」で実行できる
- 柔軟性: Claudeが状況に合わせて創意工夫して作業を進められる
ビルトインSKILLとスラッシュコマンドとの関係
Claude Codeには、もともと /help、/commit、/config などのビルトインコマンド(組み込みスキル)が存在します。
(例)/simplify(コードの簡潔化と品質改善)
/simplifyは、最近変更したファイルをレビューして、コード重複の削除や効率化、品質の向上を図るビルトインスキルです。
|
1 |
/simplify |
特定の領域に焦点を当てる場合:
|
1 |
/simplify focus on memory efficiency |
- 3つのレビューエージェントを並列で起動
- それぞれが独立した視点から改善案を検出
- 結果を集約して実装
関連スキルでClaude Codeを拡張する | Claude Code Docs
(例)/loop(定期実行)
/loopは、プロンプトを指定間隔で繰り返し実行するビルトインスキルです。定期的なチェック・実行に向いています。
|
1 |
/loop 5m check if the deploy finished |
デフォルトは10分間隔:
|
1 |
/loop check the test results |
+ (補)ビルトインコマンド(SKILL以外)
よく使う組み込みコマンドも紹介します。外側から見ればビルトインSKILLと同じようですが、内部的にはスキル機能ではなくClaudeの固定ロジックで実行されています。
| コマンド | 説明 |
|---|---|
/commit |
変更をコミットする(対話的) |
/review |
コードレビューの実施(プラグイン化) |
/rewind |
会話を指定時点に戻す |
/context |
現在のコンテキスト使用状況を可視化 |
/cost |
トークン使用量の統計を表示 |
/config |
設定画面を開く |
/memory |
CLAUDE.mdやオートメモリを編集 |
/help |
ヘルプ表示 |
シンプルなスキルの作り方・作成手順
ここからは、シンプルなスキルの作成手順をご紹介します。
ステップ1:スキルディレクトリを作成
まず、スキル用のディレクトリ(フォルダー)を作成します。
たとえば特定のプロジェクト専用の場合はホームディレクトリの.claudeディレクトリ配下に作ります。
|
1 |
mkdir -p <プロジェクトフォルダ>/.claude/skills/<該当スキル用の任意のフォルダー名> |
ステップ2:SKILL.mdを作成
つぎに、SKILL.mdを作成します。
~/.claude/skills/<該当スキル用の任意のフォルダー名>/SKILL.md に以下を書きます。
|
1 2 3 4 5 6 7 8 |
--- name: my-skill description: スキルの説明。この説明がClaudeの判断基準になります。 --- スキルの詳細な指示をここに書きます。 |
※my-skillの部分は任意のスキル名です(半角英数一部記号) (例)my-design-skill、my-blog-review、my-research-method
■SKILL.mdの例

一から記述するのは大変なので、「AIに概要を添えて〇〇用のSKILL.mdを作って」と指示してSKILL.mdの中身を作成してもらったうえで、内容を確認・必要に応じて追記修正と良いでしょう。
+ スキルファイルのオプション例
nameとdescription以外に下記のようなオプションが用意されています。
|
1 2 3 4 5 6 7 8 9 10 |
--- name: skill-name # スキル名(オプション、デフォルトはディレクトリ名) description: ... # 説明(推奨) disable-model-invocation: true # ユーザーのみトリガー可能(オプション) user-invocable: false # Claude のみトリガー可能(オプション) allowed-tools: Read, Grep # 許可するツール(オプション) context: fork # 独立したサブエージェント実行(オプション) agent: Explore # 使用するサブエージェント型(オプション) paths: "src/**/*.ts" # 特定ファイル時のみ自動発動(オプション) --- |
各フィールドの説明:
- name:
/skill-nameコマンド名に使用 - description: Claude が「いつこのスキルを使うべきか」判断する基準
- disable-model-invocation: true なら
/skill-nameで手動実行のみ - user-invocable: false なら
/メニューに表示されない(Claude向けリファレンスのみ) - allowed-tools: このスキル実行時に許可するツール
- context: fork: 独立したサブエージェントで実行
- agent: サブエージェントの種類(Explore, Plan, general-purpose など)
- paths: glob パターンで特定ファイルにマッチするときのみ自動発動
+ 文字列置換(動的な値)の挿入
スキル内で以下の変数が利用できます:
|
1 2 3 4 5 6 7 8 9 10 |
--- name: logger --- セッション ID: ${CLAUDE_SESSION_ID} スキルディレクトリ: ${CLAUDE_SKILL_DIR} ユーザー入力: $ARGUMENTS 最初の引数: $0 2番目の引数: $1 |
例:
|
1 |
/logger my-file.txt |
実行時、$ARGUMENTS は my-file.txt に置換されます。
たとえば、disable-model-invocation. true を記述するとAIがこのスキルの自動実行を禁止します。手動実行のみで運用したい場合にdisable-model-invocation: trueを記述すると有効です。
(例)プロジェクト固有のレビュー基準を反映したスキル:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
--- name: proj-review description: このプロジェクトのコーディング基準に従ったレビューを実施 disable-model-invocation: true --- ## レビュー基準 1. **命名規則:** camelCase(変数・関数)、PascalCase(クラス) 2. **型安全性:** TypeScriptを使用時、型安全な実装になっているか 3. **テスト:** ユニットテストが包括的か 4. **ドキュメント:** 公開APIは必ずJSDocを書いているか 5. **パフォーマンス:** 不要な再レンダリング、N+1クエリなどがないか ## 手順 1. 変更されたファイル一覧を取得 2. 各ファイルを上記基準でレビュー 3. 具体的な改善案を提示 4. コードサンプルで修正例を示す |
+ サポートファイルの利用
複雑なスキルなら、SKILL.md とは別にファイルを配置できます。
|
1 2 3 4 5 6 |
my-skill/ ├── SKILL.md (必須:概要と指示) ├── reference.md (詳細なAPI仕様) ├── examples.md (使用例) └── scripts/ └── validate.sh (検証スクリプト) |
SKILL.md から参照:
|
1 2 3 |
詳細はこちらを参照:[reference.md](reference.md) 実装例:[examples.md](examples.md) |
ステップ3:作成したスキルのテスト
Claudeセッションで試してみましょう。
|
1 |
/my-skill |
※my-skillは、SKILL.mdに記載した「name: 」の後の名前になります。
|
1 2 3 4 5 |
--- name: my-skill description: スキルの説明。この説明がClaudeの判断基準になります。 --- |
あるいはClaudeに「説明に合致する作業」を頼めば、自動的にスキルが発動します。
スキルがうまく実行されない場合
descriptionの記載内容が薄い・間違っている場合にスキルがうまく実行されないことがあります。
その場合はdescriptionを正しく詳細に記載することで、AIが適切な時に実行してくれるようになる可能性がありますので、確認してみてください。
■スキルが自動実行されない場合
- description が不足している: keywords を含めて改善
- disable-model-invocation: true がついている: 手動でのみ実行される設定
- スキルが多すぎて除外されている:
/contextでスキル予算を確認
■スキルが予期しないときに実行されてしまう
- description を特定化・詳細化
disable-model-invocation: trueで手動トリガーのみに
まとめ
ここまでのまとめです。
今回はClaude Codeを運用する上で知っておきたいスキル機能についてご紹介しました。

- 定義: マークダウンファイル(
SKILL.md)で、Claudeに「こうした作業をする方法」を教える仕組み - スラッシュコマンド化: 自動的に
/skill-nameコマンドが生成される - 階層化: 大きく (個人)プロジェクト共通 > プロジェクト で使い分ける
- 自動実行 or 手動実行: description で自動実行、
disable-model-invocation: trueで手動実行
ぜひ、自分のプロジェクトに合ったスキルを作ってみてください!
個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。
教室の無料事前相談もしておりますので、まずはお気軽にご登録ください。
YouTubeチャンネル開設しました!

最大月間50万PVの当ブログをベースに、Youtube動画配信にてWordPress、ホームページ作成、ブログのことについてお役立ち情報を随時配信していきます。
ご興味ある方はぜひチャンネル登録をしていただけますと幸いです。
