参考文献・エビデンス集

各機能の公式ドキュメントと「なぜ作られたのか」

全機能の設計理由とエビデンス

各機能が「なぜ必要だったのか」「どう使うと効果的か」を公式ソースとともに解説

公式ドキュメント一覧

Claude Codeの情報源として最も信頼できるのは、以下の公式リソースです。

各機能の設計理由

📝 CLAUDE.md(メモリファイル)
なぜ作られた?

毎回セッションを開始するたびに「このプロジェクトはReactで...」「コーディング規約は...」と説明する無駄を排除するため。プロジェクトの知識をファイルとして永続化し、セッションを超えてClaudeに学習させる仕組みが必要だった。

具体的なメリット

グローバル(~/.claude/CLAUDE.md)、プロジェクト(CLAUDE.md)、ディレクトリ(src/CLAUDE.md)の3階層で管理。チーム全員が同じルールで作業でき、新メンバーのオンボーディングも即座に完了。

🎯 Skills(スキル)
なぜ作られた?

開発チームは同じ作業パターンを繰り返す(PR作成、デプロイ、コードレビュー等)。これらをMarkdownで定義し、再利用可能なワークフローとしてパッケージ化する仕組みが求められた。当初は.claude/commands/として実装されたが、v2.1でSKILL.mdに統合・拡張された。

具体的なメリット

/deploy一発でデプロイフロー全体を実行、/review-prでチーム共通のレビュー基準を適用、/fix-issue 123でIssue番号を渡してバグ修正を開始。SDKやAPI不要、Markdownだけで定義可能。

🪝 Hooks(フック)
なぜ作られた?

LLMは確率的であり「必ずフォーマッターを実行する」「必ず.envを除外する」という100%確実な動作は保証できない。Hooksは「LLMに頼らず決定論的に実行される」安全装置として設計された。CI/CDのフックやgit hooksと同じ発想。

具体的なメリット

ファイル編集後に必ずPrettierを実行、.envの編集をブロック、危険なコマンドの検知とブロック、デスクトップ通知、監査ログの記録。prompt型やagent型のフックでは柔軟な判断も可能。

🔌 MCP(Model Context Protocol)
なぜ作られた?

LLMが外部ツールと連携するためのインターフェースは各社バラバラだった。MCPはAIツール接続の標準プロトコルとして設計され、一度サーバーを作れば、Claude Code、ChatGPT、VS Codeなど複数のクライアントで使える。2026年1月にはMCP AppsとしてインタラクティブなUI返却も可能に。

具体的なメリット

GitHub APIの直接操作、Slackへの通知、データベースクエリ、Jiraチケット管理、Google Drive連携など、外部サービスとの統合を標準化。3,000以上のMCPサーバーが公開済み(2026年1月時点)。

🤖 サブエージェント & Agent Teams
なぜ作られた?

大規模な開発タスクでは、1つのコンテキストウィンドウでは限界がある。また、リサーチと実装を並列で行いたい需要があった。サブエージェントはコンテキストの分離と並列処理を実現し、Agent Teamsは複数エージェントの協調作業を可能にした。

具体的なメリット

4つの調査タスクを同時実行して結果を統合、フロントエンドとバックエンドの同時開発、コードベース全体の並列分析。Worktree隔離でファイルコンフリクトを防止。

🔐 権限システム
なぜ作られた?

AIが任意のファイルを書き換え、任意のコマンドを実行できるのは危険。しかし毎回「許可しますか?」と聞かれるのも生産性が低い。信頼できる操作は自動許可、危険な操作はブロックという粒度の細かい制御が必要だった。

具体的なメリット

Bash(git *)でgitコマンドのみ自動許可、Bash(rm -rf *)を拒否リストに追加、MCP toolsの個別制御。プロジェクト設定をgitで共有し、チーム全体の安全性を担保。

💻 ヘッドレスモード / CI/CD
なぜ作られた?

対話型のCLIだけでは自動化パイプラインに組み込めない。PRの自動レビュー、Issue対応、テスト生成などをCI/CDワークフローの一部として実行するため、非対話モード(-p)が設計された。

具体的なメリット

GitHub Actionsで自動PRレビュー、git diff | claude -pでセキュリティスキャン、ログファイルの異常検知をSlackに通知。JSON出力で他ツールとの連携も容易。

📦 Plugins(プラグイン)
なぜ作られた?

Skills、Hooks、Agentsなどの設定をプロジェクトごとに手動で設定するのは面倒。拡張機能をパッケージとして配布し、インストール一発で使えるようにするため。npmパッケージやVS Code拡張と同じ発想。

具体的なメリット

claude plugin install一発でスキル、フック、エージェント定義を追加。特定のgit commitにピン留めしてバージョン管理も可能。カスタムnpmレジストリにも対応。

📱 Remote Control
なぜ作られた?

開発者はデスクの前だけで仕事をしていない。長時間のタスクを走らせてカフェに行きたい、電車の中でセッションを確認したい。ローカルで動くエージェントを任意のデバイスから操作できるリモートアクセスが求められた。

具体的なメリット

ローカルPCでClaude Codeを実行しながらスマホからアクセス、Web版で開始したタスクをターミナルに/teleportで引き継ぎ、Desktopアプリでdiffをビジュアルレビュー。

🔄 セッション管理(-r / -c)
なぜ作られた?

コーディングセッションは1回で終わらない。昨日の続き、先週の調査、別ブランチでの作業...。過去のコンテキストを瞬時に復元し、無駄な再説明なしに作業を継続する仕組みが不可欠だった。

具体的なメリット

claude -cで直前セッション即再開、claude -rで過去50件から選択、JSONLファイルに全会話が保存されておりjqやPythonで分析可能。/renameで名前つけ管理。

この記事の作成に使用したソース

各ページの情報は以下のソースから収集・検証しています。

公式ドキュメント

GitHub

技術ブログ・解説記事

まとめ

全ての機能には「理由」がある

Claude Codeの各機能は、実際の開発現場の課題を解決するために設計されています。
公式ドキュメントとGitHubの情報を追うことで、最新の機能と使い方を常に把握できます。
まずは公式ドキュメントをブックマークしましょう。

📚🔍✨

Evidence-based learning!