Claude Code特集2026年5月更新

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

公開日: 2026/04/22
更新日: 2026/05/22
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)ベースでまとめます。

Claude Code カスタムスラッシュコマンドの作り方

この記事でわかること

  • スラッシュコマンドの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の公式プロダクト紹介画像

出典: Anthropic(claude.com)

スラッシュコマンドは、Claude Code のプロンプト入力欄で / から始めて実行する機能です。メッセージの先頭でのみ認識され、コマンド名に続くテキストは引数として渡されます。現時点では大きく3種類に分かれます。

種類

実装場所

組み込み(Built-in)

/help/clear/model/background/goal など

Claude Code CLI 本体に固定実装

バンドルスキル(Bundled Skills)

/code-review/batch/run/verify など

プロンプトベースのプリセットスキル([Skill] と表示)

カスタム(スキル)

/commit/deploy/pr-summary など任意

ユーザーがMarkdownで定義

組み込みコマンドは削除・追加できませんが、カスタムスキルは Markdown 1枚で作れます。カスタムコマンド/スキルは Claude Code の全プラン(Free / Pro / Max / Team / Enterprise)で追加料金なしで利用可能です。

プラン・プラットフォームによって表示される組み込みコマンドは異なります。たとえば /upgrade/privacy-settings は Pro / Max 限定、/desktop は macOS / Windows のみです。


【重要】Skills統合で何が変わったか

2026年のSkills統合に関するアップデート

2026年のアップデートで、カスタムスラッシュコマンドはスキル(Skills)機能に統合されました。公式ドキュメントには次のように明記されています。

Custom commands have been merged into skills. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy and work the same way. Your existing .claude/commands/ files keep working.

  1. 旧形式 .claude/commands/<name>.md は引き続き動作する(互換維持)
  2. 新規作成の公式推奨は .claude/skills/<name>/SKILL.md ディレクトリ形式
  3. 同名コマンドがある場合は Skill 形式が優先される

旧形式と新形式の違い

項目

