Claude Code スラッシュコマンド 作り方|.claude/commands カスタムコマンド完全ガイド【2026年最新版】

この記事のポイント
Claude Code のカスタムスラッシュコマンド(Skills)の作り方を公式ドキュメントベースで解説。.claude/commands/ と .claude/skills/SKILL.md の違い・フロントマター全フィールド・コピペ可能なテンプレート6選・組み込みコマンド完全一覧まで網羅。2026年5月最新情報に更新済み。
.claude/commands/<name>.md にMarkdownを1枚置くだけで /name として使えます。 ただし2026年のアップデートで、カスタムスラッシュコマンドはスキル(Skills)機能に統合されました。現行の公式推奨は .claude/skills/<name>/SKILL.md 形式です(旧形式も引き続き動作します)。
この記事では、Claude Code のカスタムスラッシュコマンドを実務で使える状態まで作り切るために必要な情報を、公式ドキュメント(code.claude.com/docs/en/skills)ベースでまとめます。

この記事でわかること
- スラッシュコマンドの3分類(組み込み・バンドルスキル・カスタム)と違い
- Skills統合で何が変わったか、旧形式と新形式のどちらで書くべきか
.claude/commands/と.claude/skills/SKILL.mdの作り方を具体的な手順で(最小サンプル付き)- フロントマター全フィールド・引数プレースホルダー・
!によるBash実行・@によるファイル参照の完全リファレンス - そのままコピペで使える実務テンプレート6選(
/commit・/pr-summary・/review・/test・/refactor・/docs) - 呼び出し制御(
disable-model-invocation/user-invocable)とskillOverrides設定 - 2026年5月時点の組み込みコマンド最新一覧(
/background・/goal・/ultrareview・/runなど新規追加分を含む) - ライブ変更検出とスキルのコンテキストライフサイクル
- うまく動かないときのトラブルシュート(
/doctorの使い方含む)
誰向けの記事か
- Claude Code を日常的に使っていて、よく使うプロンプトを1コマンド化したいエンジニア
.claude/commands/で書いた資産を新形式(Skills)へ移行したい開発チーム- チーム内で
/commitや/reviewのような共通ワークフローをGit管理で配布したいリード
Claude Code 本体の全体像を先に掴みたい場合は、Claude Codeとは|料金・使い方・Cursorとの違い を読んでおくと理解が早くなります。
スラッシュコマンドとは(3種類の整理)

