blog

Claude Code 拡張機能の種類と選び方|CLAUDE.md・Skills・Hooks・MCP・プラグイン・VS Code【2026年10月】

Claude Code の拡張機能とは、標準のまま使える Claude Code に「覚えておく指示(CLAUDE.md)」「呼び出せる手順(Skills)」「必ず動く自動処理(Hooks)」「外部サービスへの接続(MCP)」「別の作業役(サブエージェント)」を足し、それらをまとめて配る「プラグイン」で広げる仕組みの総称です。VS Code や JetBrains に入れる「IDE 拡張機能」も、同じ「拡張機能」という言葉で呼ばれます。

この記事では、それぞれが何を足すのか、どの順番で入れればよいのか、似ているもの同士をどう選び分けるのかを、公式ドキュメント(code.claude.com/docs、2026年10月23日確認)に沿って整理します。各機能の詳しい設定手順は、個別の解説記事へ案内します。

はじめての方へ:最初に入れるのは CLAUDE.md だけで十分です。公式も「Claude Code は初めてですか? CLAUDE.md でプロジェクト規約を開始します。その後、特定のトリガーが発生したときに他の拡張機能を追加してください」と案内しています。Claude Code そのものの全体像は Claude Code とはにまとめています。

目次

Claude Codeの拡張機能には何がある?

公式の「Claude Code を拡張する」(features-overview)が挙げている拡張機能を、目的ごとに一覧にしました。左の列から「自分がやりたいこと」を探すと、使うべき機能が分かります。

