🚀 Claude Code カスタムコマンド
📌 カスタムコマンドとは?
Claude Codeを使っていると、次のような指示を何度も入力することがあります。
テストコードを作成して
コードレビューして
プルリクエスト説明文を作成して
コミットメッセージを考えて
毎回同じ内容を入力するのは面倒です。そこで活躍するのが カスタムコマンド です。
💡一言で言うと、「よく使うプロンプトをショートカット化する機能」
☕ コンビニで例えると?
コンビニ店員は毎回同じことを言います。
ポイントカードはお持ちですか?
お箸はお付けしますか?
ありがとうございました
毎回考えて話しているわけではありません。決まったフレーズを使っています。
Claude Codeのカスタムコマンドも同じです。毎回長いプロンプトを書く代わりに、
/create-test
のような短いコマンドで呼び出せます。
📂 カスタムコマンドの作り方
実は非常に簡単です。Markdownファイルを1つ作るだけです。
例えば
.claude/
└── commands/
└── create-test.md
を作成します。すると、
/create-test
というコマンドが使えるようになります。
🏢 プロジェクト用コマンド
プロジェクト内だけで利用したい場合は、
プロジェクト
└── .claude
└── commands
の中に配置します。
メリット
✅ Gitで共有できる
✅ チーム全員が同じコマンドを利用できる
✅ 出力品質を統一できる
フォルダで整理することも可能
例えば、
.claude
└── commands
└── test
└── create-test.md
の場合、
/test:create-test
で呼び出せます。
👤 個人用(パーソナル)コマンド
ホームディレクトリにも配置できます。
~/.claude/commands
例えば、
/smart-commit
というコマンドを作っておけば、どのプロジェクトでも利用できます。
プロジェクト用と個人用の違い
| 項目 | プロジェクト用 | 個人用 |
|---|---|---|
| 利用範囲 | プロジェクト内のみ | 全プロジェクト |
| Git共有 | 可能 | 不可 |
| チーム利用 | ○ | × |
| 個人効率化 | △ | ◎ |
🧪 テスト作成コマンドの例
例えば
指定されたファイルのテストコードを作成してください。
- 正常系テスト
- 境界値テスト
- エラーテスト
テストコードは tests フォルダへ配置してください。
という内容を
create-test.md
に保存します。
実行時は、
/create-test src/example.js
のように使います。
実行結果
Claude Codeは
src/example.js を解析し、
正常系テスト
境界値テスト
異常系テスト
を自動生成します。
チーム利用のメリット
同じコマンドを使うことで、誰が実行しても同じ品質になります。
カスタムコマンドがない場合
Aさん
「テストを書いて」
Bさん
「異常系も考慮して」
Cさん
「境界値も含めて」
結果がバラバラになります。
カスタムコマンド利用時
全員が
/create-test
を実行
↓
同じルールで生成
↓
品質が統一
⚙️ YAMLフロントマターとは?
Markdownの先頭に設定を書く仕組みです。
---
description: テストコードを作成
argument-hint: ファイルパス
model: sonnet
---
📖 description
コマンド説明を表示します。
description: 指定ファイルのテストコードを生成
表示例
/create-test
指定ファイルのテストコードを生成
📝 argument-hint
引数の説明を表示します。
argument-hint: ファイルパス
表示例
/create-test [ファイルパス]
利用者が何を渡すべきか分かります。
🔒 allowed-tools
利用可能なツールを制限できます。
例
allowed-tools:
- Read
- Grep
利用例
コードレビュー専用コマンド
レビューはして良い
修正は禁止
という場合、書き込み権限を与えなければ安全です。
🤖 model
利用モデルを指定できます。
model: opus / sonnet使い分け例
| モデル | 用途 |
|---|---|
| Haiku | 軽量処理 |
| Sonnet | 一般用途 |
| Opus | 複雑な分析 |
特に理由がなければ未指定で問題ありません。
📎 @(プレフィックス)
ファイルを明示的に読み込ませる機能です。
@src/example.js
Claude Codeは必ずこのファイルを参照します。
ファイル比較の例
@${1}
@${2}
違いを説明してください
実行
/compare old.js new.js
すると2つのファイルを比較してくれます。
💥 !(プレフィックス)
Bashコマンドを実行できます。
例
!`git status`
実行時に
git status
が自動実行されます。
利用例
Git状態確認
!`git status`
ステージ済み差分取得
!`git diff --staged`
現在ディレクトリ確認
!`pwd`
ファイル一覧取得
!`ls`
⚠️ Bash利用時の注意
Bashコマンドを使う場合、
allowed-tools:
- Bash
を許可する必要があります。許可されていないコマンドは実行できません。
🎯 ベストプラクティス
プロジェクト用に向いているもの
テスト生成
コードレビュー
PR説明文作成
設計レビュー
個人用に向いているもの
コミットメッセージ作成
Git操作支援
作業ログ生成
日報作成