Claude Codeでは、カスタムコマンド(スラッシュコマンド)を作成して、よく使う操作を効率化できます。この記事では、カスタムコマンドの基本から実践的な活用方法まで解説します。
はじめに
Claude Codeは、Anthropic社が提供するAI駆動の開発支援ツールです。その中でも特に便利な機能の一つが「カスタムコマンド」です。スラッシュコマンドとして使えるこの機能により、繰り返し行う作業を簡単に自動化できます。
カスタムコマンドとは
カスタムコマンドは、Markdownファイルとして定義される再利用可能なプロンプトです。/で始まるコマンドとして実行でき、以下のような特徴があります:
- 簡単な作成:Markdownファイルを作るだけ
- 柔軟な拡張:引数、Bashコマンド、ファイル参照に対応
- スコープ管理:プロジェクト単位またはユーザー単位で管理可能
基本的な使い方
1. ディレクトリ構成
カスタムコマンドは以下の場所に保存します:
1 | プロジェクト単位: .claude/commands/ |
2. シンプルなコマンドの作成
最も基本的なコマンドの例です:
1 | # ディレクトリ作成 |
使用方法: 1
/test
3. 引数を使ったコマンド
$ARGUMENTSを使って引数を受け取れます:
1 | echo 'Issue #$ARGUMENTS を修正してください。' > .claude/commands/fix-issue.md |
使用方法: 1
/fix-issue 123
高度な機能
1. Bashコマンドの実行
!記号を使ってBashコマンドを実行し、その結果を含められます:
1 | 現在のブランチ: !`git branch --show-current` |
2. ファイル参照
@記号でファイルの内容を参照できます:
1 | @src/main.js のコードをレビューしてください。 |
3. frontmatterによる詳細設定
より高度な設定が必要な場合は、frontmatterを使用します:
1 | --- |
実践的な活用例
Hexoブログ用カスタムコマンド
このブログ(Hexo製)で実際に使っているコマンドを紹介します。
1.
新規記事作成(.claude/commands/new-post.md)
1 | --- |
2.
ビルド&プレビュー(.claude/commands/preview.md)
1 | --- |
3.
記事レビュー(.claude/commands/review-post.md)
1 | --- |
4.
画像最適化(.claude/commands/optimize-images.md)
1 | --- |
ベストプラクティス
1. 命名規則
- わかりやすい名前を使う
- ハイフンで単語を区切る(
fix-issue.md) - 動詞から始める(
create-,review-,test-)
2. ディレクトリ構成
カテゴリごとにサブディレクトリを作成:
1 | .claude/commands/ |
3. バージョン管理
.claude/commands/をGitリポジトリに含めることで: -
チーム全体でコマンドを共有 - コマンドの変更履歴を追跡 -
プロジェクト固有の作業フローを標準化
4. セキュリティ考慮事項
- センシティブな情報をコマンドに含めない
allowed-toolsで許可するツールを制限- 外部コマンドの実行は慎重に
トラブルシューティング
コマンドが認識されない
- ファイルパスを確認:
.claude/commands/に配置されているか - ファイル拡張子:
.mdで終わっているか - Claude Codeを再起動してみる
引数が渡されない
$ARGUMENTSのスペルを確認- 引数に空白が含まれる場合は引用符で囲む
Bashコマンドが実行されない
- バッククォートで囲まれているか確認:
!`command` - コマンドの権限を確認
まとめ
Claude Codeのカスタムコマンドは、開発ワークフローを大幅に効率化できる強力な機能です。基本的なテキストコマンドから、Bashコマンドやファイル参照を組み合わせた高度なコマンドまで、様々な用途に対応できます。
プロジェクトの特性に合わせてカスタムコマンドを作成し、チームで共有することで、一貫性のある効率的な開発環境を構築できるでしょう。