拡張機能 何を足すか(使う場面) 置き場所・入れ方
CLAUDE.md毎回の会話で読まれる指示。ビルド方法・規約・「必ず X する」ルール./CLAUDE.md、~/.claude/CLAUDE.md。/init で下書きを作れる
.claude/rules/CLAUDE.md を分割したルール。特定のファイルを扱うときだけ読ませることもできる.claude/rules/*.md(paths で対象を限定)
Skills(スキル)必要なときだけ読む手順書・参考資料。/名前 で呼べる。旧「カスタムスラッシュコマンド」もここに統合.claude/skills/<名前>/SKILL.md
サブエージェント別の会話で調べ物や専門作業をさせ、要約だけ受け取る.claude/agents/*.md
Hooks(フック)決まったタイミングで必ず実行する処理。編集後の整形、危険な操作のブロック、通知settings.json の hooks。/hooks で確認
MCP外部のサービスやデータ(GitHub・データベース・Slack・ブラウザーなど)への接続claude mcp add、共有は .mcp.json。/mcp で確認
プラグイン・マーケットプレイススキル・フック・サブエージェント・MCP をまとめて1つで入れる・配る/plugin の Discover タブ
出力スタイル応答の口調・長さ・形式を切り替える組み込みスタイル(Concise など)か自作
コードインテリジェンス言語サーバーにつなぎ、定義へのジャンプや型エラーを使わせる言語ごとのプラグインを入れる
VS Code・JetBrains の拡張機能エディタの中で Claude Code を使う(差分表示・@メンション・選択範囲の共有)各エディタのマーケットプレイスから入れる

このほか公式には、多数のサブエージェントをスクリプトで動かす「動的ワークフロー」、別のセッションへ結果を渡す「セッション間メッセージング」も拡張レイヤーとして載っています。まずは上の表の上から順に、必要になったものだけ足していけば十分です。

ほかの拡張としてプラグインを使うときは、Claude Codeを拡張するコマンドで解説しています。

関連記事Claude CodeのSkillsの作り方は?

Claude Code 拡張機能とは——「拡張機能」という言葉の2つの意味

「claude code 拡張機能」で調べる人が探しているものは、大きく2つに分かれます。どちらを探しているかで、読むべき場所が変わります。

① エディタに入れる「IDE 拡張機能」 VS Code の拡張機能「Claude Code」や、JetBrains IDE 向けの Claude Code プラグインのことです。Claude Code の中身は同じで、操作する画面がエディタになります。
→ 本記事の「VS Code・JetBrains の拡張機能」の節、詳しくは Claude Code を VS Code で使う方法
② Claude Code の働きを広げる「拡張レイヤー」 CLAUDE.md・Skills・サブエージェント・Hooks・MCP・プラグインなど、Claude Code が何を知り、何につながり、何を自動で行うかを足す仕組みです。どの画面(ターミナル・VS Code・デスクトップアプリ)で使っても共通です。
→ 本記事の大部分はこちらの選び方です

公式ドキュメントは両者をはっきり分けています。プラグインの解説には「VS Code または JetBrains IDE 内で Claude Code を使用したい:これは VS Code 拡張機能または JetBrains プラグインであり、Claude Code プラグインではありません」と書かれています。名前が似ているので、記事やドキュメントを読むときはどちらの話かを確かめてください。

②の拡張レイヤーについて、公式は「Claude が何を知るかをカスタマイズし、外部サービスに接続し、ワークフローを自動化するために追加する機能」と説明しています。Claude Code はもともと、ファイルの読み書き・検索・コマンド実行・ウェブ参照の道具を持っていて、たいていのコーディング作業はそのままこなせます。拡張機能は、その基本の動き(指示を受けて考え、道具を使い、結果を見て次を決める繰り返し)の決まった場所に差し込まれます。


次に読む:Claude CodeでMCPを設定するには?

Claude Code MCP設定の使い方|外部ツール連携の実装【2026】

拡張機能の全体構造

拡張機能を選ぶときに役立つのは、「いつ読み込まれるか」と「誰が動くか」の2つの見方です。同じ「指示を書いておく」ものでも、毎回読まれるのか、必要なときだけなのか、Claude が判断せずに必ず実行されるのかで、向いている用途が変わります。

拡張機能 いつ読み込まれるか 誰が動くか 会話の容量(コンテキスト)への負担
CLAUDE.md毎回、セッション開始時に全文Claude(読んで従う)毎回かかる(だから短く保つ)
Skills開始時は名前と説明だけ。使うときに全文Claude使うまでは小さい
MCP開始時はツール名。詳しい定義は使うとき外部のサーバー使うまでは小さい
サブエージェント呼び出したとき、別の会話として別の Claude(要約を返す)本体の会話とは別枠
Hooks決まったイベントが起きたときあなたのコマンド・スクリプト結果を返さない限りゼロ

出典:code.claude.com/docs「Claude Code を拡張する」の「機能別のコンテキストコスト」(2026年10月23日確認)。拡張機能を足すほど会話の容量を少しずつ使うので、公式は「多すぎるとコンテキストウィンドウがいっぱいになる」「スキルが正しくトリガーされない場合や、Claude が規約を失う場合がある」と注意しています。

同じ機能を「個人用」「プロジェクト用」「組織用」など複数の場所に置いたときの扱いも、機能ごとに違います。

  • CLAUDE.md は足し算:見つかったファイルはすべて連結して読まれ、どれかが他を上書きすることはありません。矛盾があると Claude がどちらかを選ぶので、食い違いを残さないようにします。
  • Skills・サブエージェント・MCP サーバーは名前で1つに決まる:同じ名前が複数の場所にあると、優先順位の高い1つだけが使われます(スキルは組織 > 個人 > プロジェクト、MCP はローカル > プロジェクト > ユーザー)。
  • Hooks は全部動く:どこで登録したフックも、条件に合えばすべて実行されます。

目的から選ぶ:こんなときはこの拡張機能

最初から全部をそろえる必要はありません。公式の「セットアップを段階的に構築する」では、「こんなことが起きたら、これを足す」というきっかけで説明されています。それを日本語でまとめると次のとおりです。

こんなことが起きたら 足すもの
Claude が同じ規約やコマンドを2回まちがえたCLAUDE.md に書く
「短く」「もっと説明して」と毎回お願いしている出力スタイルを設定する
作業を始めるたびに同じ指示文を打っている呼び出せるスキルとして保存する
同じ手順書をチャットに貼るのが3回目になったスキルにまとめる
別のツールの画面からデータを何度もコピーしているそのツールを MCP サーバーとしてつなぐ
定義や使用箇所を探すために多くのファイルを読ませている言語のコードインテリジェンス用プラグインを入れる
ついでの作業の出力で会話が埋まってしまうサブエージェントに任せる
頼まなくても毎回必ず実行させたいフックを作る
2つ目のリポジトリでも同じ設定が必要になったプラグインにまとめる

迷ったときは、次の4つの質問を上から順に当てはめると、たいてい1つに決まります。

  1. 外部のサービスやデータが必要? → はいなら MCP
  2. Claude の判断に任せず、毎回必ず実行したい? → はいなら Hooks
  3. 本体の会話を汚さず、別の場所で作業させたい? → はいならサブエージェント
  4. Claude に知識やルールを足したい? → いつも必要なら CLAUDE.md、特定のファイルのときだけなら .claude/rules/、ときどき必要なら Skills

公式の要約は「CLAUDE.md は常時有効なコンテキスト、スキルはオンデマンドの知識とワークフロー、MCP は外部接続、サブエージェントは分離、フックは自動化を担います」です。


CLAUDE.md——プロジェクトの文脈をClaudeに永続的に記憶させる

CLAUDE.md は、Claude Code がセッションの開始時に読み込む指示ファイルです。「毎回同じことを説明している」状態をなくす、いちばん基本の拡張です。拡張機能の中で最初に用意するのはこれです。

どこに置くか(4つの場所)

種類 場所 向いている内容
組織(管理ポリシー)Linux・WSL は /etc/claude-code/CLAUDE.md など会社全体の規約・セキュリティ方針
個人(全プロジェクト)~/.claude/CLAUDE.md自分の好みの書き方や道具
プロジェクト./CLAUDE.md または ./.claude/CLAUDE.mdチームで共有する構成・規約・ビルド方法(Git に入れる)
ローカル./CLAUDE.local.md自分だけのプロジェクト設定(.gitignore に入れる)
① ~/.claude/CLAUDE.md(個人:全プロジェクト共通)
↓ 後ろに連結(上書きしない)
② プロジェクトの CLAUDE.md(上位のフォルダから順に)
↓ 後ろに連結(上書きしない)
③ サブフォルダの CLAUDE.md(そのフォルダのファイルを扱った時点で読み込み)

公式によると、見つかったファイルは「互いに上書きするのではなく、コンテキストに連結」されます。起動した場所に近いファイルほど後ろに並ぶので、最後に読まれます。また、CLAUDE.md は「システムプロンプト自体の一部ではなく、システムプロンプトの後のユーザーメッセージとして配信」されます。つまり CLAUDE.md は Claude が読んで従おうとする文脈で、必ず守られる設定ではありません。必ず守らせたいことは、後で説明する Hooks や権限設定で止めます。

Claude Codeの /context の画面。Memory files が 2 files・547 tokens と表示されている
/context を実行すると、読み込まれた CLAUDE.md が「Memory files」として、使っている容量(トークン数)とともに表示されます(2026年10月撮影の実画面)。

実践的なCLAUDE.mdの書き方

公式は「CLAUDE.md ファイルあたり 200 行以下を目標」とし、「2 スペースのインデントを使用する」「コミット前に npm test を実行する」のように、確かめられるほど具体的に書くことを勧めています。新しく作るときは /init を実行すると、Claude がコードを読んでビルド方法などを含む下書きを作ります。

# プロジェクト概要
Next.js + TypeScript + Prisma の業務アプリ。

# コマンド
- 開発: npm run dev
- テスト: npm test(コミット前に必ず実行)
- 型チェック: npm run typecheck

# 規約
- TypeScript は strict。any は使わず unknown を使う
- テストは変更したファイルと同じフォルダの __tests__/ に置く
- 環境変数は src/env.ts を通して参照する

# 詳しい資料
- API の書き方 @docs/api-conventions.md

最後の行の @パス は、別のファイルを取り込む書き方です。ただし取り込んだファイルも毎回読まれるので、容量の節約にはなりません。特定のフォルダのファイルを扱うときだけ読ませたいルールは、.claude/rules/ に paths を付けて置きます。ときどきしか使わない長い手順や資料は、次の Skills に移します。

CLAUDE.mdに書くべき内容・書かない方が良い内容

書くべき内容 書かない方が良い内容(置き場所)
ビルド・テストのコマンドAPIキー・パスワード(どこにも書かない)
コーディング規約・命名規則何段階もある手順書(→ Skills)
プロジェクトのフォルダ構成の要点一部のフォルダだけのルール(→ .claude/rules/)
「X は決してしない」というルール絶対に止めたい操作(→ Hooks・権限設定)
新しいメンバーが最初に間違えやすいこと「丁寧に答えて」のような一般的なお願い(→ 出力スタイル)

CLAUDE.md の置き場所の細かい使い分け、自動メモリ(Claude が自分で書くメモ)との違いは Claude Code のメモリ(CLAUDE.md)の解説にまとめています。


Skills(旧カスタムスラッシュコマンド)——繰り返す手順を「/名前」で呼び出す

スキルは、手順・チェックリスト・参考資料を SKILL.md に書いておき、/スキル名 で呼び出したり、関係のある作業のときに Claude に自動で使わせたりする仕組みです。公式は「スキルは最も柔軟な拡張機能です」と説明しています。

以前の Claude Code では、.claude/commands/ に Markdown を置く「カスタムスラッシュコマンド」が定番でした。現在の公式ドキュメントには「カスタムコマンドはスキルにマージされました」とあり、.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md のどちらも /deploy を作り、同じように動きます。既存の commands のファイルはそのまま使えますが、新しく作るならスキルの形がおすすめです。スキルは、補助ファイルを同じフォルダに置ける、Claude が自動で使うかどうかを決められる、といった機能が追加されています。

作成方法と保存場所

プロジェクト用(チームで共有) .claude/skills/<名前>/SKILL.md
リポジトリにコミットすれば、チーム全員が使えます
個人用(全プロジェクト) ~/.claude/skills/<名前>/SKILL.md
同じ名前がプロジェクトにもある場合は、個人用が優先されます

フォルダ名がそのままコマンド名になります。Claude Code にはあらかじめ /code-review・/batch・/debug・/loop などのスキルも入っています。

カスタムスラッシュコマンドの実例(スキルの形で書く)

コードレビューを頼むスキルの例です。先頭の --- で囲んだ部分の description は、Claude が「いつこのスキルを使うか」を判断する材料になります。$ARGUMENTS には、呼び出すときに続けて入力した文が入ります。

# ファイル: .claude/skills/review/SKILL.md
---
description: 変更したコードをレビューする。バグ・セキュリティ・読みやすさ・テスト不足を重要度つきで指摘する
---
以下の観点で、いまの変更をレビューしてください。

## 観点
- バグや論理の誤り
- セキュリティ上の問題(SQLインジェクション、XSS など)
- 読みやすさ・命名
- テストが足りない箇所

## 追加の指示
$ARGUMENTS

## 出力
指摘は重要度(高・中・低)を付けて箇条書きにしてください。

使うときは、セッションで /review 型の安全性も見て と入力します。決まった観点と追加の指示がまとめて Claude に渡ります。

Claude Code で「/summ」と入力すると、作成したスキル /summarize-changes が候補に表示される画面。descriptionの文がそのまま説明として出る
作ったスキルは「/」に続けて名前の一部を打つと候補に出ます。説明欄には description の文がそのまま表示されます(2026年10月撮影の実画面)。

動的コンテキストを活用した高度なコマンド

スキルの本文に !`コマンド` と書くと、Claude が内容を読む前にそのコマンドが実行され、行が実行結果に置き換わります(公式の呼び名は「動的コンテキスト注入」)。実行した時点の最新の状態を、指示と一緒に渡せます。

# ファイル: .claude/skills/changelog/SKILL.md
---
description: 最近のコミットから利用者向けの変更履歴を作る
disable-model-invocation: true
---
次のコミット一覧から、利用者向けの変更履歴(日本語)を作ってください。

## 対象コミット
!`git log --oneline -20`

## 形式
- 追加 / 変更 / 修正 に分ける
- 技術的な細部より、利用者への影響を書く
- バージョン番号: $ARGUMENTS

disable-model-invocation: true を付けると、Claude が勝手に使わず、/changelog と呼んだときだけ動きます。公式は、デプロイのように実行すると影響が出るスキルにはこの設定を付けるよう勧めています。スキルの作り方と frontmatter の全項目は Claude Code Skills の解説、組み込みのコマンド一覧は スラッシュコマンドの解説にあります。


フック(Hooks)——イベント駆動で処理を自動化する

フックは、Claude Code の決まったタイミング(イベント)で、あなたが用意したコマンドやスクリプトを自動で実行する仕組みです。CLAUDE.md やスキルの指示は Claude が読んで判断するのに対し、フックは Claude の判断を通さずに必ず動きます。公式は「ガードレールはフックに置きます」「『.env は決して編集しない』といった指示は要望であり、保証ではありません。編集をブロックする PreToolUse フックは強制力を持ちます」と説明しています。

利用可能なフックの種類

公式のフックリファレンスには、セッションの開始から終了まで 33 種類のイベントが載っています(2026年10月23日確認)。まず押さえたい代表的なものは次のとおりです。

イベント 起きるタイミング よくある使い方
SessionStartセッションの開始・再開時環境変数の読み込み、要約後の注意の再提示
UserPromptSubmit指示を送信した直後ブランチ名など今の状況を書き添える
PreToolUseツールを使う前(止められる)危険なコマンドや保護したいファイルの編集を止める
PermissionRequest承認の確認を出す前決まった確認だけを自動で許可する
PostToolUseツールが成功した後編集したファイルの整形・lint
Notification入力や承認を待つ通知のときデスクトップ通知を出す
Stop / SubagentStop応答が終わったとき/サブエージェントが終わったとき終わった合図、作業の確認
PreCompact / SessionEnd会話の要約の前/セッション終了時記録の保存、後片付け

実行するものも、シェルコマンド(command)のほか、URL へ送る http、MCP のツールを呼ぶ mcp_tool、Claude に判定させる prompt、試験中の agent の5種類から選べます。

フックの設定方法

フックは ~/.claude/settings.json(自分の全プロジェクト)、.claude/settings.json(プロジェクト・Git で共有できる)、.claude/settings.local.json(プロジェクト・自分だけ)などに書きます。次は、公式ガイドにある「編集したファイルを Prettier で整形する」例と、Bash コマンドの前に確認スクリプトを通す例、通知の例を1つにまとめたものです。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          { "type": "command", "command": "python3 \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/check_dangerous_command.py" }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "notify-send 'Claude Code' 'Claude Code needs your attention'" }
        ]
      }
    ]
  }
}

ポイントは、フックが受け取る情報は標準入力の JSON だということです。編集したファイルのパスは tool_input.file_path、Bash のコマンドは tool_input.command に入っています。コマンドの文字列の中で使える変数は ${CLAUDE_PROJECT_DIR} などに限られ、${file} のような書き方は公式には用意されていません。通知は Linux の例で、macOS では osascript を使います。matcher は大文字と小文字を区別します。

Claude Codeで /hooks を実行した画面。Hooks 5 hooks on 3 events と表示され、PreToolUse に Bash 用の2つ、PostToolUse に Edit|Write 用の2つ、Stop に1つのコマンド型フックが一覧になっている
/hooks を実行すると、登録したフックがイベントごとに一覧で表示されます。設定が読み込まれたかはここで確かめます(2026年10月撮影の実画面)。

危険なコマンドをブロックするPreToolUseフックの実装例

PreToolUse のフックは、終了コード 2 で終わると、そのツールの実行を止めます。そのとき標準エラーに書いた文が、止めた理由として Claude に伝わります。終了コード 0 は「異議なし」で、通常の承認の流れに戻ります(自動で許可するわけではありません)。

#!/usr/bin/env python3
# .claude/hooks/check_dangerous_command.py

import json
import sys

# 標準入力の JSON を受け取る(例: {"tool_name": "Bash", "tool_input": {"command": "..."}})
data = json.load(sys.stdin)
command = data.get("tool_input", {}).get("command", "")

dangerous_patterns = [
    "rm -rf /",
    "drop table",
    "chmod 777 /",
]

for pattern in dangerous_patterns:
    if pattern in command.lower():
        print(f"危険なコマンドのためブロックしました: {pattern}", file=sys.stderr)
        sys.exit(2)  # 2 で終了 → このツール実行を止める

sys.exit(0)  # 0 で終了 → 通常の承認の流れへ

コマンドの文字列は tool_input の中にあるので、data["tool_input"]["command"] の順にたどります。いちばん外側の JSON から直接 command を探すと、いつも空になってしまい、何も止められません。作ったスクリプトは、Claude Code に入れる前に echo '{"tool_name":"Bash","tool_input":{"command":"rm -rf /"}}' | python3 check_dangerous_command.py; echo $? のように見本の JSON を流して、2 が返るか確かめておくと安心です。

イベント33種の一覧、JSON で細かく判定を返す方法、チームでの共有方法は Claude Code hooks の設定と活用ガイドで、実際にブロックされる画面とあわせて解説しています。

イベント駆動のフックによる自動化パイプラインの概念図
イベント駆動のフックによる自動化パイプラインの概念図

MCP——外部のサービスやデータにつなぐ

MCP(Model Context Protocol)は、Claude Code を外部のツールやデータにつなぐための標準の仕組みです。公式は「別のツール(課題追跡ツールや監視ダッシュボードなど)からチャットにデータをコピーしている場合は、サーバーを接続してください」と案内しています。つなぐと、Claude が課題管理・データベース・デザインツールなどを直接読み、操作できるようになります。

追加のしかたと保存先

# インターネット上の MCP サーバーを追加する
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 手元で動かす MCP サーバーを追加する(-- の後ろが起動コマンド)
claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem .

# チームで共有する(.mcp.json に書かれる)
claude mcp add --transport http --scope project notion https://mcp.notion.com/mcp
スコープ 保存先 使う場面
local(既定)~/.claude.jsonこのプロジェクトで自分だけが使う
projectプロジェクト直下の .mcp.jsonチーム全員で使う(Git に入れる。初回は各自が承認)
user~/.claude.json自分の全プロジェクトで使う

Claude Code の MCP 設定は .mcp.json と ~/.claude.json に保存されます。デスクトップアプリ「Claude Desktop」の claude_desktop_config.json とは別のファイルなので、取り違えないようにしてください。

Claude Code で /mcp を実行した画面。Manage MCP servers の一覧に filesystem(14 tools)と sentry(needs authentication)が表示されている
/mcp でつないだサーバーの状態を確認できます。認証が必要なサーバーは「needs authentication」と表示されます(2026年10月撮影の実画面)。

MCP とスキルの違い

よく迷うのが MCP とスキルの使い分けです。公式の整理では、MCP は「ツールとデータへのアクセス」、スキルは「知識、ワークフロー、参考資料」を足すもので、組み合わせて使うのが基本です。たとえば MCP でデータベースにつなぎ、スキルにはそのデータベースのテーブル構成やよく使う問い合わせの書き方を書いておく、という形です。どのサーバーから入れるか、認証の方法、トラブルの直し方は Claude Code MCP の使い方で詳しく説明しています。


Claude Code・AIエージェントの業務導入をご検討の方は、自社での開発実例を公開しているクリスタルメソッドの無料相談をご利用ください。

Sub-agents・.claude/rules・出力スタイル——押さえておきたい残りの拡張機能

ここまでの CLAUDE.md・Skills・Hooks・MCP に加えて、知っておくと選び方が楽になる拡張機能を、「いつ読み込まれるか」「誰が動くか」で並べます。

拡張機能 いつ読み込まれるか 誰が実行するか 主な用途
サブエージェント呼び出したとき、別の会話で別の Claude多くのファイルを読む調査、専門のレビュー、並行作業
.claude/rules/毎回、または対象のファイルを扱ったときClaude言語やフォルダごとのルールを分けて管理
出力スタイル毎回(1つだけ有効)Claude応答を短くする、説明を増やす、開発以外の役割で使う
コードインテリジェンス編集の後と、記号を調べるとき言語サーバー定義へのジャンプ、型エラーの把握

サブエージェントは、.claude/agents/ に役割・使える道具・モデルを書いた Markdown を置いて作ります。サブエージェントが何十ものファイルを読んでも、本体の会話に返ってくるのは要約だけなので、会話の容量を守れます。スキルとの違いについて公式は、スキルは「任意のコンテキストに読み込める再利用可能なコンテンツ」、サブエージェントは「メインの会話とは別に実行される分離されたワーカー」と説明しています。作り方は サブエージェントの解説、複数のエージェントを協調させる方法は Agent Teams の解説にあります。

サブエージェント code-improver が src/cart.js の改善点を重要度順に返した画面。最後に Agent cart.js の改善点レビュー finished 18s と表示されている
サブエージェントに改善点のレビューを任せた結果。本体の会話には、まとめた結果だけが返ってきます(2026年10月撮影の実画面)。

.claude/rules/ は、CLAUDE.md を分割するための場所です。先頭に paths: ["src/api/**/*.ts"] のように書くと、そのファイルを扱うときだけ読み込まれます。CLAUDE.md が長くなってきたときの逃がし先として使います。

