毎回の手順を「スキル」にして、一言で呼び出す
「書類をスキャンしたら、まずOCRで文字にして、次にNotionへ保存して、現物を保管するか決める」。こうした決まった手順をClaude Codeに頼むとき、同じ説明を会話のたびに書き直していませんか。私も紙の書類をスキャンして文字を起こし、Notionに保存する流れのような手順を、毎回一から言葉にするのが面倒になってきました。
この面倒を減らす仕組みが「スキル」です。手順をファイルに書いておけば、一言のコマンドで呼び出せます。公式ドキュメントで確かめた仕組みをまとめます。
スキルを作って呼び出す流れ
- 1. 手順を書き出す何度も説明している内容をマークダウンにする
- 2. ファイルに保存する個人用かプロジェクト用の場所にSKILL.mdを置く
- 3. 一言で呼ぶ/スキル名 で、書いた手順をそのまま実行させる
- 4. 自動でも選ばれる頼みごとの内容からClaudeが判断して使うこともある
スキルとは
公式ドキュメントでは、スキルは次のように説明されています。
Skills extend what Claude can do. Create a SKILL.md file with
instructions, and Claude adds it to its toolkit. Claude uses skills
when relevant, or you can invoke one directly with /skill-name.
指示を書いたファイルを置くだけで、Claudeの「できること」が増えます。手で /スキル名 と呼んでもよく、頼みごとの内容から判断して自動で使われることもあります。
SKILL.mdの中身
ファイルは2つの部分からできています。
- Claudeがいつ使うかを判断するfrontmatter(
descriptionなど) - 実際に実行する本文(指示そのもの)
---
description: 届いた書類をスキャンして、文字起こしからNotionへの
保存までを一続きで進める。「書類を保存して」と頼まれたら使う。
allowed-tools: Read Bash(python *)
---
## 手順
1. 画像をOCRで文字にする
2. Notionに1書類1ページで保存する
3. 保管か破棄かをページに書く
descriptionは本文より先に読まれ、Claudeが「この頼みごとにはこのスキルが合う」と判断する材料になります。公式ドキュメントにも「The description helps Claude decide when to load the skill automatically.」とあります。自動では呼ばれたくない手順(取り消しにくい操作など)には、disable-model-invocation: true を付けます。付けると、ユーザーが /スキル名 と直接打ったときだけ動きます。
置き場所で、読み込まれる範囲が変わる
| 置き場所 | 読み込まれる範囲 |
|---|---|
~/.claude/skills/<name>/SKILL.md | 自分のすべてのプロジェクト |
.claude/skills/<name>/SKILL.md | そのプロジェクトのみ |
公式ドキュメントは「Where you save a skill decides which sessions load it.」と説明しています。家の用事のように、どのプロジェクトでも使う手順は個人用に、特定の作業フォルダだけで使う手順はプロジェクト用に置くと整理しやすくなります。
長い指示を置いても、普段のコストは増えない
CLAUDE.mdに書いた内容は毎回まとめて読み込まれますが、スキルの本文は呼ばれたときだけ読み込まれます。公式ドキュメントの説明です。
Unlike CLAUDE.md content, a skill's body loads only when it's
used, so long reference material costs almost nothing until you
need it.
手順が長くなっても、使わない日は読み込まれません。詳しい手順書を気にせず書けるのは助かります。
古い形式の「コマンド」との関係
私が最初に作ったのは、実は .claude/commands/ 配下にマークダウンを置く「コマンド」形式でした。公式ドキュメントによると、これは今も使える古い形式です。
Custom commands have been merged into skills. A file at
.claude/commands/deploy.md and a skill at
.claude/skills/deploy/SKILL.md both create /deploy and work
the same way.
どちらもファイル名(または置いたフォルダ名)がそのまま呼び出し名になり、サブフォルダに置けば /フォルダ名:ファイル名 という名前になります。frontmatterもほぼ共通です。公式は新しく作るときはスキル形式を勧めていますが、すでにある.claude/commands/のファイルを書き直す必要はなく、両方が同じように動きます。私の手順ファイルも、今のところ古い形式のまま使っています。
まとめ
- 繰り返す手順はSKILL.md(または古い形式の
.claude/commands/*.md)に書けば、一言で呼び出せる descriptionがあると、頼みごとの内容からClaudeが自動で選ぶこともある。自動で呼ばれたくなければdisable-model-invocation: true- 個人用は
~/.claude/skills/、プロジェクト用は.claude/skills/に置く - スキルの本文は使うときだけ読み込まれるので、長い手順を書いても普段のコストは増えない
決まった時間に自動で呼び出す場合はWindowsのタスクスケジューラでClaude Codeを毎日自動で動かすで、スキルを呼ぶ方法を書いています。