Skip to content

Plugins と「カスタマイズ」 ​

06. Skills、07. MCP とコネクター、09. Hooks で、スキル、MCP サーバー、フックを、それぞれ別々に作って設定してきました。ほかのプロジェクトでも同じものを使いたいときや、ほかの人に渡したいときに、1 つずつ設定し直すのは手間です。プラグインは、これらをひとまとめにして、1 回で入れられるようにする仕組みです。このページでは、プラグインの仕組みを整理し、自分の道具をプラグインにまとめることと、公式のプラグインを入れて試すことを、実際に行います。

この記事で分かること ​

  • プラグインとは何か。何をまとめられるのか
  • プラグインが必要な場面と、必要ない場面
  • プラグインの入れ方、有効にする範囲、止め方
  • デスクトップアプリの「カスタマイズ」の画面と、プラグインの関係
  • 自分のスキルとフックをプラグインにまとめた結果と、公式のプラグインを試した結果

用語の整理 ​

用語意味
プラグイン(plugin)スキル、フック、MCP サーバーなどを 1 つのフォルダーにまとめ、ひとまとめに入れられるようにしたもの
マニフェスト(manifest)プラグインの名前や説明を書いたファイル。.claude-plugin/plugin.json
マーケットプレイス(marketplace)プラグインの一覧と、それぞれの取得先を書いた目録。店ではなく、目録にあたる
サブエージェント(subagent)Claude が仕事の一部を任せる、役割を決めた別の Claude
LSP サーバー(language server)プログラムの言語ごとに、型の誤りなどを見つけて知らせる道具。LSP は Language Server Protocol の略で、その知らせ方の決まり
範囲(scope)プラグインを、誰に、どのプロジェクトで有効にするか

プラグインとは ​

部品をまとめた、1 つのフォルダー ​

プラグインは、部品を入れたフォルダーです。公式ドキュメントが挙げている、主な部品は次のとおりです。

部品中身このサイトで扱ったページ
スキルSKILL.md に書いた手順や知識06. Skills
サブエージェント役割を決めた、別の Claude の定義—
フック決まったタイミングで実行するコマンド09. Hooks
MCP サーバーClaude が使える道具を足すサーバー07、08
LSP サーバー型の誤りなどを、編集の直後に Claude へ知らせる道具—

フォルダーの形は、次のようになります。

text
my-plugin/
├── .claude-plugin/
│   └── plugin.json      ← マニフェスト(名前、説明、バージョン)
├── skills/
│   └── review/
│       └── SKILL.md     ← スキル
├── agents/
│   └── reviewer.md      ← サブエージェント
├── hooks/
│   └── hooks.json       ← フック
└── .mcp.json            ← MCP サーバー

プラグインのスキルは、/プラグインの名前:スキルの名前 の形で呼び出します。上の例では /my-plugin:review です。ほかのプラグインのスキルと、名前がぶつからないようにするためです。

プラグインが必要な場面と、必要ない場面 ​

スキル、フック、MCP サーバーは、どれもプラグインにしなくても使えます。たとえば ~/.claude/skills/ に置いたスキルは、その PC のすべてのプロジェクトで使えます。

公式ドキュメントは、プラグインを使う場面を次のように説明しています。

場面プラグインにするか
自分だけが、1 つの PC で使うしなくてよい。それぞれの置き場所に置けば足りる
ほかの人が作った道具一式を、まとめて入れたいプラグインを入れる。1 回で入り、目録から更新も届く
自分の道具一式を、ほかの人やほかのプロジェクトに配りたいプラグインにまとめる

有効にしたプラグインは、いつも影響する ​

有効にしたプラグインは、使っていない会話にも影響します。入れる前に知っておくことを、公式ドキュメントは次のように挙げています。

影響内容
利用量Claude が自分で呼び出せるスキルなどは、名前と説明が、毎回の会話に読み込まれる。何も使わなくても、その分を使う。全文が読み込まれるのは、使ったときだけ
動き続けるものMCP サーバーは会話と一緒に動き続け、フックは決まったタイミングで動く
権限プラグインが実行するものは、利用者と同じ権限で動く。公式の目録のものでも同じ

