
シリーズ: Claudeで変わる仕事術 上級・第1弾 / 前回:中級・第6弾(実践)仕組みをつないで、経費精算を半自動にする
中級編で、AIを「自分専用の仕組み」に変えた。
SKILLSで仕事の型を作った。 SubAgentで作業を分けた。 Hookで危ない操作を止めた。 MCPで外のツールとつないだ。 最後は、経費精算を一本のフローにまとめた。
一度うまくいった仕事が、次も同じ品質で動く。
中級編は、ここで完結していた。
でも、しばらく使っていると、新しい悩みが出てくる。
「この設定、新しいPCに移すの、面倒だな」
「同僚に『その仕組みちょうだい』と言われたけど、どう渡せばいいんだろう」
「Skillを直したのに、家族のPCに入れたやつは古いままだ」
便利な設定は、.claude/フォルダの中にたまっていく。
Skillがいくつか、SubAgentが何人か、Hookがいくつか、MCPの設定。
便利だ。でも、散らばっている。
上級編は、ここから始める。
自分ひとりの仕組みを、人とまわせる・持ち運べる仕組みに広げる。
その最初の一歩が、Plugin(プラグイン)だ。
1. バラバラな.claude/と、Plugin という「箱」
中級編を進めると、.claude/フォルダの中はこうなっている。
.claude/
├── skills/
│ ├── expense-check/ ← 経費精算フローSkill
│ └── article-review/ ← 記事レビューSkill
├── agents/
│ └── receipt-reader.md ← 領収書読み取りSubAgent
└── settings.json ← Hook設定(要確認フラグ検出)
それぞれは、ちゃんと動く。
でも、これは自分のPCの、このフォルダの中にしかない。
新しいPCを買えば、また一から作り直し。 人に渡したくても、「このファイルとこのファイルを、ここに置いて……」と説明することになる。
ここで出てくるのが、Plugin だ。
Plugin とは、散らばった便利設定を1つにまとめた「箱」だ。
Skill、SubAgent、Hook、MCP設定。 これらを1つのフォルダに束ねて、名前を付けて、配れる・更新できる形にする。

人間の仕事でたとえるなら、こうだ。
机の上に、付箋やマニュアルやチェックリストがバラバラに置いてある状態が.claude/。
それを1冊のバインダーにまとめて、表紙に名前を書いて、「これ一式どうぞ」と渡せるようにしたものが Plugin。
中身は同じ。でも、持ち運べる・渡せる・差し替えられるようになる。
2. いつ「箱」にする?
何でもかんでもPluginにする必要はない。
判断はシンプルだ。
| こういうとき | 置き場所 |
|---|---|
| 1回だけ・このPCだけで使う | .claude/のままでいい |
| 別のPCでも同じ環境を使いたい | Plugin にする |
| 人に渡したい・チームで揃えたい | Plugin にする |
| Skill・Hook・MCPを組み合わせて1つの仕事にしている | Plugin にした方が管理しやすい |
ひとことで言うと、こうだ。
「自分のこのPCの中だけ」で完結するうちは.claude/でいい。
「別の場所・別の人にも届けたい」と思った瞬間が、箱にするタイミング。
中級第1弾で「3回同じ説明をしたらSkill化」という目安を出した。
Pluginも同じ感覚でいい。
「この設定、別の場所でも使いたい」と3回思ったら、箱にする。
迷ったら、まだ箱にしなくていい。
.claude/で動かし続けて、「持ち運びたい」と本気で感じてから箱にする。
3. Plugin が束ねられるもの(と、束ねないもの)
Pluginの箱に入れられるのは、中級で作った道具たちだ。
| 中級で作ったもの | Plugin に入る? |
|---|---|
| Skill(仕事の型) | ◯ 入る |
| SubAgent(並列の担当者) | ◯ 入る |
| Hook(自動チェック) | ◯ 入る |
| MCP設定(外部ツール連携) | ◯ 入る |
逆に、箱に入れない方がいいものもある。
| 中級で作ったもの | 扱い |
|---|---|
| CLAUDE.md(プロジェクトの前提) | 箱に入れず、プロジェクト側に残す |
| rules(共有ルール) | 同上 |
ここは間違えやすい。
CLAUDE.mdには、経費精算で言えば「申請者名・社員番号・通知先チャンネル」のような、そのプロジェクト固有の前提が書いてある。
これは「配る道具」ではなく「この現場のルール」だ。
だから箱には入れず、プロジェクト側に置いたままにする。 (チームで揃える話は、上級第5弾でくわしく扱う。)
Pluginは、あくまで道具(Skill・SubAgent・Hook・MCP)を運ぶ箱。 現場のルール(CLAUDE.md)は、現場に置く。
この線引きを覚えておくと、後で混乱しない。
名前空間 ― 箱に入れると、呼び名が変わる
Pluginにすると、Skillの呼び方が少し変わる。
.claude/に置いたSkillは、短い名前で呼べる。
/expense-check
これをPluginの箱に入れると、箱の名前が頭につく。
/expense-toolkit:expense-check
expense-toolkitが箱の名前(このあと第4章で実際に付ける名前)だ。
この頭につく箱の名前を「名前空間」という。
面倒に見えるかもしれないが、これには意味がある。
人からもらったPluginを何個も入れると、同じような名前のSkillが混ざる。 箱の名前が頭につくことで、「これはどの箱のSkillか」が一目で分かる。