スラッシュコマンドは、Claude Code のプロンプト入力欄で / から始めて実行する機能です。メッセージの先頭でのみ認識され、コマンド名に続くテキストは引数として渡されます。現時点では大きく3種類に分かれます。
種類 | 例 | 実装場所 |
|---|---|---|
組み込み(Built-in) |
| Claude Code CLI 本体に固定実装 |
バンドルスキル(Bundled Skills) |
| プロンプトベースのプリセットスキル( |
カスタム(スキル) |
| ユーザーがMarkdownで定義 |
組み込みコマンドは削除・追加できませんが、カスタムスキルは Markdown 1枚で作れます。カスタムコマンド/スキルは Claude Code の全プラン(Free / Pro / Max / Team / Enterprise)で追加料金なしで利用可能です。
プラン・プラットフォームによって表示される組み込みコマンドは異なります。たとえば
/upgradeや/privacy-settingsは Pro / Max 限定、/desktopは macOS / Windows のみです。
【重要】Skills統合で何が変わったか

2026年のアップデートで、カスタムスラッシュコマンドはスキル(Skills)機能に統合されました。公式ドキュメントには次のように明記されています。
Custom commands have been merged into skills. A file at
.claude/commands/deploy.mdand a skill at.claude/skills/deploy/SKILL.mdboth create/deployand work the same way. Your existing.claude/commands/files keep working.
- 旧形式
.claude/commands/<name>.mdは引き続き動作する(互換維持) - 新規作成の公式推奨は
.claude/skills/<name>/SKILL.mdディレクトリ形式 - 同名コマンドがある場合は Skill 形式が優先される
旧形式と新形式の違い
項目 | 旧形式( | 新形式( |
|---|---|---|
配置 | Markdown 1枚 | ディレクトリ( |
サポートファイル | × | ○(テンプレート・スクリプト・例を同梱可) |
呼び出し制御 | 限定的 |
|
Claude自動呼び出し | × | ○ 文脈に応じて自動起動可能 |
| × | ○ 特定ファイル編集時のみ自動起動 |
公式スタンス | 互換維持(将来非推奨の可能性) | 推奨 |
Claude Code のスキルは Agent Skills オープンスタンダード(agentskills.io) に準拠しており、他のAIツールとも互換性があります。Claude Code はこれに呼び出し制御・サブエージェント実行・動的コンテキスト注入といった拡張機能を足しています。
これから新規で作るなら、.claude/skills/<name>/SKILL.md が第一選択肢です。
カスタムコマンドの作り方(旧形式:.claude/commands/)

出典: Anthropic
まずは一番シンプルな旧形式から押さえます。既存プロジェクトの資産を理解するときにも役立ちます。
手順
- プロジェクトルートに
.claude/commands/ディレクトリを作成 <コマンド名>.mdを追加- そのままプロンプトを本文に書く
最小サンプル:
<!-- .claude/commands/hello.md -->
Hello world と日本語で返事してください。この1ファイルを置くだけで、Claude Code セッション内で /hello が使えるようになります。ファイル名(.md を除く)がそのままコマンド名です。
保存場所の違い(プロジェクト vs ユーザー)
スコープ | パス | 適用範囲 | Git管理 |
|---|---|---|---|
Project |
| そのプロジェクトのみ | ○ 共有前提 |
Personal |
| 全プロジェクト | × 個人用 |
チーム共有したいコマンド(デプロイ・コミット・PR要約など)はプロジェクト配下に置いてGitにコミット、個人の検索・要約ユーティリティはユーザー配下に置く、が基本方針です。
カスタムスキルの作り方(新形式:.claude/skills/SKILL.md)
2026年以降の公式推奨はこちらです。ディレクトリ形式になることで、サポートファイル(テンプレート・参考コード)を同梱できる・呼び出し制御ができる、といったメリットが得られます。
手順
.claude/skills/<コマンド名>/ディレクトリを作成- そのなかに
SKILL.mdを必須ファイルとして置く - 必要ならテンプレートや参考ファイルを同じディレクトリに追加
最小サンプル:
<!-- .claude/skills/hello/SKILL.md -->
---
name: hello
description: 日本語で挨拶を返す。挨拶系の軽い動作確認に使う。
---
Hello world と日本語で返事してください。これで /hello が使えるうえに、description に書いた条件に合致する文脈で Claude が自動起動する候補にもなります。
ディレクトリ構造(サポートファイルの活用)
.claude/skills/
├── commit/
│ ├── SKILL.md # ← 必須。本体(500行以内を推奨)
│ ├── examples.md # ← サポート(Claudeが必要に応じて読む)
│ └── template.txt
└── deploy/
└── SKILL.mdサポートファイルは SKILL.md 本文から @examples.md のように参照すれば、必要になったタイミングでのみ読み込まれます。SKILL.md 自体は500行以下を目安に保ち、詳細はサポートファイルに分割するのが推奨されます。
保存場所と優先順位(4スコープ)
スキル/カスタムコマンドは4つのスコープが存在します。
スコープ | 推奨パス | レガシーパス | 適用範囲 |
|---|---|---|---|
Enterprise(管理) | 管理設定で指定 | — | 組織の全ユーザー |
Personal(個人) |
|
| 全プロジェクト |
Project(プロジェクト) |
|
| そのプロジェクトのみ |
Plugin |
| — | プラグイン有効時 |
優先順位:Enterprise > Personal > Project。プラグインは plugin-name:skill-name の名前空間を持つため、ユーザー定義と名前衝突しません。
モノレポ対応: packages/frontend/.claude/skills/ のようなサブパッケージ内のスキルも自動検出されます。開始ディレクトリからリポジトリルートまで遡る各ディレクトリの .claude/skills/ が全て読み込まれます。
フロントマター完全リファレンス

SKILL.md(または .claude/commands/<name>.md)の先頭に --- で囲んで記述するYAMLメタデータです。すべてオプションですが、description は Claude が自動起動するかどうかを判断する根拠になるため、実務では必ず書きます。
フィールド | 型 / 例 | 説明 |
|---|---|---|
| 文字列 | スキル表示名。省略時はディレクトリ名。小文字・数字・ハイフンのみ、最大64文字 |
| 文字列 | スキルの内容と「いつ使うか」。Claudeの自動起動判断に使う。 |
| 文字列 | 追加のトリガーフレーズ。 |
| 例: | オートコンプリートヒント |
|
| 名前付き位置引数。 |
|
| Claudeによる自動起動を無効化。副作用のあるコマンド用 |
|
|
|
|
| スキル実行中に承認なしで使えるツール |
|
| 使用モデルを上書き(そのターンのみ) |
|
| 思考予算を上書き |
|
| サブエージェントコンテキストで実行 |
|
|
|
| ライフサイクル連携 | このスキル固有のフック |
|
| Globパターン。一致ファイル編集時のみ自動起動 |
|
|
|
最小限で書くなら description だけでOKです。 副作用がある操作は disable-model-invocation: true を足す、外部ツールを使うなら allowed-tools を足す、特定ファイル種類にのみ反応させたいなら paths を足す、と段階的に加えます。
paths フィールドの活用(モノレポ向け)
paths を指定すると、特定のファイルパターンに一致するファイルを編集しているときだけスキルが自動起動候補になります。TypeScriptファイルの編集中のみ型チェック用スキルを起動したい、など不意のスキル発火を防ぐのにも有効です。
---
name: ts-check
description: TypeScript型エラーを確認する
paths: "src/**/*.ts"
---引数と文字列置換(プレースホルダー)
/my-command "hello world" branch-a のように渡した引数は、本文中で次の変数で受け取れます。
変数 | 説明 |
|---|---|
| 入力された全引数をそのまま文字列展開 |
| 0始まりのインデックスで個別引数にアクセス |
|
|
|
|
| 現在のセッションID(ロギング・一意ファイル作成に活用) |
| 現在の思考量レベル( |
|
|
複数単語の引数はシェル風にクォートで囲めます。/my-skill "hello world" second なら $0 = "hello world"、$1 = "second" です。
本文に $ARGUMENTS が一切書かれていない場合、Claude Code は末尾に自動で ARGUMENTS: <入力> を付けてくれます。
名前付き引数の例
---
name: migrate-component
arguments: [component, from-framework, to-framework]
---
$component を $from-framework から $to-framework に移行してください。/migrate-component SearchBar React Vue と入力すると、$component = "SearchBar", $from-framework = "React", $to-framework = "Vue" として展開されます。
! でBashコマンドを埋め込む(動的コンテキスト注入)
本文に !`command` と書くと、プロンプト送信前にシェルコマンドが実行され、その出力が本文にそのまま埋め込まれます。
## Pull Request Context
- PR diff: !`gh pr diff`
- Comments: !`gh pr view --comments`
## Your task
上記の PR を3行で要約してください。重要なポイントは、この ! はClaudeが実行しているわけではないことです。ローカルシェルが走り、結果だけがClaudeに渡ります。gh や git の認証情報を持ったまま実行されます。
複数行を流したい場合は、```! で始まるフェンスドコードブロックを使います。
```!
git log --oneline -n 10
git status --short
node --version
```! 実行を無効化したい場合は、設定で "disableSkillShellExecution": true を指定します(企業の管理設定で強制適用可)。
制約:
!`command`は行頭または空白の直後にのみ有効。また処理は一度のみ(コマンド出力の中にさらに!があっても展開されない)。
@ でファイル内容を差し込む
@package.json や @src/auth/login.ts のようにファイルパスを @ 付きで書くと、そのファイル内容がプロンプトに埋め込まれます。
以下の設計ドキュメントを要件として、@src/auth/login.ts をレビューしてください。
@docs/auth-spec.md! が「シェルコマンドの出力埋め込み」なのに対し、@ は「ファイルそのものの内容埋め込み」と覚えると混乱しません。
呼び出し制御(disable-model-invocation / user-invocable)
同じ「コマンド」でも、誰が起動するのかを細かく制御できます。
|
| 動き | 典型用途 |
|---|---|---|---|
|
| ユーザーもClaudeも呼び出せる | 一般的なユーティリティ |
|
| ユーザーのみ呼び出せる |
|
|
| Claudeのみ自動起動 | 自動起動前提のスキル |
|
| 誰も呼び出せない | 一時停止用 |
実務での推奨
- デプロイ・コミット・DB書き込み・Slack送信など「勝手に走ったら困る」操作は
disable-model-invocation: true - コンテキスト要約・テスト生成など「勝手にやってくれた方が嬉しい」操作は既定のまま
- 内部ツール的に Claudeにだけ使わせたい 特殊スキルは
user-invocable: false
skillOverrides でスキルの可視性を設定から制御
スキルが増えてくると、不要なものを / メニューから非表示にしたくなります。/skills メニューで Space を押して可視性をサイクル → Enter で設定を保存することで、.claude/settings.local.json に自動書き込みされます。
{
"skillOverrides": {
"legacy-context": "name-only",
"deploy": "off"
}
}値 | Claudeへのリスト |
|
|---|---|---|
| 名前と説明 | 表示 |
| 名前のみ | 表示 |
| 非表示 | 表示 |
| 非表示 | 非表示 |
スキルの説明がコンテキストを圧迫している場合は、低優先スキルを "name-only" に設定するとバジェットを節約できます。
サブエージェント実行(context: fork)
重い調査タスクは、メイン会話とコンテキストを分けてサブエージェントに委ねるのが有効です。
---
name: deep-research
description: 指定トピックをリポジトリ全体から徹底調査する
context: fork
agent: Explore
---
$ARGUMENTS について徹底調査してください。
1. Glob / Grep で関連ファイルを洗い出す
2. コードを読み込み、具体的なファイル参照付きで要約するcontext: forkを指定すると、そのスキルは分離されたサブエージェントコンテキストで実行されますagentでExplore(探索特化)、Plan(計画)、general-purpose(汎用)などを選択- メイン会話のトークンを節約しつつ、深い調査を並行して走らせられます
注意:
context: forkは具体的なタスク指示が必要です。「このAPIの規約に従う」等のガイドラインのみでは機能しません。
ライブ変更検出とスキルのコンテキストライフサイクル
ライブ変更検出(再起動不要)
~/.claude/skills/ や .claude/skills/ 配下のスキルをセッション中に追加・編集・削除すると再起動なしで即時反映されます。
ただし例外があります:セッション開始時点でトップレベルの skills ディレクトリが存在しなかった場合のみ、セッション再起動が必要です。既存ディレクトリ内のファイル変更は再起動不要。
スキルのコンテキストライフサイクル
スキルを呼び出すと SKILL.md の内容が1つのメッセージとしてセッションに追加され、セッション終了まで残ります。Claude Code は後のターンでスキルファイルを再読み込みしません(内容は会話履歴の一部として存在します)。
自動コンパクション時の挙動:
- 各スキルの最新呼び出し分(最大5,000トークン)を再アタッチ
- スキル合計で25,000トークンの共有バジェット
- 最近呼び出したスキルほど優先的にバジェットを確保(古いスキルは省略される場合あり)
- コンパクション後にスキルが効かなくなった場合は再呼び出しで復元可能
実務で使えるテンプレート6選(コピペ可)

実際に開発で使える最小セットです。.claude/skills/<name>/SKILL.md として配置してください。
1. /commit — ステージング済み差分をConventional Commitsでコミット
---
name: commit
description: ステージ済みの差分を元に Conventional Commits 形式でコミットする。
disable-model-invocation: true
allowed-tools:
- Bash(git diff *)
- Bash(git status *)
- Bash(git commit *)
---
## 現在の状態
- ステージ済み: !`git diff --cached --stat`
- 差分本体: !`git diff --cached`
## タスク
上記の差分から Conventional Commits(`feat:` / `fix:` / `chore:` / `docs:` / `refactor:` / `test:`)
のフォーマットで、1〜2文のコミットメッセージを作成してください。
作成したら `git commit -m "..."` を実行してください。2. /pr-summary — PR差分を3行要約
---
name: pr-summary
description: GitHub の現在ブランチの PR を3行で要約する。レビュー依頼前に実行する。
argument-hint: "[pr-number]"
---
## PRの情報
- 基本情報: !`gh pr view $ARGUMENTS --json title,body,commits`
- 差分: !`gh pr diff $ARGUMENTS`
## タスク
この PR を
1. 何を
2. なぜ
3. どう実装したか
の3行で要約してください。3. /review — 差分の自動コードレビュー
---
name: review
description: 未コミット差分のコードレビュー。ロジック・エラーハンドリング・命名・テストの観点で指摘する。
---
## レビュー対象
!`git diff HEAD`
## タスク
以下の観点で指摘してください(指摘が無い観点はスキップしてOK):
- ロジックバグ・境界条件
- エラーハンドリングの抜け
- 命名の一貫性
- テストカバレッジの不足
- セキュリティ(入力バリデーション・権限・秘匿情報)
最後に**修正が必要な箇所だけ**をファイル名・行番号付きで箇条書きしてください。4. /test — テスト追加の提案と生成
---
name: test
description: 指定ファイルのユニットテストを作成する。Vitest / Jest / Pytest を自動判別する。
argument-hint: "[file-path]"
---
## 対象ファイル
@$ARGUMENTS
## プロジェクト設定
- package.json: @package.json
## タスク
1. 上記ファイルの主要な関数・クラスを抽出
2. 正常系・異常系・境界値の3観点でテストケースを設計
3. プロジェクトのテストフレームワークに合わせてテストコードを新規作成5. /refactor — リファクタリング提案
---
name: refactor
description: 指定ファイルを読み、責務分割・命名・重複排除の観点でリファクタリング案を出す。
argument-hint: "[file-path]"
---
## 対象
@$ARGUMENTS
## タスク
- 責務が混ざっている箇所を指摘
- 抽出すべき関数・クラス候補を提示
- 命名改善の提案
まずは差分を出さず**改善案のサマリ**だけ提示してください。承認後に差分を作成します。6. /docs — README / API ドキュメント更新
---
name: docs
description: 最近の差分を元に README・docs/ を更新する。破壊的変更があれば冒頭で警告する。
---
## 直近の差分
!`git log --since="1 week ago" --oneline`
!`git diff main...HEAD -- README.md docs/`
## 現状
@README.md
## タスク
- 新機能・API変更があれば README と docs/ に反映
- 破壊的変更は**冒頭で警告**
- 変更点は既存の書式を踏襲これらはすべて .claude/skills/ にコミットすればチーム全体で共有できます。機密情報(トークン・内部エンドポイント)を本文に直接書かないよう注意してください。
組み込みコマンド主要一覧【2026年5月時点】
/help で全覧を出せますが、用途別に整理します。コマンドの可用性はプラットフォーム・プラン・バージョンによって異なります。
セッション管理・コンテキスト
コマンド | 用途 |
|---|---|
| 新しい会話を開始(エイリアス: |
| 会話履歴を要約してコンテキストを解放 |
| コンテキスト使用量をカラーグリッドで可視化 |
| 会話再開(エイリアス: |
| チェックポイント巻き戻し(エイリアス: |
| 現在の会話を分岐(エイリアス: |
| 会話履歴を汚さずにサイドの質問をする |
| 現在のセッションのサマリーをオンデマンド生成 |
| 会話をテキスト書き出し |
| 最後のアシスタント応答をクリップボードにコピー |
ワークフロー・エージェント・並列処理
コマンド | 種別 | 用途 |
|---|---|---|
| 組み込み | プランモードに直接入る |
| 組み込み | セッションをバックグラウンドエージェントとして切り離す(エイリアス: |
| 組み込み | バックグラウンドタスク一覧(エイリアス: |
| 組み込み | ゴールを設定して条件達成まで継続実行 |
| 組み込み | サブエージェント設定を管理 |
| 組み込み | スケジュール実行ルーティンを作成(エイリアス: |
| 組み込み | CI失敗・レビューコメントを自動修正するWebセッションを生成 |
| Skill | 大規模変更をコードベース横断で並列実行・PR作成 |
| Skill | セッション中にプロンプトを繰り返し実行(エイリアス: |
コードレビュー・品質
コマンド | 種別 | 用途 |
|---|---|---|
| Skill | 差分をレビューし修正点を報告。 |
| 組み込み | PRをローカルでレビュー |
| 組み込み | セキュリティ脆弱性を分析 |
| 組み込み | 変更のインタラクティブdiffビューアを開く |
| 組み込み | マルチエージェントクラウドサンドボックスで深いPRレビュー(Pro/Maxは3回無料) |
| 組み込み | 高精度なultraplanセッションで計画を起案・実行 |
アプリ実行・検証(v2.1.145 以上必要)
コマンド | 用途 |
|---|---|
| アプリを起動して変更を実際の動作で確認 |
| コード変更をビルド・起動して正確性を確認 |
|
|
モデル・設定
コマンド | 用途 |
|---|---|
| モデル切替(Opus / Sonnet / Haiku など) |
| 思考予算( |
| 設定(エイリアス: |
| ファストモードのON/OFF切替 |
プロジェクト設定・メモリ
コマンド | 用途 |
|---|---|
| プロジェクトに |
|
|
| 作業ディレクトリ追加(セッション中のみ有効) |
| MCPサーバー接続とOAuth認証の管理 |
情報・診断
コマンド | 用途 |
|---|---|
| ヘルプとコマンド一覧 |
| バージョン・モデル・アカウント情報を表示(応答中でも動作) |
| セッションコスト・プラン使用量(エイリアス: |
| インストールと設定を診断(スキルのバジェット確認にも使う) |
| セッション分析レポートを生成 |
| インタラクティブなバージョンピッカーでChangelog表示 |
スキル・拡張機能管理
コマンド | 用途 |
|---|---|
| 利用可能スキル一覧( |
| フックの設定表示 |
| プラグイン管理 |
| 全アクティブプラグインをリロード(再起動不要) |
| 権限ルール(エイリアス: |
| 過去ログから頻出の読み取り系コマンドをallow-listに追加 |
リモート・クロスデバイス
コマンド | 用途 |
|---|---|
| claude.ai からリモートコントロール可能にする(エイリアス: |
| WebセッションをターミナルにURLで取り込む(エイリアス: |
| Claude Code Desktop アプリでセッションを継続(macOS/Windowsのみ、エイリアス: |
| GitHubアカウントをClaude Code on the Webに接続 |
チーム・エンタープライズ運用
コマンド | 用途 |
|---|---|
| Claude Code使用履歴からチームオンボーディングガイドを生成 |
| Amazon Bedrock認証・リージョン・モデル設定 |
| Google Vertex AI認証・プロジェクト・リージョン設定 |
| Claude GitHub Actions アプリをリポジトリに設定 |
| Claude Slack アプリをインストール |
MCPプロンプト: MCPサーバーが公開するプロンプトは /mcp__<server>__<prompt> 形式でコマンドとして使用可能です。
廃止済み(注意)
コマンド | 廃止バージョン | 代替 |
|---|---|---|
| v2.1.91 | Claudeに直接PRコメントを確認させる |
| v2.1.92 |
|
バンドルスキルは頻繁に追加されます。最新の一覧は
/skillsまたは/release-notesで確認してください。
旧形式から新形式への移行ガイド
.claude/commands/ を整備済みのチーム向けです。
移行手順
.claude/commands/<name>.md→.claude/skills/<name>/SKILL.mdにディレクトリごと移動- フロントマターに
nameとdescriptionを追加(元ファイルに無ければ) - 副作用があるコマンドは
disable-model-invocation: trueを付与 - 外部ツール呼び出しがあれば
allowed-toolsで事前承認するツールを列挙 - テンプレート・長文の参考資料は
SKILL.mdから切り出してサポートファイル化 /skillsで新形式が検出されることを確認
.claude/commands/ 側は残したままでも動作しますが、同名があれば Skill 優先なので新旧を重複させないよう注意してください。段階的に旧形式を削除していくのが安全です。
拡張思考の起動(ultrathink)
スキル本文のどこかに「ultrathink」という単語を含めると、Extended Thinking モードが有効化されます。調査・設計・レビューなど長考させたい場面に有効です。
---
name: plan-feature
description: 新機能の実装計画を長考して作る
effort: high
---
ultrathink
$ARGUMENTS の実装計画を以下の観点で作成してください:
- 影響範囲
- 実装ステップ
- 想定リスク
- 必要なテストeffort: max と併用すると、さらに予算を積み増しできます。
Skill / サブエージェント / フック / プラグインの使い分け
Claude Code の拡張機能はスラッシュコマンド以外にもあり、似て非なるものが並んでいます。
機能 | 用途 | 起動タイミング |
|---|---|---|
Skill / スラッシュコマンド | 繰り返し使うプロンプトのテンプレ化 | ユーザー or Claude が都度呼び出す |
サブエージェント | 重い調査・専門タスクを分離コンテキストで実行 | タスク委譲時(Agent Tool経由 or |
Hooks(フック) | Claude のライフサイクル上で自動実行したい処理 |
|
Plugin(プラグイン) | 上記の複合パッケージを外部配布 | インストール後は常時有効 |
選び方の原則:
- 「毎回同じプロンプトを打ちたい」→ Skill
- 「副作用が重い/コンテキストを汚したくない」→ サブエージェント(
context: fork) - 「ユーザーが忘れても自動で走らせたい」→ Hooks(例:devサーバー起動検知、コード保存後のレビュー)
- 「上記を他チーム/社外に配布したい」→ Plugin
フックでスキルを呼ぶ、スキルからサブエージェントを立てる(context: fork)など、組み合わせ運用が現場では一般的です。
セキュリティ・運用上の注意点

スラッシュコマンドは便利な一方、本文にシェル実行と外部APIコールが書けるため、共有・運用時のリスク管理が必要です。
allowed-toolsは最小権限で — 列挙したツールは承認ダイアログなしで走る。必要なツールだけを指定する- 副作用のあるコマンドは
disable-model-invocation: true— Claudeが勝手に/deployを走らせるのを防ぐ - 機密情報を本文に直書きしない —
.claude/skills/はGitにコミットされ、チーム全員に配布される - 管理設定で
!実行を無効化可能 —"disableSkillShellExecution": trueを組織設定で強制 /permissionsでスキル自体を拒否可能 —Skillツールを拒否、またはSkill(name)/Skill(name *)で個別制御- プロジェクトスキルのtrustに注意 —
.claude/skills/のスキルは、ワークスペーストラストダイアログ受け入れ後にallowed-toolsが有効化される。信頼しないリポジトリはレビュー前に trust しない
AIコーディング全般のセキュリティ設計については、AIコーディング セキュリティ リスクと対策 を組織展開前に合わせて確認してください。
こんな人におすすめ
- 同じプロンプトを毎日打っている(要約・レビュー・コミットメッセージ作成など)
- チームで
/commitや/reviewを標準化して品質を揃えたい - モノレポで パッケージごとの固有ワークフローを配布したい
.claude/commands/資産を 新形式(Skills)へ整理したい- フック・サブエージェントと組み合わせて 独自の開発パイプラインを作りたい
おすすめしない人
- Claude Code をまだ常用していない(先に日常ワークフローを作ってからでOK)
- 1回限りのタスクをスキル化しようとしている(ノーマルプロンプトで十分)
- 認証情報・本番デプロイを制御なしでスキル化しようとしている(
disable-model-invocationとallowed-toolsの設計を先にする)
トラブルシュート
コマンドが / メニューに出ない
.mdファイル名に大文字やアンダースコアが入っていないか確認(小文字・数字・ハイフンのみ)- 保存場所が
.claude/commands/か.claude/skills/<name>/SKILL.mdになっているか - セッション開始時点でトップレベルの skills ディレクトリが存在しなかった場合は、セッション再起動が必要
- Enterprise 設定で該当スキルが拒否されていないか
/permissionsで確認
Claudeが勝手に起動してしまう
descriptionに「いつ使うか」を具体的に書く(曖昧だと自動起動が暴発する)- 副作用がある場合は
disable-model-invocation: trueを指定
スキルが多すぎて description が切り詰められる
description+when_to_useの合計は 1,536文字で切り詰め/doctorコマンドでスキルのバジェットオーバーフローを確認skillListingBudgetFraction設定(例:0.02= コンテキストウィンドウの 2%)でバジェットを増加- 環境変数
SLASH_COMMAND_TOOL_CHAR_BUDGETでも拡張可能 - 似た用途のスキルは1つに集約
セッション中に編集したのに反映されない
- スキル本体は再読込されない(セッション中に一度呼び出すと会話に挿入される)
- 再反映したいときは、もう一度
/<name>で呼び出し直す - トップレベルの skills ディレクトリを新規作成した場合は再起動が必要
長時間セッションで古いスキルが消える
- コンパクション後のスキル保持は各5,000トークン/合計25,000トークンまで
- 古いスキルは保持対象から外れる可能性あり。再度呼び出せば復帰する
SDKで /clear が効かない
- SDKでは
/clearは使えない。query()を再起動するか、resumeオプションでセッションIDを指定する
よくある質問(FAQ)
Q1. .claude/commands/ はいつ非推奨になりますか?
公式は2026年5月時点で「引き続き動作する」と明記しているだけで、廃止時期は示されていません。ただし新形式(SKILL.md)が推奨である以上、新規は新形式で作り、既存は計画的に移行するのが安全です。
Q2. 組み込みコマンドと同名のカスタムは作れますか?
組み込みの /help や /clear などを上書きすることはできません。カスタム側の名前を変えてください。
Q3. スキルのサポートファイルはトークンを消費しますか?
SKILL.md は起動時に読み込まれますが、サポートファイルは @filename で参照されたときに初めて読まれます。長い参考資料は分割しておくとトークン効率が良くなります。
Q4. description に日本語を書いても自動起動は効きますか?
効きます。ただし Claude が自動起動判断に使う項目なので、どういうときに呼ぶべきかを動詞+名詞で具体的に書くのがコツです。「〜を要約する」「〜を生成する」のような能動的な記述が無難です。
Q5. Windows でも使えますか?
使えます。! 構文のシェルを PowerShell にしたい場合はフロントマターに shell: powershell を指定します。環境変数 CLAUDE_CODE_USE_POWERSHELL_TOOL=1 の設定が必要になる場合があります。
Q6. プラグインのスキルと自作スキルが同名だと?
プラグイン側は plugin-name:skill-name の名前空間を持つため、ユーザー定義と名前衝突しません。同じ /deploy でも、プラグインのものは plugin-name:deploy として区別されます。
Q7. 企業で一括管理したい
Enterprise 設定で管理パスを指定すれば、組織の全ユーザーに強制適用できます。シェル実行の一括無効化("disableSkillShellExecution": true)も可能です。
Q8. /run や /verify が表示されません
v2.1.145 以上が必要です。/status でバージョンを確認し、古い場合はアップデートしてください。
まとめ
.claude/commands/<name>.mdにMarkdown1枚を置けば/nameが使える(旧形式・互換維持)- 2026年のアップデートでカスタムコマンドはスキルに統合。新規は
.claude/skills/<name>/SKILL.mdが推奨 - フロントマター(
description/allowed-tools/disable-model-invocation/paths)で自動起動・権限・対象ファイルを制御 - 引数は
$ARGUMENTS/$N/ 名前付き、${CLAUDE_EFFORT}/${CLAUDE_SKILL_DIR}などの特殊変数も利用可能 !でシェル動的注入、@でファイルをプロンプトに差し込める- 副作用のあるコマンドは
disable-model-invocation: trueを必ず付ける skillOverridesで/skillsの可視性を設定ファイルから細かく制御可能- 2026年5月時点で組み込みコマンドは大幅拡張。
/background・/goal・/ultrareview・/run(v2.1.145+)など新機能が続々追加されている - 旧形式は互換維持だが、新規は新形式で書く。既存資産は段階的に移行する
関連記事:
この記事の著者

AI革命
編集部
AI革命株式会社の編集部です。最新のAI技術動向から実践的な導入事例まで、企業のデジタル変革に役立つ情報をお届けしています。豊富な経験と専門知識を活かし、読者の皆様にとって価値のあるコンテンツを制作しています。
最新記事

Prime Intellect Labとは?セルフ改善AIエージェントを訓練するフルスタックプラットフォームの機能・料金・使い方を完全解説
2026/05/28

ChatGPT料金【日本円換算】2026年最新|全プラン比較・選び方
2026/03/31

AIエージェントフレームワーク比較12選【2026年最新】LangChain・CrewAI・Dify
2026/04/02

Claude料金【日本円】2026年最新|Free/Pro/Max/Team全プラン比較
2026/03/26

税務AI活用【2026年最新】AI-OCR自動仕訳・JDL評判・freee連携
2026/04/23

Grokとは?Agent Mode使い方・料金・ChatGPTとの比較【2026年最新】
2026/04/18