使わないプラグインは、入れたまま止める(無効にする)こともできます。

プラグインの入れ方 ​

マーケットプレイスから入れる ​

多くのプラグインは、マーケットプレイスから入れます。Anthropic の公式のマーケットプレイス(claude-plugins-official)は、ターミナル版を初めて起動したときに、自動で登録されます。プラグインは、名前@マーケットプレイス の形で指定します。

使う場所入れ方
ターミナル版会話の中で /plugin を開き、Discover のタブから選ぶ
デスクトップアプリ入力欄の横の「+」から「Add plugins」を選ぶ(メニューに「Plugins」と出るときは、「Plugins」→「Browse plugins」)
シェル(コマンド)claude plugin install <名前>@<マーケットプレイス> --scope <範囲>

ターミナル版、デスクトップアプリ、VS Code の拡張機能は、同じ設定ファイルを読みます。そのため、1 か所で入れたプラグインは、ほかの 2 か所でも使えます。ブラウザーで使うクラウドのセッションでは、手元で入れたプラグインは読み込まれません。

有効にする範囲 ​

範囲誰に有効か書かれる設定ファイル
user自分の、すべてのプロジェクト~/.claude/settings.json
projectそのリポジトリで作業する、全員.claude/settings.json(リポジトリに入れて共有する)
local自分の、そのリポジトリだけ.claude/settings.local.json

設定ファイルの優先順位は、「04. 設定ファイルの仕組み」と同じ考え方で、local が project より、project が user より優先されます。

止める、外す ​

したいことコマンド
入れたまま止めるclaude plugin disable <名前>@<マーケットプレイス> --scope <範囲>
もう一度動かすclaude plugin enable <名前>@<マーケットプレイス> --scope <範囲>
外すclaude plugin uninstall <名前>@<マーケットプレイス>

会話の中では、ターミナル版の /plugin や、デスクトップアプリの「Manage plugins」からも操作できます。

作っている途中のプラグインを試す ​

自分で作っているプラグインは、マーケットプレイスに載せなくても、フォルダーを指定して、その会話だけで読み込めます(ターミナル版)。

bash
claude --plugin-dir ./my-plugin

デスクトップアプリの「カスタマイズ」 ​

デスクトップアプリには、「カスタマイズ」という画面があります。ここに並ぶのは、claude.ai のアカウントに入れたプラグイン、スキル、コネクターです。この PC のファイルに置いたスキルや、claude plugin install で入れたプラグインは、ここには出ません。

公式ドキュメントによると、claude.ai のアカウントで有効にしたプラグインは、ターミナル版にも届きます(<名前>@synced として表示されます)。逆向き、つまり PC で入れたプラグインが、アカウントに加わることはありません。

「カスタマイズ」の画面Claude Code のプラグイン
どこに入るかclaude.ai のアカウントこの PC(~/.claude/plugins/)
入れ方「カスタマイズ」の画面/plugin、「+」→「Add plugins」、claude plugin install
範囲アカウントuser、project、local

実際にやってみる ​

1. 自分のスキルとフックを、プラグインにまとめる ​

このサイトでは、次の 2 つを、別々の場所に置いて使っています。

  • スキル register-page:新しいページを、3 か所に登録する手順(06)
  • フック:Claude が触ったファイルを記録する(09)

この 2 つを、study-lab-tools という 1 つのプラグインにまとめました。

text
plugins/study-lab-tools/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── register-page/
│       └── SKILL.md          ← .claude/skills/ のものと同じ中身
├── hooks/
│   └── hooks.json
└── scripts/
    └── log-tool-use.sh       ← 記録のフックが呼び出すスクリプト

plugin.json には、名前、説明、バージョンを書きます。

json
{
  "name": "study-lab-tools",
  "description": "study-lab のサイトを作るときに使う道具。新しいページの登録の手順(スキル)と、Claude が触ったファイルの記録(フック)",
  "version": "0.1.0",
  "author": {
    "name": "study-lab"
  }
}

フックの設定は、09 で設定ファイルに書いたものと、ほぼ同じです。違うのは、スクリプトの場所を ${CLAUDE_PLUGIN_ROOT} で書く点です。これは、プラグインを入れた場所に置き換わる文字で、プラグインがどこに入っても、中のスクリプトを見つけられます。