4. 🛠️ 経費精算フローを「箱」にする
では実際に、中級第6弾で作った経費精算フローを、箱にしてみる。
中級では、経費精算フローはこの道具でできていた。
| 道具 | 役割 |
|---|---|
Skill(expense-check) | 経費精算フロー全体 |
SubAgent(receipt-reader) | 領収書を並列で読み取る |
| Hook | CSV完成後の「要確認」フラグ検出 |
| MCP | Slackへの完了通知 |
| CLAUDE.md | 申請者情報・費目分類ルール |
これを全部、いきなり1つの箱に詰め込みたくなる。
でも、それはやめておく。
最初から全部入りにすると、どこかが動かなかったときに「どこが悪いのか」が分からなくなる。
だから、まず動く最小の箱を作って、そこに1つずつ足していく。
ステップ1:箱を作って、Skillを1つだけ入れる
まず、箱になるフォルダを作る。
mkdir -p expense-toolkit/.claude-plugin
mkdir -p expense-toolkit/skills/expense-check
.claude-pluginという名前のフォルダの中に、箱の「名札」を1枚だけ置く。
expense-toolkit/.claude-plugin/plugin.json
{
"name": "expense-toolkit",
"description": "経費精算フロー一式。領収書の読み取りからCSV作成、Slack通知まで。",
"version": "1.0.0",
"author": {
"name": "あなたの名前"
}
}
このnameが、さっきの名前空間(呼び名の頭につく名前)になる。
次に、中級で作った経費精算Skillを、この箱に引っ越す。
.claude/skills/expense-check/SKILL.mdを、expense-toolkit/skills/expense-check/SKILL.mdにコピーするだけだ。
中身はそのままでいい。書き直す必要はない。
これで、最小の箱ができた。
expense-toolkit/
├── .claude-plugin/
│ └── plugin.json ← 名札
└── skills/
└── expense-check/
└── SKILL.md ← 中級のSkillを引っ越し
箱の形が正しいか不安なら、動かす前に確認できる。
claude plugin validate ./expense-toolkit
✔ Validation passed と出れば、名札(plugin.json)も中身も整っている。
junli@Juns-MacBook-Pro article-21 % claude plugin validate ./expense-toolkit
Validating plugin manifest: /Users/junli/CC/CCハンズ オン/handson-samples/article-21/expense-toolkit/.claude-plugin/plugin.json
✔ Validation passed
junli@Juns-MacBook-Pro article-21 %
ステップ2:箱が動くか、その場で試す
GitHubに公開する前に、手元で試せる。
claude --plugin-dir ./expense-toolkit
--plugin-dirは、「この箱を、インストールせずにその場で読み込んで」という意味だ。
起動したら、名前空間つきで呼んでみる。
/expense-toolkit:expense-check 今月の領収書をまとめて

中級のときと同じように動けば、最小の箱は成功だ。
--plugin-dirで読み込んだ箱は、その場(このセッション)だけで有効になる。
Skillを直したら、/reload-plugins と打てば、立ち上げ直さなくても直した内容が反映される。

