Claude カスタムコマンドとは

 🚀 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操作支援

  • 作業ログ生成

  • 日報作成