カスタムコマンドとスキルとは

毎回同じ指示を書くのが面倒なんだけど…

カスタムコマンドを作れば、よく使う指示をスラッシュコマンドで一発呼び出しできるよ。たとえば「/review」と打つだけでコードレビューをしてくれるようになるんだ。
カスタムコマンド(スキル)は、よく使うプロンプトをMarkdownファイルとして保存し、スラッシュコマンドで呼び出せるようにする機能。Claude Codeのスキルシステムに統合されており、以前の `.claude/commands/` 形式も引き続きサポートされている。
他の上級機能については上級者ガイドを参照してほしい。
カスタムコマンドの作り方

どうやって作るの?

Markdownファイルを作って決まったフォルダに置くだけだよ。ファイル名がそのままコマンド名になるんだ。
基本的な手順
- Markdownファイルを作成する
- 所定のディレクトリに配置する
- `/ファイル名` で呼び出す
配置場所
| 配置場所 | 適用範囲 | 呼び出し例 |
|---|---|---|
| .claude/commands/review.md | プロジェクト固有 | /review |
| .claude/skills/test.md | プロジェクト固有 | /test |
| ~/.claude/commands/review.md | 全プロジェクト共通 | /review |
| ~/.claude/skills/test.md | 全プロジェクト共通 | /test |
commands/ と skills/ の両方が使えるが、2026年現在はskills/ への統合が進んでいる。どちらに置いても動作は同じだ。
最もシンプルな例
`.claude/commands/review.md` を作成する。
ステージングされた変更をレビューしてください。
セキュリティ、パフォーマンス、エラーハンドリングの観点でチェックし、
問題があれば修正案を提示してください。
これで `/review` と入力するだけでコードレビューが実行される。
スキルのフロントマター

もっと細かい設定ってできないの?

フロントマター(YAMLヘッダー)を使うと、説明文やツール制限などの設定ができるよ。
---
name: コードレビュー
description: ステージングされた変更をレビューする
allowed_tools:
- Read
- Grep
- Glob
- Bash(git diff:*)
---
ステージングされた変更をレビューしてください。
以下の観点でチェックしてください:
- セキュリティ上の脆弱性
- パフォーマンスの問題
- エラーハンドリングの漏れ
- テストカバレッジの不足
問題があれば、重要度(高/中/低)と具体的な修正案を提示してください。
フロントマターの主な設定
| フィールド | 説明 |
|---|---|
| name | コマンドの表示名 |
| description | 説明(コマンド一覧に表示される) |
| allowed_tools | 使用可能なツールを制限 |
allowed_toolsを設定すると、そのコマンド実行中にClaude Codeが使えるツールを限定できる。レビュー用コマンドでは読み取り系ツールだけに制限するといった使い方が可能だ。
実践テンプレート集

よく使われるカスタムコマンドのテンプレートを紹介するね。
コードレビュー(/review)
---
name: コードレビュー
description: git diffの変更をレビューする
---
現在のステージングされた変更(git diff --cached)をレビューしてください。
チェック項目:
1. セキュリティ:SQLインジェクション、XSS、認証バイパスなど
2. パフォーマンス:N+1クエリ、不要なループ、メモリリーク
3. エラーハンドリング:例外の握りつぶし、エラーメッセージの不足
4. テスト:新機能のテストカバレッジ
5. 命名:変数名・関数名が意図を正しく表現しているか
結果をマークダウンテーブルで出力してください:
| ファイル | 行 | 重要度 | 指摘内容 | 修正案 |
テスト作成(/test)
---
name: テスト生成
description: 指定ファイルのユニットテストを生成する
---
$ARGUMENTSで指定されたファイルのユニットテストを作成してください。
ルール:
- 既存のテストファイルがあれば、そのスタイルに合わせる
- 正常系、異常系、境界値の3パターンを最低限カバー
- モックは最小限にし、なるべく実際の動作をテストする
- テスト名は「日本語で何をテストしているか」が分かる命名にする
- テスト作成後、実行して全パスすることを確認する
$ARGUMENTS は、コマンド呼び出し時の引数が入る変数。/test src/utils/validator.ts のように使える。
コミットメッセージ生成(/commit)
---
name: コミット
description: 変更内容を分析してコミットする
---
以下の手順でコミットしてください。
1. git diff と git status で変更内容を確認
2. 変更の種類を判断(feat/fix/refactor/docs/test/chore)
3. 日本語で簡潔なコミットメッセージを作成
4. git add で関連ファイルをステージング(.envや認証情報は除外)
5. git commit を実行
コミットメッセージの形式:
種類: 変更内容の要約(50文字以内)
ドキュメント生成(/docs)
---
name: ドキュメント生成
description: 指定ファイルのドキュメントを生成する
---
$ARGUMENTSで指定されたファイルを分析し、以下を含むドキュメントを生成してください。
- 概要:このファイルの責務
- 公開関数/メソッドの一覧と説明
- 依存関係
- 使用例
出力先は同ディレクトリのREADME.mdとしてください。
調査(/investigate)
---
name: 調査
description: コードベースを調査して結果をまとめる
allowed_tools:
- Read
- Grep
- Glob
- Bash(git log:*)
- Bash(git blame:*)
---
$ARGUMENTSについて、コードベースを調査してください。
- Glob と Grep で関連ファイルを検索
- コードを読んで実装の詳細を分析
- git log / git blame で変更履歴を確認
結果は以下の形式でまとめてください:
- 関連ファイル一覧(パスと行番号付き)
- 実装の概要
- 依存関係
- 注意点や技術的負債
コマンドの書き方のコツ

効果的なコマンドを書くコツってある?

いくつかポイントがあるよ。
指示的に書く
スキルは「会話」ではなく「指示」として書く。命令形の動詞を使い、「レビューしてください」「テストを作成してください」のように記述する。
出力形式を指定する
Claude Codeの出力形式を明示的に指定すると、結果の一貫性が上がる。テーブル、箇条書き、コードブロックなど、望む形式を具体的に書く。
ツールを制限する
読み取り専用の操作(レビュー、調査など)では、allowed_toolsで書き込み系ツールを除外すると安全性が高まる。
引数を活用する
`$ARGUMENTS` を使うことで、汎用的なコマンドを作れる。ファイル名、キーワード、オプションなどを引数として渡せる。
コマンド一覧の確認
Claude Code上で `/` と入力すると、利用可能なスラッシュコマンドの一覧が表示される。カスタムコマンドもここに表示されるため、チームメンバーが利用可能なコマンドを簡単に確認できる。
まとめ
カスタムコマンド(スキル)は、繰り返し作業を効率化する強力な機能。主なポイントは以下の通り。
- Markdownファイルを配置するだけで作成可能
- フロントマターでツール制限や説明を追加できる
- $ARGUMENTSで引数を受け取れる
- レビュー、テスト生成、コミットなど、日常的な操作のテンプレートが有用
- 指示的な文体で、出力形式を明示するのが効果的
まずはコードレビューやコミットなど、毎日使う操作からカスタムコマンド化していくのが良いだろう。


コメント