Claude Codeのスキル機能(Skills)入門|SKILL.mdで「自分専用コマンド」を作る

Claude Code

Claude Code を使っていて、「同じ指示を毎回打ち込んでいる」「決まった手順(デプロイ、レビュー、コミット)をまとめて呼び出せたら楽なのに」と思ったことはありませんか。

それを叶えるのが スキル機能(Skills) です。ざっくり言うと、SKILL.md というファイル1枚で“自分専用コマンド”を作れるしくみ。/コマンド名 と打つだけで、決めておいた手順を Claude に実行させられます。

しかも、CLAUDE.md のように毎回読み込まれるわけではなく、スキルは呼び出したときだけ読み込まれるので、コンテキスト(=コスト)のムダもありません。この記事では、スキルとは何か → 作り方 → 呼び出し方 → 似た機能(サブエージェント・MCP)との違いまで、公式仕様ベースで整理します。


結論:スキル=「SKILL.md 1枚で作る再利用できる手順」

先に要点を。

  • スキルは SKILL.md(指示を書いたMarkdown)で定義する、再利用できる機能
  • 呼び出し方は /スキル名 で手動、または Claude が説明文(description)を見て自動で実行
  • うれしいのは3点:①繰り返す手順を1回だけ定義 ②呼んだ時だけ読み込む=コンテキスト節約 ③複雑な手順(チェックリスト・デプロイ手順)を整理できる
  • 業界標準「Agent Skills」に準拠しており、考え方は他のAIツールとも共通。

つまり、「よくやる定型作業を、名前付きの手順として登録しておく」のがスキルです。


スキルとは?何がうれしいか(CLAUDE.mdとの違い)

スキルの位置づけは、CLAUDE.md と比べると分かりやすいです。

CLAUDE.md スキル(Skill)
役割 毎回読み込む背景知識(規約・ビルド手順) 呼んだ時だけ動く手順
読み込み セッション開始時に毎回 呼び出した時だけ
向く中身 常に踏まえてほしい前提 たまに使う複雑な操作フロー
コンテキスト効率 常時消費 必要なときだけ消費

ポイントは、「いつも必要な前提」はCLAUDE.mdに、「ときどき使う手順」はスキルに、という住み分け。毎回は要らないけれど決まった手順がある作業(例:リリース手順、特定形式のレビュー)は、スキルにするとコンテキストを節約しながら再利用できます。

CLAUDE.md や「自動メモリ」など、Claude Code の“記憶”の全体像は【Claude Codeのメモリ機能を理解する】にまとめています。スキルと合わせて押さえると、使いこなしの幅が広がります。


スキルの正体(ファイル構成とフロントマター)

スキルの実体は、フォルダ+SKILL.mdです。必要に応じて補助ファイルやスクリプトも置けます。

my-skill/
├── SKILL.md        # メインの指示(必須)
├── reference.md    # 補助資料(任意)
└── scripts/
    └── helper.py   # 実行スクリプト(任意)

SKILL.md は、YAMLフロントマター(設定)+Markdown本文(指示)という構造です。

---
name: commit
description: 変更をステージしてコミットする
disable-model-invocation: true
allowed-tools: Bash(git add *) Bash(git commit *)
---

現在の変更を、適切なメッセージでコミットしてください。

主なフロントマター項目はこちら。

