Claude Codeは単なるコーディングアシスタントではない。AIエージェントをオーケストレーションするフレームワークだ。
この事実を深く理解しているのが、Affaan Mustafa氏(@affaanmustafa)だ。彼は2025年2月のClaude Code実験版リリースから10ヶ月間毎日使い込み、その知見を「The Shorthand Guide to Everything Claude Code」としてXに投稿。90万回以上の閲覧と1万以上のブックマークを獲得し、Claude Codeコミュニティで最も参照されるガイドとなった。
本記事では、彼のガイドを基に、Skills、Hooks、Subagents、MCP、Pluginsの5つの拡張機能を体系的に解説する。Anthropic x Forum Venturesハッカソン優勝者の実践的な設定と、何が「実際に機能するか」を明らかにする。
Affaan Mustafa氏とは誰か
まず、このガイドの著者について理解しておこう。
| 項目 | 詳細 |
|---|---|
| 名前 | Affaan Mustafa (@affaanmustafa) |
| 拠点 | SF / Seattle |
| Claude Code使用歴 | 10ヶ月(2025年2月〜) |
| 実績 | Anthropic x Forum Ventures ハッカソン優勝 |
| フォロワー | 10,500+ |
彼が@DRodriguezFXとともに開発した「Zenith」は、完全にClaude Codeだけで構築され、ハッカソンで優勝した。この実績が、彼のガイドに説得力を与えている。
Claude Codeの5つの拡張機能
Claude Codeの拡張機能は、時系列で段階的に追加されてきた。
| 機能 | リリース時期 | 主な用途 |
|---|---|---|
| MCP | 2024年 | 外部サービス接続 |
| Claude Code Core | 2025年2月 | 基本機能 |
| Plugins | 2025年 | 設定パッケージ化 |
| Agent Skills | 2025年10月 | 自動実行機能 |
| Subagents | 2025年 | 並列実行・タスク分離 |
それぞれの機能には明確な役割があり、適切に使い分けることで開発効率が飛躍的に向上する。
Skills:ワークフローのショートカット
Skillsは、特定のスコープとワークフローに限定されたルールとして機能する。プロンプトのショートハンドであり、特定のワークフローを実行する際に呼び出す。
Skillsの基本概念
- 自動呼び出し:タスクのコンテキストに基づいてClaudeが自動的に使用
- ポータブル:Claude Code、Claudeアプリ(Web/モバイル)、APIで共通利用可能
- 再利用可能:一度定義すれば何度でも呼び出し可能
実践的なSkill例
Mustafa氏が推奨する具体的なSkillの使用例:
| Skill名 | 用途 |
|---|---|
/refactor-clean |
デッドコードと不要な.mdファイルの削除 |
/tdd |
テスト駆動開発の実行 |
/e2e |
End-to-Endテストの実行 |
/test-coverage |
テストカバレッジの確認 |
Pro Tip:Skillsとコマンドは単一プロンプトでチェーン実行可能。コードマップを更新するSkillを作成すれば、Claudeがコードベースを素早くナビゲートでき、探索にコンテキストを消費しない。
Skillsの最小サンプル
置き場所:.claude/skills/refactor-clean.md
# /refactor-clean デッドコードと不要ファイルを削除するスキル。 ## 実行内容 1. 未使用のimport文を削除 2. 呼び出されていない関数を特定・削除 3. 空の.mdファイルを削除 4. console.log/print文をクリーンアップ ## 注意 - テストファイルは除外 - git diffで変更を確認してから実行
Skillsについてより詳しくは、Agent Skills公式ガイド完全解説も参照。
Hooks:イベント駆動の自動化
Hooksはツール使用やプロンプト送信などのイベントに反応するハンドラだ。品質ゲートや自動アクションをトリガーするのに最適。
Hooksの使用場面
- フォーマット自動化:コード保存時の自動整形
- リンティング:変更時の自動チェック
- リマインダー:特定条件でのアラート
- 品質ゲート:コミット前の自動検証
hookifyプラグインの活用
Mustafa氏のPro Tip:
「
hookifyプラグインを使えば、JSONを手動で書く代わりに会話形式でHooksを作成できる。/hookifyを実行して、やりたいことを説明するだけ。」
これにより、Hooksの設定が大幅に簡素化される。
Hooksの最小サンプル
置き場所:.claude/hooks.json
{
"hooks": [
{
"event": "postToolUse",
"matcher": "Write|Edit",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
このHookは、ファイル編集後に自動でPrettierを実行する。コード保存のたびに手動でフォーマットする手間がなくなる。
Subagents:並列実行とコンテキスト分離
SubagentsはClaude Code専用の機能で、限定されたスコープでタスクを委任できる独立したClaudeインスタンスだ。
Subagentsの特徴
- コンテキスト汚染の防止:メインエージェントのコンテキストを保護
- バックグラウンド/フォアグラウンド実行:柔軟な実行モード
- ツール権限のサンドボックス:サブエージェントごとに許可ツールを制限
- スキルとの連携:特定のスキルセットを持つサブエージェントにタスク委任
Subagentsの設計原則
Mustafa氏の重要な警告:
「すべてのサブエージェントにすべてへのアクセスを与えたくなる誘惑に駆られる。しかし、50個のツールを持つサブエージェントは、5個のツールに絞ったものより遅く、集中力に欠ける。」
つまり、スコープを限定することが成功の鍵だ。
| アンチパターン | 推奨パターン |
|---|---|
| 50個のツールを持つサブエージェント | 5個のツールに絞ったサブエージェント |
| 全MCP有効 | タスクに必要なMCPのみ有効 |
| 汎用的なサブエージェント | 特化型サブエージェント |
Subagentsの最小サンプル
置き場所:.claude/agents/code-reviewer.md
# code-reviewer コードレビュー専用のサブエージェント。 ## 許可ツール - Read(ファイル読み取りのみ) - Grep(検索) - Glob(パターンマッチ) ## 禁止ツール - Write, Edit(変更禁止) - Bash(実行禁止) ## タスク 変更されたファイルをレビューし、 問題点と改善案をレポートする。
このサブエージェントは読み取り専用で、コード変更の権限を持たない。メインエージェントのコンテキストを汚染せず、安全にレビュータスクを委任できる。
MCP:外部サービスへの接続
MCP(Model Context Protocol)は、AIと外部システムを接続するオープンプロトコルだ。LLMと必要なツール間のユニバーサルアダプターと考えればよい。
MCPの本質
- APIの代替ではない:APIのプロンプト駆動ラッパー
- 柔軟なナビゲーション:情報へのアクセスを柔軟に
- 外部サービス統合:ブラウザ自動化、DB接続、API統合など
Mustafa氏のMCP設定
「これが鍵だ。私は14個のMCPを設定しているが、プロジェクトごとに有効にするのは5〜6個だけ。コンテキストウィンドウを健全に保つためだ。」
この「選択的有効化」が、効率的なMCP活用の核心だ。
MCPの最小サンプル
置き場所:.claude/mcp.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-filesystem", "/path/to/project"],
"disabled": false
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-github"],
"disabled": true
}
}
}
disabled: trueでMCPを一時的に無効化できる。プロジェクトに応じて必要なMCPだけをオンにすることで、コンテキストウィンドウを節約できる。Claude CodeとSlackの連携方法についてはSlack統合ガイドを参照。
Plugins:設定のパッケージ化
Pluginsは、Skills、スラッシュコマンド、Subagents、Hooks、MCPサーバーを単一の配布可能なユニットにバンドルするパッケージング機構だ。
Pluginsの特徴
- インストール:
/pluginsコマンドで導入 - 名前空間:競合を避けるための分離
- チーム標準化:設定の共有と統一
プラグインディレクトリ構造
重要な注意:
my-plugin/ ├── .claude-plugin/ │ └── plugin.json ← ここだけ ├── commands/ ← ルートレベル ├── agents/ ← ルートレベル ├── skills/ ← ルートレベル └── hooks/ ← ルートレベル
commands/、agents/、skills/、hooks/を.claude-plugin/ディレクトリ内に配置しないこと。plugin.jsonのみが内部に配置される。
Pluginsの最小サンプル
置き場所:my-plugin/.claude-plugin/plugin.json
{
"name": "my-team-plugin",
"version": "1.0.0",
"description": "チーム標準のSkills/Hooksパッケージ",
"commands": ["../commands"],
"skills": ["../skills"],
"agents": ["../agents"],
"hooks": "../hooks/hooks.json"
}
このplugin.jsonでプラグインを定義し、/plugins install ./my-pluginでインストールする。チーム全員が同じワークフローを使える環境が即座に構築できる。
実践的なTips:Mustafa氏の推奨設定
10ヶ月の使用経験から導き出された、実践的なTipsを紹介する。
コンテキストウィンドウの管理
- 未使用のMCPとプラグインを無効化:コンテキストは貴重なリソース
- プロジェクトごとに必要なものだけ有効化:5〜6個が目安
並列実行の活用
- /fork:会話をフォークして非重複タスクを並列実行 → 1つのターミナルで複数タスクを同時進行でき、待ち時間がゼロに
- Git Worktrees:競合なしで複数のClaudeを並列実行 → ブランチ切り替え不要で、同じリポジトリの異なるブランチを同時編集できる
- tmux:長時間実行コマンドのストリーミングとログ監視 → SSH切断やターミナル閉じてもプロセスが継続、後から出力を確認可能
YCombinator出身の起業家たちがClaude Codeで成功している秘訣も、こうした並列実行の徹底活用にある。詳しくはYC Founders Claude Code成功ルールを参照。
反復作業の自動化
- Hooksでフォーマット・リンティング・リマインダーを自動化
- スキルのチェーン実行で複数タスクを一括処理
サブエージェントのスコープ設定
- 限定されたツール = 集中した実行
- タスクに本当に必要な権限だけを付与
機能の使い分けガイド
それぞれの機能をいつ使うべきか、明確な指針を示す。
| 機能 | 使用場面 | 最適なユースケース |
|---|---|---|
| Skills | 定期的なワークフロー実行 | リファクタリング、テスト、コードマップ更新 |
| Hooks | イベント駆動の自動化 | 品質ゲート、自動フォーマット |
| Subagents | 並列実行・重い処理の分離 | コンテキスト汚染防止、深掘り調査 |
| MCP | 外部システム統合 | ブラウザ自動化、DB接続、API統合 |
| Plugins | 設定の共有・標準化 | チーム配布、プロジェクト間共有 |
Claude Code成功のチェックリスト
Mustafa氏のガイドから導き出される、成功のためのチェックリスト。
基本設定
- ☐ 必要なMCPのみ有効化(5〜6個が目安)
- ☐ プロジェクトごとにプラグイン設定を最適化
- ☐ CLAUDE.mdでプロジェクト固有のルールを定義(Boris Chernyのベストプラクティスも参考に)
Skills設計
- ☐ 頻繁に使うワークフローをSkill化
- ☐ チェーン実行を考慮した設計
- ☐ コードマップ更新Skillの導入
Subagents設計
- ☐ ツール数を5個程度に制限
- ☐ 特化型のサブエージェントを設計
- ☐ 適切な権限のサンドボックス化
並列実行
- ☐ /forkで非重複タスクを並列化
- ☐ Git Worktreesで複数Claude実行
- ☐ tmuxで長時間コマンドを監視
まとめ:Claude Codeは「オーケストレーター」である
Affaan Mustafa氏の10ヶ月にわたる実践から得られた知見は明確だ。Claude Codeは単なるコーディングアシスタントではなく、AIエージェントをオーケストレーションするフレームワークである。
成功の3原則:
- スコープを限定する:MCPもSubagentsも、必要最小限に絞る
- 自動化を徹底する:Hooks、Skills、チェーン実行で反復作業を排除
- 並列実行を活用する:/fork、Git Worktrees、tmuxで生産性を最大化
これらの原則を実践することで、Mustafa氏はAnthropicハッカソンで優勝し、90万閲覧のガイドを生み出した。Claude Codeを使う開発者にとって、このガイドは必読のリファレンスと言えるだろう。
さらに上級テクニックとして、マスタープロンプトによる無限コンテキスト実行も習得すれば、Claude Codeのポテンシャルを最大限に引き出せる。


コメント