Claude Code スラッシュコマンド & スキル完全ガイド|カスタムコマンドの作り方も解説

夕宮たいだ

ふぁ……みんな〜、今度はスラッシュコマンドとカスタムコマンド(スキル)の完全ガイドだよぉ。これ覚えると作業がいっきにラクになるよぉ。

本記事では、Claude Code のスラッシュコマンドと、自作のカスタムコマンド/スキルを体系的に解説します。組み込みコマンドの使いこなしから、自分用スキルの作り方、設計のコツ、コピペで使える実践例まで網羅した内容です。

スラッシュコマンド、カスタムコマンド、Skillsの関係を示す図
図1:スラッシュコマンドとSkillsで作業を再利用する
目次

📌 この記事で身につくこと

  • 組み込みスラッシュコマンド(100種類超)の使いこなし
  • バンドルスキル/batch/debug/simplify等)の活用
  • 自分用カスタムコマンド/スキルの作り方
  • 効果的な Skill 設計の5つのコツ
  • コピペで使える実践 Skill 例 5種

💡 スラッシュコマンドとは何か

スラッシュコマンドとは、Claude Code のセッション中に / から始めて入力する特別なショートカットコマンドです。会話のなかで「ちょっとモデルを切り替えたい」「会話履歴をリセットしたい」「決まったプロンプトを呼び出したい」といった操作を、短く打つだけで実行できます。

スラッシュコマンドには、大きく分けて3種類あります。

  • 組み込みコマンド/help/clear/compact 等、最初から使える100種類以上のコマンド。一部は「バンドルスキル」と呼ばれる便利機能
  • カスタムコマンド/スキル:自分でつくる独自コマンド。/review-pr のように好きなプロンプトを呼び出せる
  • MCPコマンドMCPで接続した外部ツールの操作(/slack:send 等の /mcp__<server>__<prompt> 形式)
夕宮たいだ

ほよ?セッション中に / だけ打つと利用可能な全コマンドが一覧で出てくるよぉ。組み込みもカスタムも MCP もぜんぶ表示されるから、迷ったらまずそれを試してねぇ。


🧰 PART 1:組み込みコマンドを使いこなす

標準コマンドだけでも使いこなせると、作業効率がぐっと上がります。すべてを覚える必要はありませんが、用途別の主要なものは押さえておきましょう。

セッション管理系

コマンド機能
/help全コマンドのヘルプ一覧を表示
/clear会話履歴をクリアして新規セッション
/compact長くなった会話を要約してコンテキストを圧縮
/rewind会話を前の状態に巻き戻す(チェックポイント機能)
/resume過去のセッション一覧から再開
/branch会話を分岐させる(その地点から枝分かれ)
/exitセッション終了

/compact は特に重要です。長時間作業して反応が遅くなってきたときに使うと、Claude Code がコンテキストをきれいにして、応答速度が大きく改善します。

設定・確認系

コマンド機能
/status現在のモデル・モード・ディレクトリ・接続状態を表示
/modelモデル切り替え(Opus / Sonnet / Haiku)
/permissions許可ルール(allow/ask/deny)の確認・編集
/memoryCLAUDE.md と Auto Memory の管理
/hooks登録済みフックの確認
/mcpMCP サーバー接続管理
/skills利用可能なスキル一覧を表示
/agentsサブエージェント設定の管理

開発支援系

コマンド機能
/initプロジェクト用の CLAUDE.md を自動生成
/plan [説明]プランモードに入って実装計画を立てる
/review [PR]プルリクエストをローカルでレビュー
/security-review現在のブランチの変更をセキュリティ観点でレビュー
/diff未コミット変更とターン別の差分を対話的に確認
/copy [N]直近N番目のClaude応答をクリップボードにコピー

🌟 強力なバンドルスキル(公式提供の特殊コマンド)