CLAUDE.md は「一度書いて終わり」の仕様書ではなく、作業の中で Claude が同じ間違いをしたら書き足して育てていくものです。公式も「繰り返される間違いや何度も出てくるレビューコメントは、チャットでのその場限りの修正ではなく、CLAUDE.md を編集すべきもの」としています。一方で、書き足しすぎると読み込みの負担が増え、守られにくくなります。定期的に /doctor で見直しの提案を受けると、古い指示や矛盾を減らせます。

プラグインとマーケットプレイス——拡張機能をまとめて入れる・配る

プラグインは、スキル・サブエージェント・フック・MCP サーバーなどを1つのまとまりにして、まとめて入れたり配ったりする仕組みです。公式は「プラグイン はパッケージングのレイヤーです」と説明しています。中身は .claude-plugin/plugin.json(名前やバージョン)と、skills/・agents/・hooks/hooks.json・.mcp.json などのフォルダです。

Claude Codeの/pluginでプラグインを探す画面(Discoverタブ・公式マーケットプレイス312件)
/plugin を実行すると、公式マーケットプレイスのプラグインを検索・導入できます。実際のClaude Code v2.1.285の画面(2026年9月30日撮影・デモ用フォルダで実行)

入れ方と、入れる前に知っておくこと

  • 入れ方:ターミナルの Claude Code で /plugin を実行し、Discover タブから選びます。Anthropic の公式マーケットプレイスは、最初に対話モードで起動したときに自動で追加されます。VS Code の拡張機能では /plugins で同じ管理画面が開きます。
  • 入れる範囲(スコープ):自分の全プロジェクト(user)、チーム全員(project。.claude/settings.json に記録)、このリポジトリの自分だけ(local)から選びます。ターミナル・デスクトップアプリ・VS Code 拡張機能は同じ設定ファイルを読むので、user で入れたプラグインはどれからでも使えます。
  • 名前の衝突を防ぐ:プラグインのスキルには /プラグイン名:スキル名 のように名前空間が付くので、複数のプラグインが共存できます。
  • 容量と権限:有効なプラグインのスキルやエージェントの名前と説明は、使わないセッションでも会話の容量を少し使います。また、公式は「プラグインが実行するもの、それはあなたとして実行されます」と注意しています。使わないものは /plugin で無効にするか claude plugin disable で止めます。

