メインコンテンツへスキップ
Claude Code は、コードについて推論するモデルと、ファイル操作、検索、実行、ウェブアクセス用の組み込みツールを組み合わせています。組み込みツールはほとんどのコーディングタスクをカバーしています。このガイドは拡張レイヤーについて説明します。つまり、Claude が何を知るかをカスタマイズし、外部サービスに接続し、ワークフローを自動化するために追加する機能です。
コア agentic ループがどのように機能するかについては、How Claude Code works を参照してください。
Claude Code は初めてですか? CLAUDE.md でプロジェクト規約を開始します。その後、特定のトリガーが発生したときに他の拡張機能を追加してください。

概要

拡張機能は agentic ループのさまざまな部分に接続します。
  • CLAUDE.md は、Claude がすべてのセッションで見る永続的なコンテキストを追加します
  • Output styles はすべてのセッションのすべての応答に対して Claude の役割、トーン、応答形式を設定します
  • Skills は再利用可能な知識と呼び出し可能なワークフローを追加します
  • Code intelligence は Claude を言語サーバーに接続し、シンボルレベルのナビゲーションとライブ型エラーを実現します
  • MCP は Claude を外部サービスとツールに接続します
  • Subagents は独立したコンテキストで独自のループを実行し、サマリーを返します
  • Dynamic workflows は Claude が書いたスクリプトから多くの subagents を実行し、1 つの結果を返します
  • Cross-session messaging により、Claude はあなたのセッションの 1 つから別のセッションにメッセージを渡すことができます
  • Hooks はライフサイクルイベントで発火し、スクリプト、HTTP リクエスト、MCP ツール呼び出し、プロンプト、または subagent を実行できます
  • Plugins と marketplaces はこれらの機能をパッケージ化して配布します
Skills は最も柔軟な拡張機能です。スキルは知識、ワークフロー、または指示を含むマークダウンファイルです。/deploy のようなコマンドでスキルを呼び出すことができます。または Claude は関連する場合に自動的にスキルをロードできます。スキルは現在の会話で実行することも、subagents を介して独立したコンテキストで実行することもできます。

目的に合わせて機能を選ぶ

機能には、Claude がすべてのセッションで参照する常時有効なコンテキストから、ユーザーや Claude が呼び出せるオンデマンドの機能、特定のイベントで実行されるバックグラウンドの自動化まで、さまざまなものがあります。次の表は、利用可能な機能とそれぞれが適している場面を示しています。 プラグイン はパッケージングのレイヤーです。プラグインは、スキル、フック、サブエージェント、MCP サーバーを 1 つのインストール可能な単位にまとめます。プラグインのスキルには名前空間が付けられる(/my-plugin:review のように)ため、複数のプラグインを共存させることができます。同じセットアップを複数のリポジトリで再利用したい場合や、マーケットプレイス を通じて他のユーザーに配布したい場合は、プラグインを使用します。

セットアップを段階的に構築する

最初からすべてを設定する必要はありません。各機能にはわかりやすいきっかけがあり、ほとんどのチームはおおよそ次の順序で機能を追加していきます。 同じきっかけは、既存の設定を更新すべきタイミングも教えてくれます。繰り返される間違いや何度も出てくるレビューコメントは、チャットでのその場限りの修正ではなく、CLAUDE.md を編集すべきものです。手作業で何度も調整しているワークフローは、改訂が必要なスキルです。

似ている機能を比較する

一部の機能は似ているように見えることがあります。どちらを選ぶべきかの詳しい解説については、ブログ記事 Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents を参照してください。ここでは、それぞれの違いを説明します。
スキルとサブエージェントは、異なる問題を解決します。
  • スキルは、任意のコンテキストに読み込める再利用可能なコンテンツです
  • サブエージェントは、メインの会話とは別に実行される分離されたワーカーです
スキルには参照型とアクション型があります。 参照型スキルは、Claude がセッション全体で使用する知識(API スタイルガイドなど)を提供します。アクション型スキルは、Claude に特定の処理を実行させます(デプロイワークフローを実行する /deploy など)。コンテキストの分離が必要な場合や、コンテキストウィンドウがいっぱいになりつつある場合は、サブエージェントを使用します。サブエージェントは数十のファイルを読んだり広範な検索を実行したりすることがありますが、メインの会話が受け取るのは要約のみです。サブエージェントの作業はメインのコンテキストを消費しないため、途中の作業を表示したままにする必要がない場合にも便利です。カスタムサブエージェントは独自の指示を持つことができ、スキルを事前に読み込むこともできます。両者は組み合わせられます。 サブエージェントは特定のスキルを事前に読み込むことができます(skills: フィールド)。スキルは context: fork を使用して分離されたコンテキストで実行できます。詳細についてはスキルを参照してください。

機能の階層構造を理解する