旧形式(.claude/commands/

新形式(.claude/skills/SKILL.md

配置

Markdown 1枚

ディレクトリ(SKILL.md 必須)

サポートファイル

×

○(テンプレート・スクリプト・例を同梱可)

呼び出し制御

限定的

disable-model-invocation / user-invocable などが使える

Claude自動呼び出し

×

○ 文脈に応じて自動起動可能

paths 条件起動

×

○ 特定ファイル編集時のみ自動起動

公式スタンス

互換維持(将来非推奨の可能性)

推奨

Claude Code のスキルは Agent Skills オープンスタンダード(agentskills.io) に準拠しており、他のAIツールとも互換性があります。Claude Code はこれに呼び出し制御・サブエージェント実行・動的コンテキスト注入といった拡張機能を足しています。

これから新規で作るなら、.claude/skills/<name>/SKILL.md が第一選択肢です。


カスタムコマンドの作り方(旧形式:.claude/commands/

AnthropicのClaude Codeに関する公式ニュース画像

出典: Anthropic

まずは一番シンプルな旧形式から押さえます。既存プロジェクトの資産を理解するときにも役立ちます。

手順

  1. プロジェクトルートに .claude/commands/ ディレクトリを作成
  2. <コマンド名>.md を追加
  3. そのままプロンプトを本文に書く

最小サンプル:

<!-- .claude/commands/hello.md -->
Hello world と日本語で返事してください。

この1ファイルを置くだけで、Claude Code セッション内で /hello が使えるようになります。ファイル名(.md を除く)がそのままコマンド名です。

保存場所の違い(プロジェクト vs ユーザー)

スコープ

パス

適用範囲

Git管理

Project

.claude/commands/<name>.md

そのプロジェクトのみ

○ 共有前提

Personal

~/.claude/commands/<name>.md

全プロジェクト

× 個人用

チーム共有したいコマンド(デプロイ・コミット・PR要約など)はプロジェクト配下に置いてGitにコミット、個人の検索・要約ユーティリティはユーザー配下に置く、が基本方針です。


カスタムスキルの作り方(新形式:.claude/skills/SKILL.md

2026年以降の公式推奨はこちらです。ディレクトリ形式になることで、サポートファイル(テンプレート・参考コード)を同梱できる・呼び出し制御ができる、といったメリットが得られます。

手順

  1. .claude/skills/<コマンド名>/ ディレクトリを作成
  2. そのなかに SKILL.md を必須ファイルとして置く
  3. 必要ならテンプレートや参考ファイルを同じディレクトリに追加

最小サンプル:

<!-- .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(個人)

~/.claude/skills/<name>/SKILL.md

~/.claude/commands/<name>.md

全プロジェクト

Project(プロジェクト)

.claude/skills/<name>/SKILL.md

.claude/commands/<name>.md

そのプロジェクトのみ

Plugin

<plugin>/skills/<name>/SKILL.md

プラグイン有効時

優先順位:Enterprise > Personal > Project。プラグインは plugin-name:skill-name の名前空間を持つため、ユーザー定義と名前衝突しません。

モノレポ対応: packages/frontend/.claude/skills/ のようなサブパッケージ内のスキルも自動検出されます。開始ディレクトリからリポジトリルートまで遡る各ディレクトリの .claude/skills/ が全て読み込まれます。


フロントマター完全リファレンス

SKILL.md のフロントマターとプロンプト本文

SKILL.md(または .claude/commands/<name>.md)の先頭に --- で囲んで記述するYAMLメタデータです。すべてオプションですが、description は Claude が自動起動するかどうかを判断する根拠になるため、実務では必ず書きます。

フィールド

型 / 例

説明

name

文字列

スキル表示名。省略時はディレクトリ名。小文字・数字・ハイフンのみ、最大64文字

description

文字列

スキルの内容と「いつ使うか」。Claudeの自動起動判断に使う。description + when_to_use の合計 1,536文字で切り詰め

when_to_use

文字列

追加のトリガーフレーズ。description に追記される扱い

argument-hint

例:[issue-number]

オートコンプリートヒント

arguments

[issue, branch]

名前付き位置引数。$issue / $branch で参照

disable-model-invocation

true / false

Claudeによる自動起動を無効化。副作用のあるコマンド用

user-invocable

true / false

false にすると / メニューから非表示(Claudeのみ呼び出し可能)

allowed-tools

Bash(git add *) Bash(git commit *)

スキル実行中に承認なしで使えるツール

model

sonnet / opus

使用モデルを上書き(そのターンのみ)

effort

low / medium / high / xhigh / max

思考予算を上書き

context

fork

サブエージェントコンテキストで実行

agent

Explore / Plan / general-purpose

context: fork 時のサブエージェントタイプ

hooks

ライフサイクル連携

このスキル固有のフック

paths

"src/**/*.ts"

Globパターン。一致ファイル編集時のみ自動起動

shell

bash / powershell

! 構文のシェル(デフォルト: bash)

最小限で書くなら 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 のように渡した引数は、本文中で次の変数で受け取れます。

変数

説明

$ARGUMENTS

入力された全引数をそのまま文字列展開

$ARGUMENTS[N]

0始まりのインデックスで個別引数にアクセス

$N

$ARGUMENTS[N] の短縮形($0, $1, $2 …)

$name

arguments フロントマターで宣言した名前付き引数

${CLAUDE_SESSION_ID}

現在のセッションID(ロギング・一意ファイル作成に活用)

${CLAUDE_EFFORT}

現在の思考量レベル(low / medium / high / xhigh / max

${CLAUDE_SKILL_DIR}

SKILL.md を含むディレクトリの絶対パス(バンドルスクリプト参照に活用)

複数単語の引数はシェル風にクォートで囲めます。/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に渡ります。ghgit の認証情報を持ったまま実行されます。

複数行を流したい場合は、```! で始まるフェンスドコードブロックを使います。

```!
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

同じ「コマンド」でも、誰が起動するのかを細かく制御できます。

user-invocable

disable-model-invocation

動き

典型用途

true(既定)

false(既定)

ユーザーもClaudeも呼び出せる

一般的なユーティリティ

true

true

ユーザーのみ呼び出せる

/commit /deploy など副作用あり

false

false(既定)

Claudeのみ自動起動

自動起動前提のスキル

false

true

誰も呼び出せない

一時停止用

実務での推奨

  • デプロイ・コミット・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へのリスト

/ メニュー表示

"on"(既定)

名前と説明

表示

"name-only"

名前のみ

表示

"user-invocable-only"

非表示

表示

"off"

非表示

非表示

スキルの説明がコンテキストを圧迫している場合は、低優先スキルを "name-only" に設定するとバジェットを節約できます。


サブエージェント実行(context: fork

重い調査タスクは、メイン会話とコンテキストを分けてサブエージェントに委ねるのが有効です。

---
name: deep-research
description: 指定トピックをリポジトリ全体から徹底調査する
context: fork
agent: Explore
---

$ARGUMENTS について徹底調査してください。
1. Glob / Grep で関連ファイルを洗い出す
2. コードを読み込み、具体的なファイル参照付きで要約する
  • context: fork を指定すると、そのスキルは分離されたサブエージェントコンテキストで実行されます
  • agentExplore(探索特化)、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 で全覧を出せますが、用途別に整理します。コマンドの可用性はプラットフォーム・プラン・バージョンによって異なります。

セッション管理・コンテキスト

コマンド

用途

/clear

新しい会話を開始(エイリアス: /reset, /new

/compact [instructions]

会話履歴を要約してコンテキストを解放

/context [all]

コンテキスト使用量をカラーグリッドで可視化

/resume [session]

会話再開(エイリアス: /continue

/rewind

チェックポイント巻き戻し(エイリアス: /checkpoint, /undo

/branch [name]

現在の会話を分岐(エイリアス: /fork

/btw <question>

会話履歴を汚さずにサイドの質問をする

/recap

現在のセッションのサマリーをオンデマンド生成

/export [filename]

会話をテキスト書き出し

/copy [N]

最後のアシスタント応答をクリップボードにコピー

ワークフロー・エージェント・並列処理

コマンド

種別

用途

/plan [description]

組み込み

プランモードに直接入る

/background [prompt]

組み込み

セッションをバックグラウンドエージェントとして切り離す(エイリアス: /bg

/tasks

組み込み

バックグラウンドタスク一覧(エイリアス: /bashes

/goal [condition]

組み込み

ゴールを設定して条件達成まで継続実行

/agents

組み込み

サブエージェント設定を管理

/schedule [description]

組み込み

スケジュール実行ルーティンを作成(エイリアス: /routines

/autofix-pr [prompt]

組み込み

CI失敗・レビューコメントを自動修正するWebセッションを生成

/batch <instruction>

Skill

大規模変更をコードベース横断で並列実行・PR作成

/loop [interval] [prompt]

Skill

セッション中にプロンプトを繰り返し実行(エイリアス: /proactive

コードレビュー・品質

コマンド

種別

用途

/code-review [level] [--comment] [target]

Skill

差分をレビューし修正点を報告。--comment でGitHub PRにコメント投稿

/review [PR]

組み込み

PRをローカルでレビュー

/security-review

組み込み

セキュリティ脆弱性を分析

/diff

組み込み

変更のインタラクティブdiffビューアを開く

/ultrareview [PR]

組み込み

マルチエージェントクラウドサンドボックスで深いPRレビュー(Pro/Maxは3回無料)

/ultraplan <prompt>

組み込み

高精度なultraplanセッションで計画を起案・実行

アプリ実行・検証(v2.1.145 以上必要)

コマンド

用途

/run

アプリを起動して変更を実際の動作で確認

/verify

コード変更をビルド・起動して正確性を確認

/run-skill-generator

/run/verify 向けにプロジェクト固有のスキルを生成

モデル・設定

コマンド

用途

/model [model]

モデル切替(Opus / Sonnet / Haiku など)

/effort [level]

思考予算(low / medium / high / xhigh / max

/config

設定(エイリアス: /settings

/fast [on|off]

ファストモードのON/OFF切替

プロジェクト設定・メモリ

コマンド

用途

/init

プロジェクトに CLAUDE.md を生成

/memory

CLAUDE.md の編集・auto-memory 管理

/add-dir <path>

作業ディレクトリ追加(セッション中のみ有効)

/mcp

MCPサーバー接続とOAuth認証の管理

情報・診断

コマンド

用途

/help

ヘルプとコマンド一覧

/status

バージョン・モデル・アカウント情報を表示(応答中でも動作)

/usage

セッションコスト・プラン使用量(エイリアス: /cost, /stats

/doctor

インストールと設定を診断(スキルのバジェット確認にも使う)

/insights

セッション分析レポートを生成

/release-notes

インタラクティブなバージョンピッカーでChangelog表示

スキル・拡張機能管理

コマンド

用途

/skills

利用可能スキル一覧(t でトークン数ソート、Space で可視性切替)

/hooks

フックの設定表示

/plugin

プラグイン管理

/reload-plugins

全アクティブプラグインをリロード(再起動不要)

/permissions

権限ルール(エイリアス: /allowed-tools

/fewer-permission-prompts

過去ログから頻出の読み取り系コマンドをallow-listに追加

リモート・クロスデバイス

コマンド

用途

/remote-control

claude.ai からリモートコントロール可能にする(エイリアス: /rc

/teleport

WebセッションをターミナルにURLで取り込む(エイリアス: /tp

/desktop

Claude Code Desktop アプリでセッションを継続(macOS/Windowsのみ、エイリアス: /app

/web-setup

GitHubアカウントをClaude Code on the Webに接続

チーム・エンタープライズ運用

コマンド

用途

/team-onboarding

Claude Code使用履歴からチームオンボーディングガイドを生成

/setup-bedrock

Amazon Bedrock認証・リージョン・モデル設定

/setup-vertex

Google Vertex AI認証・プロジェクト・リージョン設定

/install-github-app

Claude GitHub Actions アプリをリポジトリに設定

/install-slack-app

Claude Slack アプリをインストール

MCPプロンプト: MCPサーバーが公開するプロンプトは /mcp__<server>__<prompt> 形式でコマンドとして使用可能です。

廃止済み(注意)

コマンド

廃止バージョン

代替

/pr-comments

v2.1.91

Claudeに直接PRコメントを確認させる

/vim

v2.1.92

/config → Editor mode で切替

バンドルスキルは頻繁に追加されます。最新の一覧は /skills または /release-notes で確認してください。


旧形式から新形式への移行ガイド

.claude/commands/ を整備済みのチーム向けです。

移行手順

  1. .claude/commands/<name>.md.claude/skills/<name>/SKILL.mdディレクトリごと移動
  2. フロントマターに namedescription を追加(元ファイルに無ければ)
  3. 副作用があるコマンドは disable-model-invocation: true を付与
  4. 外部ツール呼び出しがあれば allowed-tools で事前承認するツールを列挙
  5. テンプレート・長文の参考資料は SKILL.md から切り出してサポートファイル化
  6. /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 context: fork

Hooks(フック)

Claude のライフサイクル上で自動実行したい処理

SessionStart / PostToolUse などイベント時

Plugin(プラグイン)

上記の複合パッケージを外部配布

インストール後は常時有効

選び方の原則:

  • 「毎回同じプロンプトを打ちたい」→ Skill
  • 「副作用が重い/コンテキストを汚したくない」→ サブエージェントcontext: fork
  • 「ユーザーが忘れても自動で走らせたい」→ Hooks(例:devサーバー起動検知、コード保存後のレビュー)
  • 「上記を他チーム/社外に配布したい」→ Plugin

フックでスキルを呼ぶ、スキルからサブエージェントを立てる(context: fork)など、組み合わせ運用が現場では一般的です。


セキュリティ・運用上の注意点

コマンドラインセキュリティとインターフェースのイメージ

スラッシュコマンドは便利な一方、本文にシェル実行と外部APIコールが書けるため、共有・運用時のリスク管理が必要です。

  1. allowed-tools は最小権限で — 列挙したツールは承認ダイアログなしで走る。必要なツールだけを指定する
  2. 副作用のあるコマンドは disable-model-invocation: true — Claudeが勝手に /deploy を走らせるのを防ぐ
  3. 機密情報を本文に直書きしない.claude/skills/ はGitにコミットされ、チーム全員に配布される
  4. 管理設定で ! 実行を無効化可能"disableSkillShellExecution": true を組織設定で強制
  5. /permissions でスキル自体を拒否可能Skill ツールを拒否、または Skill(name) / Skill(name *) で個別制御
  6. プロジェクトスキルのtrustに注意.claude/skills/ のスキルは、ワークスペーストラストダイアログ受け入れ後に allowed-tools が有効化される。信頼しないリポジトリはレビュー前に trust しない

AIコーディング全般のセキュリティ設計については、AIコーディング セキュリティ リスクと対策 を組織展開前に合わせて確認してください。


こんな人におすすめ

  • 同じプロンプトを毎日打っている(要約・レビュー・コミットメッセージ作成など)
  • チームで /commit /review を標準化して品質を揃えたい
  • モノレポで パッケージごとの固有ワークフローを配布したい
  • .claude/commands/ 資産を 新形式(Skills)へ整理したい
  • フック・サブエージェントと組み合わせて 独自の開発パイプラインを作りたい

おすすめしない人

  • Claude Code をまだ常用していない(先に日常ワークフローを作ってからでOK)
  • 1回限りのタスクをスキル化しようとしている(ノーマルプロンプトで十分)
  • 認証情報・本番デプロイを制御なしでスキル化しようとしている(disable-model-invocationallowed-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革命株式会社の編集部です。最新のAI技術動向から実践的な導入事例まで、企業のデジタル変革に役立つ情報をお届けしています。豊富な経験と専門知識を活かし、読者の皆様にとって価値のあるコンテンツを制作しています。

AI活用ならAI革命にお任せ。サービスを見てみる
AI Revolution Growth Arrow

AIでビジネスを革新しませんか?

あなたのビジネスにAIがどのような価値をもたらすかをご提案いたします。