Claude Code で自分用のコマンド・スキルを作る|SKILL.md の書き方
このレッスンの要点
- 同じ指示や手順を何度も貼っているなら、スキルにしどき。SKILL.md に書くと
/名前で呼べます - 置き場所は
~/.claude/skills/<名前>/SKILL.md(全部のプロジェクト)か.claude/skills/<名前>/SKILL.md(このプロジェクト) - description に「何をするか・いつ使うか」を書くと、Claude が自分でも使います。勝手に使わせたくないものは止められます
スキルとは
Claude に「この作業はこうやる」を教えておく、指示や資料をまとめたフォルダ。関係する依頼のときに Claude が自分で読み込みます。
くわしく見るは、Claude Code に「この作業はこうやる」を教えておくファイルです。SKILL.md に指示を書いておくと、/名前 で呼べるようになり、関係する頼みごとのときには Claude が自分でも使います。
同じ指示やチェックリスト、何段階もある手順を、何度もチャットに貼っているなら、スキルにしどきです。スキルの中身は使うときだけ読まれるので、長い手順を書いても普段の作業台はほとんど使いません。
作ってみる
スキルは、名前のフォルダの中に置いた SKILL.md 1つです。全部のプロジェクトで使うなら ~/.claude/skills/<名前>/、このプロジェクトだけなら .claude/skills/<名前>/ に置きます。フォルダの名前が、そのまま呼び名になります(中に name を書けば、その名前でも呼べます)。
SKILL.md は、いちばん上の --- ではさんだ部分(description など)と、その下の指示でできています。下の「やってみよう」の例は、公式ドキュメントの例を日本語にしたものです。!`git diff HEAD` の行は、Claude が読む前にコマンドを動かして、その結果に置きかわります。
引数と、勝手に使わせない設定
/fix-issue 123 のように、呼ぶときに言葉を渡すこともできます。指示の中に $ARGUMENTS と書いておくと、そこに渡した言葉が入ります。
| 書くこと | 意味 |
|---|---|
description | 何をするか・いつ使うか。Claude が自分で使うかどうかを決める手がかり |
$ARGUMENTS | 呼ぶときに渡した言葉が、ここに入る |
disable-model-invocation: true | Claude が自分からは使わない。/名前 で呼んだときだけ動く |
一覧と、うまく動かないとき
/skills と打つと、使えるスキルの一覧が出ます。ファイルを足したり直したりすると、その場で反映されます(スキルを入れるフォルダそのものを新しく作ったときは /reload-skills)。
いちばん上の --- が1行目にないと、description が読まれません。SKILL.md は500行より短くして、長い資料は同じフォルダの別のファイルに分けます。
「毎回かならず守らせたいことも、スキルに書けばいい」わけではありません
やってみよう
- ターミナルで
mkdir -p ~/.claude/skills/summarize-changesと打って、スキルのフォルダを作ります - そのフォルダに
SKILL.mdというファイルを作り、下の例を貼って保存します(Claude に「この内容で作って」と頼んでもかまいません) - コミットが1つ以上ある Git のフォルダ(Git はレッスン8)で
claudeを起動し、ファイルを1つ変えてから「何を変えた?」と聞いて、スキルが使われるか見ます /summarize-changesと打って、直接呼んでみます/skillsで、スキルの一覧に出ていることを確かめます
確認問題
.claude/skills/deploy-staging/SKILL.md のスキルは、どう呼びますか?普段 Claude に何度も貼っている指示を1つ選んで、description(何をするか・いつ使うか)を1文で書いてみましょう。
この記事の用語
コース3 設定編の目次
- 1設定ファイル(settings.json)の基本✓ できた
- 2許可ルールを決めて確認を減らす✓ できた
- 3CLAUDE.md の育て方✓ できた
- 4自分用のコマンド・スキルを作る✓ できた
- 5フックで自動チェック✓ できた
- 6MCP で外部サービスとつなぐ✓ できた
- 7サブエージェントの使い分け✓ できた
- 8Git と GitHub で変更を守る✓ できた