Claude Code の進化史:MCP、Slash Commands、Agents、Skills の物語
Claude Code 9ヶ月のツール進化をビジュアルで辿る旅。MCP から Slash Commands、Agents、Skills まで — 各ツールの設計哲学を理解する。
なぜ Claude Code にはこんなに多くのツールがあるのか、考えたことはありますか?MCP、Slash Commands、Agents、Skills…似ているようで、それぞれ異なる目的があります。
この記事では、2025年4月から2026年1月までの9ヶ月の進化の旅を辿り、各ツールがどのように特定の問題を解決するために生まれたか — そしてすべてが同じ目標に向かっていることを示します。
タイムライン概要
MCP (基盤) → Slash Commands → Agents → Skills → Skills 2.0 → 統合
↓ ↓ ↓ ↓ ↓
Before 0.2.31 v0.2.31 v1.0.60 v2.0.20 v2.1.0/v2.1.3
(オープン標準) (2025-04-02) (2025-07-24) (2025-10-16) (2026-01-07/09)
クイックリファレンス表
| ツール | バージョン | 日付 | 目的 |
|---|---|---|---|
| MCP | Before v0.2.31 | - | 外部 API 統合(オープン標準) |
| Slash Commands | v0.2.31 | 2025-04-02 | 再利用可能なワークフロープロンプト |
| Agents | v1.0.60 | 2025-07-24 | 隔離されたタスク実行 |
| Skills | v2.0.20 | 2025-10-16 | 自動検出される機能 |
| Skills + Fork | v2.1.0 | 2026-01-07 | Skills の隔離実行サポート |
| 統合 | v2.1.3 | 2026-01-09 | Commands と Skills の統一 |
コア問題:Context vs 知識
各ツールを深く理解する前に、すべてが解決しようとしている根本的な課題を理解しましょう:
限られた Context Window vs 無限の知識ニーズ
Context Window の各トークンは貴重です。しかし、Claude は知る必要があります:
- Google Drive API の使い方
- あなたの Git commit 規約
- コードベースのナビゲーション方法
- あなたのプロジェクトで「良いコード」とは何か
すべてを Main Context に置くと、実際の問題のためのスペースがなくなります。
Claude Code の各ツールは、異なる角度からこの問題を解決するために存在します。
MCP:汎用知識を外に移動
それは何か
Model Context Protocol — AI アシスタントを外部システムやデータソースに接続するためのオープン標準。
なぜ作られたか
一般的な説明:「Claude が外部データにアクセスするための統一アーキテクチャ。」
本当の理由:Context の節約。
MCP がなければ、Google Drive を使いたいたびに、Claude は知る必要があります:
- API エンドポイント
- 認証フロー
- リクエスト/レスポンス形式
- エラーコード
- レート制限ルール
これは、あなたの具体的な問題とは関係のない汎用知識で 3000+ トークン を消費する可能性があります。
MCP はどう解決するか
❌ MCP なし:
Main Context = あなたの問題 + API ドキュメント
✅ MCP あり:
Main Context = あなたの問題
External Server = API ドキュメント(ツールとしてロード)
本質:汎用知識を外に移動し、Context をあなたの問題のために残す。
重要な洞察
MCP はオープン標準です — Claude Code 固有のものではありません。誰でも MCP サーバーを実装でき、再利用可能な統合のエコシステムを作成できます。
Slash Commands:必要に応じて詳細をロード
それは何か
.claude/commands/ ディレクトリにあるカスタム markdown ファイルで、事前定義されたプロンプトを会話に挿入します。
なぜ作られたか
MCP は外部ツールを解決しましたが、開発ワークフローの詳細はどうでしょう?
Git commits を考えてみましょう:
- Conventional Commits 形式
- いつ
--amendを使うか(そして絶対に使わないとき) - Pre-commit hook の処理
- Force push ルール
これらを Main Context に書くとスペースの無駄です。Slash Commands はこれを解決します:
「必要になるまでロードしない」
動作方法
<!-- Main Context が知っているのは: -->
「ユーザーが /commit と入力したら、commit.md を実行」
<!-- commit.md(トリガーされたときのみロード):-->
## Git Commit Workflow
1. git status を確認
2. 変更を解析
3. Git Safety Protocol(詳細ルール...)
4. pre-commit hooks を処理
重要な洞察
Slash Commands は段階的開示を実現します — 詳細は必要なときにのみ表示されます。また、モデルが不安定なときに安定性を提供し、ワークフローが固定のステップで実行されることを保証します。
Agents:分岐して実行し、結果を返す
それは何か
複雑な多段階タスクを独立して処理する自律的なサブプロセス。
なぜ作られたか
タスクが複雑になると、単一コンテキストでの処理が困難になります。
Claude に大規模プロジェクトの分析を依頼することを想像してください:
- 数百のファイルをスキャン
- 各ファイルで発見がある
- 大量の中間思考
問題:
- Context の爆発 — 中間プロセスがトークンを埋める
- メインダイアログの汚染 — 分析の詳細がメイン会話と混在
Agents はどう解決するか
「他の場所で実行し、結果だけを持ち帰る」
重要な洞察:Sub-agent Context はメインダイアログに流れ戻らない。
- 独立した会話履歴
- 専門的なシステムプロンプト
- 制限されたツールセット(例:Explore agent:Read/Grep/Glob のみ)
- 「プロセス」ではなく「答え」を返す
これが Fork です — 分岐し、独立して実行し、結果をマージする。
Skills:再利用可能なワークフロー
それは何か
Claude の機能を拡張するモジュラーパッケージ。Claude は自動検出していつ使うかを判断します。
なぜ作られたか(v2.0.20 - 2025-10-16)
最初、Skills は以下を提供しました:
- 再利用可能なワークフロー定義
- 自動検出(手動の slash commands に対して)
- バンドルされたリソース(scripts、references、assets)
制限:Skills は Main Context でデフォルト agent を使用して実行されました。
大きなアップグレード:Skills + Fork(v2.1.0 - 2026-01-07)
Skills のリリースからわずか3ヶ月後、ゲームチェンジングなアップデートが登場:
追加された2つのスーパーパワー
context: fork— 隔離された sub-agent context で実行agentフィールド — どの agent が skill を実行するか指定
何が変わったか
| v2.1.0 以前 | v2.1.0 以後 |
|---|---|
| Main Context で実行 | forked context で実行 |
| デフォルト agent を使用 | 指定された agent を使用 |
| 実行が Main Context を汚染 | Main Context はクリーンに保たれる |
進化のタイムライン
Skills 2.0.20 (2025-10-16)
❌ fork context なし
❌ agent 指定なし
│
├── 3ヶ月 →
│
▼
Skills 2.1.0 (2026-01-07) ⚡ メジャーアップグレード
✅ context: fork
✅ agent: Explore | general-purpose | custom
│
├── 2日 →
│
▼
Skills 2.1.3 (2026-01-09)
Slash Commands と Skills が統合
(今では Slash Command = Skill + user-invocable: true)
完全な段階的開示
v2.1.0 により、Skills は完全な段階的開示を達成:
- 定義レイヤー → SKILL.md frontmatter
- トリガーレイヤー → description がいつ使うかを決定
- 実行レイヤー → 専門化された agent を指定
- 隔離レイヤー → fork context でクリーンに保つ
統合(v2.1.3 - 2026-01-09)
v2.1.0 からわずか2日後、slash commands と skills が統合されました:
“Merged slash commands and skills, simplifying the mental model with no change in behavior”
今では:Slash Commands は Skills です — ただし user-invocable: true が付いています。
これによりメンタルモデルが統一され、すべての機能が保持されました。
統一アーキテクチャ
4つのツールすべてが、異なる角度から同じコア問題を解決します:
┌─────────────────────────────────────────────────┐
│ Main Context │
│ (現在のタスク + プロジェクト設定) │
└───────────────────┬─────────────────────────────┘
│
┌───────────────┼───────────────┬─────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌───────┐ ┌───────┐ ┌──────┐ ┌───────┐
│ MCP │ │Skills │ │Agents│ │Command│
└───────┘ └───────┘ └──────┘ └───────┘
│ │ │ │
外部ツール ワークフロー知識 エキスパート実行 クイックトリガー
【汎用知識を外に移動】【必要に応じてロード】【実行を隔離】
解決策マトリックス
| ツール | 解決する問題 | 方法 |
|---|---|---|
| MCP | 外部 API の汎用知識 | ドキュメントを外部サーバーに移動 |
| Commands | ワークフローの詳細 | トリガーされるまでロードしない |
| Agents | 複雑なタスクの実行 | Fork して独立して完了 |
| Skills | 再利用可能なワークフロー | 上記3つを組み合わせ |
目標:Main Context は「現在の問題 + プロジェクト設定」のみを保持。その他すべては必要に応じてロード、隔離実行、または完了時に終了。
本質:すべてはプロンプト
派手な名前を剥がすと、何が残るでしょうか?
MCP Server = 外部システムのプロンプトパッケージ
Agent = 役割ベースのプロンプトパッケージ
Skill = ワークフローのプロンプトパッケージ
Slash Command = ユーザートリガーのプロンプトパッケージ
ツール名は、使用の異なる段階のために存在します。
- 「MCP に接続」は「外部プロンプトパッケージをロード」より理解しやすい
- 「Explore agent を使う」は「探索型プロンプトを使う」より明確
- 「/commit を実行」は「commit プロンプトをトリガー」よりシンプル
設計哲学
「適切なプロンプトを、適切な場所に、適切なタイミングで配置する」
これが段階的開示。 これが Context の節約。 これが Claude Code のアーキテクチャの美しさ。
まとめ:9ヶ月の進化
| 日付 | バージョン | マイルストーン |
|---|---|---|
| Before 0.2.31 | - | MCP 基盤 |
| 2025-04-02 | v0.2.31 | Slash Commands |
| 2025-07-24 | v1.0.60 | Custom Subagents |
| 2025-10-16 | v2.0.20 | Skills 導入 |
| 2026-01-07 | v2.1.0 | Skills + Fork + Agent(メジャーアップグレード) |
| 2026-01-09 | v2.1.3 | Commands と Skills 統合 |
9ヶ月の反復的改善、各ツールが前のツールの上に構築 — すべて同じビジョンに向かって。
さらに探求したいですか?
/evolution でインタラクティブな進化タイムラインを視覚化してご覧いただくか、以下を深く読んでください:
この記事は公式の Claude Code CHANGELOG と git commit 履歴に基づいています。