スキル(スラッシュコマンド)
スキルは Claude Code に「新しい能力」を追加できる仕組みです。対話中に /スキル名 と入力するだけで呼び出せる、いわば「マクロ」のようなもの。たとえば /commit と打てばコミットメッセージの自動生成、/debug と打てばトラブルシュート — といった具合に、繰り返し行う作業をワンコマンドに集約できます。さらに、自分だけのオリジナルスキルを作成することも可能です。
スキルの実行フロー
図の各ステップにマウスを乗せると、処理の詳細が表示されます。
組み込みスキル
Claude Code には、すぐに使える組み込みスキルが用意されています。対話中に / を入力するとスキル一覧が表示されます。
| スキル | 説明 |
|---|---|
/batch [指示] | 大規模な並列変更。5〜30のエージェントを worktree で起動し PR を自動作成 |
/claude-api | Claude API / SDK のリファレンスを会話コンテキストに読み込み |
/debug [説明] | デバッグログを分析して、現在のセッションの問題をトラブルシュート |
/loop [間隔] [コマンド] | 指定した間隔(例: 5m)でプロンプトを繰り返し実行 |
/simplify [対象] | 変更されたファイルの品質・効率を自動レビューして修正 |
オリジナルスキルの作成方法
自分のプロジェクトに合わせたスキルを作ることで、チーム全体のワークフローを標準化できます。スキルは SKILL.md という Markdown ファイルに指示を書くだけで作成できます。
ディレクトリ構成
~/.claude/skills/my-skill/
├── SKILL.md # 必須: Claudeへの指示(フロントマター + 本文)
├── template.md # オプション: 出力テンプレート
├── examples/ # オプション: 参考となる出力例
└── scripts/ # オプション: 補助スクリプトSKILL.md の書き方
SKILL.md は YAML フロントマター(設定部分)と Markdown 本文(指示部分)で構成されます。フロントマターでスキルの動作を制御し、本文で Claude に何をすべきか具体的に指示します。
---
name: my-skill
description: このスキルの目的と使うべき場面
disable-model-invocation: true
user-invocable: true
allowed-tools: Read, Grep
model: claude-sonnet
effort: high
context: fork
---
ここにスキルの指示を Markdown で記述します。
## やること
1. まずファイルを読み取る
2. 内容を分析する
3. 結果を報告するフロントマターの設定項目
各フィールドの詳細です。name と description は必ず設定しましょう。
| フィールド | 説明 |
|---|---|
name | スキル名。小文字・ハイフンのみ、最大64文字。/name で呼び出される |
description | スキルの説明。Claude が自動呼び出しの判断に使用する重要なフィールド |
argument-hint | 引数のヒント(例: [ファイル名])。補完時に表示 |
disable-model-invocation | true にすると、Claude が自動で呼び出すことを禁止(ユーザー手動のみ) |
user-invocable | false にすると / メニューに非表示。Claude からの内部利用専用に |
allowed-tools | このスキル実行時に許可するツール(カンマ区切り) |
model | このスキル専用のモデルを指定(セッション全体のモデルを上書き) |
effort | 努力レベルの上書き: low / medium / high / max |
context | fork を指定すると隔離されたサブエージェントで実行 |
スキルの配置場所と優先順位
スキルは複数の場所に配置でき、上位が優先されます。個人用スキルはホームディレクトリ、チーム共有スキルはプロジェクトディレクトリに配置するのが一般的です。
Enterprise(組織全体)
管理者が組織全体に配布するスキル。最も優先度が高い
Personal: ~/.claude/skills/
あなたのすべてのプロジェクトで使える個人用スキル
Project: .claude/skills/
プロジェクト固有のスキル。Git にコミットしてチームで共有可能
スキル内で使える変数
SKILL.md の中では、呼び出し時の引数やセッション情報を変数として参照できます。
| 変数 | 内容 |
|---|---|
$ARGUMENTS | ユーザーが入力した全引数 |
$0, $1... | 位置引数(スペース区切り) |
${CLAUDE_SESSION_ID} | 現在のセッション固有ID |
${CLAUDE_SKILL_DIR} | スキルファイルがあるディレクトリの絶対パス |
実践例: コミットスキル
以下は、変更内容に基づいてコミットメッセージを自動生成するスキルの例です。
---
name: commit
description: 変更をコミットする
argument-hint: [メッセージ]
---
## 手順
1. git status で変更を確認
2. git diff で差分を確認
3. 適切なコミットメッセージを作成
4. git commit を実行呼び出し方:
/commit バグ修正