スキルやフックは、プラグインにしなくても単体で使えます。プラグインが向いているのは、同じ設定を複数のリポジトリで使いたいとき、チームや社外に配りたいときです。自分のプロジェクトだけで使うなら、まず .claude/ の中に単体で置き、2つ目のリポジトリで必要になったらプラグインにまとめる、という順番で十分です。

VS Code・JetBrains の拡張機能——エディタの中で Claude Code を使う

「拡張機能」という言葉で、VS Code に入れる Claude Code を探している方も多いはずです。公式は VS Code 拡張機能を「VS Code で Claude Code を使用する推奨方法」と位置づけています。ターミナルの Claude Code と中身は同じで、差分の確認や範囲の指定をエディタの画面で行えるのが違いです。

VS Code 拡張機能の入れ方(4ステップ)

  1. 拡張機能を探す:VS Code で Ctrl+Shift+X(Mac は Cmd+Shift+X)を押して拡張機能ビューを開き、「Claude Code」を検索します。名前の似た第三者製の拡張機能もあるので、発行元が Anthropic のもの(ID は anthropic.claude-code)を選んで Install します。Cursor にも同じ拡張機能を入れられます。
  2. 開く:ファイルを開くと、エディタ右上に Claude Code を表す Spark アイコンが出ます。クリックするとパネルが開きます。
  3. サインインする:初回はサインイン画面が出るので、Claude の有料プラン(Pro は月額 $20〜、2026年10月23日に claude.com/pricing で確認)か Claude Console のアカウントでサインインします。API キーは不要です。VS Code 1.94.0 以上が必要です。
  4. 頼んでみる:入力欄に作業を書いて送ります。ファイルを編集するときは、変更前と変更後が並んで表示され、承認を求められます。
