Claude Codeを使い込むほど、スキル(Skills)とサブエージェント、それにスラッシュコマンドやCLAUDE.mdのどれに何を書けばいいのか、判断に迷う場面が増えてきます。Claude Codeのサブエージェントとスキルの違いは一言でいうと、スキルが「毎回同じやり方で守らせたい手順書」なのに対し、サブエージェントは「独立したコンテキストで作業を任せる専門ワーカー」だという点にあります。役割がはっきり分かれているので、混同すると会話のトークンが無駄に膨らんだり、再現性が落ちたりします。この記事では、スキル・サブエージェント・スラッシュコマンド・CLAUDE.mdの4つを1枚の早見表で整理し、サイト制作や記事の自動化で編集部が実際にどう使い分けているかまで、コマンドと設定例つきでまとめます。
この記事の要点
- スキル=手順書(毎回同じやり方で守らせたい作業を覚えさせる)、サブエージェント=専門ワーカー(独立コンテキストで作業を委譲する)が基本の違いです。
- スラッシュコマンド=定型の呼び出しボタン、CLAUDE.md=プロジェクト全体の前提。この4つは競合ではなく役割分担で、重ねて使うものです。
- 選ぶものを間違えると、メイン会話のトークンが溶ける・指示が守られない・再現性が出ないといった形で作業効率に差が出ると想定されます。
- 編集部では、記事の自動生成で調査と採点はサブエージェント、執筆手順はスキル、公開の起動はスラッシュコマンドに切り分けています。この切り分けの判断基準を早見表と実例、コマンド・設定例つきでまとめます。
01Claude Codeのサブエージェントとスキルの違いを一言でいうと
結論からお伝えします。スキルは「やり方を覚えさせる手順書」、サブエージェントは「作業を任せる独立したワーカー」です。スキルはメインのClaudeが自分で参照して同じ会話の中で実行しますが、サブエージェントは別のコンテキストウィンドウを持つ子として起動し、結果だけをメインに返します。ここに、トークンの使われ方と再現性の差が生まれます。
4つの拡張は競合ではなく役割分担
Claude Codeを広げる仕組みは、スキル・サブエージェント・スラッシュコマンド・CLAUDE.mdの4つに整理できます。どれか1つを選ぶものではなく、目的ごとに重ねて使うものです。まずは全体像を1枚で押さえます。
| 仕組み | 正体 | コンテキスト | 向いている用途 |
|---|---|---|---|
| スキル(Skills) | 手順・知識をまとめた説明書 | メインと同じ会話 | 毎回同じやり方で守らせたい作業 |
| サブエージェント | 独立して動く専門ワーカー | 専用の別コンテキスト | 切り離して任せたい調査・レビュー |
| スラッシュコマンド | 定型プロンプトの呼び出し | メインと同じ会話 | よく使う指示を一発で起動 |
| CLAUDE.md | プロジェクト共通の前提 | 起動時に常時読込 | 全作業で守らせたいルール |
選ぶものが変わると何が変わるか
ここは仕様から想定される範囲としてお伝えします。同じ「テストを走らせてから直す」という作業でも、スキルに書けばメイン会話の中で手順が展開され、文脈は共有されますが、そのぶんメインのトークンを消費します。サブエージェントに委譲すれば、作業は別コンテキストで進み、メインには要点だけが返るため、メイン会話のトークンは節約されやすいと想定されます。逆に、細かく文脈を渡し続けたい作業をサブエージェントに切ると、必要な背景が伝わらず結果がぶれることがあります。どちらが良いかは作業の性質で決まります。
02スキルとは|Claude Codeに手順を覚えさせる仕組み
スキルは、繰り返す作業の手順や知識を1つのまとまりにして、Claude Codeに覚えさせる仕組みです。公式ドキュメントによると、スキルはprogressive disclosure(必要になったときだけ内容が読み込まれる方式)で動き、普段はスキル名と概要だけを認識し、関連する作業になったときに本体の手順が展開されます。常に全文を読み込むわけではないため、多くのスキルを用意してもメインの文脈を圧迫しにくいのが特徴です。
スキルの置き場所と最小の書き方
スキルはMarkdownファイルで定義します。ユーザー全体で使うなら~/.claude/skills/、プロジェクト単位なら.claude/skills/に置きます。最小構成は、フォルダとその中のSKILL.mdだけです。
~/.claude/skills/
lp-review/
SKILL.md ← 冒頭に name と description、本文に手順を書く
SKILL.mdの先頭にnameとdescriptionを書き、本文にやり方を並べます。descriptionは「いつ発動してほしいか」を具体的に書くのがコツで、ここが曖昧だと必要な場面で読まれません。スキルの作成やバージョン管理の詳細はClaude Skills API 使い方|スキルの作成・バージョン管理を解説、実際のスキル例はArchifyの使い方|Claude Codeでアーキテクチャ図を作るで紹介しています。
スキルが向いているのはどんな作業?
毎回同じ手順で守ってほしい作業に向きます。たとえば「コミット前に必ずlintとテストを流す」「LPのマークアップは決めたクラス命名規則に従う」といった、やり方が固まっている作業です。手順を一度スキルにしておけば、会話のたびに指示を書き直さずに済み、結果の再現性が上がります。
03サブエージェントとは|独立コンテキストの専門ワーカー
サブエージェントは、独自のコンテキストウィンドウ・システムプロンプト・使えるツール・モデルを持つ、独立した実行主体です。メインのClaude(オーケストレーター)が作業を委譲すると、サブエージェントは自分の作業場で処理を進め、終わったら結果をメインに返します。メインの会話履歴を丸ごと引き継ぐわけではないため、大きな調査やレビューを任せても、メイン会話の文脈が汚れにくいのが利点です。
サブエージェントの定義ファイル
サブエージェントもMarkdownで定義し、先頭のfrontmatterに名前・説明・使えるツール・モデルなどを書きます。/agentsコマンドの対話ウィザードから「こういう役割のエージェントを作って」と伝えると、雛形が生成されます。
---
name: competitor-research
description: 競合サイトの構成を調べて要点だけ返す調査担当
tools: [WebSearch, WebFetch, Read]
model: sonnet
---
あなたは調査担当です。指定されたテーマで上位を調べ、
見出し構成と差別化の余地だけを箇条書きで返してください。
並列で動かせるのはサブエージェントだけ
互いに依存しない作業なら、複数のサブエージェントを同時に走らせられます。公式ドキュメントによると、コードレビュー・テスト・調査のように独立した作業を並列で進められるのが強みです。一方で、前の結果を受けて次を決める順序のある作業は並列に向きません。「互いに独立した作業か」が、分業してよいかどうかの判断基準になります。なお、この並列を手作業ではなくスクリプトで束ねて裏で回す仕組みがworkflow(ダイナミックワークフロー)で、両者の役割分担はClaude Codeのworkflowとサブエージェントの使い分けで詳しく整理しています。
トークン消費はどう考えるか
サブエージェントは独立コンテキストで動くため、メイン会話のトークンを節約しやすい一方、サブエージェント側でも入力と出力のトークンは消費されます。つまり総量が必ず減るわけではなく、「メインの文脈を守る代わりに、処理を外に出す」と捉えるのが実態に近い考え方です。大量の資料を読ませる調査ほど、メインから切り離す価値が出ます。
04スラッシュコマンド・CLAUDE.mdとは何が違うのか
ここまでの2つに、スラッシュコマンドとCLAUDE.mdを加えると、Claude Codeの拡張の全体像がそろいます。混同されやすい2つの違いを、それぞれ端的に整理します。
スラッシュコマンドとの違いは?
スラッシュコマンドは、よく使うプロンプトを1つの合図で呼び出す「定型文のボタン」です。スキルが「Claudeが状況に応じて自分で参照する手順書」なのに対し、スラッシュコマンドは「人が明示的に呼び出す入り口」です。中身が手順であればスキルと近くなりますが、発動のきっかけが「自動で参照される」か「人が打つ」かで役割が分かれます。具体的なコマンド例は非エンジニアのClaude Codeスラッシュコマンド12選でまとめています。
CLAUDE.mdとの違いは?
CLAUDE.mdは、起動時に常に読み込まれるプロジェクト全体の前提です。スキルが「特定の作業のときだけ開く手順書」なのに対し、CLAUDE.mdは「全作業に共通で適用したいルール」を書く場所です。全部をCLAUDE.mdに詰め込むと常時読み込みでトークンを圧迫するため、共通の前提はCLAUDE.md、個別の手順はスキル、と役割を分けるのが定石です。
4つはレイヤーが違う
整理すると、CLAUDE.mdが土台の前提、スキルが作業ごとの手順、サブエージェントが独立した作業の受け皿、スラッシュコマンドが人からの呼び出し口、という4層になります。競合ではなくレイヤーが違うので、1つのプロジェクトで4つを同時に使うのが普通です。
054つの使い分け早見表【判断基準】
迷ったときは、次の判断基準で選べば大きく外しません。やりたいことを1つに絞り、当てはまる行を見てください。
| やりたいこと | 選ぶもの | 理由 |
|---|---|---|
| 毎回同じやり方で作業させたい | スキル | 手順を覚えさせれば再現性が出る |
| 重い調査やレビューを切り離したい | サブエージェント | 別コンテキストでメインを汚さない |
| 複数の作業を同時に進めたい | サブエージェント(並列) | 独立作業だけ並列にできる |
| よく使う指示を一発で呼びたい | スラッシュコマンド | 人が明示的に起動する入口になる |
| 全作業に共通の前提を適用したい | CLAUDE.md | 起動時に常時読み込まれる |
1つの作業に複数が当てはまることもあります。その場合は、共通の前提はCLAUDE.md、手順はスキル、重い処理はサブエージェント、起動はスラッシュコマンドと、レイヤーごとに分けて配置すると整理できます。
06サイト制作・LP制作での使い分け【実践】
ここからは、実際のサイト制作・LP制作でどう割り振るかを、コマンド例つきで紹介します。編集部でも同じ考え方でLPの実装や確認を分担しています。
スキル:コーディング規約を守らせる
LPのマークアップで守りたい規約(クラス命名、レスポンシブの基準幅、画像の書き出し形式など)は、スキルにまとめます。作業のたびに指示し直さず、同じ品質で出力させるためです。
~/.claude/skills/lp-markup/SKILL.md
---
name: lp-markup
description: LPのHTML/CSSを実装するときの命名規則とレスポンシブ基準
---
- クラス名はBEMで統一する
- モバイル幅375pxを基準に崩れを確認する
- 画像はWebPで書き出し、alt属性を必ず付ける
サブエージェント:競合調査とQAを並列で回す
制作前の競合調査や、公開前のリンク切れ・表示崩れのチェックは、独立した作業なのでサブエージェントに委譲します。調査担当とQA担当を別々に立てて並列で走らせれば、メイン会話は設計に集中できます。前掲のcompetitor-researchのようなエージェントを用意し、メインからは「このテーマで調査して要点だけ返して」と依頼するだけです。
スラッシュコマンド:定型レビューを一発で起動
「公開前チェックを回して」のような、毎回同じ確認は、スラッシュコマンドにしておくとワンアクションで起動できます。人が明示的に呼び出す作業に向くため、リリース前の儀式のような定型作業と相性が良いです。CursorなどのエディタからClaude Codeへ乗り換える判断とあわせて考えたい場合はAntigravity Cursor 比較|料金と使い分けも参考になります。
07記事・ドキュメントの自動化での使い分け【実践】
編集部では、記事を定期的に自動生成・公開する仕組みをClaude Codeで組んでいます。ここでの割り振りは、4つの役割の違いがそのまま表れる実例なので、匿名化した形で共有します。
調査と採点はサブエージェントに逃がす
競合記事の構造抽出や、書き上げた記事の品質採点は、大量のテキストを読む作業です。これをメイン会話でやると文脈がすぐ埋まるため、サブエージェントに委譲して結果だけ受け取ります。とくに採点は、書いた本人(メイン)とは別のコンテキストに任せるほど判定が甘くなりにくいと編集部では捉えています。独立コンテキストの利点が、トークンの節約と判定の独立性の両方で活きる場面です。
執筆の型はスキル、公開の起動はスラッシュコマンド
見出し設計や文体のルールといった「毎回守る型」はスキルにまとめ、記事のたびに参照させます。一方、「今日の更新を回す」という定型の起動はスラッシュコマンドやスクリプトにして、人が一発で走らせられるようにしています。プロジェクト全体で守る前提(禁止表現や公開先の条件)はCLAUDE.mdに置き、全作業へ共通で適用します。
役割を分けると差し替えが楽になる
この分け方の利点は、あとから一部だけ差し替えられることです。採点のやり方を変えたいときはサブエージェントの定義だけを直し、公開手順を変えたいときはスクリプトだけを直せます。全部を1つの巨大なプロンプトに書いていると、どこを変えても全体に影響が出てしまい、運用が重くなります。役割ごとに切り分けておくと、変更の影響範囲を小さく保てます。
08使い分けで陥りやすい失敗
最後に、切り分けを誤ったときに起きがちな失敗を挙げます。どれもトークンか再現性のどちらかを損ないます。
- 何でもサブエージェントにする:軽い作業まで委譲すると、起動のたびに別コンテキストの入出力トークンがかさみ、かえって重くなります。
- CLAUDE.mdに手順を詰め込む:常時読み込みのため、個別作業の細かい手順まで書くと全作業でトークンを圧迫します。手順はスキルへ逃がします。
- スキルのdescriptionが曖昧:発動条件がぼやけると必要な場面で読まれません。「いつ使うか」を具体的に書きます。
- 依存関係のある作業を並列にする:前の結果が必要な作業を同時に走らせると、噛み合わずやり直しになります。
FAQよくある質問
スキルとサブエージェントはどちらを先に覚えるべきですか?
スキルからをおすすめします。毎回の手順を覚えさせる効果が分かりやすく、単独で完結するためです。並列や委譲が必要になった段階でサブエージェントに広げると、違いが体感で理解できます。
スラッシュコマンドとスキルは何が違いますか?
発動のきっかけが違います。スキルはClaudeが状況に応じて自分で参照する手順書、スラッシュコマンドは人が明示的に打って呼び出す入口です。中身が手順でも、自動で参照させたいならスキル、人が起動したいならスラッシュコマンドを選びます。
サブエージェントを使うとトークン消費は増えますか?
メイン会話のトークンは節約されやすい一方、サブエージェント側でも入出力のトークンは消費されます。総量が必ず減るわけではなく、メインの文脈を守る代わりに処理を外に出す仕組みだと捉えるのが実態に近いです。
CLAUDE.mdとスキルはどう使い分けますか?
全作業に共通で適用したい前提はCLAUDE.md、特定の作業のときだけ開く手順はスキルです。CLAUDE.mdは常時読み込まれるため、個別の手順まで書くとトークンを圧迫します。共通ルールと個別手順で置き場所を分けます。
4つを同時に使っても問題ありませんか?
問題ありません。競合ではなくレイヤーが違うため、1つのプロジェクトでCLAUDE.md・スキル・サブエージェント・スラッシュコマンドを同時に使うのが一般的です。役割ごとに置き場所を分けることが、運用しやすさにつながります。
09まとめ:どれから手をつけるか
4つの使い分けは、「毎回守らせたい手順か(スキル)」「切り離して任せたい作業か(サブエージェント)」「人が呼び出す定型か(スラッシュコマンド)」「全作業の前提か(CLAUDE.md)」の4問で振り分けられます。まずは繰り返している作業を1つスキルにして、手順を書き直さずに済む感触を確かめるのが失敗しない始め方です。調査やレビューで会話が重くなってきたら、そこをサブエージェントに切り出してください。スキルの作成手順はClaude Skills API 使い方、拡張の配布まで見据えるならClaude Codeプラグインの使い方|導入・自作・配布でまとめています。
10出典
- Anthropic「Claude Code Docs:エージェントを並列実行する」code.claude.com/docs/ja/agents
- Anthropic「Claude Code Docs:hooks でワークフローを自動化する」code.claude.com/docs/ja/hooks-guide
- Anthropic「Claude Code best practices」anthropic.com/engineering/claude-code-best-practices