マギのクロゼミ
応用 #Claude#Skills 公開 2026.04.24

Claude Skills とは何か。SKILL.md 1枚で増やす専門知識

Claude Code の Skills(スキルズ)は、`SKILL.md` というMarkdownファイル1枚で「Claude に専門知識のパッケージを足す」しくみです。`/` メニューに自分専用のコマンドが現れる、というだけの機能ではありません。なぜこれが必要だったのか、何が嬉しいのか、他の機能とどう違うのかを、いちから整理します。

はじめに

ここから Step 3「機能を使いこなす」の本丸、Skills(スキルズ) の話に入ります。Skills シリーズは全部で3本構成で、

  1. この記事:Skills とは何か(仕組みと位置づけ)
  2. 公式 Skills を使う(既製の Skills を呼び出す手順)
  3. Skills を自作する(自分専用の Skills を作る)

という順番で進みます。最初のこの記事は概念解説に時間を使い、Skills が何のためにあるのか をはっきりさせるところを目指します。仕組みが腑に落ちると、後ろの2本(既製を使う/自作する)の手順がスッと入ってきます。

「とにかく動かしたいから手順だけ知りたい」という方は、ここを読み飛ばして次の記事から入っても構いません。ただ、Skills は 概念がわかると一気に使い道が広がる タイプの機能なので、急ぎでなければ順番に読んでいただくことをおすすめします。

Skills とは何か——ひと言でいうと

Skills は、Claude に「特定の場面で読んでほしい専門知識のパッケージ」を渡す仕組み です。

たとえば、あなたが Claude Code を使って LP(ランディングページ)を量産しているとします。LP にはあなた独自のコーディング規約があって、「class 名はBEM風」「画像は WebP に変換してから挿入」「フォームは必ずラベルを付ける」といったルールが頭の中にあるとしましょう。

これを毎回の会話の冒頭で「うちの LP は BEM で、画像は WebP で、フォームには……」と説明するのは正直しんどいです。CLAUDE.md にすべて書く方法もありますが、CLAUDE.md は 毎回必ず読み込まれる ファイルなので、何でもかんでも書くと容量を食いますし、「LP を作るとき以外は不要なルール」までずっと持ち歩くことになります。

Skills が解決するのはまさにここです。「LP を作るときだけ読む専門知識」を1つのフォルダにまとめておき、Claude が必要だと判断したときにだけ読みに行く ——この振る舞いを実現するのが Skills という機能です。

比較対象読まれるタイミング容量への影響
CLAUDE.md毎回必ず 読まれる大きいと毎回そのぶんトークンを消費
Skills必要なときだけ 読まれる普段はファイル名と説明だけが認識されている

CSS で例えると、CLAUDE.md は <head> で読み込む共通CSS、Skills は JS で必要時に動的に読み込む追加CSS に近いイメージです。常時 vs 遅延、と言い換えてもいいかもしれません。

なぜこの仕組みが生まれたのか

Claude Code を使い込むと、「同じような指示を毎回繰り返している自分」 に気づきます。

  • 記事を書くたびに「マギのクロゼミの口調で、絵文字を使わず、見出し直下にリード文を……」
  • LP を組むたびに「BEM で、画像は WebP で、フォームには……」
  • セキュリティレビューのたびに「OWASP Top 10 を念頭に、SQL インジェクションと XSS を……」

これを毎回コピペするのは時間の無駄ですし、CLAUDE.md にすべて書こうとすると 「全部の場面で必要な知識」と「特定の場面でだけ必要な知識」が混ざって肥大化 します。

Anthropic はこの問題を「専門知識を場面ごとに分けて保存し、必要な場面でだけ読み込ませる」という発想で解いてきました。それが Skills です。Web 制作で言えば、長くなりすぎた1つの style.css を、ページ別の CSS ファイルに分割する あの整理に似ています。「ホームでだけ使う style」「商品ページでだけ使う style」を分けると、保守も読み込みも軽くなる——同じ思想です。

Skills の実体は「フォルダ + SKILL.md

Skills の中身は驚くほど素朴です。1つの Skill = 1つのフォルダ、その中に SKILL.md というMarkdownファイル が置いてあるだけ。これがすべての出発点です。