VS Codeの拡張機能ビューで「Claude Code」を検索した画面。一番上に発行元がAnthropicの公式拡張機能「Claude Code for VS Code」が表示されている
手順1:拡張機能ビューで「Claude Code」を検索した画面。発行元が Anthropic のものを選びます(2026年10月撮影の実画面)。
VS CodeのClaude Code拡張機能を初めて開いたときのサインイン画面。Claude.ai Subscription、Anthropic Console、Bedrock, Foundry, or Vertex の3つのボタンが並んでいる
手順3:初めて開いたときのサインイン画面。有料プランなら「Claude.ai Subscription」を選びます(2026年10月撮影の実画面)。

エディタでできること:差分の承認・@メンション・計画の確認

  • 差分を見て承認する:Claude がファイルを編集しようとすると、元の内容と変更案が並んで表示されます。ファイル全体をまとめて承認・拒否するほか、変更ごとの「Accept this change」「Reject this change」で一部だけ採用することもできます。
  • 範囲を指定して渡す:エディタで選択した部分は自動で Claude に伝わります。Alt+K(Mac は Option+K)を押すと、@ファイル名#5-10 のような行範囲つきの参照を入力欄に入れられます。
  • 計画を先に確認する:Plan モードでは、Claude が作業前に計画を Markdown の文書として開くので、読んでから承認できます。
  • 巻き戻す:チェックポイントに対応していて、Claude の編集を前の状態に戻せます。会話は複数のタブで並べて開けます。
