Claude codeにはスラッシュコマンドという / で始まるコマンドを定義できる機能がある。スラッシュコマンドを使うことで事前に定義したプロンプトをテンプレートとして呼び出せるため、繰り返し行う作業や定型タスクを効率化を図れる。
スラッシュコマンドは、~/.claude/commandsディレクトリ以下に command_name.md として作成することで自作できる。ファイル名がコマンドとなるので、実行時は/command_nameとする。
1ヶ月半ほどClaude codeと共にバイブコーディングをして基本的な使い方に慣れたので、最適な設定やスラッシュコマンドの活用法を試行錯誤している。最近、試験的に定義したスラッシュコマンドを紹介する。
レビュー
Claude codeには、/review が既に定義されているがレビュー結果の温度感がわかりにくい不満があったので自前でPRのレビューを行うコマンドを定義した。
工夫したポイントは、はじめにマージ可否の判断をしていること。レビュー観点を書き並べたほうが適切かもしれないが、今回はAIの回答を絞らないためにペルソナを与えるに留めた。
PRのレビューをしてください。
あなたは、非常に経験豊富なソフトウェアエンジニアとして、Pull Request をレビューしてください。
初めにマージ可否の立場を明確に表明してください。
指摘の際は、対応の温度感を伸べてください。
PRの作成、更新
次は、カレントブランチのPRを作成するコマンドを定義した。mainブランチにいたら新しくブランチを切ってからPR作成をするようにして、mainブランチのままpushしてしまわないようにした。英語にしたのは、日本語より指示に添いやすいと聞いたからだが、効果があるかはわからない。
Pull Request を作成、更新してください。
# Work Plan
If you run this command on the main branch, please create a new branch, commit, and push it before creating the PR.
If a review already exists for the current branch, please update the PR title and content.
If not, please add a new PR.
If .github/PULL_REQUEST_TEMPLATE.md is not available, please write your description according to the following rules:
At the beginning of the description, please include a few lines about the changes you made in the PR.
Then, write in more detail.
If there is anything that was not done in the PR, please list it as TODO.
# Restrictions
- Please write in Japanese.
- Please write your PR content according to .github/PULL_REQUEST_TEMPLATE.md, if available.
作られたPRの説明が整理しきれていないので、例を示したり、巨大なPRになっていたら分割を検討させるプロンプトを含めると、より好ましい応答になるかもしれない。
ペルソナの呼び出し
「あなたは熟練のソフトウェアエンジニアです」のようにAIへの指示でペルソナを定義すると思考を要する指示でより良い回答が得られやすい。タスクに合わせて毎回タイプするのは手間なので、ペルソナを楽に呼び出すコマンドを実験的に定義した。同僚との会話で思いついたジャストアイディアだが、実用的だと思う。
あなたは経験豊富で熟練したWebアプリケーションエンジニアです. $ARGUMENTS
次のように利用する。
/engineer Googleアカウント連携を使ったログイン機能を実装したい。実装計画を立ててください。
ペルソナの定義が非常に簡潔で余白を持っているので、「常に結論から話し始める」などの振る舞いの仕方も方向づけるなどすると応答が安定して改善できるかもしれない。
POやiOSアプリエンジニアなどのペルソナも同様に定義した。
POのペルソナは、プロトタイピングをするときに追加機能がコアコンセプトに沿っているかを判断する時の壁打ちに利用している。ただし、POとして振る舞えといってもAIはサービスが提供する価値が何かを知らないので、コアコンセプトを纏めたドキュメントを元に回答させている。AIによるPOの話題は、スクラムマスター研修でもあった。
tomato3713.hatenablog.com
その他のスラッシュコマンドにしたい作業
- PRの分割
- 不具合の原因調査、修正
- 実装調査
- ドキュメントの作成
まとめ
簡単なスラッシュコマンドを定義するだけでも作業の手間を大きく減らせた。
スラッシュコマンドにすると定型作業にAIの先導を受けられるので、頭をあまり使わずに進められる点が心地よかった。