Claude Code のスキル機能:独自コマンドで作業を効率化する
デプロイ手順、PR レビューの観点、セキュリティチェックリスト——こういった手順を毎回 Claude Code に説明するのは手間がかかります。スキル機能を使うと、そういった手順をファイルに書き留めておき、/deploy や /pr-check のようなスラッシュコマンドとして呼び出せるようになります。一度定義しておけば引数を渡すだけで実行でき、.claude/skills/ をリポジトリに含めればチーム全体で同じ手順を使い回せます。
スキルで Claude を拡張する - Claude Code Docs
Claude Code でスキルを作成、管理、共有して Claude の機能を拡張します。カスタムコマンドとバンドルされたスキルが含まれます。
スキル機能とは
スキルとは、Claude Code に登録できるカスタムのスラッシュコマンドです。.claude/skills/{スキル名}/SKILL.md を作成しておくと、/{スキル名} で呼び出せるようになります。
スキルファイルの中身は Markdown で書いた指示文です。Claude Code はそのファイルを読み込み、内容に沿って処理を実行します。一度作っておけば何度でも再利用でき、リポジトリに含めておくとチーム全体で同じスキルを使えるようになります。
| 項目 | 内容 |
|---|---|
| 配置場所(プロジェクト) | .claude/skills/{スキル名}/SKILL.md |
| 配置場所(個人) | ~/.claude/skills/{スキル名}/SKILL.md |
| 呼び出し方 | /{スキル名} |
| 引数 | スラッシュコマンドの後ろにスペース区切りで渡せる |
スキルファイルの作り方
スキルファイルは Markdown ファイルで、フロントマターと本文で構成されます。フロントマターには name と description を記述します。
---
name: deploy
description: ステージング環境にデプロイする
---
# デプロイ手順
以下の手順でステージング環境へデプロイします。
1. テストを実行して全件グリーンであることを確認する
2. `git push origin main` でリモートに反映する
3. デプロイスクリプトを実行する
4. デプロイ後の動作確認を行う
description はスキルの一覧表示や Claude Code が文脈を把握するために使われます。何をするスキルかが伝わる内容にしておきましょう。
本文には実行手順を自然言語や Markdown で記述します。Claude Code はこの内容をプロンプトとして受け取り、順番に処理を実行していきます。
スキルの実行方法と引数
スキルは Claude Code のチャット欄で /{スキル名} と入力するだけで実行できます。引数を渡したい場合はスペースの後ろに続けます。
/deploy staging
スキルファイルの中では引数を $ARGUMENTS というプレースホルダーで受け取れます。スキルファイル内の指示文に書いておくと、Claude Code が正しく解釈して処理を進めます。
引数が渡されなかった場合の挙動も指示文に含めておくと、より使いやすいスキルになります。たとえば「引数がない場合はユーザーに確認する」と書いておけば、必要な情報が不足していてもスキルが止まらずに動きます。
スキルの自動呼び出し
Claude Code はスキルの description を常に参照しています。会話の内容が description に一致すると判断した場合、ユーザーが明示的に呼び出さなくても自動的にスキルを読み込みます。
たとえば description: Pull Request をレビューする と書いておくと、「このブランチをレビューして」という会話に対して Claude Code が自動的にそのスキルの手順を使います。スキルごとに異なる観点やチェックリストを定義しておくことで、自然な会話のなかでプロジェクト固有の手順が反映されるようになります。
自動呼び出しを無効にする
デプロイや本番環境への操作など、意図せず実行されると困る作業には disable-model-invocation: true を指定します。この設定を入れると Claude Code が自動的にスキルを読み込まなくなり、/deploy と明示的に入力した場合だけ実行されます。
---
name: deploy
description: ステージング環境にデプロイする
disable-model-invocation: true
---
副作用のある操作はこの設定をつけておくと、Claude Code が文脈から勝手に実行することを防げます。
スキルの活用例
| 用途 | スキル例 | 説明 |
|---|---|---|
| デプロイ | /deploy | デプロイ手順をまとめて、毎回同じ手順で実行できるようにする |
| PR レビュー | /pr-check | セキュリティ・パフォーマンス・規約などの観点をスキルに定義して統一した基準でレビューできる |
| セキュリティ確認 | /security-check | セキュリティチェックリストを登録して抜け漏れを防ぐ |
| インフラ操作 | /launch-ec2 | EC2 インスタンスの起動・停止手順を登録して引数で環境を指定できる |
| コミット作成 | /commit | コミットメッセージの規約をスキルに定義して一貫したメッセージを生成できる |
スキルの例
PR レビュー用のスキルを例に、具体的なファイルの書き方を示します。.claude/skills/pr-check/SKILL.md を以下のように作成します。
---
name: pr-check
description: Pull Request をレビューする
---
# PR レビュー
以下の観点で Pull Request をレビューします。
## セキュリティ
- SQL インジェクション・XSS などの脆弱性がないか確認する
- 認証・認可の処理が適切かどうか確認する
- 機密情報がコードに含まれていないか確認する
## パフォーマンス
- N+1 クエリが発生していないか確認する
- 不要なループや重複処理がないか確認する
## コーディング規約
- プロジェクトの命名規則に沿っているか確認する
- テストが書かれているか確認する
- コメントが適切かどうか確認する
レビュー対象のブランチ: $ARGUMENTS
このスキルを呼び出すときは次のように実行します。引数にブランチ名を渡すと $ARGUMENTS に展開され、Claude Code がそのブランチの変更内容を上記の観点でレビューします。
/pr-check feature/add-login
まとめ
- スキルはプロジェクトまたは個人のディレクトリに SKILL.md を作成するカスタムスラッシュコマンド
- フロントマターに名前と説明を、本文に実行手順を Markdown で記述する
- スラッシュコマンドで手動呼び出しでき、引数を渡して動的に使い回せる
- description に一致する会話では Claude Code が自動的にスキルを読み込む
- デプロイなど副作用のある操作は disable-model-invocation で自動呼び出しを無効にできる
- デプロイ・PR レビュー・セキュリティ確認・インフラ操作など、繰り返す作業をスキルにまとめると効率化できる