Claude Codeが提案した変更を、VS Codeで変更前と変更後を並べて表示している画面。右側に「Make this edit to cart.js?」と Yes・Yes, allow all edits this session・No の選択肢が出ている
Claude の変更案を VS Code の差分表示で確認し、承認するかを選ぶ画面(2026年10月撮影の実画面)。

権限モード・必要なプラン・つまずいたとき

入力欄の下のモード表示をクリックすると、Claude にどこまで任せるかを切り替えられます。公式が挙げる主なモードは次の3つです。

  • Manual:ファイルの編集やほとんどのコマンドの前に、毎回確認を求めます。慣れるまではこれが安全です。
  • Plan:変更する前に計画を説明し、承認を待ちます。計画は Markdown の文書として開き、コメントで直しを伝えられます。
  • Auto:確認の代わりに判定の仕組みがほとんどの操作を見て、危ないものを止めます。v2.1.283 以降は開始時の既定のモードです。任せる範囲が広がるので、重要なリポジトリでは Manual や Plan と使い分けます。

拡張機能自体は無料で入れられますが、使うには Claude の有料プランか Claude Console(API の従量課金)のアカウントが必要で、Free プランでは使えません。

プラン 料金(米ドル) 向いている人
Pro月額 $20(年払いなら月 $17 相当)まず個人で試す
Max月額 $100〜毎日長く使う個人
TeamStandard 席 $20(年払い)/$25(月払い)、Premium 席 $100/$125。2〜150席チームで管理したい

出典:claude.com/pricing(2026年10月23日確認)。どのプランを選ぶかは Claude Code の料金で詳しく比べています。

VS Code でうまく動かないときは、公式のトラブルシューティングに沿って次を確かめます。

  • Spark アイコンが出ない:フォルダーだけでなくファイルを開く。VS Code が 1.94.0 以上か確認する。コマンドパレットで「Developer: Reload Window」を実行する。他の AI 拡張機能を一時的に止める。ワークスペースを信頼する(制限モードでは動きません)。右下のステータスバーの「Claude Code」から開くこともできます。
  • 「Not logged in · Please run /login」と出る:通常は自動でサインイン画面が開きます。開かなければ「Developer: Reload Window」で再読み込みします。
  • .env などを Claude に渡したくない:選択範囲や開いているファイルは自動で Claude に伝わるため、そのパスに Read の拒否ルールを設定します。拒否ルールに当たるファイルは、選択した文字も開いているという通知も届かなくなります。

ターミナル(CLI)との違いと、JetBrains の場合

項目 ターミナル(CLI) VS Code 拡張機能
コマンドとスキルすべて使える一部(「/」で使えるものを確認)
MCP サーバーの設定できるできる(パネルで /mcp)
チェックポイントあるある
! で Bash を直接実行・Tab 補完使える使えない
CLI の導入必要パネル用は同梱(統合ターミナルで claude を使うなら別に必要)

出典:code.claude.com/docs「VS Code で Claude Code を使用する」の「VS Code 拡張機能と Claude Code CLI の比較」(2026年10月23日確認)。CLI だけの機能が必要なときは、VS Code の統合ターミナルで claude を実行すれば、差分表示などの連携を保ったまま使えます。拡張機能と CLI は会話の履歴も共有していて、claude --resume で続きから再開できます。

JetBrains(IntelliJ IDEA・PyCharm・WebStorm・Android Studio など)では、JetBrains マーケットプレイスの「Claude Code」プラグインを入れます。こちらは CLI を同梱していないので、先に CLI を入れ、IDE の統合ターミナルで claude を実行して使います。IDE の差分表示、選択範囲の共有、ファイル参照のショートカットが使えます。

大事なのは、IDE 拡張機能を入れても、CLAUDE.md・Skills・Hooks・MCP・プラグインといった拡張レイヤーはそのまま使えることです。VS Code 拡張機能の設定画面には MCP サーバー・フック・メモリ・プラグインなどの項目が並び、拡張機能で入れたプラグインやマーケットプレイスは CLI でも使えます(その逆も同じ)。つまり「どの画面で使うか」と「何を足すか」は別々に選べます。設定項目の一覧や、つながらないときの切り分けは Claude Code を VS Code で使う方法で詳しく説明しています。

拡張機能を組み合わせた実践的なワークフロー例

拡張機能は1つずつ違う問題を解くので、実際には組み合わせて使います。公式が挙げている組み合わせの型は次の4つです。

組み合わせ 仕組み 例
スキル + MCPMCP が接続し、スキルが上手な使い方を教えるMCP でデータベースにつなぎ、スキルにテーブル構成と問い合わせの型を書く
スキル + サブエージェントスキルが並行作業用にサブエージェントを起動する/audit がセキュリティ・性能・書き方の担当を別々に動かす
CLAUDE.md + スキル常に必要なルールと、ときどき必要な資料を分けるCLAUDE.md に「API の規約に従う」、スキルに API の書き方の全文
フック + MCPフックが MCP 経由で外部に知らせる重要なファイルが変わったら Slack に通知

