結論:validateは構造確認、導入可否は別の判断

Claude Code 2.1.289では、marketplace manifestも同じfolderにあるpluginでclaude plugin validateがpluginを飛ばしてしまう問題が修正されました。修正後は検証が動くようになりますが、validateの成功は配布元・権限・MCP・hooks・更新経路まで安全だと証明するものではありません。

一次情報は公式changelog、Plugins overview、plugin marketplaces公式資料です。Plugins overviewはpluginをskills、agents、hooks、MCPなどのcomponentを一単位で配布する仕組みと説明し、marketplace資料はcatalogとsourceを管理します。既存のarchive配布やplugin-dirの動的読み込みとは異なり、本稿はvalidateを入口に導入審査を分離します。

plugin.jsonとmarketplace manifestの違い

対象役割確認すること
.claude-plugin/plugin.json個別pluginのname、version、descriptionなど必須項目、componentsの配置、version更新
marketplace manifestcatalog内のpluginと取得sourceURL、Git・archive、SHA、credential、更新責任
componentskill、agent、hook、MCP、modなどの実行単位prompt、tool、外部通信、権限、context負荷
validate結果構造・形式の検証結果導入審査、運用監査、rollbackとは分離

一つのfolderへcatalogのmanifestとpluginのmanifestが同居すると、検証対象の取り違えが起きやすくなります。公式修正はその判定を扱いますが、会社側ではrepository、marketplace、plugin rootを台帳の別欄にし、誰がどのsourceを検証したかを残します。

8手順でvalidateと導入審査を分ける

  1. Claude Codeのversion、claude plugin validateの実行場所、対象revisionを記録します。
  2. marketplace manifestとplugin rootを別の作業directoryへ展開します。
  3. .claude-plugin/plugin.jsonのname、version、description、componentsを確認します。
  4. marketplace側のsource URL、取得方式、SHA、credential、更新責任者を台帳にします。
  5. 2.1.289以上でvalidateを実行し、同じfolderにmarketplace manifestがあるケースも再現します。
  6. skill・agent・hook・MCP・modを一覧化し、外部通信、ファイル、shell、context負荷を確認します。
  7. project、user、managedのscopeごとに、誰へ有効になるかとpermission promptを確認します。
  8. 不合格時の停止、承認、version固定、rollback、再検証日を決めてからmarketplaceへ公開します。

検証時にpluginのhookを本番repositoryへ実行しません。componentを無効化したsandbox用projectでvalidateと起動確認を行い、ログへtokenや社内pathを残さないようにします。更新後は以前のSHAと比較し、差分があるのにversionが変わらない場合を停止条件にします。

配布方式を比較する

方式利点運用上の論点
local folder開発中の修正を速く試せるsourceが個人端末に散り、再現性が弱い
Git sourcerevisionとreviewを結び付けられるcredential、branch、SHA固定、停止手順が必要
archive配布物を固定しやすいroot位置、size、digest、更新versionを管理する
marketplacecatalogと複数pluginをまとめられるcatalog変更と個別plugin変更を分けて監査する

公式資料で確認できる形式上の条件と、社内の安全基準は分けます。sourceにSHAがあるから悪意あるcomponentがないとは限らず、hooksやMCPがどのデータを扱うかをレビューします。pluginを有効にするとskillやagentの説明がcontextへ載り、MCP serverやhookがsessionで動くため、品質だけでなく利用量・権限・外部接続の影響も見積もります。

導入前チェックリスト

  • 2.1.289以上でvalidateを実行した
  • plugin.jsonとmarketplace manifestの役割を分けた
  • source URL、revision、SHA、versionを記録した
  • skill、agent、hook、MCP、modを一覧化した
  • permission、外部通信、file、shellの範囲を確認した
  • local・project・managedの適用scopeを確認した
  • 更新、停止、rollback、再検証の担当者が決まっている

企業導入では「validateが通ったpluginを全員へ配る」前に、試験利用者を限定し、context負荷と実行ログを観察します。marketplaceを変更できる人と、導入を承認する人を分け、変更差分がない更新だけを自動適用するルールは置かない方が説明しやすい場合があります。例外は期限と解除条件を持たせます。

FAQ

plugin.jsonとmarketplace manifestは同じファイルですか?
通常は役割が異なります。plugin.jsonは個別pluginの情報、marketplace manifestはcatalogとsourceの情報です。同居する構成では対象を分けて検証します。
validateが失敗したらpluginを修正してよいですか?
まず原本のrevisionと失敗ログを保全します。修正はbranchで行い、version・SHA・review・再検証を記録してから配布します。
pluginの安全運用を無料診断できますか?
できます。source、component、権限、外部通信、context負荷、rollbackを無料診断(60秒)で整理します。

pluginの審査では、形式エラーを直すことと、組織の業務で使ってよいことを混同しないようにします。validateの出力、sourceのhash、component一覧、承認記録を一つのrelease packetにし、再現可能なsandboxで確認します。公式資料にない安全保証や料金削減率は記載せず、契約と利用量は自社のprovider条件で別途確認します。

2.1.289の修正は、検証が抜ける条件を減らすための更新です。これを機会にmarketplaceのcatalog、個別plugin、実行component、適用scopeを分けて管理すれば、導入判断と障害時のrollbackを同じ手順で再利用できます。