組み込みコマンドのなかには、「バンドルスキル」(Claude Code に最初から同梱されている公式スキル群)と呼ばれる特殊な種類があります。これらは固定ロジックではなく、Claude にプレイブック(playbook:「手順書」「台本」の意。やるべき手順を自然言語で書き起こした指示書)を渡して自律的に作業させる仕組みで、複雑な作業をワンコマンドで丸投げできます。

コマンド機能
/batch <指示>大規模変更を5〜30の独立ユニットに分解し、Git worktree(同じリポジトリの別ブランチを別フォルダに同時展開する Git の機能)で並列実行
/debug [説明]デバッグログを有効化して問題を分析
/loop [間隔] [プロンプト]プロンプトを定期的に繰り返し実行(デプロイ監視等)
/simplify [対象]変更ファイルを並列でレビューし、コード品質を改善
/fewer-permission-promptsセッション履歴から安全な操作を抽出し、許可ルールに自動追加
/claude-apiClaude API のリファレンス情報を読み込む
夕宮たいだ

/batch は本当にすごいよぉ。「src/ を Solid(SolidJS:React に似た高速 JavaScript UI ライブラリ)から React(Meta 製の定番 UI ライブラリ)に移行して」って一言投げるだけでぇ、Claude が30個くらいのタスクに分けて並列で動いてくれるんだぁ。Web開発が一段違うレベルになるよぉ。


⚡ PART 2:自分のカスタムコマンドを作る(旧式・今でも使える)

ここからは、自分用のカスタムコマンドの作り方です。もっとも簡単な旧式の方法から見ていきます。

💡 仕様統合のお知らせ:公式は最近、カスタムコマンドを「スキル(Skill)」に統合しました。.claude/commands/ のファイルは引き続き動作しますが、新規作成では .claude/skills/ 形式が推奨されます。両方解説しますが、これから始める方は PART 3 のスキル方式を採用してください。

基本ステップ

プロジェクトのルートディレクトリで、以下を実行します。

mkdir -p .claude/commands

そこに optimize.md という名前のファイルを作り、Claude にやってほしい内容を書きます。

このコードを読んで、パフォーマンス上の問題を3つ挙げ、
それぞれの修正案を提示してください。

これだけで完成です。Claude Code を起動して以下を打てば、このプロンプトが実行されます。

/optimize