これを日々の開発に当てはめると、たとえば次のような流れになります。

パターン1:PR作成までをまとめる

CLAUDE.md
ブランチ名の付け方・PR の書き方を定義
→
/pr スキル
git log を読んで PR の文面を作る
→
GitHub MCP
作った文面で PR を実際に作成

パターン2:コード変更の品質ゲート自動化

Claudeがファイル編集
→
PostToolUseフック
Prettier・ESLint を自動実行
→
結果を Claude が読む
lint の指摘を見て直す
→
Notificationフック
入力待ちをデスクトップ通知

公式によると、lint を実行する PostToolUse フックの結果は「Claude が読むテキストとして返します」。そのため、フックで機械的に検査し、直し方は Claude に任せる、という分担ができます。

パターン3:DBスキーマ変更の安全な補助

PostgreSQL MCP
今のテーブル構成を読む
→
Claudeがマイグレーション作成
今の構成を踏まえて変更案を作る
→
PreToolUseフック
DROP を含む操作は実行前に止める

拡張機能の設定時によくあるトラブルと対処法

症状 よくある原因 確かめ方・直し方
CLAUDE.md の指示が守られない読み込まれていない/指示があいまい・矛盾している/context の Memory files に出ているか確認。具体的に書き直す。必ず守らせたいことはフックへ
スラッシュコマンド(スキル)が表示されない置き場所やファイル名の誤り.claude/skills/<名前>/SKILL.md の形か確認。/skills で一覧を見る
スキルが自動で使われないdescription があいまい、他と重なっている何をするか・いつ使うかを具体的に書く。確実に使うなら /名前 で呼ぶ
フックが発火しないJSON の書き間違い、matcher の大文字小文字、スクリプトに実行権限がない/hooks で登録を確認。chmod +x。見本の JSON を流して手で試す。claude --debug で詳細を見る
MCP サーバーが使えない認証が済んでいない/.mcp.json のサーバーが未承認/環境変数が未設定/mcp と claude mcp list、claude mcp get <名前> で状態を確認
プラグインのスキルが出てこないプラグインが無効、読み込みに失敗/plugin の Installed で状態を確認し、必要なら再読み込み
会話がすぐ容量いっぱいになるCLAUDE.md が長い、使わない拡張が多い/context で内訳を見て、資料をスキルへ移す・使わないプラグインを無効にする
claude mcp list の実画面。.mcp.json の MY_API_KEY が未設定のため Missing environment variables: MY_API_KEY の警告が出ている
claude mcp list で状態を確かめた例。.mcp.json が参照する環境変数が未設定だと「Missing environment variables」と警告が出ます(2026年10月撮影の実画面)。

どの症状でも、最初にすることは「読み込まれているか」の確認です。CLAUDE.md は /context、スキルは /skills、フックは /hooks、MCP は /mcp、プラグインは /plugin で、それぞれ今のセッションに何が入っているかを確かめられます。

拡張は「数」より「運用」(一次情報)

監修者・河合継は、Claude Code に拡張機能を取り入れながら実務で運用してきました。拡張は揃えること自体が目的になりがちですが、効くのは選び方と運用です。

  • 効果の中心は派手な拡張より日々の土台。MCP やフックより先に、CLAUDE.md で文脈を共有し、よく使う操作を整えるほうが効きました。拡張はその上に必要な分だけ足すもの、と捉えると迷いません。
  • 入れたら「効いているか」を確かめてから次へ。拡張を増やすほど、何がどう作用しているか見えにくくなります。一つ入れて効果を確認し、要らなければ外す。この回し方がいちばん安定しました。
  • 権限とセキュリティは拡張ごとに見る。外部とつなぐ拡張ほど、できることが増える分リスクも増えます。何を許すのかを拡張単位で確認しておくと安全です。

拡張機能を使う際のセキュリティ上の注意点

拡張機能は Claude Code にできることを増やしますが、同時に「何が実行されるか」も増やします。入れる前と、共有する前に確認したい点です。

  • MCP サーバーは信頼できるものだけ:公式は「接続する前に、各サーバーを信頼できることを確認してください。外部コンテンツを取得するサーバーは、プロンプトインジェクションリスクにあなたを晒す可能性があります」と警告しています。
  • プラグインとフックはあなたの権限で動く:プラグインのコードやフックのスクリプトは、あなたのユーザー権限で実行されます。中身を確認してから入れ、スクリプトがしてよいことは最小限にします。
  • .mcp.json や設定ファイルに秘密情報を直書きしない:API キーは環境変数で渡し、コミット前に git diff で確認します。
  • CLAUDE.md に機密情報を書かない:プロジェクトの CLAUDE.md はリポジトリにコミットされます。本番データベースの接続先や認証情報は書かないでください。
  • 他人のリポジトリは設定ファイルを見てから:.mcp.json や .claude/settings.json を含むリポジトリを取ってきたら、中身を確認してから claude を実行します。.mcp.json のサーバーは、初回に承認するまで動きません。
  • 止めたいことは指示でなく仕組みで:CLAUDE.md の「〜しない」は要望です。確実に止めるには、権限設定の deny ルールや PreToolUse フックを使います。設定の書き方は 権限設定の解説、リスクの考え方は セキュリティの解説にあります。

よくある質問

Q. Claude Codeの拡張機能にはどんな種類がありますか?
A. 主に、毎回読まれる指示の CLAUDE.md(と分割用の .claude/rules/)、必要なときに呼ぶ手順の Skills(旧カスタムスラッシュコマンド)、別の会話で作業させるサブエージェント、決まったタイミングで必ず実行する Hooks、外部のサービスやデータにつなぐ MCP、それらをまとめて入れる・配るプラグインがあります。ほかに出力スタイルやコードインテリジェンス、エディタで使うための VS Code・JetBrains の拡張機能もあります。

