Claude には「エージェント的に動く」ための 5 つの部品があるらしいんだわ
- Skills
- Prompts
- Projects
- Subagents
- MCP
この 5 つ、名前だけ聞いても「で、どう違うん?」ってなるよね
実際、ワイも最初は混乱してた
でも、それぞれの役割と使い分けを理解すると、Claude の使い方が一気に広がるんよ
公式ブログの「Skills Explained」って記事がめちゃ分かりやすくまとめてくれてたので、それを元に整理していく。5つの部品の解説と導入方法をまとめてみた
Claude の 5 つの部品とは何か
まず全体像を押さえておこう
Claude には以下の 5 つの仕組みがある
- Skills - 手順書と専門知識のフォルダ
- Prompts - その場限りの指示
- Projects - 知識ベース付きワークスペース
- Subagents - 専門家チーム
- MCP - 外部システムへの接続レイヤー
それぞれ役割が完全に別で、組み合わせることで強力なワークフローを作れる
公式ブログでも "The real power emerges when you combine these building blocks"(これらの部品を組み合わせることで本当の力が発揮される)って言ってて、単独で使うよりも組み合わせることで本当の力を発揮するんよね
じゃあ、それぞれ詳しく見ていこう
Skills - 手順書と専門知識のフォルダ
Skills は Claude が自動で読み込む専門知識のフォルダ やな
コード、文書、ガイドラインなんかを入れておける
特徴としては以下
- 必要なときだけ自動でロードされる
- 複数の会話で使い回せる
- 最大 5,000 トークンの内容まで入る
まぁ、エコやな
AI っぽいデザインは、Skills を使うことで回避できる。例えば、「Inter フォントを使わないで」とか「紫のグラデーションを避けて」とか、そんな指示を Skills に書いておけば、Claude が自動的にその指示を参照してくれる
すると、画一的なデザインじゃなくなるから個性的なデザインになるんや
公式ブログでは "organizational workflows, domain expertise, personal preferences"(組織のワークフロー、専門知識、個人の好み)に最適って書かれてた
どんなときに使うのか
- 毎回説明したくない作業手順
- 専門作業(Excel 分析、ブランドガイド、コーディング規約など)
- プロジェクト横断で使いたい知識
たとえば、毎回「この形式で議事録をまとめて」って言うのが面倒やったら、議事録フォーマットを Skill にしておく
そうすれば、Claude が自動的にその形式を参照してくれる
Skills を作るタイミング
公式ブログでは "If you find yourself typing the same prompt repeatedly across multiple conversations, it's time to create a Skill"(複数の会話で同じプロンプトを繰り返し入力していることに気づいたら、それは Skill を作成すべき時だ)って言われてる
同じ指示を何度も繰り返してるなら、それは Skill にすべきタイミングってこと
つまり、Skills は 「再利用可能な専門知識」 として機能する
Prompts - その場限りの指示
Prompts は 会話中に自然言語で与える指示 やな
一時的で、その場限りの対応に使う
特徴としては以下
- 毎回書く必要がある
- 持続性がない
- Skills と組み合わせる前提
公式ブログでは "ephemeral and reactive"(一時的で反応的な)って表現されてて、一時的で反応的なものってことよね
どんなときに使うのか
- 1 回だけの依頼
- 追加で方向性を修正したいとき
- 即興の分析やまとめ
たとえば「この文章を要約して」とか「エラーを修正して」みたいな、その場で必要な指示は Prompts として与える
Skills が「ルールブック」なら、Prompts は「今やってほしいこと」ってイメージやな
どう?だいぶ簡単やろ
Projects - 知識ベース付きワークスペース
Projects は 会話 + 知識ベース + 指示が全部入った専用ワークスペース やな
特徴としては以下
- 200K のコンテキストウィンドウを持つ
- 文書をアップロードできる
- 会話全体にインストラクションを適用できる
- RAG が自動で使われる
公式ブログでは "independent workspace with its own chat history and knowledge base"(独自のチャット履歴とナレッジベースを持つ独立したワークスペース)って説明されてる
どんなときに使うのか
- 仕事ごと(Q4 企画、リサーチ、開発プロジェクト)
- 長期間の知識を保持したい
- チームで共有したい
たとえば、特定のプロジェクトに関するドキュメント、過去の会話履歴、プロジェクト固有のルールを全部まとめておきたいときに使う
Projects は 「複数会話間で永続的なコンテキストが必要な場合」 に有効ってことよね
Subagents - 専門家チーム
Subagents は 独自のコンテキストとシステムプロンプトを持つ専門 AI やな
別人格の Claude って考えると分かりやすい
特徴としては以下
- 役割ごとに分離できる
- ツール権限も分離できる(安全)
- Skills も使える
- 独立して処理した結果をメインエージェントに返す
公式ブログでは "specialized AIs with their own context and system prompt"(独自のコンテキストとシステムプロンプトを持つ特化型 AI)って説明されてて、Claude Code や Agent SDK で利用可能らしい
どんなときに使うのか
- コードレビュー専用
- セキュリティ専用
- マーケ分析専用
みたいに、独立したタスクを並列化したいときに使う
たとえば、コードレビューだけを担当する Subagent を作っておけば、コードを書くたびに自動的にレビューしてくれる
Subagents は 「特定ワークフロー向けの独立した目的別エージェント」 ってことやな
MCP - 外部システムへの接続レイヤー
MCP(Model Context Protocol)は Claude を現実世界のシステムに接続するプロトコル やな
公式ブログでは "universal connection layer"(普遍的な接続レイヤー)って表現されてる
特徴としては以下
- AI と外部ツール・データソースを接続する標準プロトコル
- Google Drive、GitHub、データベースなどへのアクセスを実現
- データの読み込み、検索、取得などを自動化できる
どんなときに使うのか
- Claude にクラウドや DB へ実際にアクセスさせたい
- 外部データを取得して分析したい
たとえば、Google Drive のスプレッドシートを読み込んで分析したり、GitHub のコードをレビューしたりできる
Skills と MCP の違い
ここ重要なんやけど、Skills と MCP の役割は明確に違う
- Skills - データ活用の「方法」を教える(手続き知識)
- MCP - データへの「アクセス」を実現する(接続性)
たとえば、「データベース照会時は必ず日付範囲でフィルタする」は Skills で定義して、データベース自体へのアクセスは MCP で実装する
Skills が「やり方」、MCP が「接続」って役割分担になってるんよね
使い分けの判断基準
じゃあ、実際にどう使い分けるのか
公式ブログでは以下みたいな判断軸が示されてた
| 判断ポイント | 対応するツール |
|---|---|
| 繰り返し使う専門知識 | Skills |
| 今この瞬間の指示 | Prompts |
さらに、使い分けの軸は 「永続性」(どのくらい長く使うか)と 「範囲」(どのくらい広く適用するか)やな
- 永続性が低い → Prompts
- 永続性が高い → Skills、Projects
- 範囲が狭い → Prompts、Subagents
- 範囲が広い → Skills、Projects、MCP
具体的な使い分け例
- 毎回同じ指示を書いてる → Skills に変換
- 今だけ必要な指示 → Prompts で与える
- プロジェクト全体で使う知識 → Projects に入れる
- 独立した専門タスク → Subagents に任せる
- 外部データが必要 → MCP で接続
実践:5 つを組み合わせたワークフロー例
公式ブログで紹介されてた「研究エージェント」の例がめちゃ分かりやすかったので、それを元に説明する
このワークフローは、競合分析を行うための構成になってる
5 段階の構成
- Project 設定 → 競争分析資料をアップロード、プロジェクト指示を設定
- MCP 接続 → Google Drive、GitHub、Web 検索へのアクセス有効化
- Skills 作成 → 競争分析フレームワークを定義
- Subagents 設定 → 市場調査と技術分析の専門エージェントを構成
- Prompts 実行 → 「競合 3 社の AI 機能戦略を分析し、ギャップを特定」というリクエスト送信
この構成だと、各ツールが協働する
- Project が背景知識を提供
- MCP が必要なデータを引き出す
- Skills が分析方法論を指定
- Subagents が並列で専門作業を実行
- Prompts が具体的なタスクを指示
こうやって組み合わせることで、単独では実現できない高度なワークフローが作れるんよね
別の例:コードレビューワークフロー
自分でも実践できそうな例を考えてみた
- Project 設定 → プロジェクトのコーディング規約、過去のレビューコメントをアップロード
- MCP 接続 → GitHub リポジトリに接続
- Skills 作成 → コードレビューのチェックリストを定義
- Subagents 設定 → セキュリティレビュー専用、パフォーマンスレビュー専用の Subagents を構成
- Prompts 実行 → 「最新のプルリクエストをレビューして、問題点を指摘して」
この構成だと
- Project がプロジェクト固有のルールを保持
- MCP が GitHub のコードを取得
- Skills がレビュー方法を指定
- Subagents が並列でレビューを実行
- Prompts が具体的なレビュー対象を指示
みたいな感じで、各ツールの役割が明確になってる
Skills と他の要素の違いを整理する
最後に、Skills と他の要素の違いをもう一度整理しておこう
Skills vs. Prompts
- Skills - 再利用可能な専門知識、複数会話で使える
- Prompts - 1 回限りの指示、その場で消える
Skills vs. Projects
- Skills - プロジェクト横断で使える専門知識
- Projects - 特定プロジェクトに紐づく知識ベース
Skills vs. Subagents
- Skills - 複数のエージェントが使える移植可能な専門知識
- Subagents - 特定ワークフロー向けの独立した目的別エージェント
Skills vs. MCP
- Skills - データ活用の「方法」を教える(手続き知識)
- MCP - データへの「アクセス」を実現する(接続性)
こうやって整理すると、それぞれの役割がかなり明確になる
実際に使ってみよう:導入方法
理論は分かったけど、じゃあ実際にどうやって使い始めるのか
ここからは、Skills、Projects、MCP の具体的な導入方法を説明していく
Skills の作り方
Skills を作るには、まず保存場所を決める必要がある
保存場所は 2 つ
- 個人用 Skills -
~/.claude/skills/に保存(全プロジェクトで利用可能) - プロジェクト用 Skills -
.claude/skills/に保存(チーム全体で共有)
個人用は自分だけが使う汎用的な Skills、プロジェクト用はチームで共有する専用 Skills って使い分けやな
ファイル構成
Skills はディレクトリ構成で、必須ファイルは SKILL.md やな
SKILL.md の書き方
YAML フロントマターと Markdown で記述する
ポイントは description に「何をするか」と「いつ使うか」の両方を書く こと
これによって、Claude が適切に発見・活用してくれる
Projects の始め方
Projects は Claude Code のプロジェクト機能やな
初期化方法
プロジェクトディレクトリで以下を実行
これで .claude/ ディレクトリが作成される
CLAUDE.md の設定
プロジェクトのルートに CLAUDE.md ファイルを作成すると、Claude にプロジェクトの方針を教えられる
設定の階層
Claude Code の設定は 3 階層になってる
- グローバル設定 -
~/.claude/で定義(全プロジェクトに適用) - プロジェクト設定 -
.claude/またはCLAUDE.mdで定義 - 会話設定 - その会話だけで有効
下の階層が上書きするので、プロジェクト設定がグローバル設定より優先される
MCP の接続方法
MCP を使うと、外部ツールやデータソースに接続できる
インストール方法は 3 つ
- HTTP サーバーの追加(推奨)
クラウドベースのサービスに最適
- SSE サーバーの追加
※ SSE は非推奨らしい。可能な限り HTTP を使う方が良さそう
- ローカル stdio サーバーの追加
-- の後ろに実際のコマンドを記載する
管理コマンド
Claude Code 内では /mcp で認証状態を確認できる
設定スコープ
- Local(デフォルト)- 現在のプロジェクトのみ
- Project -
.mcp.jsonでチーム全体と共有 - User - すべてのプロジェクトで利用可能
チームで使う MCP サーバーは Project スコープで設定すると便利やな
人気のサーバー例
Stripe、Notion、GitHub、Sentry などの主要サービスが対応してる
ただし、公式ドキュメントにも書かれてるけど、サードパーティ MCP サーバーは自己責任で使用 すること
Anthropic は全サーバーの正確性やセキュリティを保証してないから、信頼できるサーバーを選ぶのが大事
Subagents の作り方
Subagents は特定のタスクや役割に特化したカスタム AI アシスタント
雑に言うと「メインと別で動いてくれる専門的なアシスタント」やな
雑にさらに分かりやすく言うと
メイン Claude に対して、
- コードレビュー専門
- デバッグ専門
- SQL 専門
- 改修案の調査専門
- 文章リライト専門
みたいな “別人格の AI エージェント” を横に置いて、必要な時だけ呼び出したり、 Claude 本体が自動で振り分けたりする仕組み。
つまり、専門家を集めてチーム編成できるってことやね
繰り返しの作業なんかに威力を発揮する
プロンプトの指示が減るので、メインの作業に集中できる
メインの Claude とは別のコンテキストで実行されて、それぞれが独自のシステムプロンプトとツール権限を持てる
Subagents の強み
公式ドキュメントでは、以下の 4 つのメリットが強調されてる
- コンテキスト保全 - 各サブエージェントが独自のコンテキストで動くから、メイン会話が汚染されない
- 専門性 - 特定ドメインに特化した詳細な指示で、成功率が上がる
- 再利用性 - 一度作れば、複数のプロジェクトで使い回せる
- 柔軟な権限 - サブエージェントごとに異なるツールアクセスレベルを設定できる
作成方法
Claude Code を起動した後に /agents コマンドを入力する
すると、対話形式でサブエージェントを作成できる
事前に CLAUDE md を書いていたら、それを元に作ってくれる
作成手順は 5 ステップ
- スコープの選択 - プロジェクト単位(
.claude/agents)または個人単位(~/.claude/agents) - 作成方法の選択 - Claude で作成するかカスタムで作成するか
- 定義の入力 - サブエージェントの役割や専門分野を説明
- ツールの選択 - 使用できるツールを指定(デフォルトは親セッションのツールを引き継ぐ)
- カラーの選択 - サブエージェントの色を選択(視覚的に識別するため)
公式ドキュメントでは 「Claude で生成してからカスタマイズする」 のが推奨されてる
これによって、しっかりした基盤を得てから、自分のニーズに合わせて調整できるんよね
設定ファイルの構造
生成された設定ファイルは、YAML フロントマター形式のマークダウンファイルになる
主な設定項目
- name(必須)- サブエージェントの一意な識別子(小文字とハイフンのみ使用)
- description(必須)- どのようなタイミングでサブエージェントを呼び出すのかを記述
- model(任意)- モデルエイリアス(sonnet、opus、haiku)、
inheritでメイン会話と同じモデルを使用 - tools(任意)- 利用するツールを指定(指定がない場合は全てのツールが使える)
- color(任意)- サブエージェントの識別色
使い方
サブエージェントの呼び出し方は 2 つ
- 自動起動 - Claude Code がコンテキストに基づいて適切なサブエージェントを選択
- 明示的な呼び出し - 以下のような表現で指定できる
- 「Use the code-reviewer subagent to check my changes」
- 「code-reviewer エージェントでこのコードをレビューして」
@code-reviewerでメンション
たとえば、コードレビュー専用のサブエージェントを作っておけば、「このコードをレビューして」と言うだけで自動的にそのサブエージェントが起動する
ビルトインの Subagents
Claude Code には、最初から用意されてる Subagent もある
特に Plan subagent は、プランモード(実行しないモード)で使われる専用のサブエージェント
コードベースを調査して、実行前に計画を立てるときに自動的に起動するんよね
tools の制限が重要
Subagents の強みは、ツール権限を分離できる こと
たとえば、コードレビュー専用のサブエージェントには Read、Grep、Bash だけを許可して、Write や Edit は許可しない
こうすることで、勝手にコードを書き換えることを防げる
逆に、tools を指定しないと全てのツールが使えるので、勝手なことをすることになるから注意やな
まとめ:5 つの部品を一言で表すと
Claude の 5 つの部品を一言でまとめるとこうなる
- Skills → 手順・専門知識
- Prompts → 今やることの指示
- Projects → その仕事の知識ベース
- Subagents → 専門家チーム
- MCP → データ接続レイヤー
この 5 つを組み合わせることで、Claude を「エージェント的に動く」システムとして使えるようになる
公式ブログでも強調されてたけど、単独で使うよりも組み合わせることで本当の力を発揮するんよね
特に、Skills はプロンプトのモジュール化として機能するから、まず Skills を整えることから始めるのが良さそう
同じ指示を何度も繰り返してるなら、それは Skills にすべきタイミングってことやな