Claude Code で自分用のコマンド・スキルを作る|SKILL.md の書き方

コース3 設定編 4 / 8・読む時間 約9分・最終確認日

このレッスンの要点

  • 同じ指示や手順を何度も貼っているなら、スキルにしどき。SKILL.md に書くと /名前 で呼べます
  • 置き場所は ~/.claude/skills/<名前>/SKILL.md(全部のプロジェクト)か .claude/skills/<名前>/SKILL.md(このプロジェクト)
  • description に「何をするか・いつ使うか」を書くと、Claude が自分でも使います。勝手に使わせたくないものは止められます

スキルとは

は、Claude Code に「この作業はこうやる」を教えておくファイルです。SKILL.md に指示を書いておくと、/名前 で呼べるようになり、関係する頼みごとのときには Claude が自分でも使います。

同じ指示やチェックリスト、何段階もある手順を、何度もチャットに貼っているなら、スキルにしどきです。スキルの中身は使うときだけ読まれるので、長い手順を書いても普段の作業台はほとんど使いません。

CLAUDE.md
いつも読まれる短い決まりごと
スキル
使うときだけ読まれる何段階もある手順
以前の「自分用のコマンド」(.claude/commands/)は、スキルに一本化されました。古い形のファイルも、いまも動きます。

作ってみる

スキルは、名前のフォルダの中に置いた SKILL.md 1つです。全部のプロジェクトで使うなら ~/.claude/skills/<名前>/、このプロジェクトだけなら .claude/skills/<名前>/ に置きます。フォルダの名前が、そのまま呼び名になります(中に name を書けば、その名前でも呼べます)。

~/.claude/skills/
└ summarize-changes/
  └ SKILL.md ← ここに指示を書く
呼び名
/summarize-changes
フォルダ名が呼び名。中のファイル名は SKILL.md と決まっています。

SKILL.md は、いちばん上の --- ではさんだ部分(description など)と、その下の指示でできています。下の「やってみよう」の例は、公式ドキュメントの例を日本語にしたものです。!`git diff HEAD` の行は、Claude が読む前にコマンドを動かして、その結果に置きかわります。

引数と、勝手に使わせない設定

/fix-issue 123 のように、呼ぶときに言葉を渡すこともできます。指示の中に $ARGUMENTS と書いておくと、そこに渡した言葉が入ります。

書くこと意味
description何をするか・いつ使うか。Claude が自分で使うかどうかを決める手がかり
$ARGUMENTS呼ぶときに渡した言葉が、ここに入る
disable-model-invocation: trueClaude が自分からは使わない。/名前 で呼んだときだけ動く
公開やメッセージの送信のような、結果が外に出る手順には disable-model-invocation をつけます。

一覧と、うまく動かないとき

/skills と打つと、使えるスキルの一覧が出ます。ファイルを足したり直したりすると、その場で反映されます(スキルを入れるフォルダそのものを新しく作ったときは /reload-skills)。

1description に、普段の言い方の言葉が入っているか見る
2「使えるスキルは何?」と聞いて、一覧に出るか見る
3/名前 で直接呼んでみる
自分から使われないときの見直し方。逆に使われすぎるときは、description をしぼります。

いちばん上の --- が1行目にないと、description が読まれません。SKILL.md は500行より短くして、長い資料は同じフォルダの別のファイルに分けます。

よくある勘違い

「毎回かならず守らせたいことも、スキルに書けばいい」わけではありません

必ずやってほしいことをスキルに書く
スキルは、Claude が必要だと思ったときや、呼んだときに使われるものです
必ず実行したいことはフックへ
公式も、毎回守らせたいルールはフック(レッスン5)に移すようすすめています

やってみよう

  1. ターミナルで mkdir -p ~/.claude/skills/summarize-changes と打って、スキルのフォルダを作ります
  2. そのフォルダに SKILL.md というファイルを作り、下の例を貼って保存します(Claude に「この内容で作って」と頼んでもかまいません)
  3. コミットが1つ以上ある Git のフォルダ(Git はレッスン8)で claude を起動し、ファイルを1つ変えてから「何を変えた?」と聞いて、スキルが使われるか見ます
  4. /summarize-changes と打って、直接呼んでみます
  5. /skills で、スキルの一覧に出ていることを確かめます
~/.claude/skills/summarize-changes/SKILL.md(公式の例を日本語にしたもの)--- description: まだコミットしていない変更を要約して、気をつけたほうがいい点を挙げる。何を変えたか聞かれたとき、コミットの説明を書くとき、変更を見直したいときに使う --- ## いまの変更 !`git diff HEAD` ## やること 上の変更を2〜3個の箇条書きで要約して、気をつけたほうがいい点(エラーのときの扱いがない、値がそのまま書かれている、直すべきテストがある、など)を挙げてください。変更がなければ「コミットしていない変更はありません」と答えてください。

確認問題

Q1. .claude/skills/deploy-staging/SKILL.md のスキルは、どう呼びますか?
Q2. 公開の作業のように、Claude に勝手に使ってほしくないスキルには何を書く?
今日の練習

普段 Claude に何度も貼っている指示を1つ選んで、description(何をするか・いつ使うか)を1文で書いてみましょう。

この記事の用語

コース3 設定編の目次

  1. 1設定ファイル(settings.json)の基本
  2. 2許可ルールを決めて確認を減らす
  3. 3CLAUDE.md の育て方
  4. 4自分用のコマンド・スキルを作る
  5. 5フックで自動チェック
  6. 6MCP で外部サービスとつなぐ
  7. 7サブエージェントの使い分け
  8. 8Git と GitHub で変更を守る