Claude Codeのスキルとは?SKILL.mdの作り方と置き場所

この記事の要点
- スキルは、手順や知識を SKILL.md に書いておき、/名前 で呼び出すか、Claude に必要なときだけ読ませる仕組み
- 置き場所で使える範囲が決まる。自分だけなら ~/.claude/skills/、チームで共有するならプロジェクトの .claude/skills/ に置いてコミットする
- 副作用のある手順は disable-model-invocation: true にして、自分で打ったときだけ動くようにする
同じ指示文やチェックリストを、毎回チャットに貼っていませんか。「コミット前にこれとこれを確かめて」「報告はこの形で」と何度も書いているなら、それは スキル(Skills) にする合図です。
この記事では、Claude Code のスキルについて、公式ドキュメント(2026年10月22日確認)にもとづいて、仕組み・作り方・置き場所・呼び出し方・共有の仕方を順に整理します。
結論:くり返す手順は SKILL.md に書いて、必要なときだけ読ませる
スキルは、手順や知識を SKILL.md というファイルに書いておく仕組み です。書いたスキルは、/スキル名 と打って自分で呼び出すこともできますし、話の流れに合うときに Claude が自動で読み込むこともできます。
いちばんの利点は、ふだんはほとんど場所をとらない ことです。会話に常に載るのはスキルの名前と説明だけで、本文は使うときに初めて読み込まれます。長い手順書や資料をスキルにしておいても、使わない間はほぼ負担になりません。
なお、以前の「カスタムコマンド」はスキルに統合されました。.claude/commands/ に置いたファイルはそのまま動きますが、新しく作るならスキルの形がすすめられています。
CLAUDE.md・フックとの違い
似た仕組みに CLAUDE.md とフックがあります。公式ドキュメントの比較を、使い分けの観点でまとめます。
| 仕組み | 読み込まれるタイミング | 向いているもの |
|---|---|---|
| CLAUDE.md | 毎回の会話で自動 | 「いつもこうする」というルール、ビルドの手順、プロジェクトの構成 |
| スキル | 必要なときだけ | ときどき要る資料、/名前 で動かす手順(デプロイ・確認・リリース) |
| フック | 決まった出来事のたびに必ず | 毎回かならず守らせたい決まり(例:特定のファイルを編集させない) |
公式の目安は、CLAUDE.md は200行以内 に保ち、増えてきたら資料はスキルへ移すこと。また、「このファイルは触らない」のように 毎回必ず守らせたい決まりはフックにする のがすすめられています。スキルや CLAUDE.md に書いた指示はお願いであって、保証ではないからです。フックの作り方は Claude Codeのフック入門 で解説しています。
最初のスキルを作る3ステップ
公式ドキュメントの例をもとに、「作業中の変更を要約して、気になる点を挙げる」スキルを作ってみます。
- フォルダを作る:自分のスキル置き場に、スキル名のフォルダを作ります。
mkdir -p ~/.claude/skills/summarize-changes
- SKILL.md を書く:フォルダの中に
SKILL.mdを作り、次のように書きます。
---
description: 作業中の変更を要約し、気になる点を挙げる。何を変えたか聞かれたとき、コミットメッセージを作るときに使う。
---
## いまの変更
!`git diff HEAD`
## やること
上の変更を2〜3行で要約し、エラー処理の抜け・値の決め打ち・直すべきテストなど、気になる点を挙げる。変更が無ければ「変更はありません」と答える。
- 試す:Claude Code を起動し、「何を変えた?」と聞くか、
/summarize-changesと打ちます。どちらでも、変更の要約と気になる点が返ってくれば成功です。

