前回の学習編で、Plugin は「バラバラに作った部品をひとつの箱に詰めて、まるごと配れる形にする仕組み」だと整理しました。今回は実際に、これまで作ったスキルやフックを1つの Plugin に箱詰めしてみます。ここでも主役は自然な言葉での指示。フォルダ構成を暗記する必要はありません。

ひとことで言うと:「この設定を Plugin にまとめて」と頼むと、Claude が決まったフォルダ構成(箱の中身の並べ方)を作ってくれた。中心にあるのが plugin.json、つまり箱の「ラベル(名前や説明を書いた設定ファイル)」です。つまずいたのは2点――「①どの部品を入れるかが曖昧だった」「②ラベル(plugin.json)の必須項目である名前が抜けていた」。中身を1つの箱として確認できることが、配る前の安心材料になります。

作りたいもの ― 「私の便利設定一式」を1箱に

このシリーズで、ニュースをまとめる Skill(Skills 実践編)や、編集したらチェックを走らせる Hook(Hooks 実践編)を作ってきました。これらは別々の場所に散らばっています。今回はそれを1つの Plugin にまとめ、別のプロジェクトでも同じ設定をすぐ使える状態にします。

箱詰めの前に「何を入れるか」を決める。 Plugin 化でいちばん大事なのは技術ではなく仕分けです。「これは個人用」「これはチーム共通」と、配る相手を思い浮かべながら中身を選ぶと、あとで使いやすい箱になります。

STEP1|「Plugin にまとめて」と頼む

フォルダ構成を自分で作る必要はありません。入れたい部品を伝えて、箱詰めを頼みます。

これまで作った news-digest スキルと、編集時のチェックフックを、 ひとつの Plugin にまとめたいです。 my-toolkit という名前で Plugin のフォルダ構成を作り、 スキルとフックをその中に入れてください。 できたらフォルダ構成を一覧で見せてください。

すると Claude が、Plugin の決まった形にそって、こんな構成を作ってくれます。

my-toolkit/ ├── plugin.json ← 箱のラベル(名前・説明) ├── skills/ │ └── news-digest/ │ └── SKILL.md └── hooks/ └── hooks.json ← 編集時のチェック設定

ポイントは、箱には「ラベル」が要ること。plugin.json に名前や説明を書いておくと、受け取った人が「これは何の箱か」を一目で分かります。中身(skills / hooks)は、これまで作ってきたものがそのまま入っているだけ——新しく覚えることはほとんどありません

STEP2|つまずき ― 「名前」が抜けて読み込まれない

箱はできたのに、いざ有効にしようとすると認識されない。確認すると、原因は plugin.json必須項目(名前)が空だったことでした。ラベルのない箱は、棚に置いても「何か」が分からず弾かれてしまう、というわけです。

直し方は、やはり言葉で頼むだけです。

plugin.json に name が入っていないようです。 name を "my-toolkit"、説明を「個人用の便利設定一式」にして、 必須項目が揃っているか確認してください。
教訓:箱には必ず“ラベル”を。 Plugin がうまく読み込まれないときは、たいてい plugin.json の必須項目(とくに名前)の抜けです。中身をいじる前に、まずラベル(plugin.json)が揃っているかを確認するのが切り分けの第一手でした。

STEP3|別の環境で有効にしてみる

箱が完成したら、別のプロジェクトで開いた Claude Code に「この Plugin を使いたい」と伝えます。中身(スキル・フック)がセットで有効になり、あちこちからファイルをかき集めることなく、同じ便利設定が一発でそろう。これが Plugin の手応えです。

  1. 箱を渡す。 Plugin のフォルダを、共有したい相手や別環境に渡します(社内なら共有フォルダや Git リポジトリ経由が手軽)。
  2. 有効にする。 受け取った側は「この Plugin を有効にして」と頼むだけ。中のスキルもフックも、まとめて使えるようになります。
  3. 動作を確認する。 スキルが候補に出るか、フックが発火するかを軽く試して、箱の中身が効いていることを確かめます。

▶ 次回(完結編)

箱(Plugin)ができたら、最後はそれを「お店」に並べて配る/受け取る番です。次回の Marketplace(実践編) で、公開と取り込みを実際に試し、シリーズの配布レイヤーを締めくくります。

Marketplace(実践編)― お店に公開し、取り込む →

まとめ ― 「仕分けて、ラベルを貼る」

  • Plugin 化は 「この設定を Plugin にまとめて」と頼むだけ。Claude が決まったフォルダ構成を作る。
  • いちばん大事なのは技術より仕分け。配る相手を思い浮かべて中身を選ぶ。
  • 読み込まれないときは plugin.json必須項目(名前)の抜けを疑う。
  • 別環境では「この Plugin を有効にして」と頼むだけで、同じ設定一式が一発でそろう