json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Read|Write|Edit|Grep|Glob|Bash",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/log-tool-use.sh\""
          }
        ]
      }
    ]
  }
}

作ったプラグインを、次のように確かめました。

確かめたこと方法結果
形が正しいかclaude plugin validate ./plugins/study-lab-tools合格
中の部品claude --plugin-dir ./plugins/study-lab-tools plugin details study-lab-toolsスキル 1(register-page)、フック 1(PostToolUse)
いつも使う利用量の見積もり同じ毎回の会話に約 136 トークン。スキルを使うと、その回に約 620 トークン。フックは Claude の会話に何も足さないので 0
スキルが呼び出せるかターミナル版を --plugin-dir 付きで起動し、/ を入力する/study-lab-tools:register-page が候補に出た
フックが動くか同じ会話で、ファイルを読ませる動いた。ただし記録が 2 行になった

記録が 2 行になったのは、09 で .claude/settings.local.json に書いたフックと、プラグインのフックが、両方とも動いたからです。同じ働きのフックを 2 か所に置くと、両方が動きます。プラグインに移すなら、元の設定は消す必要があります。このサイトでは、プラグインは試しに作っただけで、普段の作業では、元の設定のほうを使っています。

2. デスクトップアプリの「カスタマイズ」を見る ​

1 で作ったスキルが、デスクトップアプリの「カスタマイズ」の画面に出るかを見ました。

期待したこと結果理由
ファイルに置いたスキル(register-page)が、一覧に出る出なかった。プラグインは 0、自分のスキルも 0 で、Anthropic のスキルが 5 つ並んでいた「カスタマイズ」に並ぶのは、claude.ai のアカウントのもの。PC のファイルに置いたスキルや、PC に入れたプラグインは対象外

Anthropic のスキル 5 つ(google-workspace、deep-research、import-memory、morning、skill-creator)は、Claude Code の会話の中でも、anthropic-skills: の付いた名前で使えるようになっていました。

3. 公式のプラグインを入れて試す ​

公式のマーケットプレイスから、4 つのプラグインを入れて試しました。範囲は、どれも local(このリポジトリで、自分だけ)にしました。入れる前に、それぞれの中身を plugin details で確かめています。

bash
claude plugin install <名前>@claude-plugins-official --scope local
プラグイン中身試したこと結果今の状態
claude-md-managementスキル 2 つ。CLAUDE.md を点検して直す、会話で分かったことを CLAUDE.md に足す入れて、スキルが使えるようになるかを見た使えるようになった。まだ、実際に CLAUDE.md を直すのには使っていない有効
security-guidanceフック。危ない書き方を含むコードを書いたときに、注意を出す。加えて、答え終わったときや、コミットのときに、AI がコードを見直すAI の見直しは利用量を使うので止めて(ENABLE_CODE_SECURITY_REVIEW=0)、注意だけを試した下の「security-guidance の注意の出方」を参照入れたまま無効
learning-output-styleフック。会話の始まりに、「学ぶ人と一緒に作る形で答える」という指示を、Claude に足す新しい会話で、小さな Python の関数を書いてもらった下の「learning-output-style の効き方」を参照入れたまま無効
frontend-designスキル。画面のデザインの指針このサイトのトップページの作り直しに使った「学習ノートの棚」のデザインを提案し、その案をもとに作った。今のトップページが、その結果有効

security-guidance の注意の出方 ​

試したこと結果
会話の始まりプラグインのフックが、AI の見直しに使う部品を、~/.claude/security/ に入れた
練習用のファイルの、コメントだけを書き換える注意は出なかった。調べるのは、編集で新しく書き込んだ文字だけだから
練習用のファイルに、危ない書き方(yaml.load)を書き足す注意が出た。ただし、注意は Claude に届き、利用者の画面には出なかった

注意が Claude にだけ届くので、利用者は、何が起きたかを知らないままになります。このサイトはページの文章が中心で、Python のコードは少ないので、入れたまま無効にしました。

learning-output-style の効き方 ​