引数を受け取る($ARGUMENTS

$ARGUMENTS プレースホルダーを使うと、コマンドの後ろに渡した文字列を受け取れます。

.claude/commands/fix-issue.md

GitHub Issue #$ARGUMENTS を修正してください。

1. Issue の内容を確認
2. 関連するファイルを特定
3. 修正を実装
4. テストを書く
5. 修正をコミット

使い方:

/fix-issue 123

これで「GitHub Issue #123 を修正してください……」というプロンプトとして展開されます。

複数の引数を位置で受け取る($1, $2

位置で受け取りたいときは $1, $2 を使います。

.claude/commands/migrate.md

$1 コンポーネントを $2 から $3 に移行してください。
既存の動作を保ったまま、テストも更新してください。

使い方:

/migrate SearchBar React Vue
夕宮たいだ

これだけでもぉ、よく使うプロンプトを 1 コマンドで呼べるようになるから便利だよぉ。「/optimize」「/fix-issue」みたいに自分用のショートカットを作れる感じだねぇ。


🎯 PART 3:Skills(推奨される新方式)

新しい推奨方式が「Skills」です。基本は旧式のカスタムコマンドと同じですが、より高機能・柔軟になっています。

旧式(Custom Commands)との違い

カスタムコマンド(旧)Skills(新・推奨)
場所.claude/commands/optimize.md.claude/skills/optimize/SKILL.md
補助ファイル1ファイルのみ複数ファイル(テンプレート、スクリプト等)
自動呼び出し❌ 手動のみ✅ 説明文に基づき Claude が自動判定
ツール権限の事前許可allowed-tools で指定可能
シェル実行の埋め込み!`command` で動的コンテキスト注入

Skills の最大の特徴は、ユーザーが /optimize と打たなくても、Claude が「このタイミングで使うべき」と自動判断して呼び出してくれることです。

Skills の作り方

mkdir -p .claude/skills/code-review

.claude/skills/code-review/SKILL.md を作成し、以下のように記述します。

---
name: code-review
description: コードレビューを実行する。PRの確認、コミット前のチェック、コードの品質確認のときに使う。
---

# Code Review

以下の観点でコードレビューを行ってください:

## レビュー対象
!`git diff HEAD~1`

## チェックリスト

1. **コード品質**:可読性、命名、構造
2. **セキュリティ**:SQLインジェクション、XSS、認証情報露出
3. **パフォーマンス**:不要なループ、非効率なクエリ
4. **テスト**:カバレッジ、エッジケース
5. **ドキュメント**:JSDoc、README更新の必要性

優先度(高・中・低)でグルーピングしてフィードバックしてください。

フロントマター主要キーの一覧

SKILL.md の冒頭にある --- で囲まれた部分を「フロントマター」(front matter:Markdown ファイルの先頭にメタデータを書く慣例。本記事では YAML 形式で記述)と呼びます。ここで Skill の挙動を細かく制御できます。

キー役割
name表示名(省略時はディレクトリ名)
description★最重要:いつ使うかの説明(自動呼び出しの判断材料)
disable-model-invocationtrueでClaudeの自動呼び出しを禁止(手動のみ)
user-invocablefalse/メニューから隠す(背景知識用)
allowed-toolsこのSkill実行時に確認なしで使えるツール
argument-hintオートコンプリート時のヒント
modelこのSkill実行時に使うモデル

⭐ ここがポイント:description フィールドの書き方

description フィールドに何を書くかが、Skill の使われ方を決めます。Claude はこの説明文を見て「いつこのスキルを使うべきか」を判断するためです。

  • ❌ 悪い例:「コードを良くする」(曖昧で発火しない)
  • ✅ 良い例:「コードレビューを実行する。PRの確認、コミット前のチェック、コードの品質確認のときに使う。」(具体的で発火する)

ユーザーが言いそうな自然なフレーズを含めるのがコツです。

⭐ 動的コンテキスト注入:!`command` 記法

SKILL.md 内で !`コマンド` と書くと、Skill 実行時にそのシェルコマンドが先に実行され、出力がプロンプトに展開されます。

## 現在の変更内容
!`git status`
!`git diff --staged`

これにより、リアルタイムなコンテキストを Claude に与えられます。git diffgh pr viewnpm outdated などと組み合わせると強力です。

夕宮たいだ

!`git diff` をスキルに仕込んでおくとぉ、毎回 Claude が「今何が変わってるか」を把握した状態でレビューしてくれるんだぁ。これが地味に便利すぎて、もう手放せないんだよぉ。


📋 実践的な Skill 例集(コピペで使えます)

すぐに業務に取り入れられる、実用的な Skill のテンプレートを5つ紹介します。

例1:コミットメッセージ作成(/commit

.claude/skills/commit/SKILL.md

---
name: commit
description: ステージングされた変更を確認し、規約に沿ったコミットメッセージを作成する
disable-model-invocation: true
allowed-tools: Bash(git add *) Bash(git commit *) Bash(git status *) Bash(git diff *)
---

## 現在の変更内容
!`git status`
!`git diff --staged`

## やること

1. 上記の変更を要約
2. Conventional Commits 形式(コミットメッセージ書式の業界標準。先頭に feat=新機能 / fix=バグ修正 / refactor=リファクタ / docs=ドキュメント / test=テスト / chore=雑務 などの種別を付ける)でコミットメッセージを作成
3. 1行目は50文字以内、本文は72文字で改行
4. 確認の上でコミット実行

disable-model-invocation: true は、「Claude の自動判断では使わず、ユーザーが /commit と明示的に打ったときだけ動作する」という意味です。コミットや本番デプロイなど副作用のあるコマンドには必ずつけてください

夕宮たいだ

副作用ありのスキルに disable-model-invocation をつけ忘れるとぉ、Claude が勝手にコミットしちゃうかもしれないからねぇ……。コミット・デプロイ・送信系は必ずつけてねぇ。

例2:日本語 JSDoc(JavaScript/TypeScript の関数や引数を説明するコメント記法。/** ... */ で囲む)生成(/jsdoc-jp

.claude/skills/jsdoc-jp/SKILL.md

---
name: jsdoc-jp
description: TypeScript/JavaScript 関数に日本語のJSDocコメントを追加する
argument-hint: [filepath]
---

$ARGUMENTS にある全ての公開関数に、以下のフォーマットで日本語のJSDocコメントを追加してください:

/**
 * 〇〇を行う関数
 *
 * @param {型} 引数名 - 引数の説明
 * @returns {型} 返り値の説明
 * @example
 * 関数の使用例コード
 */

ルール:
- private な関数(先頭が _ )はスキップ
- 既にJSDocがある関数も日本語化する
- @example は実際のプロジェクトの使い方に合わせて書く

使い方:/jsdoc-jp src/utils/auth.ts

例3:リファクタリング提案(/refactor

.claude/skills/refactor/SKILL.md

---
name: refactor
description: 指定されたファイルや関数のリファクタリング案を3つ提示する
---

$ARGUMENTS のコードを読んで、以下を実施:

1. **現状分析**:何が問題か(複雑度、重複、命名など)を3〜5点で指摘
2. **改善案を3つ提示**:
   - 最小限の変更(リスク低・効果中)
   - バランス型(リスク中・効果中〜大)
   - 大規模リファクタ(リスク高・効果大)
3. **トレードオフ説明**:それぞれのメリット・デメリットと所要時間
4. **推奨案を1つ選び**、理由とともに提示

実装はまだ行わず、提案のみ。

例4:テスト追加スキル(/add-tests

.claude/skills/add-tests/SKILL.md

---
name: add-tests
description: 指定ファイルにテストを追加する。カバレッジ向上、TDD(テスト駆動開発:先にテストを書いてから実装する進め方)、新機能のテスト作成のときに使う。
argument-hint: [filepath]
allowed-tools: Read, Write, Bash(npm test *)
---

$ARGUMENTS のテストを追加してください:

1. 既存のテストファイルを確認し、フレームワーク(Jest/Vitest等)と書き方の規約を把握
2. テスト対象ファイルを読み、公開API・主要ロジックを特定
3. 以下のケースをカバーするテストを追加:
   - 正常系(typical input)
   - 境界値(empty, null, max/min)
   - エラー系(invalid input, network error)
4. テストを実行して結果を確認、失敗するなら修正
5. 全てのテストが通ることを確認

例5:PR 作成(/open-pr

.claude/skills/open-pr/SKILL.md

---
name: open-pr
description: 現在のブランチを push して、わかりやすい説明付きでプルリクエストを作成する
disable-model-invocation: true
allowed-tools: Bash(git push *) Bash(gh pr create *) Bash(git log *) Bash(git diff *)
---

## 変更内容
!`git log main..HEAD --oneline`
!`git diff main..HEAD --stat`

## やること

1. 上記の変更を要約
2. 現在のブランチを push(必要なら upstream を設定)
3. gh pr create でプルリクエストを作成
   - タイトル: 変更の要約(50文字以内)
   - 本文: 「## Summary」「## Test plan」のセクション付き
4. 作成された PR の URL を表示
夕宮たいだ

このまま .claude/skills/ に置けば、すぐ使えるよぉ。プロジェクトに合わせて少しずつ調整していくと、自分専用の最強ツールキットが育っていくんだぁ。


🌍 保存場所による違い(個人用 vs プロジェクト用)

場所用途共有範囲
.claude/skills/<name>/SKILL.mdプロジェクト専用チーム全員(Git 共有)
~/.claude/skills/<name>/SKILL.md個人の全プロジェクト共通自分だけ

使い分けの基本

  • チーム共通のもの(コミット規約・レビュー手順など)→ プロジェクトの .claude/skills/ に置いて Git に含める
  • 個人の好み(自分用のメモ生成・お気に入りの分析プロンプトなど)→ ~/.claude/skills/ に置く

🎓 効果的な Skill 設計の5つのコツ

コツ1:description は「いつ使うか」を具体的に書く

これが最重要です。ユーザーが言いそうな自然なフレーズを含めると、Claude が自動呼び出しを判断しやすくなります。

※ description と when_to_use の合計テキストは 1,536文字で切られるため、要点を前に書く(front-loading)のが鉄則です。

コツ2:副作用ありは disable-model-invocation: true をつける

コミット・デプロイ・メッセージ送信・課金処理など、副作用のあるスキルは Claude の判断で勝手に動かれては困ります。「ユーザーが明示的に呼んだときだけ動く」設定にしてください。

コツ3:シェルコマンドの出力を活用する

!`<command>` でシェルの出力を埋め込めます。git diffgh pr viewnpm outdated など、リアルタイムなコンテキストを注入することで、スキルが格段に実用的になります。

コツ4:SKILL.md は500行以内に収める

長くなりそうなら補助ファイル(reference.mdexamples.mdscripts/*.py)に分割します。Claude は必要に応じて補助ファイルを読みに行ってくれます。

コツ5:許可するツールを最小限にする

allowed-tools で「このスキルが動くときだけ自動許可するツール」を指定できます。最小権限の原則に従い、Bash(git *) ではなく Bash(git add *) Bash(git commit *) のように具体的に絞るのが安全です。


🎯 「明日から作る」ためのアクションプラン

  1. 自分がよく打つプロンプトを思い出す。「このコードレビューしてぇ」「テスト書いてぇ」「コミットしてぇ」など、繰り返し使うプロンプトが3つ思いつけば、それが最初に作るべき Skill 候補
  2. まず1つだけ作って動かす。完璧を目指さず、「動く最小版」を作って徐々に改善するほうが早い
  3. 他人のスキルを参考にする。GitHub で「awesome-claude-code」(GitHub の慣習で、特定テーマの優良リソースを集めた一覧リポジトリは awesome-〇〇 という名前で公開されることが多い)「claude-code commands」などで検索すると、コミュニティが共有している実践的なスキル集が見つかる

📚 参考になるリポジトリ

  • hesreallyhim/awesome-claude-code:コミュニティが作った高品質なスキル・フック・サブエージェントのキュレーション集
  • wshobson/commands:本番運用レベルのスラッシュコマンド集(57種類)

慣れてきたら、これらのリポジトリを覗いて「こんな使い方ができるんだ……」と発見していくのが楽しいフェーズです。

📘 公式ドキュメント:Extend Claude with skillsCommands reference

夕宮たいだ

まぁ、そういうことなんだよぉ……ふぁ、自分用のスキルが3つ揃うとぉ、Claude Code がぐっと自分仕様になるからねぇ。少しずつ育てていけばいいよぉ。みんな〜、がんばってねぇ。


🎮 Claude Code 解説シリーズ・全記事一覧

シリーズの他の記事もどうぞぉ……気になるところから読んでねぇ。

📘 01. Claude Code 用語集(初学者向け・全23語)
🚀 02. インストールと初回起動ガイド
📝 03. CLAUDE.md 完全ガイド
🛠️ 04. 実践ワークフロー集
🛡️ 05. パーミッションと安全設定ガイド
06. スラッシュコマンド & スキル完全ガイド
🔌 07. MCP・Hooks活用ガイド
🎭 08. サブエージェント・並列作業ガイド
🏆 09. プロのベストプラクティス完全集
🎨 10. Claude Code × 3DCG活用ガイド
🧊 11. Claude Code × Blender 導入ガイド

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次