Q. 最初にどの拡張機能を入れればよいですか?
A. まずは CLAUDE.md です。公式も、初めての人は CLAUDE.md でプロジェクトの規約を書き、必要になったきっかけで他の拡張機能を足すよう案内しています。同じ指示を何度も打つようになったらスキル、外部のデータをコピーしているなら MCP、必ず守らせたいことがあればフック、という順番で足していきます。

Q. カスタムスラッシュコマンドとSkillsは何が違いますか?
A. 現在の公式ドキュメントでは、カスタムコマンドはスキルに統合されています。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md のどちらも /deploy を作り、同じように動きます。既存の commands のファイルは引き続き使えますが、スキルは補助ファイルを同じフォルダに置けることや、Claude が自動で使うかどうかを決められることが加わっているため、新しく作るならスキルの形がおすすめです。

Q. CLAUDE.mdは上書きされますか?システムプロンプトに入りますか?
A. 上書きはされません。見つかった CLAUDE.md はすべて連結して読み込まれ、起動した場所に近いものほど後ろに並びます。また公式によると、CLAUDE.md はシステムプロンプトの一部ではなく、その後のユーザーメッセージとして渡されます。Claude が読んで従おうとする文脈なので、必ず守らせたい操作はフックや権限設定で止めます。

Q. フックにはどんな種類がありますか?
A. 公式のフックリファレンスには、SessionStart・UserPromptSubmit・PreToolUse・PermissionRequest・PostToolUse・Notification・Stop・SubagentStop・PreCompact・SessionEnd など33種類のイベントが載っています(2026年10月23日確認)。実行するものは、シェルコマンドのほか、URL へ送る http、MCP のツールを呼ぶ mcp_tool、Claude に判定させる prompt、試験中の agent から選べます。

Q. PreToolUseフックで危険なコマンドをブロックするにはどうすればいいですか?
A. フックは標準入力で JSON を受け取ります。Bash のコマンドは tool_input.command に入っているので、それを取り出して危険なパターンを含むか調べ、含んでいれば標準エラーに理由を書いて終了コード 2 で終わります。終了コード 2 でそのツール実行が止まり、理由が Claude に伝わります。外側の JSON から直接 command を探すと空になり、何も止められない点に注意してください。

Q. MCPとスキルはどう使い分けますか?
A. MCP は外部のサービスやデータへの接続を足し、スキルは知識や手順を足します。たとえば MCP でデータベースにつなぎ、スキルにはそのテーブル構成やよく使う問い合わせの書き方を書いておく、というように組み合わせて使うのが基本です。

Q. プラグインとVS Codeの拡張機能は同じものですか?
A. 違います。プラグインは、スキル・フック・サブエージェント・MCP サーバーなどを1つにまとめて Claude Code に入れるもので、/plugin から導入します。VS Code の拡張機能や JetBrains のプラグインは、エディタの中で Claude Code を使うためのもので、公式も「Claude Code プラグインではありません」と区別しています。VS Code 拡張機能でも、CLAUDE.md・Skills・Hooks・MCP・プラグインはそのまま使えます。

Q. 拡張機能を使う際のセキュリティ上の注意点は?
A. MCP サーバーは信頼できるものだけにつなぐ(外部の内容を取るサーバーはプロンプトインジェクションの危険がある)、プラグインやフックはあなたの権限で動くので中身を確かめる、API キーを .mcp.json や CLAUDE.md に直書きしない、他人のリポジトリは設定ファイルを確認してから claude を実行する、確実に止めたいことは CLAUDE.md の指示でなく権限設定やフックで止める、の5点です。


まとめ

Claude Code の拡張機能は、CLAUDE.md(いつも読む指示)・Skills(必要なときに呼ぶ手順。旧カスタムスラッシュコマンド)・サブエージェント(別の会話で作業)・Hooks(必ず実行する自動処理)・MCP(外部への接続)、そしてそれらをまとめて配るプラグインで構成されています。VS Code・JetBrains の拡張機能は「どの画面で使うか」の選択で、これらの拡張レイヤーはどの画面でも共通に使えます。

入れる順番は、まず CLAUDE.md、同じ指示を何度も打つようになったらスキル、外部のデータをコピーしているなら MCP、必ず守らせたいことが出てきたらフック、2つ目のリポジトリで同じ設定が要るならプラグイン、です。「困ったことが起きたら、それに合う1つを足す」と決めておけば、拡張が増えすぎて何が効いているか分からなくなることを防げます。

関連記事

Claude Code・AIエージェントの業務活用をご検討の方へ

クリスタルメソッドは、Claude Codeを日々の業務で使いながら、AIエージェント・社員AIの導入と開発効率化を支援しています。自社サイトの表示速度をAI社員(Claude Code)で12.89秒→2.03秒に短縮した実例も事例記事として公開しています。「自社の開発・業務にAIをどう組み込むか」といったご相談を承っています。

AIニュースのまとめをメールで

毎週月曜、海外AIニュースの日次ダイジェストを1週間分まとめてお届けします。無料・いつでも配信を停止できます。

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針

Read next

あわせて読みたい

  • 対話・チャットLLMのイメージ

    Claude Codeを拡張するコマンド|/plugin /deep-research /claude-api ほか【2026年版】

    Claude Code で Deep Research(複数の情報源を突き合わせて調べる深掘り調査)をするいちばん手早い方法は、最初から入っている /deep-...

  • 対話・チャットLLMのイメージ

    Claude Code MCP設定の使い方|外部ツール連携の実装【2026】

    Claude Code MCPとは何か:AIコーディングを拡張する仕組みの全体像 Claude CodeのMCPとは、Claude CodeにGitHub・デー...

  • Claude Code Skillsの仕組みと実装ガイド――設計から運用までのイメージ

    Claude Code Skillsとは?公式スキル一覧・作り方・使い方をわかりやすく解説【2026年版】

    Claude Code Skills(スキル)とは、Claude Codeに「この場面ではこう進めてほしい」という手順書(SKILL.md)を追加して、必要なと...

View more