回条件結果
1 回目新しい会話、Sonnet 5.5答え方は変わらなかった。会話の記録を見ると、フックは動き、指示は Claude に届いていた
2 回目新しい会話、Opus 5.5、同じ依頼答え方が変わった。「★ Insight」という見出しの短い解説が入り、関数の一部を空けて、利用者に書くよう頼んできた

2 回の違いは、モデルの違いかもしれませんが、それぞれ 1 回しか試していないので、そう断定はできません。試したあと、入れたまま無効にしました。

プラグインのスキルが使えるようになるまで ​

公式ドキュメントでは、入れたプラグインが動き始めるのは、新しい会話を始めたときか、/reload-plugins を実行したときです。デスクトップアプリでは、会話の途中で入れたプラグインのスキルが、利用者の次の発言から使えるようになりました。なぜそうなるのかは、確かめていません。

4. 試さなかったプラグイン ​

中身を確かめたうえで、次のプラグインは試しませんでした。

プラグイン中身試さなかった理由
commit-commandsコミット、push、プルリクエストの作成をまとめて行うスキルスキルの中で、git push と gh pr create を確認なしで実行できる設定になっている。このサイトでは、公開の前に利用者が確認する流れにしているので、合わない
pyright-lspPython の LSP サーバー(pyright)を、Claude につなぐ型の誤りは、すでに CI の型の検査で見つかる(Python のテストと lint を CI で自動実行する)。公式ドキュメントでは、ターミナル版で動くもので、pyright を別に入れる必要もある
playwrightブラウザーを自動で操作する MCP サーバーページの表示は、デスクトップアプリに組み込まれたブラウザーで、すでに確かめられている
feature-dev調べる役、設計する役、確認する役の、3 つのサブエージェントで機能を作る複数の Claude が動くので、利用量が多い。このサイトには、分担させるほどの大きな機能の開発がない

分かったこと ​

  • 自分の道具を 1 つにまとめる手間は、少なかった。決まった形のフォルダーに置き、plugin.json を足し、スクリプトの場所を ${CLAUDE_PLUGIN_ROOT} で書き直すだけだった。
  • ただし、1 人で 1 つの PC で使うなら、まとめる利点は小さい。配る相手ができたときに、まとめれば足りる。
  • 公式のプラグインは、入れる前に中身を確かめると、このサイトに合うかどうかが分かった。commit-commands のように、確認なしで公開まで進める作りのものもある。
  • 「カスタマイズ」の画面は、claude.ai のアカウントのもので、PC に置いたスキルやプラグインとは別の一覧だった。

まとめ ​

  • プラグインは、スキル、サブエージェント、フック、MCP サーバー、LSP サーバーなどを、1 つのフォルダーにまとめたもの。名前は .claude-plugin/plugin.json に書く。
  • 部品は、どれもプラグインにしなくても使える。プラグインは、まとめて入れたいとき、配りたいときに使う。
  • 有効にしたプラグインは、使っていない会話でも、スキルの名前と説明の分の利用量を使う。実行するものは、利用者と同じ権限で動く。
  • 範囲は user、project、local の 3 つ。止めるときは、入れたまま無効にできる。
  • デスクトップアプリの「カスタマイズ」は、claude.ai のアカウントのプラグインとスキルの画面。PC に置いたものは出ない。
  • このサイトでは、自分のスキルとフックをプラグインにまとめられることを確かめた。公式のプラグインは 4 つ試し、frontend-design と claude-md-management を残した。

確認の記録 ​

項目内容
最終確認日2026 年 10 月 24 日
Claude Code のバージョンデスクトップアプリ 2.1.304、ターミナル版 2.1.302(macOS)。プラグインを試したのは 2026 年 10 月 18〜21 日
検証の状況「実際にやってみる」は、この Mac で、ターミナル版とデスクトップアプリを使って確かめた結果。それ以外の節は、公式ドキュメントの内容をもとに書いている
確かめていない内容デスクトップアプリの「+」からのプラグインの入れ方(このページの試行では、シェルのコマンドで入れた)。project の範囲での共有。マーケットプレイスを自分で作ること。サブエージェントと LSP サーバーの部品。デスクトップアプリで、プラグインのスキルが次の発言から使えるようになった理由