Claude Code カスタムスラッシュコマンド作成入門 ― 開発ワークフローを自分仕様に
Claude Codeのカスタムスラッシュコマンドを作成する方法を解説。ファイル配置、引数の受け取り、頻出タスクの自動化まで実例コード付きで紹介します。
カスタムスラッシュコマンドとは
Claude Codeには/helpや/clearといった標準スラッシュコマンドが用意されていますが、実は自分専用のコマンドを簡単に追加できることをご存知でしょうか。カスタムスラッシュコマンドは、頻繁に使うプロンプトや定型作業を「短い合言葉」で呼び出せる機能で、使いこなせば日々の開発速度を劇的に向上させることができます。
例えば「現在のブランチのコードをレビューして」という長いプロンプトを毎回入力する代わりに、/reviewと打つだけで同じ処理を走らせられます。チーム全体で共有すれば、レビュー基準やリリース手順を標準化することもできます。
保存場所とファイル形式
カスタムスラッシュコマンドは単なるMarkdownファイルです。保存場所は2種類あります。
- プロジェクト専用:
.claude/commands/<コマンド名>.md - ユーザー全体:
~/.claude/commands/<コマンド名>.md
プロジェクト専用に置けばリポジトリに含めてチームで共有でき、ユーザー全体に置けば個人の全プロジェクトで使えます。ファイル名がそのままコマンド名になるため、review.mdを作れば/reviewで呼び出せます。
最初のコマンドを作る
まずは最小構成のコマンドを作ってみましょう。プロジェクトのルートで以下を実行します。
mkdir -p .claude/commands
cat > .claude/commands/review.md <<'EOF'
現在のGitステージングにある変更をすべて読み取り、以下の観点でレビューしてください。
- バグの可能性
- 命名の一貫性
- テストが不足している箇所
- セキュリティ上の懸念
問題が見つかった場合は、ファイル名と行番号を添えて報告してください。
EOF
これだけで完了です。Claude Codeで/reviewと入力すると、ファイルの内容がそのままプロンプトとして送信されます。
引数を受け取る
より実用的なコマンドにするには引数を受け取れるようにしましょう。Markdown内で$ARGUMENTSプレースホルダーを使うと、コマンド実行時に渡した文字列がそこに挿入されます。
# .claude/commands/explain.md
以下のファイルまたはシンボルについて、初心者向けに丁寧に解説してください。
対象: $ARGUMENTS
解説には以下を含めてください:
1. 何をするコードか(1〜2文で要約)
2. 重要な行のステップ解説
3. 実際の使用例
4. よくある落とし穴
このコマンドは/explain src/utils/parser.tsのように呼び出します。$ARGUMENTSがsrc/utils/parser.tsに置換されて実行される仕組みです。
複数ファイルを参照するコマンド
引数にファイルパスを渡すだけでなく、@記法を使ってコマンド内部で特定のファイルを明示的に読み込むこともできます。
# .claude/commands/check-types.md
@tsconfig.json と @package.json を確認した上で、
プロジェクト全体の型エラーを検出してください。
手順:
1. `npx tsc --noEmit` を実行
2. エラーをファイルごとにグルーピング
3. 修正の優先順位を提案
4. 影響範囲が大きいものから順に並べる
出力は表形式でお願いします。
コマンド実行時にClaudeが自動的にtsconfig.jsonとpackage.jsonを読み込んでから処理を開始します。
実践:リリース準備コマンド
定型的なリリース作業を1コマンドにまとめる例を見てみましょう。
# .claude/commands/release.md
バージョン $ARGUMENTS のリリース準備を行ってください。
実施手順:
1. package.json の version を $ARGUMENTS に更新
2. CHANGELOG.md の先頭に新しいセクションを追加
- 前回タグからの git log を参照
- feat / fix / docs / chore に分類
3. `npm run test` を実行して全テストがパスすることを確認
4. `npm run build` を実行してビルドエラーがないか確認
5. 変更内容をまとめてコミットメッセージ案を提示
注意: 実際の git push や npm publish は実行しないでください。
最後のステップの確認はユーザーに委ねます。
/release 1.4.0と打つだけで、バージョン更新からテスト実行まで自動化されます。安全のため破壊的操作は行わず、人間が最終確認できる設計にしておくのがコツです。
フラグとオプションをシミュレートする
Markdown側で分岐を記述すれば、擬似的なフラグも実現できます。
# .claude/commands/test.md
引数: $ARGUMENTS
以下のルールで動作してください:
- 引数が空の場合: すべてのテストを実行
- 引数に `--unit` が含まれる: ユニットテストのみ実行
- 引数に `--e2e` が含まれる: E2Eテストのみ実行
- 引数にファイルパスが含まれる: そのファイルに関連するテストのみ実行
実行後、失敗したテストがあれば原因を分析してください。
/test --unitや/test src/auth.tsのように柔軟な呼び出しが可能になります。
チーム共有のベストプラクティス
プロジェクト専用コマンドを.claude/commands/に置いてGitで管理すれば、チームメンバー全員が同じコマンドを使えるようになります。その際は以下を意識すると良いでしょう。
- 命名規則を統一する: 動詞始まり(
review、fix、explain)で短くまとめる - READMEに一覧を書く: どんなコマンドがあるか発見しやすくする
- 破壊的操作を避ける:
git push --forceやrm -rfは明示的に禁止 - 出力フォーマットを指定する: レビュー結果などは表やチェックリストで統一
まとめ
カスタムスラッシュコマンドは、Claude Codeを「自分だけのAIアシスタント」に育てるための最短ルートです。最初は1〜2個の簡単なコマンドから始め、日々の繰り返し作業を発見するたびに追加していくと、いつの間にか手放せない相棒になります。
Claude Codeの基本操作については入門ガイドを、より高度な自動化についてはAgent SDK入門を、コンテキスト管理のコツはコンテキスト管理も合わせてご覧ください。
公式ドキュメントはAnthropic公式ドキュメントをご参照ください。
この記事を書いた人
Masa
Claude Code を使い倒すエンジニア。10言語2,000ページ超のテックメディア claudecode-lab.com を運営。
関連記事
Claude CodeでCanvas/WebGL開発を効率化する方法
Claude Codeを活用してCanvas 2D描画・WebGLシェーダー・インタラクティブなグラフィックスを効率的に実装する方法を解説します。
Claude CodeでMarkdown処理・変換を実装する方法
Claude Codeを使ってMarkdownの解析・変換・拡張を効率的に実装。remarkプラグイン、カスタムコンポーネント、目次生成の実践コード付き。
Claude CodeでAIペアプログラミングを実践する方法
Claude Codeを使ったAIペアプログラミングの実践的な手法を解説。効果的なプロンプト、ワークフロー、チーム開発での活用法まで紹介します。