入門

カスタムスラッシュコマンドを作成する

.claude/commands/ に Markdown ファイルを置いて、よく使うプロンプトをコマンド化する方法

解決の目安約5分
最終確認

確認済みバージョン

Claude Code 2.1.220
Claude Code

必須: Claude Code

commandsproductivityautomation

症状・対象

毎回同じレビュー観点や検証手順を入力している人が対象です。プロジェクト共有の .claude/commands/ に、読み取り専用の小さな command から追加します。

最短解決

  1. .claude/commands/review-file.md を作る。
  2. 引数、利用可能ツール、出力形式を明記する。
  3. /review-file <path> を実行し、指定外のファイルを変更しないことを確認する。

コピペ例

.claude/commands/review-file.md:

---
description: "指定ファイルを読み取り専用でレビューする"
argument-hint: "<file-path>"
allowed-tools: ["Read", "Grep", "Glob"]
---

`$1` をレビューしてください。

制約:

- ファイルを変更しない
- correctness、security、missing tests だけを見る
- 各指摘を `severity | file:line | reason | next action` で返す
- 根拠がなければ「指摘なし」と返す

呼び出します。

> /review-file src/auth/login.ts

複数の引数をまとめて使う場合は $ARGUMENTS、位置で分ける場合は $1、$2 を使います。

期待結果

  • /review-file が command 補完に現れる。
  • 指定ファイルだけを読み、決めた形式で指摘を返す。
  • Write / Edit が許可されていないため、レビュー中に変更しない。

検証

実行前後の差分を比較します。

git status --short

出力に severity、file:line、reason、next action があることも確認します。command が見えない場合は /help と /doctor で読み込みエラーを確認します。

落とし穴

  • ! で始まる事前 Bash は、モデルが回答する前に実行されます。外部入力をそのまま shell へ渡しません。
  • $ARGUMENTS を破壊的コマンドへ埋め込まないでください。引数はプロンプト上の対象指定に留めます。
  • 個人用 command はユーザー scope、チーム規約は project scope に置きます。
  • allowed-tools を省略するとセッション権限を継承します。用途に必要なツールだけ列挙します。

次の一手

関連コンテンツ