ガイド記事

スキルと MCP とサブエージェントの違い|どれを使うかの決め方

「やり方」を渡すのがスキル、「外の世界への接続」が MCP、「別の作業場」がサブエージェント。競合する選択肢ではなく層が違うので、迷ったら役割で切り分けてください。

エージェントスキル研究所編集部

この記事の内容(8 項目)

まず結論

3 つは競合する選択肢ではありません。層が違います。

仕組み一言でいうと中身
スキルやり方を教えるプロンプトに差し込まれる文章とファイル
MCP サーバー外の世界に繋ぐ動いているプログラム。データの取得と副作用
サブエージェント別の作業場を用意する独立した文脈(コンテキスト)を持つ実行単位

迷ったときの分かれ目は 1 つ

「照会する」「取得する」「現在の〜」という言葉が要件に入っているなら、それはスキルでは解決しません。

スキルは書いた時点の文章で、実行時に外から何かを取ってくる仕組みを持っていません。

スキルが向くこと

やり方・作法・判断基準を渡すときです。大きく 2 種類あります。

できないことをできるようにする

エージェントが素の状態では不得意な作業を、手順とライブラリの選び方ごと渡します。pdf がそうです。

PDF の表を抜くのに pdfplumber、新規作成に reportlab、OCR に pytesseract を使う、という割り当てを持っているので、毎回ライブラリを試して遠回りしなくなります。

できることを自分たちのやり方に寄せる

やり方自体は知っているが、社内の流儀に合わせたいとき。障害報告書の書式、レビューの観点、設計の進め方。

brainstorming や test-driven-development は後者です。

スキルで解決しないこと

  • 社内 DB の現在の在庫数を知る
  • チケット管理システムの未対応一覧を取る
  • 今日の為替レートを引く

これらは全部「いまの状態」です。スキルの本文に書き込んでも、書いた日の値で固定されます。

MCP が向くこと

外部のシステムに繋いで、読む/書くときです。MCP(Model Context Protocol)は接続の規格で、サーバーは動いているプログラムです。

用途例
現在の状態を読むDB への照会、チケットの一覧、ファイルの検索
副作用のある操作チケットの作成、メッセージの送信、デプロイの実行
認証の要る先社内システム、SaaS の API

スキルと MCP は同時に使える

スキルと MCP は同時に使えます。よくある形はこれです。

社内の作法を書いたスキル + 社内 DB に繋ぐ MCP

スキルが「どう書くか」を決め、MCP が「いまのデータ」を持ってきます。どちらか一方では成立しません。

入れると常に接続先が存在する

影響範囲を考えるとき、この差は大きいです。

サブエージェントが向くこと

別の文脈で作業させたいときです。理由は 3 つに絞れます。

  • 本筋の会話が長くなりすぎる調査だけで文脈を食い潰したくない
  • 前の作業の影響を持ち込みたくないきれいな状態で始めたい
  • 並行して走らせたい独立した作業が複数ある

使い方自体をスキルにしたものもある

dispatching-parallel-agents や subagent-driven-development のように、サブエージェントの使い方自体をスキルにしたものも流通しています(どちらも当サイトで日本語の解説を書いています)。

層が違うので、こういう組み合わせが成り立ちます。

落とし穴は、文脈が切れていること

サブエージェントの落とし穴は、文脈が切れていることそのものです。Claude Code のサブエージェントは会話の履歴を見られず、呼ぶ側が書いた依頼文と、CLAUDE.md などの一部だけから始めます。会話を丸ごと引き継ぐ「fork」という例外もあります(公式ドキュメント、2026-10-09 確認)。

「さっき話した前提」は伝わらないので、依頼文に必要な情報を全部入れる必要があります。

判断の順序

迷ったらこの順で考えてください。

  1. いまの状態を取ってくる必要があるかある: MCP(または MCP を呼ぶスキル)。ない: 次へ
  2. やり方・作法・判断基準を教えたいのかそう: スキル。違う: 次へ
  3. 作業を切り離したいのか(長い/汚したくない/並行)そう: サブエージェント。違う: そもそも仕組みは要らない。依頼文で足りる

最後の分岐が案外重要

組み合わせた形

実務でよく効く形を挙げます。

場面スキルMCPサブエージェント
社内の設計レビューを任せるレビューの観点、社内の規約、指摘の書き方リポジトリとチケット管理システムへの接続ファイルごとに並行してレビューさせる
障害対応の記録を残す報告書の書式と、書くべき項目監視システムからの指標の取得不要(1 本の流れで済む)
ドキュメントの整備用語集の作り方(domain-modeling など)不要(リポジトリ内のファイルだけで完結する)不要

「全部使う」が正しいわけではない

「全部使う」が正しいわけではありません。要らない層を足すと、設定と確認する場所が増えるだけです。

当サイトが扱っている範囲

収録しているのはスキルだけ

当サイトが収録しているのはスキルだけです。MCP サーバーとサブエージェントは対象にしていません。

理由は、インストール数という比較できる指標があるのがスキルだけだからです。MCP サーバーは配布の形がばらばらで、横並びに数えられません。

MCP との連携を前提にしたスキルもある

ただしスキルの中には MCP との連携を前提にしたものがあります。たとえば better-auth-best-practices は「Better Auth の MCP があればドキュメントの解決に使う」と本文に書いています。

各スキルのページの「前提」に、そうした依存関係を書いています。

よくある質問

プラグインやコマンドとの関係は何ですか

プラグインは配る単位です。スキル、サブエージェント、フック、MCP サーバーなどをまとめて配布する包みで、中身がどれかとは別の話です(Claude Code の公式ドキュメント、2026-10-09 確認)。

コマンドは Claude Code ではスキルと同じ仕組みで動きます。.claude/commands/deploy.md も .claude/skills/deploy/SKILL.md も、同じ /deploy になります。スキルの frontmatter に disable-model-invocation: true を付けると自動で呼ばれなくなり、/名前 で手動で呼ぶ形になります(詳しくはSKILL.md の書き方)。

MCP の代わりにスキルの中でコマンドを実行させればいいのでは

できますし、実際そうしているスキルは多くあります。agent-browser は CLI をシェルで叩く形です。

ただし違いは 2 つあります。接続の管理(認証、再接続、失敗時の扱い)を自分で面倒みることになる点と、シェルの実行を許すことになる点です。

後者は影響範囲が広いので、当サイトでは各スキルのページに「シェルコマンドを実行する記述があります」と明記しています。

どれから試すべきですか

スキルからです。入れても呼ばれなければ何も起きず、外すのもフォルダを消すだけで済みます。MCP は接続先が常に存在するので、影響を見積もる手間が増えます。

まずスキル 1 つで、いま困っている作業が進むかを試してください。

「スキルを入れたのに MCP が必要と言われた」のはなぜですか

そのスキルが現在の状態を必要とする作業だからです。たとえば「Azure の構成図を作る」は、いま動いているリソースを読まないと書けません。

azure-resource-visualizer の本文も「Azure MCP のツールか az コマンドで問い合わせる」と書いています。スキルは手順を知っていますが、データは持っていません。

あわせて読む

← ガイド記事の一覧/ 導入ガイド/ スキル一覧