2行目の ` !git diff HEAD ` は、Claude が読む前にコマンドを実行して、その結果を差し込む 書き方です。Claude は推測ではなく、実際の変更を見たうえで答えます。
SKILL.md の書き方:上の設定と下の本文
SKILL.md は2つの部分でできています。--- ではさんだ上の設定(フロントマター)と、その下の本文です。本文には Claude にしてほしいことを書きます。設定の項目はどれも省略できますが、description だけは書くのがすすめられています。Claude はこの説明を見て、いつスキルを使うか決めるからです。
よく使う項目を表にまとめます。
| 項目 | 何を決めるか |
|---|---|
name | / で打つ名前。省略するとフォルダ名になる |
description | 何をするスキルで、いつ使うか。大事な使いどころを先に書く |
disable-model-invocation | true にすると Claude が自分からは使わない(自分で打ったときだけ動く) |
user-invocable | false にすると / の一覧に出ず、Claude だけが使う |
allowed-tools | スキルを呼んだその回だけ、確認なしで使ってよい道具 |
context: fork | 別のサブエージェントの中で動かす |
paths | 指定した形のファイルを扱うときだけ自動で読み込む |
書くときのコツも公式に載っています。
- 本文は短く:一度読み込まれたスキルは会話に残り続けるので、1行ごとに負担がかかります。理由の説明より「何をするか」を書きます
- SKILL.md は500行以内:細かい資料は
reference.mdなどの別ファイルに分け、SKILL.md から「どんなときに読むか」を書いて参照します - 大事な指示は上のほうに:会話が長くなって要約されると、スキルは先頭の部分だけが残ることがあります
置き場所で「だれが使えるか」が決まる
スキルは、どこに置くかで使える範囲が変わります。
| 置き場所 | 使える範囲 |
|---|---|
自分用 ~/.claude/skills/<名前>/SKILL.md | このパソコンの自分のすべてのプロジェクト |
プロジェクト用 .claude/skills/<名前>/SKILL.md | そのリポジトリでの作業。コミットすればチーム全員が使える |
プラグイン <プラグイン>/skills/<名前>/SKILL.md | プラグインを入れた場所。/プラグイン名:スキル名 で呼ぶ |
| 組織の管理設定 | 組織が配った端末の全員 |
同じ名前のスキルが複数の場所にあるときは、組織 → 自分用 → プロジェクト用 の順で優先されます。注意したいのは、クラウドで動くセッションや定期実行のタスクでは、手元の ~/.claude/skills/ が読まれない点です。決まった時刻にスキルを動かしたいときは、リポジトリの .claude/skills/ にコミットするか、claude.ai のアカウントでスキルを有効にします。定期実行の仕組みは Claude Codeのルーティン で紹介しています。
また、セッション中にスキルを書き足したり直したりしても、再起動せずにその場で反映されます。
呼び出し方:自分で打つか、Claude に任せるか
初期設定では、自分も Claude もスキルを呼び出せます。2つの設定で、これを絞れます。
| 設定 | 自分で呼べる | Claude が自分から呼べる |
|---|---|---|
| 初期設定 | はい | はい |
disable-model-invocation: true | はい | いいえ |
user-invocable: false | いいえ | はい |
デプロイやメッセージ送信のように 外に影響が出る手順は、disable-model-invocation: true にしておく のが公式のすすめです。「コードが仕上がったようなので」と Claude が勝手に本番へ出す、といったことを防げます。逆に、古いシステムの解説のような「知っておいてほしい背景」は、user-invocable: false にして Claude だけが使う形にします。
呼び出すときは、/fix-issue 123 のように 名前のあとに引数を付けられます。本文に $ARGUMENTS と書いておくと、そこに打った内容が入ります。1つ目・2つ目を分けたいときは $0・$1 を使います。
重い作業を会話から切り離したいときは context: fork を付けると、スキルが別のサブエージェントの中で動き、結果だけが会話に届きます。サブエージェントの考え方は Claude Codeのマルチエージェント入門 が参考になります。
最初から入っている同梱スキル
Claude Code には、はじめから使えるスキルも入っています。/doctor・/code-review・/batch・/debug・/loop・/claude-api などです。いくつか例を挙げます。
/doctor:インストールの状態、使っていないスキルや拡張、CLAUDE.md の重複、権限の設定などを点検し、直す前に確認をとってから直す/run・/verify:アプリを起動して、変更がちゃんと動くかを実物で確かめる/run-skill-generator:プロジェクトの起動手順を記録して、プロジェクト用のスキルとして残す/claude-api:Claude API を使うコードを書くときの資料を読み込む
ダイナミックワークフローを有効にしている場合だけ使える /workflow-authoring もあります(Claude Codeのワークフロー で解説)。同梱スキルを使わないなら、設定 disableBundledSkills でまとめて止められます。
チームで共有する方法
公式ドキュメントでは、共有の範囲に合わせて3つの方法が挙げられています。
- プロジェクトで共有:
.claude/skills/をリポジトリにコミットする。リポジトリを使う人全員に届く - プラグインで配る:プラグインの
skills/フォルダに入れる。複数のリポジトリや社外にも配れる - 組織全体に配る:管理設定(managed settings)から全員に配る
リポジトリに入っているスキルを使う前には、allowed-tools の中身を確かめておく と安心です。スキルは自分に広い道具の許可を与えることができ、まだ信頼していないフォルダでもこの項目は効くと公式に書かれています。
うまく動かないときの確かめ方
スキルが思ったとおりに使われないときは、公式の手順にそって次を確かめます。
- 自動で使われない:
descriptionに、ふだん自分が使う言葉が入っているか。/スキル名で直接呼べるか - 使われすぎる:説明を具体的にする。自分で打ったときだけにしたいなら
disable-model-invocation: true - 途中から守られなくなる:毎回必ず守らせたい決まりはフックに移す。会話が要約されたあとなら、スキルをもう一度呼ぶ
- 設定の書き方が壊れていないか:
claude plugin validate .claude/skillsで、読めない SKILL.md を探せる - スキルが多すぎる:
/skill-doctorで、スキルごとの負担と使われた回数を見て、使っていないものを止める
効き目を確かめたいときは、スキルあり・なしで同じ依頼を新しいセッションで試して比べる のが公式の考え方です。比べる作業を自動で回す skill-creator プラグインも用意されています。
よくある質問
プログラムが書けなくても作れますか?
作れます。SKILL.md は、上に短い設定を書き、下にふつうの文章で手順を書くだけです。いつも貼っている指示文をそのまま本文に移すところから始められます。
前に作ったカスタムコマンドは作り直しが必要ですか?
不要です。.claude/commands/ のファイルはそのまま動き、同じ名前のスキルと同じように /名前 で呼べます。補助のファイルを添えたい、Claude に自動で使わせたい、といったときにスキルの形へ移せば十分です。
スキルはほかのAIツールでも使えますか?
Claude Code のスキルは、複数のAIツールで使える公開の規格 Agent Skills にそっています。ただし context: fork などは Claude Code だけの拡張なので、ほかの場所では規格にある項目(name・description など)だけを使います。
出典
- Claude Code 公式ドキュメント「Extend Claude with skills」
- Claude Code 公式ドキュメント「Extend Claude Code」(機能の使い分け)
- Claude Code 変更履歴
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


