こんにちは、とまだです。
Claude Codeで同じような指示を何度も書いていて、「これ、もっと効率化できないかな」と思ったことはありませんか?
実は、Claude Codeには「カスタムコマンド」という強力な機能があります。
よく使う指示を短いコマンドとして登録でき、開発フローを大幅に効率化できるんです。
今回は、カスタムコマンドの基本的な仕組みから、品質チェックの自動化、GitHub連携による開発フロー改善まで、実践的な活用方法を体系的に解説します。
忙しい人のために要約
-
.claude/commands/
にマークダウンファイルを置くだけで、独自コマンドが作れる - 品質チェックコマンドで、レビュー指摘を事前に発見・修正
- GitHub CLIと連携して、Issue駆動開発からPRレビュー対応まで自動化
- プロジェクトごとにカスタマイズして、チーム全体の開発効率が向上
- 実装直後のチェックで、問題を早期発見してコストを削減
カスタムコマンドとは?
カスタムコマンドは、よく使う指示を短いコマンドとして登録できる機能です。
日常生活でたとえるなら、スマートフォンの「ショートカット」のようなものです。
「おはよう」と言うだけで、天気予報を読み上げて、今日の予定を確認して、ニュースを表示する、といった一連の動作を自動化できるあれです。
Claude Codeのカスタムコマンドも同じように、複雑な指示を簡単なコマンドで実行できるようにしてくれます。
仕組みはとてもシンプル
カスタムコマンドの仕組みはとてもシンプルです。
.claude/commands/
というディレクトリに、マークダウンファイルを置くだけ。
ファイル名がコマンド名になり、ファイルの内容が実行される指示になります。
たとえば、.claude/commands/hello.md
というファイルを作れば、/hello
というコマンドが使えるようになります。
本当にこれだけです。
プログラミングの知識がなくても、テキストファイルが作れれば誰でもカスタムコマンドを作れます。
また、ホームディレクトリの ~/.claude/commands/
に置けば、すべてのプロジェクトで共通のコマンドとして使えます。
実際に作ってみよう
では、実際にカスタムコマンドを作ってみましょう。
まず最初は、シンプルなものから始めます。
コマンド用のディレクトリを準備
プロジェクトのルートディレクトリで、以下のコマンドを実行します。
mkdir -p .claude/commands
これで、カスタムコマンドを置く場所ができました。
最初のカスタムコマンドを作成
では、プロジェクトの概要を説明してもらうコマンドを作ってみます。
.claude/commands/explain.md
というファイルを作成し、以下の内容を書きます。
このプロジェクトについて、以下の観点で説明してください。
- 主な機能
- 使用している技術
- ディレクトリ構成
- 重要なファイル
初めて見る人でもわかるように、簡潔に説明してください。
これで準備は完了です。
Claude Codeを起動して、/explain
と入力してみてください。
プロジェクトの概要を自動的に説明してくれるはずです。
パフォーマンス最適化
では、もう少し実用的なコマンドを作ってみましょう。
よくあるパフォーマンス問題をチェックするコマンドです。
.claude/commands/performance-check.md
:
現在の実装のパフォーマンスを分析し、改善点を提案してください。
## チェック項目
### フロントエンド
- 不要な再レンダリングが発生していないか
- 重い計算処理が適切にメモ化されているか
- 画像やアセットの最適化余地
- バンドルサイズへの影響
- 遅延ローディングの活用余地
### バックエンド
- データベースクエリの最適化余地(N+1問題など)
- キャッシュの活用可能性
- 非同期処理の適切な使用
- メモリリークの可能性
改善案は、実装の難易度と効果のバランスを考慮して提案してください。
あるReactプロジェクトでこのコマンドを実行したところ、「配列のmapメソッド内で、毎回新しいオブジェクトを生成しています」という指摘を受けました。
useMemo
でメモ化することで、パフォーマンスが改善できるという内容でした。
このような細かい問題は、自分では気づきにくいものなので、こうしたチェックコマンドは非常に役立ちます。
ただ、これだとあまりに広い範囲をチェックするので、実際にはもう少し具体的なコマンドを作ることが多いです。
次は、引数を使った動的なコマンドの例を紹介します。
引数を使った動的なコマンド
カスタムコマンドは、実行時に引数を受け取ることもできます。
$ARGUMENTS
という特別な変数を使うことで、コマンド実行時に値を渡せるようになります。
特定ファイルのテスト生成
テストコードの作成は重要ですが、手間がかかる作業です。
特定のファイルを指定してテストを生成するコマンドを作ってみましょう。
.claude/commands/test-file.md
:
$ARGUMENTS のファイルに対する包括的なテストコードを生成してください。
以下の観点でテストを作成:
## テストケースの設計
- 正常系:期待される入力での動作確認
- 異常系:エラーケースやエッジケース
- 境界値:最大値、最小値、空の値など
## テストの構成
- 各関数・メソッドごとにテストケースをグループ化
- 前提条件と期待結果を明確に記述
- モックが必要な場合は適切に設定
## 品質基準
- カバレッジ80%以上を目指す
- 保守しやすいテストコードにする
- 実行時間を考慮した効率的なテスト
プロジェクトで使用しているテストフレームワークに準拠してください。
使い方:
/test-file src/utils/validator.ts
これで、指定したファイルに特化したテストコードが生成されます。
要件定義支援コマンド
新しい機能を実装する前に、要件を整理することは重要です。
アイデアから要件定義を作成するコマンドを作りましょう。
.claude/commands/requirements.md
:
「$ARGUMENTS」という機能について、詳細な要件定義を作成してください。
## 要件定義の内容
### 1. 機能概要
- 目的と価値提案
- ユーザーストーリー
- 成功基準
### 2. 機能要件
- 必須機能(Must Have)
- あると良い機能(Nice to Have)
- 将来的な拡張(Future Enhancement)
### 3. 非機能要件
- パフォーマンス基準
- セキュリティ要件
- ユーザビリティ要件
### 4. 技術的考慮事項
- 既存システムへの影響
- 必要な技術スタック
- データモデルの設計
### 5. 実装計画
- フェーズ分けの提案
- 概算工数
- リスクと対策
ビジネス価値と技術的実現可能性のバランスを考慮してください。
使い方:
/requirements ユーザー通知システム
このコマンドで、漠然としたアイデアを具体的な要件に落とし込めます。
品質向上のための実践的コマンド
Claude Codeには /review
や /security-review
といった組み込みコマンドが追加されましたが、プロジェクト固有のニーズに応じたカスタムコマンドも重要です。
コンポーネント生成コマンド
フロントエンド開発では、コンポーネントの雛形を素早く作ることが効率化につながります。
.claude/commands/component.md
:
「$ARGUMENTS」という名前のReactコンポーネントを生成してください。
## 生成内容
1. コンポーネント本体
- TypeScriptで型定義
- Props interfaceの定義
- 基本的なスタイリング
2. テストファイル
- 基本的なレンダリングテスト
- Props渡しのテスト
3. Storybook用ストーリー(もし使用している場合)
4. 使用例のドキュメント
プロジェクトのコーディング規約とディレクトリ構造に従ってください。
API設計コマンド
バックエンド開発では、API設計を標準化することが重要です。
.claude/commands/api-design.md
:
「$ARGUMENTS」に関するREST APIを設計してください。
## 設計内容
### エンドポイント設計
- CRUD操作のURL設計
- HTTPメソッドの選定
- クエリパラメータの定義
### リクエスト/レスポンス
- JSONスキーマの定義
- バリデーションルール
- エラーレスポンスの形式
### API仕様書
- OpenAPI形式での記述
- 使用例(curl コマンド)
- 認証・認可の考慮
RESTfulな設計原則に従い、将来の拡張性も考慮してください。
リファクタリング提案
既存コードの改善提案を得るコマンドも有用です。
.claude/commands/refactor.md
:
現在のコードを分析し、リファクタリング提案を行ってください。
## 分析観点
### 特に改善が必要な箇所
- 重複コード
- 長すぎるメソッド
- 過度に複雑な条件分岐
- 不適切な命名
### 設計パターンの適用
- 適用可能なデザインパターン
- SOLID原則への準拠度
- 疎結合・高凝集の実現
### 具体的な改善手順
1. 優先順位付きの改善リスト
2. 各改善の影響範囲
3. 段階的な実装アプローチ
破壊的変更を最小限に抑えながら、コード品質を向上させる提案をしてください。
応用編:GitHub連携による開発フロー自動化
ちょっと高度な使い方として、GitHub CLIとClaude Codeを連携させることで、開発フローを大幅に効率化できます。
GitHub CLIは、GitHubの機能をコマンドラインから操作できるツールです。
組み合わせることで、特に実務においてはかなり効率がアップしましたので紹介させてください。
準備:GitHub CLIのセットアップ
まず、GitHub CLIをインストールして認証を済ませておきます。
brew install gh
winget install --id GitHub.cli
認証設定:
Issue駆動開発の自動化
.claude/commands/issue-start.md
:
GitHub Issue #$ARGUMENTS の内容を確認し、実装を開始してください。
以下の手順で進めてください:
1. Issueの内容を読み込む
```bash
gh issue view $ARGUMENTS
-
要件と完了条件を整理
-
実装方針の提案
-
段階的な実装計画の作成
-
実装開始
Issueに書かれた要件を正確に理解し、過不足なく実装してください。
使い方:
```bash
/issue-start 123
これで、Issue #123の内容を自動的に読み込んで、Claude Codeが実装を開始します。
レビューコメントへの対応
個人的に一番気に入っているカスタムコマンドです。
.claude/commands/pr-review-respond.md
:
PR #$ARGUMENTS のレビューコメントのうち、GitHub CLIを用いて未解決なものを確認し、対応してください。
手順:
1. 未解決のレビューコメントを取得
2. 各コメントについて:
- コメントの妥当性を評価
- 妥当な指摘であれば、実装を修正
- 議論が必要な場合は、その旨を説明
3. 必要に応じてテストも更新
レビューコメントの意図を正確に理解し、適切に対応してください。
コメントの内容を読み込んで、Claude Codeが適切な対応を提案・実装してくれます。
ただし、レビューコメントは必ず自分で咀嚼・理解してから修正させることをおすすめします。
PR作成支援
.claude/commands/pr-create.md
:
現在のブランチの変更内容を確認し、GitHub CLIを使ってPR作成を支援してください。
1. git diff を使って変更内容を確認
2. PR説明文の生成
以下の項目を含めてください:
- 変更の概要
- 変更の理由/背景
- 主な変更点(箇条書き)
- テスト方法
- 関連Issue
3. PRの作成
わかりやすく、レビュアーが理解しやすい説明文を作成してください。
まとめ
Claude Codeのカスタムコマンドは、開発効率を大幅に向上させる強力な機能です。
仕組みはシンプルで、.claude/commands/
ディレクトリにマークダウンファイルを置くだけ。
品質チェックの自動化により、レビュー指摘を事前に発見し、問題を早期に修正できます。
GitHub CLIとの連携で、Issue駆動開発からPRレビュー対応まで、開発フロー全体を効率化できます。
まずは簡単なコマンドから始めて、徐々に自分の開発スタイルに合わせてカスタマイズしていきましょう。
使い込んでいくうちに、なくてはならない存在になるはずです。
今回ご紹介したコマンドを参考に、ぜひプロジェクトに最適化されたカスタムコマンドセットを作ってみてください。
開発の質とスピードの両方を向上させることができるはずです!
Views: 0