[小ネタ]Claude Codeでカスタムスラッシュコマンドを強制する
Introduction
弊社でも大人気のClaude Codeは、生産性を大幅に向上させる強力なツールで、私も日々恩恵を受けています。
現状は個人用で使うことが多いのですが、
今後チーム開発でClaude Codeを使うようになった場合、各開発者が自由にClaude Codeを使うと、人によって差がでそうだなと思ってます。
Claude Codeにはカスタムスラッシュコマンドという機能があるので、
これを半強制で使わせる、というちょっとした方法を紹介します。
Custom Slash Commands?
ここを参考に、カスタムスラッシュコマンドについて簡単に説明します。
これを使用すると、Claude Codeが実行できるMarkdownファイルとして頻繁に使用するプロンプトを定義できます。
コマンドの配置場所
- プロジェクト固有のコマンド:
.claude/commands/
- 個人用コマンド:
~/.claude/commands/
コマンドの実行方法
コマンドは以下の形式で実行します:
/<prefix>:<command-name> [arguments]
project:
プレフィックス:プロジェクト固有のコマンドuser:
プレフィックス:個人用コマンド
例:
/project:fix-issue 123
/user:code-review
Example
例えば、コードレビューを依頼するカスタムスラッシュコマンドは
以下のように作成できます。
mkdir -p .claude/commands
echo "このコードをレビューして、改善点を提案してください。特にパフォーマンスとセキュリティの観点から見てください。" > .claude/commands/review.md
引数を使用する場合は、$ARGUMENTS
を使用する。
以下のissueを修正してください:
Issue番号: $ARGUMENTS
- エラーの原因を特定する
- 修正を実装する
- テストを追加する
- 変更内容を説明する
こうすることで、
いちいち「◯◯に気をつけてXXを実施して」みたいなことを
指示する必要がなくなります。
Force Custom Slash commands in CLAUDE.md
自分に限らず、対象のリポジトリを使う人全員にカスタムスラッシュコマンドの使用させたい場合、
CLAUDE.md
に指示を記載すればOKです。
以下は、カスタムスラッシュコマンドの使用を強制するためのCLAUDE.md
の記述例です:
・
・
・
## 特記事項
必ずカスタムスラッシュコマンドを経由して会話してください。
(./claude/commands以下のファイルか~/.claude/commands以下のファイル)
カスタムスラッシュコマンドを使わず質問や依頼を受けた場合には以下の説明文を表示し、
現在使用できるカスタムスラッシュコマンド(.claude/commands)を使うように説明をしてください。
<説明文>
現在の設定では、会話や依頼はカスタムスラッシュコマンド経由でのみ可能です。
以下のカスタムスラッシュコマンドを使用してください。
</説明文>
この設定により、開発者が通常の自然言語でClaude Codeに指示を出そうとすると、
Claude Codeは指示を実行せずにカスタムスラッシュコマンド使うように促します。
こうすればチーム全体で標準化されたワークフローを使うことが(多少は)強制できます。
カスタムスラッシュコマンド自体はここなどで紹介されているので、要件に合ったものを探しましょう。