Slash Commands (スラッシュコマンド)
重要キーワード (3 語)
Slash Command
(スラッシュコマンド)
— / で始まる定型タスク呼び出し
Frontmatter
(フロントマター)
— Markdown 冒頭の YAML メタデータ
$ARGUMENTS
(引数変数)
— コマンド呼び出し時の引数を展開する変数
Slash Commands
/ で始まるコマンドで、よく使うタスクをショートカット化できます。
組み込みコマンド (一部)
| コマンド | 機能 |
|---|---|
/help |
ヘルプ |
/clear |
コンテキストクリア |
/model |
モデル切替 |
/init |
CLAUDE.md 雛形生成 |
/review |
PR レビュー |
/security-review |
セキュリティ観点でのレビュー |
/config |
設定 |
/agents |
サブエージェント一覧 |
/permissions |
権限ルール編集 |
/cost |
セッションのトークン消費表示 |
/compact |
会話の要約圧縮 |
カスタムコマンド
.claude/commands/<name>.md を作るだけで自分の slash command を定義できます。
例: .claude/commands/test.md
---
description: プロジェクトの全テストを実行する
---
このプロジェクトの自動テストを実行し、失敗があれば原因を分析してください。
- Python: `pytest -q`
- Node: `npm test`
失敗したテスト名と原因の要約を箇条書きでまとめてください。
$ARGUMENTS
引数を受け取れます。
---
description: 指定したファイルを要約
---
@$ARGUMENTS の内容を 5 行で要約してください。
呼び出し:
/summarize src/server.py
階層
~/.claude/commands/...ユーザーグローバル<repo>/.claude/commands/...プロジェクト固有
チームでカスタムコマンドを共有するなら、リポジトリにコミットしましょう。
よく使われる自作コマンド例
| コマンド | 用途 |
|---|---|
/lint-fix |
フォーマッタ + 自動修正 + テスト |
/changelog |
直前のコミット群から CHANGELOG エントリを生成 |
/migrate-test |
DB マイグレーションのテスト |
/triage |
直近の Issues を優先度順にトリアージ |
/release-notes |
リリースノートを下書き |
Frontmatter の主な項目
---
description: コマンドの説明 (必須)
allowed-tools: Read, Edit, Bash # 利用可能ツールを限定 (任意)
argument-hint: <file path> # 引数のヒント (任意)
---
Plugin としての配布
カスタムコマンド・スキル・MCP を一括配布する Plugin という仕組みもあります。
GitHub に公開して、claude plugin install <user>/<repo> のように受講者全員に配るのに便利。
実用例: 5 つの自作コマンド完全版
すぐコピペで使える 本格的な自作コマンド集。.claude/commands/ に置くだけで動きます。
① /review — git diff レビュー
.claude/commands/review.md
---
description: 現在の git diff をレビューし、問題点と改善提案を出す
allowed-tools: Bash, Read, Grep
---
現在のブランチの未コミット変更 (`git diff`) と、main からの差分 (`git diff main...HEAD`) をレビューしてください。
## レビュー観点
1. **バグの可能性** - off-by-one、null チェック漏れ、例外処理の抜け
2. **セキュリティ** - SQL injection、XSS、シークレットのハードコーディング
3. **パフォーマンス** - N+1 クエリ、不要なループ、巨大コピー
4. **可読性** - 命名、関数の長さ、コメントの過不足
5. **テスト** - 変更箇所に対応するテストが追加されているか
## 出力フォーマット
- 🔴 Critical: 必ず直すべき
- 🟡 Warning: 直したほうが良い
- 🟢 Nit: 好み・スタイル
- ✅ Good: 褒めるべき改善点
各指摘にファイル名と行番号 (`file:line` 形式) を必ず添えてください。
呼び出し: /review
② /ship — テスト → コミット → push の連鎖
.claude/commands/ship.md
---
description: テスト→コミット→push を自動化 (失敗時は中断)
allowed-tools: Bash, Read, Edit
argument-hint: <commit message>
---
以下を順に実行してください。**いずれかが失敗したら即座に停止し、原因を報告**してください。
1. `git status` で現在の変更を確認
2. `pytest -q` (Python) または `npm test` (Node) でテスト実行
3. `ruff check` または `eslint .` で lint
4. すべて緑なら `git add -A && git commit -m "$ARGUMENTS"`
5. `git push origin HEAD` で push
6. もし PR がまだなら `gh pr create --fill` で PR 作成
## 中断時の対応
- テスト失敗: 失敗テスト名と原因を報告し、修正提案
- lint 失敗: ファイル名と違反内容を報告
- コミット拒否 (pre-commit hook): フックの出力を要約
途中で中断する時は **絶対に push しない**。
呼び出し: /ship feat: add OAuth login
③ /debug — エラー再現と原因特定
.claude/commands/debug.md
---
description: エラーログから再現手順と原因を特定
allowed-tools: Read, Grep, Glob, Bash
argument-hint: <エラーメッセージ or ログファイルパス>
---
ユーザーが提示するエラー: $ARGUMENTS
## 手順
1. **エラーから関連ファイルを推定** (スタックトレース・キーワードを Grep)
2. **関連コードを Read** して現状を把握
3. **再現スクリプト** を作成 (`scripts/repro_<日付>.sh` 等の使い捨て)
4. **再現を実行** して挙動を確認
5. **根本原因を仮説** (3 つ程度)
6. **修正案** を提示 (パッチではなく、変更すべき箇所と理由)
修正は **適用しないこと**。原因特定だけが仕事。
適用するかは人が判断する。
呼び出し: /debug TypeError: Cannot read property 'name' of undefined at user.js:42
④ /cleanup — 削除候補のスキャン
.claude/commands/cleanup.md
---
description: 未使用コード・依存・ファイルの候補をスキャン
allowed-tools: Bash, Read, Grep, Glob
---
このリポジトリから **削除候補** をスキャンしてください。
## チェック項目
1. **未使用 import** (Python: `ruff check --select F401`, JS: `eslint --rule no-unused-vars`)
2. **未使用関数/変数** (定義されているが参照ゼロ)
3. **未使用ファイル** (どこからも import/require されていない)
4. **重複コード** (3 箇所以上で似たロジック)
5. **古い TODO/FIXME** (3 ヶ月以上前の git blame)
6. **重複依存** (package.json / requirements.txt に同種ライブラリ)
7. **使われていない環境変数** (.env.example にあるが参照なし)
## 出力
| カテゴリ | パス | 提案 | リスク (高/中/低) |
**勝手に削除しないこと**。レポートのみ。
呼び出し: /cleanup
⑤ /explain — コード解説
.claude/commands/explain.md
---
description: 指定ファイルを初心者向けに解説
allowed-tools: Read
argument-hint: <file path>
---
@$ARGUMENTS を読み、**プログラミング 1 年目の人** が理解できる粒度で解説してください。
## 構成
1. **このファイルの役割** (1〜2 行で)
2. **全体のフロー** (時系列の箇条書き)
3. **重要な関数 3 つ** をピックアップして詳細解説
4. **使われている設計パターン** があれば名前と理由
5. **読むときの注意点** (落とし穴・前提知識)
6. **関連ファイル** (一緒に読むと理解が進むファイル)
専門用語は初出時にカッコで日本語訳。コード断片を引用するときは `file:line` を添える。
呼び出し: /explain src/auth/oauth.py
コマンド設計 4 原則
- 動詞 + 目的が一目で分かる名前 (
/review◎ vs/check△) - allowed-tools で最小権限 (Read だけで済むものに Bash を渡さない)
- 出力フォーマットを明示 (絵文字・表・優先度ラベル)
- 「やってはいけないこと」を書く (
/debugの「修正は適用しない」など)
💡 自分が 週 3 回以上打つフレーズ は Slash Command 化すると劇的に速くなります。