my-lp-skill/                    ← Skill のフォルダ
├── SKILL.md                    ← 必須。Skill の本体
├── examples/                   ← 任意。参考用のコード例など
│   └── good-lp-example.html
└── references/                 ← 任意。参照したい補足ドキュメント
    └── brand-guidelines.md

SKILL.md の中身は、

---
name: lp-coding-rules
description: LP(ランディングページ)案件のコーディングを依頼されたときに、BEM 命名規約・WebP 必須・フォームのラベルルールを適用する
---

# LP コーディング規約

## 命名規約

class 名は BEM 風(block__element--modifier)で書く。
たとえばヘッダー内のロゴは `.header__logo`、開いた状態のメニューは
`.header__menu--open` のように書く。

## 画像

すべて WebP 形式に変換してから挿入する。
JPG/PNG しかない場合は、Claude 側で変換コマンドの提案までは行うが、
実際の変換ファイルは社長に渡してから組み込む。

## フォーム

すべての input には必ず label を付ける。
placeholder だけで済ませない。

——というふうに、frontmatter(--- で挟まれた設定)と本文があるだけ。HTML/CSS の感覚で言えば、普通の Markdown ファイルに「いつ呼ばれるか」のメモを足しただけ という見た目です。

frontmatter の役割

SKILL.md の冒頭にある --- で挟まれた部分(frontmatter)が、Claude にとっての「索引カード」になります。

項目役割
nameこの Skill の識別名lp-coding-rules
descriptionどんな場面で使うか を書く(最重要)「LP コーディングを依頼されたときに……」

特に descriptionSkill が起動するかどうかを左右する一番大事な部分 です。Claude は会話の中で「いまの依頼に合致する Skill があるかどうか」を description を見て判断します。曖昧に書くと起動しない、具体的に書くと起動する、という素直な仕組みです(書き方のコツは 自作編 で詳しく扱います)。

「必要なときだけ読む」のしくみ

Skills の価値を一段押し上げているのが、progressive disclosure(段階的開示) という考え方です。難しそうな名前ですが、中身はシンプルです。

1. 起動時:Claude は「こんな Skill が手元にある」という索引(description だけ)を覚える
2. 会話中:依頼内容を見て「この Skill が当てはまりそう」と判断したときだけ
3. 本体読込:その Skill の SKILL.md 全文を読み込む
4. 関連物読込:必要に応じて examples/ や references/ の中身も読む

この仕組みのおかげで、Skill を100個入れていても、普段は索引(description)の数十文字しか読み込まれない という効率が出せます。LP の依頼が来たら LP 用の Skill だけが動き、記事執筆の依頼が来たら記事執筆用の Skill だけが動く——というふうに、必要なものだけが必要なときに動く設計です。

Web で例えるなら、「画像を全部 <img> で先読みするのではなく、loading="lazy" を付けて画面に入ったときだけ読み込む」 あの遅延読み込みに似ています。普段は軽い、必要なときに重くなる、というメリハリの付け方です。

Skills と他の機能の位置関係

Step 3 の他のテーマ(コマンド/MCP/プラグイン/フック/サブエージェント)と Skills の関係を整理しておきます。「結局どれを覚えればいいの?」 とならないために、ここでひと回り見渡しておくと後がラクです。

機能何をする道具か動くタイミング配布のしやすさ
スラッシュコマンドClaude Code 本体への命令ユーザーが /xxx と打ったとき× 本体組み込みのみ
Skills専門知識を Claude に渡すClaude が必要と判断したとき+ユーザーが /xxx と呼んだとき◎ フォルダごと配布可
MCP外部のツール/データに接続するClaude が外部ツールを使うとき◎ サーバーとして配布可
Hooks特定のイベントで自動的に何かを実行決まったイベント(保存後など)△ settings.json で記述
SubAgent別のコンテキストで Claude を走らせるユーザーが指示したとき◎ ファイルとして配布可
Plugins上記の Skills/コマンド/Hooks/MCP をひと包みにするプラグイン内の各機能の発火タイミング◎ マーケットプレイスで配布

ざっくりした覚え方は、

  • 「Claude に新しい知識を持たせたい」→ Skills
  • 「Claude を外の世界(DB、API、Drive)に繋ぎたい」→ MCP
  • 「決まったタイミングで何かを自動でやらせたい」→ Hooks
  • 「メインの会話を汚さず重い仕事を別に任せたい」→ SubAgent
  • 「上記をまとめて他人にも配布したい」→ Plugins

