Claude Codeプラグインのインストール・確認・削除
Claude Codeで単一のskillを持つローカルプラグインを作成し、構造、インストール範囲、応答を順に確認します。無効化、更新、削除まで試し、モデルへの指示と権限設定の違い、キャッシュされたコピーの扱い、外部プラグインを導入する前の確認点を整理します。作業ファイルの変化も確認できます。
目次

プラグインは、指示やツールをプロジェクト間で再利用したいときに便利です。インストールの仕組みを確かめるだけなら、未知のhooksを含む外部パッケージは不要です。明示的に呼び出すskillを一つ用意し、決まった文字列を返す自作プラグインから始めましょう。
以下はClaude Codeを設定済みのmacOS/Linux向けです。Windowsでも同じJSONとMarkdownをエディターで作れますが、シェルの例はBashまたはZsh用です。モデルの応答には接続が必要です。構造の検証は別に行います。
三つのファイルを作る
新しい空のディレクトリで実行します。
mkdir -p plugin-lab/.claude-plugin
mkdir -p plugin-lab/plugins/load-check/.claude-plugin
mkdir -p plugin-lab/plugins/load-check/skills/ping
plugin-lab/plugins/load-check/.claude-plugin/plugin.jsonに保存します。
{
"name": "load-check",
"version": "1.0.0",
"description": "Local plugin loading exercise"
}
plugin-lab/plugins/load-check/skills/ping/SKILL.mdには次を保存します。
---
description: Return a marker to verify this local plugin is loaded.
disable-model-invocation: true
---
Return exactly PLUGIN_READY. Do not use tools or change files.
plugin-lab/.claude-plugin/marketplace.jsonには次を保存します。
{
"name": "local-load-lab",
"owner": {"name": "Local developer"},
"plugins": [
{"name": "load-check", "source": "./plugins/load-check"}
]
}
marketplaceはパッケージの場所を示します。パッケージ内では.claude-pluginにmanifestを置き、skillsはその隣に配置します。skillsを.claude-pluginの中に入れると、公式の構造に合わなくなります。
構造を検証してインストールする
元のディレクトリから実行します。
claude --version
claude plugin validate ./plugin-lab/plugins/load-check
claude plugin validate ./plugin-lab
claude
検証エラーが出たら、指摘されたファイルを先に直してください。構造が正しくても、指示の品質や任意のプラグインの安全性までは証明できません。
Claude Codeのセッション内で実行します。
/plugin marketplace add ./plugin-lab
/plugin install load-check@local-load-lab
インストール画面ではLocalを選び、今回の試行を現在のプロジェクトに限定します。確定前に設定の保存先を読み、再読み込みが求められた場合は/reload-pluginsを実行します。手順はmarketplaceの公式ガイドにあります。
読み込まれたskillを確認する
/plugin list
/load-check:ping
最初のコマンドでインストール済みパッケージが表示され、次のコマンドでPLUGIN_READYが返ることを確認します。完全名/load-check:pingはプラグイン名を含み、別パッケージの同名skillと区別できます。
作業ディレクトリも確認してください。テスト用skillはファイルを変更しない想定です。「ツールを使わない」という文はモデルへの指示であり、独立したシステム権限の境界ではありません。アクセス制御にはClaude Codeのpermissionsを使います。
コマンドが見つからない場合は、manifestの名前、skills/ping/SKILL.mdの配置、インストール範囲、enabled状態、再読み込みの要否を順に確認します。marketplace経由の読み込みと--plugin-dirでの起動は別々に試してください。
無効化・更新・削除を試す
claude plugin disable load-check@local-load-lab --scope local
claude plugin enable load-check@local-load-lab --scope local
claude plugin update load-check@local-load-lab --scope local
claude plugin uninstall load-check@local-load-lab --scope local
同じプロジェクトで一つずつ実行し、結果を確認します。--scope localは選んだ範囲に対応します。指定がなければupdateとuninstallは既定でuserを対象にします。更新後にCLIが求めた場合は再起動します。無効化や削除の後は新しいセッションでskillが使えないことを確認し、有効化後は短いテストを繰り返します。
内容変更を試すには、元のskillのマーカーを書き換え、パッケージのバージョンを上げてから、管理手順に従ってmarketplaceとインストール済みプラグインを更新します。元ファイルの編集だけでは、キャッシュにあるインストール済みコピーが変わらないことがあります。
外部プラグインを入れる前に
まず構成を読みます。テキストskill、シェルコマンドを実行するhook、MCPサーバーでは影響が異なります。コマンド、外部サービスの接続先、秘密情報を要求する指示を確認し、エラーを消すためだけに権限を増やさないでください。
実際のプロジェクトでも、範囲の把握、コンポーネントの表示、期待する動作、ファイルの確認、無効化方法という短い手順を繰り返します。形式とvalidatorの詳細はプラグインリファレンスを参照してください。