2児のパパ系Webエンジニア
の開発日記
A Dad-of-Two Engineer's Development Diary

Claude Codeのカスタムスラッシュコマンドの作り方!よく使う指示をコマンド化したらかなりラクになった

Claude Codeのカスタムスラッシュコマンドの作り方!よく使う指示をコマンド化したらかなりラクになった

👀 結論から

Claude Code には .claude/commands/ ディレクトリにMarkdownファイルを置くだけで、独自のスラッシュコマンドを作れる機能があります!

/review や /gentest のような形で呼び出せるようになり、毎回同じ長いプロンプトを入力し直す手間がなくなりました。

実際に仕事で使い始めてから、よく使う指示の呼び出しがかなりスムーズになっています(^^)

💡 カスタムスラッシュコマンドとはなにか

Claude Code のカスタムスラッシュコマンドは、よく使うプロンプトをファイルに保存しておいて、/コマンド名 の形で素早く呼び出せる仕組みです。

設定方法はシンプルで、プロジェクト直下に .claude/commands/ ディレクトリを作って、その中にMarkdownファイルを置くだけです。

例えば .claude/commands/review.md というファイルを作ると、Claude Code 上で /review と入力するだけでその内容をプロンプトとして送れるようになります!

グローバルに使いたい場合は ~/.claude/commands/ に置けば、すべてのプロジェクトで共通して使えます。

プロジェクト単位の設定はバージョン管理に含められるので、チームで同じコマンドを共有できるのもかなり便利です(^_^)

✨ 実際に作っているコマンド

私が実際によく使っているコマンドをいくつか紹介します。

コードレビューコマンド(/review)

PR に出す前に「潜在的な問題がないか確認して」という指示を毎回送っていたのをコマンド化しました。

レビュー観点(セキュリティ・パフォーマンス・可読性など)を具体的にファイルに書いておくことで、毎回同じ質のチェックが受けられるようになっています。

コマンド一発でレビュー依頼が飛ぶので、PR 前の確認がかなりスムーズになりました!

テスト生成コマンド(/gentest)

「このファイルのユニットテストをVitest形式で書いて」という指示をコマンドにしています。

プロジェクトのテストルール(モック方針・命名規則など)もファイルに含めておくので、生成されるテストの精度が上がりました(^^)

変更まとめコマンド(/summary)

コミット前に「このPRの変更内容をわかりやすくまとめて」と頼む用のコマンドです。

PR の説明文を書くときに呼び出すと、変更の概要をすっきり整理してもらえます。

👍 使い始めてからの変化

一番変わったのは、毎回プロンプトを考える認知負荷が減ったことです。

「また同じこと聞くのか…」と思いながら入力していた時間がなくなって、コードに向き合う時間が相当増えた感じがします!

チームメンバーと共有したときも「コマンドが決まってると頼みやすい」と言ってもらえて、AI活用の第一歩として受け入れてもらいやすかったです(^o^)/

コマンドのMarkdownファイル自体も、使いながら少しずつ育てていけるのが気に入っています。

🤔 気になった点

コマンドが増えてくると「どんなコマンドがあったっけ?」となることがありました(・_・;)

/ を入力すると一覧が出るので迷子にはなりませんが、定期的に使っていないコマンドを整理する習慣は持っておいたほうが良さそうです。

また、コマンドにプロジェクト固有の情報(ファイル名や規約など)を含めすぎると、他のプロジェクトで使い回しにくくなります。

汎用的な指示部分とプロジェクト固有の部分を分けて管理するのが、長く使ううえでのコツかもしれません(^^;)

🎯 $ARGUMENTSで引数を受け取れるようにした

最初は固定文言のコマンドだけ作っていたんですが、$ARGUMENTS という変数を使うとコマンドに引数を渡せることを知ってから、コマンドの使い勝手がかなり上がりました。

例えば /summary コマンドを、対象を指定できる形に書き換えました。

---
description: 変更内容を要約する
argument-hint: [対象範囲]
---

$ARGUMENTS の変更内容をわかりやすく要約してください。

こうしておくと、/summary このPR全体 のように呼び出したときに、$ARGUMENTS の部分が「このPR全体」に置き換わってプロンプトとして送られます。

argument-hint を設定しておくと、コマンド入力中に「どんな引数を渡せばいいか」がヒントとして表示されるので、自分でもしばらく経つと忘れがちなコマンドの使い方を思い出しやすくなりました(^^)

もうひとつ触ってみたのが、サブディレクトリでの名前空間化です。

.claude/commands/docker/ps.md のようにディレクトリを切って置くと、/docker:ps のようにカテゴリ分けした状態で呼び出せます。

コマンドが増えてきてから、この名前空間化のおかげで一覧が探しやすくなりました!

ちなみに2026年のアップデートでカスタムコマンドは Skills という仕組みに統合される流れになっていて、既存の .claude/commands/ のファイルは今もそのまま動きますが、これから新しく作るコマンドは Skills の書き方も一度確認しておくとよさそうです。

🔄 今から作るなら skills の形がおすすめ

この記事を書いたあと、Claude Code のカスタムコマンドは skills に統合されました(^^)

公式ドキュメントによると、.claude/commands/review.md も .claude/skills/review/SKILL.md も、どちらも /review で呼び出せて動きは同じです。

今ある .claude/commands/ のファイルはそのまま動くので、慌てて移す必要はありません👍

ただ、新しく作るなら skills の形のほうができることが多いです。

---
description: 変更差分をレビューする
argument-hint: [観点]
allowed-tools: Bash(git diff *)
disable-model-invocation: true
---

## 変更内容
!`git diff HEAD`

## 指示
上の差分を $ARGUMENTS の観点でレビューして、問題点を箇条書きで出して

ポイントはこの3つです👀

  • !`コマンド`: Claude に渡す前にコマンドを実行して、結果をそのまま埋め込める。差分を毎回コピペしなくていい
  • disable-model-invocation: true: 自分で /review と打ったときだけ動く。Claude が勝手に呼び出さない
  • フォルダごと置ける: チェックリストや例を別ファイルにして、同じフォルダに置いておける

よく使う指示は、まず /review みたいな小さいものから skills にしてみるのがおすすめです✨

パパ系Webエンジニア〜愛用ガジェット一覧 🛍️

AI開発・執筆に使っている作業デスク環境を楽天ROOMにまとめています ✨ デスク周りの参考にどうぞ 🙌

🙌 まとめ

Claude Code のカスタムスラッシュコマンドを使うと、よく使う指示をコマンド一発で呼び出せるようになります🙌

  • .claude/commands/ にMarkdownを置くだけで設定完了
  • プロジェクト単位でバージョン管理でき、チーム共有にも向いている
  • コードレビュー・テスト生成・PR要約など、繰り返す指示はコマンド化がおすすめ
  • コマンドは使いながら少しずつ育てていくのが長く使うコツ

まずは1〜2個だけコマンドを作ってみると、便利さがすぐに実感できると思います!

参考になったらシェアしてもらえるとうれしいです🙌

Xでポスト Threads はてブ LINE
本日のAI速報 10月16日(金)・11件