Claude Codeで自分専用のカスタムコマンドを作成する方法を解説

AI

Claude Codeには、自分専用のカスタムコマンドを簡単に作成できる機能があります。

Markdownファイルを作成するだけで、複雑な作業を一つのコマンドにまとめることができます。例えば、git addcommitpushの一連の操作や、コードのリント・フォーマットなど、日常的に行う繰り返し作業を大幅に効率化できます。

プログラミング知識は一切不要で、自然言語でやりたいことを記述するだけで動作するため、誰でも手軽に活用できます。

カスタムコマンドの3つのメリット

1. 自分専用の処理を定義できる

開発スタイルやプロジェクトに特化した処理を自由に定義できます。特定のファイル構成でのコード生成や、プロジェクト固有の設定ファイル更新など、標準機能では対応が難しい細かな要求にも柔軟に対応できます。

2. 複数の処理を一つにまとめられる

複数のタスクを一つのコマンドにまとめることで、作業効率が大幅に向上します。コードの修正からテスト実行、フォーマット、コミット、プッシュまでの一連の流れを自動化できるため、手作業によるミスを防ぎ、開発フローを標準化できます。

3. チーム内で簡単に共有できる

作成したカスタムコマンドはMarkdownファイルとして保存されるため、チーム内での共有が非常に簡単です。プロジェクトのリポジトリに含めることで、チーム全体が同じコマンドを使用でき、開発プロセスの統一と知識共有を実現できます。

カスタムコマンドの作成手順

カスタムコマンドは3つのステップで簡単に作成できます。

1. コマンドディレクトリを作成する

プロジェクトのルートディレクトリに.claudeフォルダを作成し、その中にcommandsフォルダを作成します。

your-project/
├── .claude/
│   └── commands/
└─── src/

2. コマンド用のMarkdownファイルを作成する

.claude/commands/ディレクトリ内に、コマンド名と同じ名前のMarkdownファイルを作成します。例えば、hello.mdというファイルを作成すると、/helloコマンドとして使用できます。

Markdownファイル内には、Claude Codeに実行してもらいたい処理を自然言語で記述します。$ARGUMENTS変数を使用することで、コマンド実行時の引数を受け取ることも可能です。

# 挨拶コマンド

$ARGUMENTSで指定された名前に対して、丁寧に挨拶をしてください。

引数が指定されていない場合は「こんにちは」と挨拶してください。

3. カスタムコマンドを実行する

作成したカスタムコマンドは、Claude Codeで/コマンド名の形式で実行できます。

/hello 太郎

上記のように実行すると、hello.mdに記述された処理が実行され、$ARGUMENTSには太郎が渡されます。

実行例:

> /hello
こんにちは

> /hello 太郎
太郎さん、こんにちは!お疲れ様です。

実践的なカスタムコマンド例

Git操作を自動化するコマンド

一連のGit操作(add、commit、push)を一つのコマンドで実行できます。コミットメッセージを引数として受け取り、効率的にコードをリモートリポジトリへ反映できます。

.claude/commands/gitpush.mdの内容:

# Git Add, Commit, Push コマンド

以下の手順でGit操作を実行してください:

1. `git add .` ですべての変更をステージング
2. `git commit -m "$ARGUMENTS"` で引数をコミットメッセージとしてコミット
3. `git push` でリモートリポジトリにプッシュ

引数が指定されていない場合は "Update files" をコミットメッセージとして使用してください。

各ステップで エラーが発生した場合は、適切なエラーメッセージを表示して処理を停止してください。

使用方法:

/gitpush "feat: ユーザー認証機能を追加"

コード品質チェックコマンド

Pythonコードのリントと自動修正を一括で行うコマンドです。flake8によるコードチェックとblackによる自動フォーマットを組み合わせ、コード品質を効率的に向上させます。

.claude/commands/lintfix.mdの内容:

# Python Lint & Fix コマンド

以下の手順でPythonコードのリントと修正を実行してください:

1. `flake8 .` でコードスタイルをチェック
2. `black .` でコードを自動フォーマット
3. `isort .` でimport文を整理
4. 再度 `flake8 .` でエラーが解決されたか確認

$ARGUMENTSでディレクトリが指定されている場合は、そのディレクトリに対して実行してください。
指定されていない場合は、カレントディレクトリ全体に対して実行してください。

使用方法:

/lintfix src/

まとめ

Claude Codeのカスタムコマンドは、Markdownファイルを作成するだけで自分専用のコマンドを簡単に作成できる強力な機能です。

重要なポイント:

  • .claude/commands/ディレクトリにMarkdownファイルを配置するだけの簡単設定
  • プログラミング知識不要で自然言語による直感的な記述が可能
  • $ARGUMENTS変数により柔軟な引数処理に対応
  • Markdownファイルなのでチーム内での共有・管理が容易

日常的に行う繰り返し作業や複雑なワークフローを一つのコマンドにまとめることで、開発効率を劇的に向上させることができます。ぜひ自分の開発スタイルに合わせたカスタムコマンドを作成し、Claude Codeをより効果的に活用してください。

タイトルとURLをコピーしました