機能は、ユーザー全体、プロジェクトごと、プラグイン経由、または管理ポリシーを通じてなど、複数のレベルで定義できます。また、CLAUDE.md ファイルをサブディレクトリにネストしたり、モノレポの特定のパッケージにスキルを配置したりすることもできます。同じ機能が複数のレベルに存在する場合、次のように階層化されます。
  • CLAUDE.md ファイルは加算的です。すべてのレベルが同時に Claude のコンテキストにコンテンツを提供します。作業ディレクトリとその上位のファイルは起動時に読み込まれ、サブディレクトリのファイルはそこで作業するときに読み込まれます。指示が矛盾する場合、Claude は判断してそれらを調整します。CLAUDE.md ファイルの読み込み方法を参照してください。
  • スキルとサブエージェントは名前で上書きされます。同じ名前が複数のレベルに存在する場合、優先順位に基づいて 1 つの定義が採用されます(スキルは managed > user > project、サブエージェントは managed > CLI フラグ > project > user > plugin)。プラグインのスキルは競合を避けるために名前空間が付けられます。スキルの検出とサブエージェントのスコープを参照してください。
  • MCP サーバーは名前で上書きされます(local > project > user)。MCP のスコープを参照してください。
  • フックはマージされます。登録されたすべてのフックは、ソースに関係なく一致するイベントで発火します。フックを参照してください。

機能を組み合わせる

各拡張機能は異なる問題を解決します。CLAUDE.md は常時有効なコンテキスト、スキルはオンデマンドの知識とワークフロー、MCP は外部接続、サブエージェントは分離、フックは自動化を担います。実際のセットアップでは、ワークフローに応じてこれらを組み合わせます。 たとえば、プロジェクトの規約には CLAUDE.md を、デプロイワークフローにはスキルを、データベースへの接続には MCP を、編集のたびに lint を実行するにはフックを使用できます。それぞれの機能が最も得意なことを担当します。

コンテキストコストを理解する

追加する各機能は Claude のコンテキストの一部を消費します。多すぎるとコンテキストウィンドウがいっぱいになる可能性がありますが、Claude の効果を低下させるノイズを追加することもできます。スキルが正しくトリガーされない場合や、Claude が規約を失う場合があります。これらのトレードオフを理解することで、効果的なセットアップを構築するのに役立ちます。実行中のセッションでこれらの機能がどのように組み合わされるかのインタラクティブビューについては、コンテキストウィンドウを探索する を参照してください。

機能別のコンテキストコスト

各機能には異なるロード戦略とコンテキストコストがあります。 *スキルのフロントマターで disable-model-invocation: true を設定すると、その説明を Claude のコンテキストから除外できます。書いていないスキルの場合は、ファイルを編集せずに同じことを行うために設定で skillOverrides を設定します。

機能がどのようにロードされるかを理解する

各機能はセッション内の異なるポイントでロードされます。以下のタブは、各機能がいつロードされるか、およびコンテキストに何が入るかを説明しています。 コンテキストロード:CLAUDE.md はセッション開始時にロードされ、すべてのリクエストに留まります。MCP ツール名は開始時にロードされ、完全なスキーマは使用時に遅延されます。スキルは開始時に説明をロードし、呼び出し時に完全なコンテンツをロードします。Subagents は独立したコンテキストを取得します。Hooks は外部で実行されます。 コンテキストロード:CLAUDE.md はセッション開始時にロードされ、すべてのリクエストに留まります。MCP ツール名は開始時にロードされ、完全なスキーマは使用時に遅延されます。スキルは開始時に説明をロードし、呼び出し時に完全なコンテンツをロードします。Subagents は独立したコンテキストを取得します。Hooks は外部で実行されます。
時期: セッション開始ロード内容: セッション開始時にロードされる各 CLAUDE.md ファイル(管理、ユーザー、プロジェクトレベル)の完全なコンテンツ。継承: Claude は作業ディレクトリからルートまで CLAUDE.md ファイルを読み取り、サブディレクトリにネストされたものを、それらのファイルにアクセスするときに検出します。詳細は CLAUDE.md ファイルがどのようにロードされるか を参照してください。ネストされた CLAUDE.md がファイルごとのサイズ制限を超えている場合、Claude はファイルの先頭部分のみを受け取ります。
CLAUDE.md を 200 行以下に保ちます。リファレンスマテリアルをスキルに移動します。スキルはオンデマンドでロードされます。チェックインされた CLAUDE.md のトリム提案を取得する には、/doctor を実行します。

詳細を学ぶ

各機能には、セットアップ指示、例、設定オプションを含む独自のガイドがあります。

CLAUDE.md

プロジェクトコンテキスト、規約、指示を保存

Skills

Claude にドメイン専門知識と再利用可能なワークフローを提供

Subagents

独立したコンテキストに作業をオフロード

Dynamic workflows

1 つのスクリプトから多くのサブエージェントを実行

Cross-session messaging

Claude が他のセッションにメッセージを送信できるようにする

MCP

Claude を外部サービスに接続

Hooks

フックでアクションを自動化

Plugins

機能セットをバンドルして共有

Marketplaces

プラグインコレクションをホストして配布