1. 導入:AIを「無休の熟練エキスパート」に変える魔法
人工知能技術の最前線において、Claude Codeは単なる対話型のコーディング支援ツールを越え、組織の業務基盤そのものを自動化する強力なオペレーティングシステムへと変貌を遂げている1。しかし、標準状態のままのAIを使用している限り、ユーザーはその真のポテンシャルの数パーセントしか引き出せていないと言っても過言ではない。その圧倒的な能力を完全に解放する鍵となるのが、「スキル(Skills)」や「プラグイン(Plugins)」といった拡張機能の導入である2。本レポートは、これらの拡張機能にまだ全く詳しくない読者を対象に、その仕組み、違い、そして圧倒的な利便性を完全に理解し、実践的な活用へと踏み出すための包括的なガイドである。
まず、スキルやプラグインをインストールすることで、あなたのClaude Codeがどのように進化するのかを想像してみてほしい。標準的なAIを使用する際、私たちは常に同じ壁に直面する。それは「退屈で反復的なプロンプト(指示)の入力」である。例えば、会社のブランドガイドラインに沿ったドキュメントを作成したい場合、あるいは自社特有のシステム構成に基づいたコードを書かせたい場合、ユーザーは毎回のように「私たちのブランドカラーはこれで、文体はフォーマルにして、コーディング規約はこのルールに従って…」と、長大な前提条件をAIに説明しなければならない4。もしこの説明を少しでも省けば、AIは一般的な、どこにでもあるような無個性な出力(いわゆる「いかにもAIが作ったような」成果物)を返してくるだけである5。
しかし、スキルやプラグインをインストールした瞬間に、この状況は劇的に変化する。一度これらの拡張機能をClaude Codeに組み込めば、AIはあなたのチームの「暗黙の了解」や「専門知識」、さらには「好みの仕事の進め方」を完全に記憶した、無休の熟練エキスパートへと変貌する3。例えば、「ランディングページをデザインして」と一言指示するだけで、AIは自動的に自社のデザインシステムを読み込み、フォントの選択からカラーパレットの適用、さらには独自のアニメーションの実装まで、プロフェッショナルな品質で自律的に作業を完遂するようになる6。また、「バグを修正して」と指示すれば、社内のデータベースを自ら検索し、過去のエラーログを参照し、テストコードを書き、修正案を適切なフォーマットでチームのコミュニケーションツールに報告するといった一連の複雑なワークフローを、あなたの介入なしに全自動で実行する1。
このように、スキルやプラグインは、ユーザーを「AIに毎回細かく指示を出す作業員」から、「高度に自動化されたAIシステムを指揮するオーケストラの指揮者」へと引き上げるための魔法の杖である1。拡張機能の知識を深め、AIを自分の手足のようにカスタマイズする技術を身につけることは、現代のナレッジワーカーにとって最も投資対効果の高い学習となるだろう。読み進めるうちに、一見複雑に見えるこれらの概念が驚くほどシンプルで、かつ強力な論理に基づいていることが理解できるはずである。
2. 核心の課題:なぜスキルとプラグインは混同されるのか
拡張機能について学び始めた初心者が最初に直面し、そして最も深く混乱する問題が一つある。それは、「スキル」と「プラグイン」の違いが非常に曖昧に見えるという事実である7。公式のマーケットプレイスやコミュニティのフォーラムでは、「同じような機能を提供しているのに、あるものはスキルと呼ばれ、別のものはプラグインと呼ばれている。一体何が違うのか?」という疑問が絶えず提起されている8。
この混乱の根本的な原因は、これら二つが「機能(中身)」と「パッケージ(容器)」という全く異なる次元の概念であるにもかかわらず、ユーザーインターフェース上では同じようにインストールされ、同じようにスラッシュコマンド(例えば /review など)として実行される点にある10。
例えば、Claude Codeの公式マーケットプレイスで圧倒的な人気を誇る拡張機能の一つに「frontend-design(フロントエンドデザイン)」というものがある6。これは現在までに数十万回以上インストールされており、一般的なAIのデザインにありがちな退屈な見た目を避け、大胆で洗練されたプロフェッショナルなUIを構築するための非常に強力な機能を提供する6。多くのユーザーはこれを「高度なプログラムが組み込まれたプラグイン」としてマーケットプレイスからインストールするが、その実態を技術的に解剖すると、単一のテキストファイルにデザインの指示書きが書かれただけの純粋な「スキル」である10。
つまり、プラグインとは「他の誰かが作成したスキルや便利なツールを、インターネット経由で簡単にインストールできるように包んだ箱(流通フォーマット)」であり、スキルとは「AIに具体的な作業手順や専門知識を教える指示書(中身)」である2。両者を混同してしまうと、「ただテキストの指示書を書きたいだけなのに、複雑な設定ファイルを用意してプラグインを作ろうとしてしまう」といった、開発リソースの無駄遣いや保守の複雑化を招くことになる2。この決定的な境界線を理解することが、Claude Codeを真にマスターするための第一歩となる。
3. 初心者のための技術用語・基本概念ガイド
スキルやプラグインの仕組みをより深く掘り下げる前に、本レポートで頻繁に登場する基礎的な技術概念について、明確なコンテキストを提供しておく必要がある。これらの専門用語は、単なるIT用語ではなく、AIがどのように世界を認識し、処理を行っているかを示す重要な指標である。
まず理解すべきは「コンテキストウィンドウ(Context Window)」という概念である14。これはAIにとっての「短期記憶の容量」や「作業机の広さ」に例えられる。AIは一度の会話の中で、過去のやり取りやユーザーから与えられた資料をこの作業机に広げて仕事をする。しかし、作業机の広さには限界があり、情報を詰め込みすぎると処理が遅くなったり、重要なことを見落としたりする現象(これをコンテキストの腐敗と呼ぶ)が発生する14。
次に「トークン(Tokens)」である。これはAIがテキストを処理する際の最小単位であり、英語の単語や日本語の文字の一部に相当する16。AIの利用コストや、先述したコンテキストウィンドウの消費量は、このトークン数によって計算される17。したがって、優れた拡張機能とは、単に機能が豊富であるだけでなく、いかに「トークンの消費を抑え、作業机を散らかさずに目的を達成できるか」が重要となる。
そして「Markdown(マークダウン)」である。これはプレーンなテキストを見やすく装飾するための非常にシンプルな書き方のルールであり、例えば「#」を先頭につけて見出しを作ったり、「*」をつけて箇条書きを作ったりする13。Claude Codeに対する指示(プロンプト)や、後述するスキルの内容は、基本的にすべてこのMarkdown形式で記述される2。特別なプログラミング言語を学ぶ必要はなく、普段文章を書くのと同じ感覚でAIに指示を与えることができるのが大きな特徴である2。
最後に「CLI(Command Line Interface)」と「スラッシュコマンド」について触れておく。CLIとは、マウスを使わずにキーボードで文字を打ち込んでコンピューターを操作する画面(ターミナルなどと呼ばれる黒い画面)のことである8。Claude CodeはこのCLI上で動作し、ユーザーが /(スラッシュ) に続けて特定の単語を入力すること(例えば /review や /design など)で、あらかじめ設定された複雑な機能を一瞬で呼び出すことができる2。これをスラッシュコマンドと呼び、拡張機能を利用する際の最も基本的な操作方法となる21。
4. 「スキル(Skills)」の徹底解剖:AIを教育する「業務マニュアル」
プラグインとスキルの違いを俯瞰したところで、ここからは「スキル」そのものの内部構造と圧倒的な利便性について、技術的な観点から詳細に解き明かしていく。スキルは拡張機能のエコシステムにおける中核であり、これを作成・活用できるかどうかが、Claude Code利用者の習熟度を分ける最大の試金石となる。
4.1 スキルの本質と基本構造
スキルとは、特定のタスクを反復的かつ確実な方法で完了させるため、AIに教え込む「指示、スクリプト、およびリソースをまとめたフォルダ」のことである3。重要なのは、スキルの作成には高度なプログラミングの知識は一切不要であるという事実である2。ユーザーは、AIに守らせたいルールや手順をMarkdown形式のテキストファイルに書き込むだけで、独自のスキルを生み出すことができる2。
技術的な構造に目を向けると、スキルはプロジェクトフォルダ内の .claude/skills/ という特定のディレクトリ、あるいはユーザーのホームディレクトリにある ~/.claude/skills/ に配置される22。このフォルダ内に、各スキル専用のサブフォルダ(例えば frontend-design/ など)を作成し、その中心となる SKILL.md というファイルを配置することで成立する18。この SKILL.md は、AIにとっての「絶対的な業務マニュアル」として機能する23。
4.2 フロントマターと漸進的開示(Progressive Disclosure)の魔法
スキルの最も革新的で、かつ初心者にとって理解しづらい強力な機能が「漸進的開示(Progressive Disclosure)」と呼ばれる仕組みである3。このメカニズムこそが、トークン消費を最小限に抑えつつ、AIに無限に近い知識を持たせることを可能にしている。
従来、AIにチームのルールやプロジェクトの背景を理解させるためには、すべての会話の最初に長大な指示文(システムプロンプト)を強制的に読み込ませる必要があった。Claude Codeにおける CLAUDE.md という設定ファイルがまさにこれに該当し、どんな簡単な質問をする時でも、常にそのファイルの内容全体がAIの作業机(コンテキストウィンドウ)に広げられてしまう13。これでは、不要なタスクの際にも記憶領域を無駄に消費し、レスポンスの低下やコストの増大を招くことになる14。
スキルは、この「コンテキストの肥大化」問題を根本から解決する。SKILL.md ファイルの冒頭には、「フロントマター(Frontmatter)」と呼ばれるメタデータ(データについてのデータ)のブロックがYAML形式で記述されている18。このフロントマターには、以下のような情報が格納される。
| フィールド名 | 必須要件 | 役割と詳細な説明 |
|---|---|---|
| name | 必須 | スキルの一意の識別子。ユーザーが手動で呼び出す際のスラッシュコマンド名(例:frontend-design)となる。19 |
| description | 必須 | スキルの概要を示す短い説明文。AIが「現在のタスクにこのスキルが役立つか」を判断するための最も重要な手がかりとなる。19 |
| instructions | 必須 | AIがタスクを実行する際に従うべき、詳細な手順、ルール、フォーマットの指定などの本体部分。25 |
| license | 任意 | スキルのライセンス情報。19 |
| allowed-tools | 任意 | スキル実行時に、ユーザーの許可を毎回求めることなくAIが特例で使用できるツール(特定のコマンドラインツールなど)のリスト。18 |
表1: SKILL.mdファイルにおける主要なフロントマターの構成要素 19
システムが起動した際、AIはスキルの「中身(詳細な手順である instructions)」までは読まず、フロントマターの name と description だけを極めて軽量な状態で記憶する。これを「発見(Discovery)フェーズ」と呼ぶ24。そして、ユーザーからのチャット入力や依頼が description の内容と関連するとAIが自律的に判断した瞬間にのみ、初めて詳細な手順書である instructions を作業机に展開して読み込むのである。これを「有効化(Activation)フェーズ」と呼ぶ24。
この漸進的開示のおかげで、ユーザーは数十、数百というスキルを待機させておきながら、必要な時に必要な情報だけをAIにロードさせることができる24。これは、百科事典の目次だけを覚えておき、質問された時に初めて該当するページを開いて回答するような、極めて知的で効率的な処理方法である。
4.3 スラッシュコマンドとスキルの融合の歴史
ここで、過去の情報や古いフォーラムの議論を読んだ初心者が混乱しやすいポイントを整理しておく。かつてのClaude Codeでは、「スキル」と「スラッシュコマンド」は異なる概念として扱われていた13。スラッシュコマンドは .claude/commands/ フォルダに配置され、「ユーザーが / を打って手動で呼び出すもの」であり、スキルは「AIが文脈を読んで自動的に呼び出すもの」という棲み分けが存在したのである21。
しかし、現在ではこの二つの概念は完全に統合されている27。スキルの設計が洗練されたことにより、現在では一つのスキルが「自動」と「手動」の両方の実行方法を兼ね備えるようになった13。 ユーザーが「このUIを作って」と依頼すれば、AIが自律的に frontend-design スキルが関連すると判断してバックグラウンドで自動実行する21。一方で、ユーザーが特定のタイミングで強制的にそのワークフローを適用したい場合は、ターミナルで手動で /frontend-design と入力して明示的に呼び出すことも可能である18。この手動の確実性と自動の賢さを一つのファイルで兼ね備えている点が、現在のスキルの強みである。
4.4 動的コンテキスト注入:リアルタイムデータを巻き込む
さらにスキルを強力なものにしているのが、「動的コンテキスト注入」と呼ばれる技術である18。スキルは単なる静的なテキストのテンプレートにとどまらない。
例えば、コードの変更履歴を要約するスキルを作成したいとする。この際、SKILL.md の中に ! git diff HEAD という特殊な記法を含めておく。すると、AIがこのスキルを読み込む直前に、Claude Codeのシステムが裏側で実際の git コマンドを実行し、その実行結果(現在のコードの差分データ)でこの記述を置き換えてからAIに渡すのである18。
これにより、AIは「ユーザーが最新のコードをわざわざコピー&ペーストして提供しなくても」、常に最新のシステムの状況やリアルタイムのデータに基づいた正確な判断を下すことができるようになる18。これは、静的な手順書に命を吹き込む画期的なメカニズムと言える。
4.5 実用的なスキルのユースケース
スキルの威力を理解するために、プロフェッショナルな現場で実際に使用されているスキルの例をいくつか挙げる。
- Test-Driven Development (TDD) スキル: ユーザーがコードを書き始める前に、必ず要件に基づいたテストコードを先に書くようAIに強制する。これにより、AIが勝手に質の低いコードを量産するのを防ぎ、確実な品質保証(TDD)の規律をシステムレベルで適用できる6。
- PRD (Product Requirements Document) 生成スキル: 新機能のアイデアを伝えるだけで、ユーザーのターゲット層、技術的な制約、リリーススケジュールなどを網羅した標準化されたプロダクト要件定義書を自動で生成する17。
- Code Review スキル: チーム特有の命名規則、セキュリティチェックリスト、パフォーマンスの基準などを定義し、人間が行うよりも厳密かつ瞬時にプルリクエストのレビューを行わせる17。
これらの例からも分かるように、スキルは単なるツールの設定ではなく、チームの「知見」そのものをコード化し、資産として蓄積するための仕組みなのである7。
5. 「プラグイン(Plugins)」の徹底解剖:流通と展開のための「パッケージ」
スキルの仕組みと強力さを理解したところで、次は「プラグイン」について詳細に解説する。前述の通り、プラグインは「他の誰かが作った機能を利用する」ための配送用の箱、すなわち流通フォーマットである2。
もしあなたが自分一人、あるいは単一のプロジェクト内で独自のルールをAIに適用したいだけであれば、前章で解説したスキルを .claude/skills/ フォルダに書くだけで十分に目的は達成される。わざわざ複雑な設定を行ってプラグインを作成する必要はない2。しかし、その作成した素晴らしいスキルやワークフローを、別のプロジェクトで再利用したい、社内の他のチームに配布したい、あるいは世界中の開発者に向けて公開したいと考えたとき、プラグインというパッケージ形式が必要不可欠となる2。
5.1 プラグインの内部構造とマニフェスト
技術的な観点から見ると、プラグインはVisual Studio Codeの拡張機能や、スマートフォンのアプリケーションのように、複数の要素をひとまとめに束ねたディレクトリ(フォルダ)として構成される2。
プラグインのルート(最上層)ディレクトリには、必ず .claude-plugin/plugin.json というファイルが含まれる。これは「プラグインマニフェスト」と呼ばれ、プラグインの名前、バージョン情報、作成者、そして内部にどのようなコンポーネントが含まれているかを定義するメタデータの役割を果たす30。
この「箱」の中には、目的を達成するためのあらゆるコンポーネントを整理して詰め込むことができる32。
- スキル(skills/ または commands/): 前章で解説した、AIに対する指示書群30。
- MCPサーバー構成(.mcp.json): 外部システムと通信するための接続設定32。
- フック(hooks/): 特定のタイミングで発火する自動スクリプト(詳細は後述)30。
- サブエージェント(agents/): 特定の作業を分担する専用のAIワーカー(詳細は後述)30。
ユーザーが公式マーケットプレイスから /plugin install というコマンドを実行すると、これらの複雑なコンポーネント群がすべて一括でダウンロードされ、システムに登録される11。ユーザーは内部の構造を一切気にする必要がない。これが流通フォーマットとしてのプラグインの最大の価値である2。
5.2 グローバルインストールとローカルインストール
プラグインの利便性をさらに高めているのが、インストールのスコープ(適用範囲)の柔軟性である。プラグインは、特定の一つのプロジェクト(フォルダ)内でのみ有効になる「ローカルインストール」と、ユーザーのPC上のすべてのプロジェクトで共通して利用可能になる「グローバルインストール」を選択できる2。
例えば、ある特定の言語で書かれたプロジェクトでのみ必要なテスト支援プラグインはローカルにインストールし、全社共通のデザインガイドラインを適用するプラグインはグローバルにインストールするといった使い分けが可能である2。さらに、エンタープライズ企業であれば、管理者が組織全体に対して「どのプラグインの使用を許可するか」を一括で管理・統制することもできる2。これは、単なるスキルファイルをコピー&ペーストして回る運用では到底実現できない管理機能である。
5.3 セキュリティに関する極めて重要な考慮事項
スキルとプラグインの決定的な違いとして、セキュリティリスクのレベルが挙げられる11。初心者が最も警戒すべきポイントがここにある。
純粋なスキル(SKILL.md)は、基本的には単なるテキストの指示書であるため、システムを破壊したり、勝手に外部のサーバーにデータを送信したりする能力を持たない(前述の allowed-tools で明示的に許可されたものを除く)11。AIはあくまでそのテキストを読んで解釈するだけである。
しかし、プラグインは全く異なる。プラグインは、ユーザーのコンピューター上で直接コードやプログラムを実行する能力を持つ「MCPサーバー」や「フック」といった強力なコンポーネントを含んでいる場合が非常に多い11。つまり、悪意のあるプラグインをインストールしてしまえば、システム内の機密データを盗み出されたり、ファイルを破壊されたりするリスクが存在するということである。
したがって、Anthropic社が提供する公式マーケットプレイス(verifiedプラグイン)以外の、コミュニティが作成した非公式なプラグインをインストールする際は、多大な注意が必要である11。それが単なるプロンプトを提供するだけの安全なスキルパッケージなのか、それとも外部と通信するスクリプトを含んでいるのか、作成者の信頼性やGitHubリポジトリのソースコードを事前に確認することが強く推奨される10。
6. 強力な裏方「MCP(Model Context Protocol)」:外部世界との「接続ケーブル」
プラグインの仕組みを真に理解し、そのポテンシャルを最大限に活用する上で、決して避けて通れないのが「MCP(Model Context Protocol)」という概念の理解である。事実、世に出回っている多くの高度なプラグインは、このMCPサーバーをClaude Codeに導入するためだけに作られていると言っても過言ではない7。
6.1 MCPの概念と標準化の意義
MCPとは、AIモデル(Claudeなど)と、外部のデータソースやツール(例えば社内のSQLデータベース、Slack、Google Workspace、Figma、Jiraなど)を安全かつ双方向に接続するための、標準化されたオープンな通信規格(プロトコル)である2。
このMCPが存在しない世界でのAIとの対話を、物理的なオフィス環境に例えてみよう。MCPを持たないAIは、優秀ではあるものの、自分のデスクから一歩も動けず、社内の情報ネットワークにも接続されていない新入社員のようなものである34。ユーザーが「昨日の売上データに基づいてレポートを書いて」と指示しても、AIは売上データにアクセスできない。そのため、ユーザー自身が乱雑なファイルキャビネット(外部ツール)に向かい、該当するCSVデータを手動でダウンロードし、それをAIのチャット画面にコピー&ペーストして読み込ませるという、極めて非効率な作業が発生する34。
しかし、MCPという規格が導入されたことで、この状況は一変する。MCPは、AIと外部システムを繋ぐ「規格化された通信ケーブル」として機能する。MCPサーバーが提供するデータ(Resources)や操作機能(Tools)を介して、AIは自らキャビネットを開け、必要な情報を検索し、さらには結果を別のシステム(Slackなど)に自動的に書き込むことができるようになるのである2。これにより、AIは単なるテキスト生成器から、自律的に情報収集と行動を行う真のパーソナルアシスタントへと進化する34。
6.2 技術的構造:JSON-RPCによるプラグアンドプレイ
MCPの技術的なアーキテクチャは、クライアント(Claude Code側)とサーバー(外部ツール側)の通信によって成り立つ35。両者はJSON-RPC 2.0というフォーマットを用いてメッセージのやり取りを行う35。
重要なのは、MCP自体は「AIにどのように考えさせるか」を決定するエージェントフレームワーク(思考アルゴリズム)ではないという点である35。MCPはあくまで「標準化された統合レイヤー(接続口)」を提供するだけである。どのタイミングでどのツール(MCPサーバー)を呼び出すかは、ユーザーの指示と文脈に基づいて、LLM(Claude本体)が自律的に決定する35。この設計により、開発者はそれぞれのAIツールに合わせて個別の連携コードを書く必要がなくなり、一度MCPサーバーを構築すれば、あらゆるMCP対応AIでプラグアンドプレイのようにツールを利用できるようになるのである33。
6.3 スキルとMCPの境界線:よくある開発の失敗
拡張機能の開発において、初心者が最も時間を無駄にしがちなのが、「スキルで解決すべき問題をMCPで構築しようとする」あるいはその逆のミスである2。この境界線を明確にすることは極めて重要である。
スキルは、前述の通りテキストベースの「テンプレート」や「ガイドライン」を提供するものであり、外部のインターネットからAPI通信を通じてデータを取得したり、社内のシステムに直接変更を加える「副作用(Side Effects)」を発生させたりする能力は原則として持たない2。 例えば、「プルリクエストの作成時に、必ず特定のフォーマット(要約、テスト結果、レビュー項目)に従うようにAIに強制する」という要件があったとする。これを実現するために、RustやPythonなどのプログラミング言語を用いて複雑なMCPサーバーを開発するのは、完全な時間と保守コストの無駄である2。この問題は、.claude/skills/ フォルダに数行のMarkdownファイルを書き、10分程度でスキルを作成するだけで完璧に解決できる2。
逆に、「社内の独自の認証が必要な非公開のREST APIを呼び出し、最新の在庫データを取得して分析する」というタスクを、単なるスキルで実現しようとしても不可能である2。スキルには複雑なHTTP通信を実行する機能がないためである。この場合は、最初から専用のMCPサーバーを開発し、その通信部分を担わせるのが唯一の正解となる2。
7. プラグインを極める高度な要素:フックとサブエージェント
プラグインの内部には、スキルやMCPサーバーの他にも、Claude Codeの挙動を根本から制御するための強力なコンポーネントを含めることができる。それが「フック(Hooks)」と「サブエージェント(Subagents)」である12。これらを理解することで、AIの自動化は次のレベルへと到達する。
7.1 フック(Hooks):イベント駆動の自動化と強制力
フックとは、AIとの対話セッションの中で特定の「イベント(タイミング)」が発生した際に、人間の指示を待たずに自動的に強制実行されるスクリプトやプログラムのことである30。
AIに作業を任せる際、利便性と同時に「安全性」や「品質の担保」が重要になる。フックは、システムの要所に「関所」を設けるような機能を提供する36。技術的には、プラグイン内の hooks/hooks.json ファイルで設定され、以下のような特定のライフサイクルイベントに反応して発火する30。
| イベント名 | 発火のタイミングと主な用途 |
|---|---|
| UserPromptSubmit | ユーザーがプロンプトを送信し、Claudeが処理を開始する直前。入力を監視し、特定の機密情報が含まれていないかチェックするなどの用途に使う。36 |
| PreToolUse | AIがツール(コマンド実行やファイル操作など)を使用する直前。特定の保護されたファイルへの変更をブロックしたり、危険なコマンドの実行を監査したりする。15 |
| PostToolUse | AIのツール実行が成功した直後。例えば、ファイルの編集が終わった瞬間に、自動的にコードのフォーマッター(Linter)を起動してコードスタイルを強制的に整える。31 |
表2: Claude Codeにおける主要なフックのイベントと機能 15
フックは、シェルのスクリプトを実行したり(command フック)、指定したURLにデータを送信したり(http フック)、あるいはAIモデル自身に「この操作は安全か?」を評価させたり(prompt フック)することができる30。これにより、開発者は「AIが誤った行動をとる前に未然に防ぐ」あるいは「AIの作業後に必ずクリーンアップ作業を行わせる」といった、堅牢なシステムを構築することが可能になる。
7.2 サブエージェント(Subagents):文脈の分離とノイズの排除
長時間にわたって複雑なプログラミングタスクをAIに依頼していると、徐々にAIの返答が鈍くなり、指示を忘れがちになることがある。これは、AIのコンテキストウィンドウ(作業机)が、大量の検索結果やエラーログ、試行錯誤の痕跡で埋め尽くされ、本当に重要な情報を見失ってしまう「コンテキストの腐敗(Context Rot)」が原因である15。
サブエージェントは、この致命的な問題に対するエレガントな解決策である。プラグインを通じて agents/ ディレクトリに定義されるサブエージェントは、特定の専門的なタスクのみを分担して行う「部下のAIワーカー」として機能する15。
例えば、メインのAI(親エージェント)が「システム全体のエラー原因を特定せよ」という指示を受けたとする。親エージェントは直接ログを検索するのではなく、「デバッグ専門のサブエージェント」を呼び出し、そのタスクを委譲する15。呼び出されたサブエージェントは、独立したクリーンな思考空間(コンテキスト)の中で、膨大なファイル群をスキャンし(Grep や Glob ツールの使用)、試行錯誤を繰り返す15。そして最も重要なのは、サブエージェントはその探索プロセスで生じた膨大なノイズ(検索結果のゴミや失敗したログ)を親エージェントには一切見せず、最終的な「エラーの原因と解決策の要約」という綺麗なシグナルだけを親に返す点である15。
この「分離と隔離(Isolation)」のメカニズムにより、メインの対話履歴は常にクリーンに保たれ、長時間のセッションでもAIのパフォーマンスが低下することなく、極めて複雑なアーキテクチャの変更や大規模なリファクタリングを完遂できるようになるのである15。
8. 徹底比較と選択のフレームワーク:何をいつ使うべきか
これまでの解説を踏まえ、直面する課題を解決するために「スキル」「プラグイン」「MCPサーバー」のどれを開発・導入すべきかを判断するための決定的なフレームワークを提示する2。不適切な技術選択は、保守コストの増大や開発期間の無駄に直結するため、この基準を正確に理解することが重要である2。
8.1 詳細な比較サマリーと指針
選択の基本となる考え方を、以下の比較表にまとめる。
| 比較項目 | スキル(Skills) | プラグイン(Plugins) | MCPサーバー |
|---|---|---|---|
| 本質的な役割 | テキストベースの業務マニュアル・指示書 | 機能群を梱包し配布するパッケージ | 外部システムと接続する通信プロトコル |
| 主な用途 | チーム規約の徹底、定型プロンプトの自動化 | 組織外への共有、マーケットプレイス展開 | 独自データベースのクエリ、API操作 |
| 開発者・制作者 | プロジェクトのメンバー誰でも | コミュニティ、またはプラグイン開発者 | 内部システムを理解する開発者 |
| プログラミング知識 | 不要(Markdownのみで作成可能) | 構成次第(マニフェストファイル等の記述) | 必須(Python, TypeScript, Rustなどで開発) |
| 副作用(外部への影響) | なし(単なる指示のため) | あり(内部のMCPやフックが実行される) | あり(システムへの書き込み等) |
表3: スキル、プラグイン、MCPサーバーの特性比較 2
より具体的な「現場のニーズ」に基づいた選択のルール・オブ・サム(経験則)は以下の通りである2。
- 要件:GitHubやJiraとの連携、一般的なツールの利用
- 第一選択:マーケットプレイスからの「プラグイン」のインストール。
- 理由: すでに誰かが高品質なものを開発し、MCPサーバーごとパッケージ化してくれている可能性が極めて高いため。車輪の再発明を避け、最も早く価値を享受できる2。
- 要件:社内の非公開データベースの検索や、独自システムのデプロイメントのトリガー
- 第一選択:独自開発の「MCPサーバー」。
- 理由: 静的なデータソースではなく動的なクエリの発行が必要であり、システムに対する副作用(状態の変更)を伴うため、スキルのテンプレートだけでは対応できない2。
- 要件:特定のコードレビュー項目の強制、PRの独自フォーマット化、チーム内の命名規則の共有
- 第一選択:.claude/skills/ への「スキル」の作成。
- 理由: プロンプトのエンジニアリングだけで完全に解決できる課題であり、データの取得や副作用を伴わないため。リポジトリにコミットするだけで、チーム全員が即座に共有・利用できる最も手軽で確実な方法である2。
- 要件:開発した複数のスキルやMCPサーバーを、他の部署やオープンソースコミュニティに配布したい
- 第一選択:「プラグイン」としてのパッケージ化。
- 理由: 他者が簡単に一括インストールし、バージョン管理を行うための配布フォーマットが必要なため2。
8.2 洗練された環境の「階層構造(Layered Architecture)」
Claude Codeを使いこなしている最も生産性の高い開発チームは、これら三つの要素を競合するものとしてではなく、「相互に補完し合う美しい階層(レイヤー)」として利用している2。このアーキテクチャを構築することが、最終的なゴールとなる。
- 第1階層(プラグインによる基盤構築): まず、開発の土台となる汎用的なインフラストラクチャに対しては、コミュニティが開発した公式のプラグイン(GitHub連携プラグインや、各種プログラミング言語のLSPプラグインなど)をインストールし、環境の基盤を固める2。
- 第2階層(MCPサーバーによる深さの追求): 次に、マーケットプレイスには存在しない、自社独自の社内分析ツールや、クローズドなデプロイメントパイプラインにAIを接続するために、専用のMCPサーバーを開発し、システムに「深さ」をもたらす2。
- 第3階層(スキルによるワークフローの統一): 最後に、導入したプラグインやMCPが提供する「手足(ツール)」を、自社の特定の業務で「どのように使うか」を定義したスキルを執筆する。例えば、「本番環境でエラーを検知した際、独自のデータベース(MCP)を検索して原因を特定し、その解決策をGitHub(プラグイン)に特定のフォーマットでIssueとして起票する」という複雑な一連の動作を、/fix-critical-bug というたった一つのスキルに落とし込むのである2。
このように、プラグインとMCPが「行動するためのインフラとツール」を提供し、スキルがそれらを操る「脳の指示」を定義することで、特定の組織に完全に最適化された自動化ワークフローが完成するのである7。
9. 運用と反復的な改善に向けたベストプラクティス
スキルやプラグインは、一度インストールしたり書き上げたりして終わりという性質のものではない。実際の業務に適用し、AIの反応を見ながら継続的に育てていく「生きた文書(Living documents)」として扱う必要がある16。ここでは、実践的な運用のためのベストプラクティスを紹介する。
9.1 小さく始めて、大きく育てる
これから環境構築を始める初心者は、最初から複雑なプラグインを開発しようとしてはいけない32。最も確実なアプローチは以下の手順である。
- 公式スキルの体験: まずは公式のマーケットプレイスから、定評のある単一のスキルをインストールして、その威力を体感する38。ターミナル上で /plugin marketplace add anthropics/skills コマンドを実行し、先述した frontend-design や、PDF解析を補助する document-skills などをインストールしてみる6。これにより、手動で長いプロンプトを書く必要がなくなる感覚を掴むことができる。
- ローカルスキルの自作: 次に、自身のプロジェクトのルートディレクトリに .claude/skills/ フォルダを作成し、自分専用の簡単なタスク(例えば「会議の議事録を必ず特定のMarkdown形式にフォーマットする」など)を定義したスキルを作成してみる3。
- プラグインへの昇格: その自作スキルがチーム全体にとって極めて有用であり、他のプロジェクトでも頻繁に使い回したいと判断した段階で、初めて .claude-plugin/ フォルダを用いたプラグイン形式への移行(パッケージ化)を検討すればよい32。
一部の開発者は、とにかく大量のプラグインをインストールしようとするが、理想的なプラグインの数は「コスト(コンテキストの消費)に見合うだけの明確なリターンがあるものだけ」に絞るべきである17。プロジェクトに特化した独自のカスタムコマンド(スキル)を充実させることの方が、汎用的なプラグインをむやみに増やすよりも遥かに価値が高い17。
9.2 スキルのトリガー問題(過剰反応と無反応)の解決
自作のスキルを運用し始めると、高い確率で二つの問題に直面する。これらはAIとの協働において避けて通れないチューニングの過程である16。
一つ目は「アンダートリガー(Undertriggering)」である。これは、ユーザーが明らかにそのスキルを使うべき状況の質問をしたにもかかわらず、AIがスキルの存在に気づかず、ロードされない現象を指す16。この状態では、せっかくの自動化が機能せず、ユーザーが手動でスラッシュコマンドを入力しなければならない。この問題の原因は、SKILL.md のフロントマターにある description フィールドの記述が曖昧すぎる点にある。解決策として、特定の専門用語や技術的なキーワードを追加し、説明文により多くの詳細とニュアンスを含めることが求められる16。
二つ目は、その逆である「オーバートリガー(Overtriggering)」である。これは、全く無関係の日常的な会話や質問をした際にも、AIが誤って関連性があると判断し、不要なスキルを読み込んでしまう現象である16。これが頻繁に起こると、コンテキストウィンドウが不要な情報で圧迫され、レスポンスの遅延や処理精度の低下を引き起こす14。この場合は、トリガー条件に「〇〇のような日常会話の場合は使用しないこと」といったネガティブなトリガー情報(除外条件)を追加するか、説明文をより限定的で具体的なものに絞り込む必要がある16。
9.3 skill-creatorを利用した自動生成とテスト
これらのフロントマターの調整や、Markdownの構造化をすべて手作業で行うのは、初心者にとってややハードルが高いかもしれない。そこで強力な助けとなるのが、Anthropic社が公式に提供している skill-creator というスキル構築支援機能である16。
この機能を使用すれば、ユーザーは「自分が抱えている課題」や「自動化したいワークフローの概要」を自然言語のチャットでAIに伝えるだけでよい。すると、AI自身がその内容を分析し、最適な SKILL.md のファイル構造を生成してくれるのである16。さらには、AIが的確に反応するためのトリガー用のキーワード選定や、不足しているエッジケースへの対応まで提案してくれる16。
スキルを作成した後は、必ず「機能テスト」と「パフォーマンス比較」を行うことが推奨される。テストケースを用意し、エラーハンドリングが機能するかを確認する。また、「スキルを使用しなかった場合(15回の会話のやり取りと12,000トークンを消費)」と「スキルを使用した場合(2回のやり取りと6,000トークンの消費)」を比較し、明確にコストが下がり、効率が向上していることを確認することで、そのスキルの真の価値を証明できる16。
10. 結論:カスタマイズされたAIエコシステムの構築と未来
本レポートを通じて、Claude Codeにおける「スキル」と「プラグイン」という二つの拡張機能が、一見すると同じようなコマンド追加機能に見えながらも、その深淵には全く異なる哲学と目的が根付いていることを詳細に解き明かしてきた。
スキルは、組織の暗黙知を明文化し、定型作業の手順を定義し、AIに自社の文脈を教え込むための「マニュアル」であり「脳」である。一方のプラグインは、そのスキルに加え、外部システムと通信するMCPサーバーや、強制的なルールを適用するフックなど、あらゆる機能と道具箱を安全かつ迅速に配布するための「パッケージ」であり「配送の箱」である。
これらを効果的に組み合わせることで、Claude Codeは単なる「コードを書いてくれる便利なチャットツール」という枠組みを完全に破壊し、「組織のインフラとして自律的に稼働するソフトウェア開発チームの一員」へと劇的な進化を遂げる。プロジェクトの課題ごとに最適化されたスキルを定義し、コミュニティの英知が詰まったプラグインを適切にインストールし、必要に応じてMCPで外部データと接続する。この統合されたアーキテクチャを構築することで、開発者は不要なプロンプトの入力やコンテキストの消耗から解放され、人間のクリエイティビティをより高次な問題解決やシステム設計に集中させることができるようになる。
AIツールの真の価値は、提供された機能をそのまま使うことではなく、それを自身のドメイン知識と結びつけ、自分だけの思考の拡張ツールとしてカスタマイズする能力にある。この拡張性のエコシステムを完全に掌握することこそが、次世代の開発ワークフローにおける最大の競争優位性となるだろう。
引用文献 — References
- Claude Plugins & Skills Tutorial (All Updates Combined) | Ansh Mehra - YouTube, 5月 13, 2026にアクセス、 https://www.youtube.com/watch?v=6EFOT6hjvAU
- Compare Plugins vs MCP vs Skills in Claude Code | systemprompt.io, 5月 13, 2026にアクセス、 https://systemprompt.io/guides/claude-plugins-vs-mcp-vs-skills
- What are Skills? | Claude Help Center, 5月 13, 2026にアクセス、 https://support.claude.com/en/articles/12512176-what-are-skills
- What are Claude Skills really? : r/ClaudeAI - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeAI/comments/1oalv0o/what_are_claude_skills_really/
- 5月 13, 2026にアクセス、 https://medium.com/artificial-corner/i-tried-100-claude-skills-these-are-the-best-047f0db71764#:~:text=Skills%20is%20a%20feature%20that,no%20more%20generic%20AI%20outputs).
- The Claude Code skills actually worth installing right now (March 2026) - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/AI_Agents/comments/1s51cre/the_claude_code_skills_actually_worth_installing/
- Claude Code Skills vs Plugins: What's the Difference and Which Should You Build?, 5月 13, 2026にアクセス、 https://www.mindstudio.ai/blog/claude-code-skills-vs-plugins-difference
- Skills, Plugins, and MCPs, oh my! : r/Anthropic - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/Anthropic/comments/1ob1x74/skills_plugins_and_mcps_oh_my/
- New to Claude Code. Please help me understand plugins, agents, skills and slash commands - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeCode/comments/1pj2udc/new_to_claude_code_please_help_me_understand/
- Claude Code Plugins Are Confusing. Here's a Quick-Start Overview of What's Actually Inside. | by Alexander Anisimov - Medium, 5月 13, 2026にアクセス、 https://medium.com/@alexanderekb/claude-code-plugins-are-confusing-heres-a-quick-start-overview-of-what-s-actually-inside-bb0c2ad1e199
- Claude Code Plugins vs Skills — What's the Difference? (2026) - Agensi, 5月 13, 2026にアクセス、 https://www.agensi.io/learn/claude-code-plugins-vs-skills-explained
- claude-code/plugins/README.md at main - GitHub, 5月 13, 2026にアクセス、 https://github.com/anthropics/claude-code/blob/main/plugins/README.md
- Understanding CLAUDE.md vs Skills vs Slash Commands vs Plugins : r/ClaudeAI - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeAI/comments/1ped515/understanding_claudemd_vs_skills_vs_slash/
- Can someone explain skills vs plugins vs MCPs? : r/ClaudeCode - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeCode/comments/1pd2p8f/can_someone_explain_skills_vs_plugins_vs_mcps/
- Claude Code Agents & Subagents: What They Actually Unlock - Kyle Redelinghuys, 5月 13, 2026にアクセス、 https://www.ksred.com/claude-code-agents-and-subagents-what-they-actually-unlock/
- The Complete Guide to Building Skills for Claude | Anthropic, 5月 13, 2026にアクセス、 https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf
- What skills are you using? : r/ClaudeCode - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeCode/comments/1rp02ln/what_skills_are_you_using/
- Extend Claude with skills - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/skills
- agentskills/docs/specification.mdx at main - GitHub, 5月 13, 2026にアクセス、 https://github.com/agentskills/agentskills/blob/main/docs/specification.mdx
- Top 10 Claude Code Skills, Plugins & CLIs (April 2026), 5月 13, 2026にアクセス、 https://www.youtube.com/watch?v=KjEFy5wjFQg
- Claude Code Skills vs Slash Commands: When to Use Each | MindStudio, 5月 13, 2026にアクセス、 https://www.mindstudio.ai/blog/claude-code-skills-vs-slash-commands
- Agent Skills - Claude API Docs, 5月 13, 2026にアクセス、 https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
- Equipping agents for the real world with Agent Skills - Anthropic, 5月 13, 2026にアクセス、 https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
- Agent Skills Overview - Agent Skills, 5月 13, 2026にアクセス、 https://agentskills.io/home
- Agent skills | Snowflake Documentation, 5月 13, 2026にアクセス、 https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-skills
- Agent Skills | Microsoft Learn, 5月 13, 2026にアクセス、 https://learn.microsoft.com/en-us/agent-framework/agents/skills
- Are skills and slash commands the same thing now in Claude Code (after v2.1.1 update)?, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeAI/comments/1q7fzab/are_skills_and_slash_commands_the_same_thing_now/
- The main difference is that slash commands are invoked by humans, whereas skills... | Hacker News, 5月 13, 2026にアクセス、 https://news.ycombinator.com/item?id=46522762
- 5 Claude Code skills I use every single day - YouTube, 5月 13, 2026にアクセス、 https://www.youtube.com/watch?v=EJyuu6zlQCg
- Plugins reference - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/plugins-reference
- Extend Claude Code - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/features-overview
- Create plugins - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/plugins
- Introducing the Model Context Protocol - Anthropic, 5月 13, 2026にアクセス、 https://www.anthropic.com/news/model-context-protocol
- Understanding Model Context Protocol (MCP): A Layman's Guide - Medium, 5月 13, 2026にアクセス、 https://medium.com/@SrGrace_/understanding-model-context-protocol-mcp-a-laymans-guide-4737aab5fc6b
- What is Model Context Protocol (MCP)? - IBM, 5月 13, 2026にアクセス、 https://www.ibm.com/think/topics/model-context-protocol
- Automate workflows with hooks - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/hooks-guide
- Hooks reference - Claude Code Docs, 5月 13, 2026にアクセス、 https://code.claude.com/docs/en/hooks
- Claude Code Has a Skills Marketplace Now — A Beginner-Friendly Walkthrough - Medium, 5月 13, 2026にアクセス、 https://medium.com/@markchen69/claude-code-has-a-skills-marketplace-now-a-beginner-friendly-walkthrough-8adeb67cdc89
- anthropics/skills: Public repository for Agent Skills - GitHub, 5月 13, 2026にアクセス、 https://github.com/anthropics/skills
- What are your favourite plugins/skills for Claude Code right now as of April 2026? - Reddit, 5月 13, 2026にアクセス、 https://www.reddit.com/r/ClaudeCode/comments/1shlte1/what_are_your_favourite_pluginsskills_for_claude/