この手順でできること
- Skill の置き場所と、SKILL.md の書き方が分かる
- 頼み方に合わせて、Claude Code が Skill を自動で選んで使うことを確かめる
用意するもの
- Claude Code が使えること(ログイン済み)
- git が使えること
手順
一、練習用のリポジトリを用意する
空のフォルダで git のリポジトリを作り、ファイルを1つコミットしてから、少し書き換えておきます。この書き換えが、コミットメッセージを作る対象になります。
mkdir skill-practice && cd skill-practice git init printf 'def add(a, b):\n return a + b\n' > calc.py git add . && git commit -m "init" printf 'def add(a, b):\n return a + b\n\n\ndef sub(a, b):\n return a - b\n' > calc.py二、Skill のフォルダと SKILL.md を作る
プロジェクトの Skill は .claude/skills/<Skill の名前>/SKILL.md に置きます。先頭の name と description が大切で、Claude Code は description を読んで、いつこの Skill を使うかを判断します。
本文には、Skill を使うときの手順を書きます。
コマンド mkdir -p .claude/skills/commit-message-ja.claude/skills/commit-message-ja/SKILL.md --- name: commit-message-ja description: git の変更内容から、日本語のコミットメッセージを作る。ユーザーが「コミットメッセージを作って」などと頼んだときに使う。 --- # 日本語のコミットメッセージを作る 1. `git diff` と `git diff --staged` で変更内容を確かめる。 2. 次の形でコミットメッセージを書く。 - 1行目: `種類: 何をしたか`(種類は feat・fix・docs・refactor・test のどれか)。50 文字以内。 - 2行目は空ける。 - 3行目以降: 変更の理由を箇条書きで書く。 3. コミットはせず、メッセージだけを示す。三、Claude Code に頼む
同じフォルダで Claude Code を起動し、「この変更のコミットメッセージを作って」と頼みます。Skill の名前を言わなくても、description に合う頼み方なら自動で使われます。
claude > この変更のコミットメッセージを作って
うまくいったかの確かめ方
- 途中で commit-message-ja の Skill を使ったことが表示される
- 1行目が「feat: 引き算を行う sub 関数を追加」のような形になっている(試したときの実際の出力です)
- コミットはされず、メッセージだけが示される
つまずきどころ
- description があいまいだと、Skill が選ばれません。「いつ使うか」を具体的に書きます。
- Skill の手順に「コミットはしない」のような禁止事項を書いておくと、意図しない操作を防げます。権限で確実に止めたいときは settings.json の permissions を使います。
後片付け
- 練習用のフォルダ(skill-practice)を削除します。