ステップ3:動いてから、残りの道具を足していく
最小の箱が動いたら、同じ箱に道具を1つずつ足す。
expense-toolkit/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── expense-check/
│ └── SKILL.md
├── agents/
│ └── receipt-reader.md ← ① 領収書読み取りSubAgentを追加
├── hooks/
│ └── hooks.json ← ② 要確認フラグ検出Hookを追加
└── .mcp.json ← ③ Slack通知MCPを追加
足すたびに、ステップ2の方法でもう一度動かして確認する。
①を足したら試す。動いたら②を足して試す。また動いたら③。
1つ足すたびに確認する。
この進め方なら、もしどこかで止まっても「いま足したものが原因だ」とすぐ分かる。
中級で学んだ「仕組みは一気に作らず、使いながら育てる」を、箱づくりでもそのまま使う。
最後まで足し終わると、経費精算フロー一式が、1つの箱になっている。
新しいPCでも、この箱を読み込むだけで、同じフローがそのまま動く。
CLAUDE.md(申請者情報・費目分類ルール)は、箱には入れない。前のセクションで書いたとおり、これは「現場のルール」なので、プロジェクト側に置いたままにする。
5. 配り方 ― 公開と、こっそりチーム内
箱ができたら、配れる。
配り方は、大きく2つある。
① みんなに公開する
GitHubに箱を置けば、他の人が入れられるようになる。
入れる側は、Claude Codeで2ステップ踏むだけだ。
1. 箱の置き場(マーケットプレイス)を登録する
/plugin marketplace add あなたのユーザー名/リポジトリ名
2. その置き場から箱を入れる
/plugin install 箱の名前@置き場の名前
ポイントは、GitHubには箱だけでなく「どんな箱があるか」を書いた一覧ファイル(marketplace.json)も置くことだ。
相手はその置き場(マーケットプレイス)を登録してから、中の箱を入れる、という流れになる。
一覧ファイルの作り方やチームへの配り方は、上級第5弾でくわしく扱う。
公式やコミュニティが用意した置き場(マーケットプレイス)もある。
ただし、入れすぎには注意だ。
他人の箱をたくさん入れると、似たようなSkillが混ざって、どれが何だか分からなくなる。
中級第1弾で「Globalは5〜10個まで」と言ったのと同じ感覚で、箱も本当に使うものだけにする。
② こっそりチーム内だけで配る
経費精算の箱には、会社の費目ルールや通知先が絡む。
こういうものは、世界中に公開したくない。
その場合は、会社のprivate(非公開)リポジトリに箱を置けばいい。
公開する場所が変わるだけで、入れ方はほぼ同じ。
チームのメンバーだけが、その箱を入れられる。
新しく入った人も、箱を1つ入れるだけで、チームと同じ経費精算フローがすぐ使える。
「あの設定、どうやるんだっけ」を、毎回説明しなくて済む。

(チームでの揃え方は、上級第5弾でくわしく扱う。ここでは「箱は配れる」という入り口だけ押さえておけばいい。)
6. よくある失敗
失敗1:いきなり全部入りの箱を作る
Skill・SubAgent・Hook・MCPを最初から全部詰め込むと、動かなかったときに原因が分からなくなる。
まずSkill1つの最小の箱を動かして、そこから足す。
ステップ2で1つずつ確認するのは、このためだ。
失敗2:箱に秘密情報を入れてしまう
これが一番こわい。
SlackのトークンやAPIキーを、うっかり箱に書いて公開してしまうと、誰でも見られる状態になる。
秘密情報は、箱に入れない。
鍵は、箱とは別に、自分のPCの設定として持つ。
公開する前に、「この箱に、見られて困るものは入っていないか」を必ず確認する。
失敗3:CLAUDE.mdまで箱に押し込む
申請者名や費目ルールは「配る道具」ではなく「この現場のルール」だ。
箱に入れると、別の人が使ったときに、その人の情報で上書きする手間が増える。
道具は箱へ、現場のルールはプロジェクトへ。
この住み分けを守る。
今日から試せる一歩
中級で作ったSkillの中から、一番よく使う1つを選ぶ。
経費精算でも、記事レビューでも、議事録でもいい。
そのSkillだけを、最小の箱にしてみる。
plugin.jsonを1枚書く- Skillを1つ、
skills/に引っ越す claude --plugin-dir ./箱の名前で動かしてみる
これだけでいい。
SubAgentもHookもMCPも、あとで足せる。
まず「自分の仕組みが、箱になって持ち運べる」状態を、1つ作ってみる。
仕組みは、一気にまとめるものではない。1つずつ箱に入れて、育てていくものだ。
中級編は「自分ひとりの仕組み」で完結していた。
上級編は、その仕組みを「箱にして、人とまわせる」ところまで広げる。
今回は、その箱を作った。
でも、箱に入れた道具は、まだ毎回同じ説明を必要とすることがある。
「前にも訂正したのに、また同じ間違いをする」
次回はそこに手を入れる。
Claudeに「覚えて育つ記憶」を持たせる。
自分が書くルール(CLAUDE.md)とは別に、Claude自身が学びを書きためていく記憶。
使うほど賢くなる仕組みを、次回作る。
参考リンク
Plugin をもっと深く知りたい人は、公式ドキュメントが一番正確です。