という分担で考えると、迷いません。Skills はこの中で 「知識を増やす」担当 です。

Skills が置かれる3つの場所

Skills の配置場所は3階層あります。これは「誰が使えるか」の違いです。

階層場所誰が使えるか
Built-inClaude Code 本体に最初から組み込みすべての人(Anthropic 配布)
User(ユーザー全体)~/.claude/skills/あなたのすべてのプロジェクト
Project(プロジェクト個別)プロジェクト内の .claude/skills/そのプロジェクトに入った人だけ

たとえば、

  • ~/.claude/skills/article-tone/ に置いた Skill は、マギのクロゼミでも、別のクライアント案件でも、どこでも呼べる あなた個人の知識
  • <案件フォルダ>/.claude/skills/client-rules/ に置いた Skill は、その案件の中でだけ呼べる 案件固有の知識

という使い分けです。「自分の手癖は User、案件のルールは Project」 という分け方が自然な落ち着きどころになります。

よくある誤解、3つ

最後に、Skills について最初は誤解されがちな点を3つ片付けておきます。これを知っておくと、後の記事を読むときの解像度が上がります。

誤解1:Skills は常に全部読まれている

読まれていません。 起動時に読まれているのは description だけ です。本体の SKILL.md は、Claude が「いまの会話に必要だ」と判断したときに初めて読まれます。なので、Skills を100個入れても普段の動作は重くなりません。

誤解2:Skills は / メニューから呼ばないと動かない

呼ばなくても動きます。 Skills は会話の文脈から Claude が自動で発火することが多く、必ずしもユーザーが /xxx と打つ必要はありません。たとえば「LP を作って」と依頼するだけで、description に「LP のとき」と書いてある Skill は自動的に呼ばれます。/ メニューからの手動起動は 「念のため確実に呼びたい」 ときの保険、というのが実態に近いです。

誤解3:Skills には特別なプログラミング言語が必要

いりません。 SKILL.md は普通のMarkdownです。HTML を書ける方なら何の引っかかりもなく書けます。frontmatter(--- で挟まれた設定)は WordPress の固定ページのカスタムフィールドのようなもので、書き方さえ覚えれば技術的にはとても素朴です。

「自作」と聞くと身構える方が多いですが、Skills の自作は Markdown でメモを書くのと同じ感覚 で始められます。詳しい書き方は 自作編 で扱います。

まとめ

Skills の要点を整理します。

  1. Skills は Claude に「専門知識のパッケージ」を渡す仕組み:必要な場面でだけ読まれる
  2. CLAUDE.md は毎回読まれ、Skills は必要時だけ読まれる:常時 vs 遅延、の使い分け
  3. Skills の実体はフォルダ + SKILL.md:普通のMarkdownで書ける
  4. description が起動の鍵:Claude は description を見て「使うかどうか」を判断
  5. progressive disclosure:索引→本体→関連物、と段階的に読み込まれる
  6. 配置場所は3階層:Built-in(本体)/User(個人)/Project(案件)
  7. 位置関係:知識を増やすのが Skills、外部接続が MCP、タイミング駆動が Hooks、別働隊が SubAgent
  8. 3つの誤解:常時読まれない/自動で発火する/特別な言語は不要

Skills の概念がつかめたところで、次の記事「公式 Skills を使う」では、Anthropic が配布している既製の Skills を実際に手元で動かしてみます。/security-review/init といった、すでに使っている方も多い「あれ」も実は Skills のひとつだった——ということに気づくはずです。続けて読むと、Skills が「謎の機能」から「毎日の道具」に変わります。

WordPressを実際に動かしてきたサーバー:ロリポップ

Claude Code でWordPressサイトを組み立てるとき、最初に置く先として無理のないレンタルサーバー。月数百円から始められ、WordPressの自動インストールにも対応しています。設定で詰まりがちな初期段階の時間をかなり減らせます。

🌱
ロリポップ!レンタルサーバー
GMOペパボ運営 / 月額¥220〜
ロリポップを見る →
Roadmap 学習マップでこの記事の位置を見る
Step 1 →