項目 役割
name スキル名(省略時はフォルダ名)
description スキルの説明。Claudeが自動実行するか判断する材料
disable-model-invocation true手動専用(Claudeは自動実行しない)
allowed-tools 実行時に許可を省略してよいツール(例:Bash(git *)
context forkサブエージェントとして隔離実行
agent 使うサブエージェント種別(ExplorePlan など)

description が肝です。ここを見て Claude が「この作業はこのスキルだ」と判断するので、いつ使ってほしいかが伝わる説明にしておきます。


スキルの置き場所

スキルは置き場所によって適用範囲が変わります。

スコープ 置き場所 適用範囲
個人用 ~/.claude/skills/<スキル名>/SKILL.md 自分の全プロジェクト
プロジェクト用 .claude/skills/<スキル名>/SKILL.md そのプロジェクト(チーム共有可)
プラグイン <プラグイン>/skills/<スキル名>/SKILL.md 名前空間 プラグイン名:スキル名
組織 管理設定で配布 組織全体

同じ名前のスキルがある場合は、上位(個人・組織側)が下位(プロジェクト側)を上書きします。「自分用の便利スキルは ~/.claude/skills/、チーム共有はプロジェクトの .claude/skills/」と覚えておくと迷いません。


作り方・呼び出し方

作る

最小構成なら、フォルダを作って SKILL.md を置くだけです。

mkdir -p ~/.claude/skills/my-skill

あとは ~/.claude/skills/my-skill/SKILL.md に、フロントマターと手順を書きます(前述の例を参照)。

呼び出す

パターン 方法
手動 /my-skill と入力
自動 Claudeがdescriptionを見て自動実行(disable-model-invocation: trueなら無効)
引数つき /my-skill 引数1 引数2。スキル内で $ARGUMENTS$1 で受け取る

動的に情報を差し込む(前処理)

スキル内で次のように書くと、Claudeが動く前にコマンドを実行し、その結果を埋め込めます。

---
name: pr-summary
---

PRの差分:
!`gh pr diff`

上の差分を要約してください。

ポイントは、これはスキル読み込み前に実行される前処理で、Claude にはコマンドの結果が見えること。毎回手で貼り付けていた情報を、自動で渡せるようになります。


似た機能との違い(スキル / サブエージェント / MCP / スラッシュコマンド)

ここが混乱しやすいので整理します。

機能 実体 性格 主な用途
スキル SKILL.md(指示) セッション内で動く手順 定型作業の再利用・コマンド化
サブエージェント .claude/agents/ 別コンテキストで動く専門役 重い調査・並列タスク
MCP 外部プロセス 外部ツール・データを接続 外部API・DB・サービス連携
スラッシュコマンド 組み込み or スキル /で呼ぶ操作 /help/compact/スキル名

覚え方:

  • スキル=手順を登録する(やることの台本)
  • サブエージェント=別の作業者に任せる(調べ物を隔離して並列化。詳しくは【サブエージェント実践】)
  • MCP=外部の道具をつなぐ(社内DBや外部サービス)

補足として、以前の .claude/commands/(カスタムコマンド)はスキルに統合されました。スラッシュコマンドとスキルは同じしくみで動き、スキル内から context: fork でサブエージェントとして走らせることもできます。つまりスキルは、他の機能をまとめる“入口”にもなります。


公式バンドルスキルとつまずきポイント

はじめから使えるスキル(バンドルスキル)

Claude Code には、最初から使えるスキルが同梱されています(一例)。

  • /code-review:コードレビューを実行
  • /debug:デバッグ支援
  • /run:アプリを起動して動作確認
  • /verify:変更が正しく動くか確認
  • /deep-research:深い調査(隔離エージェントで実行)

まずはこれらを使ってみると、スキルの感覚がつかめます。

つまずきやすいポイント

  • スキルと CLAUDE.md の使い分け:常に必要な前提は CLAUDE.md、ときどき使う手順はスキル。
  • disable-model-invocation の挙動true だと手動専用。自動でも呼んでほしいなら書かない(または false)。
  • ! で始まるコマンド記法は前処理:Claude が実行するのではなく、読み込み前に実行され、Claude には結果だけが渡る。
  • スキルが多いと説明文が切り詰められる:数が増えると description が短縮され、自動判定の精度が落ちることも。/doctor で状態を確認できる。
  • 呼び出し後はコンテキストに残る:大きなスキルを多用すると、その内容がセッション内に積み上がる点には注意。

まとめ

  • スキル=SKILL.md 1枚で作る、再利用できる手順/自分専用コマンド
  • 呼んだ時だけ読み込むので、CLAUDE.md よりコンテキスト効率がよい。常時前提はCLAUDE.md、定型手順はスキル。
  • フロントマター(namedescriptiondisable-model-invocationallowed-toolscontext)で挙動を制御。description が自動判定の鍵。
  • 置き場所は個人 ~/.claude/skills//プロジェクト .claude/skills/。同名は上位優先。
  • 呼び出しは /スキル名(手動)/自動/引数つき! で始まる記法で情報を前処理として差し込める。
  • サブエージェント(別作業者)・MCP(外部の道具)とは役割が別。スキルは手順の台本

「同じ指示を毎回打っている」と感じたら、それをスキルにするサインです。まずは /code-review などのバンドルスキルから触ってみてください。

あわせて読みたい:
Claude Codeのメモリ機能を理解する|CLAUDE.mdと自動メモリの違い(“記憶”の全体像)
Claude Codeのサブエージェント実践|使い方・自作・使いどころ(別コンテキストで動く専門役)
CLAUDE.mdの書き方・実例テンプレート(常時読み込む指示書)
Claude Designを使ってみた|Claude Code連携(/design)・既存アプリを自動刷新(/designでデザイン↔実装)


コメント

タイトルとURLをコピーしました