技能寫好,第一個問題永遠是:怎麼給同事用。
我看過最常見的做法是把資料夾壓縮起來,傳到群組裡,附一句「解壓縮放到那個目錄」。能用,但三個月後會出事:沒有人知道誰手上是哪一版,改了一個錯誤之後,只有下載過新檔案的人才修好。
現在有三種發法,對應三個不同的階段。
階段 發法 代價 自己試 資料夾/壓縮檔/網址 每次手動更新 小團隊 共用資料夾一次載入 版本靠口頭同步 長期維護 私有市集(一個 repo) 要維護兩份清單檔
三種發法
最輕的是直接指。啟動時用參數指向一個資料夾就能載入,2026 年 4 月底那一版起,參數也吃 .zip 壓縮檔,還可以用另一個參數從網址抓一份下來只用在這一場對話。適合「我做了一個東西,你先試試」。
中間那一層是指向整個資料夾。2026 年 9 月起,同一個參數可以指到一個裡面放很多外掛的資料夾,一次全部載入。小團隊把共用的東西放同一個雲端同步資料夾,這一招就夠用。
最重的、也是唯一能長期維護的,是做一個私有市集。它其實就是一個 GitHub 倉庫,裡面放一份市集清單檔,每個外掛自己再放一份自己的清單檔。做好之後,公司裡的人只要在設定裡登記這個市集一次,之後就用安裝指令裝,要更新也有版本可以追。私有倉庫要認證的話,官方建議走 GitHub CLI 的認證設定,或在 CI 裡用 token 改寫 Git 網址。
企業還有一層:組織層級的市集由擁有者在管理後台設定,來源類型有限制,而且外掛裡不准放頂層的 bin/ 資料夾,可執行檔要放在 scripts/。
最常見的那個坑是版本號
官方文件列了一串常見錯誤,我挑三個最容易中的。
第一,資料夾結構放錯位置。清單檔要放在 .claude-plugin/ 裡面,但技能、代理、hook 這些內容要放在外掛的根目錄,不是放進 .claude-plugin/。這一條幾乎人人踩過一次。
第二,清單檔的版本號沒有跟著改,使用者那邊會繼續用快取裡的舊版。每次發布前改版本號,這件事沒有自動化,只能靠紀律。
第三,版本號在兩個地方各寫一份會打架。版本只寫在外掛自己的清單檔裡,市集清單檔別再寫一次。
發出去之前,先用官方的驗證指令檢查一遍,它會挑出欄位拼錯、型別不對、路徑無效這些問題,加上嚴格模式還會把警告當成錯誤。
動手做
還在自己試的階段,建立骨架和驗證各一行:
claude plugin init 我的外掛名稱 --with skills claude plugin validate ./我的外掛名稱 --strict
要開始發給別人,先把「誰拿到哪一版」這件事講清楚。這段可以幫你把發布流程寫成一頁:
我做了一個 Claude Code 外掛要發給公司同事用。請幫我寫一份一頁的發布與更新流程, 內容要包含: 1. 版本號什麼時候要加,加在哪一個檔案(提醒我不要在兩個地方各寫一份)。 2. 發布前的檢查清單:驗證指令、測試案例、改了什麼要寫在哪裡。 3. 同事怎麼安裝、怎麼更新、怎麼回報問題。 4. 一段給不熟技術的同事看的三行安裝說明。 請用繁體中文,語氣平實,不要用 emoji。
做對了的樣子:你說得出公司裡誰在用哪一版;改了東西之後有一個固定的發布動作,不是傳檔案;新人要用的時候,你給的是一行安裝指令加一頁說明,不是一個壓縮檔。
站內延伸
- 技能的資料夾長什麼樣 → 做第一個 Skill
- 同一份技能給三家工具用 → 一份技能三家工具用
- 助手共用的組織做法 → 找方法AI 助手共用
來源: Claude Code:Plugin marketplaces(私有市集的兩份清單檔與資料夾結構、私有倉庫認證、組織市集限制);Claude Code:Plugins reference(plugin init、validate --strict、--plugin-dir、--plugin-url);Claude Code:Discover plugins(安裝與更新);Claude Code:週報 2026-w19(壓縮檔與網址載入);Claude Code:週報 2026-w37(參數可指向整個資料夾)。
發技能有三個階段:自己試就直接指資料夾或壓縮檔,小團隊指一個共用資料夾,要長期維護就把一個倉庫做成私有市集。決定分水嶺的不是技術,是「三個月後你還說不說得出誰用哪一版」。而最常見的故障不是安裝失敗,是版本號忘了改。
壓縮檔傳得出去,
三個月後沒人知道誰用哪版
什麼時候看這張:你做好一個技能,打算壓縮起來傳到群組給同事。
- 最常見的故障不是裝不起來,是版本號忘了改
- 版本只寫在外掛自己的清單裡,別寫兩份
- 分水嶺是三個月後你說不說得出誰用哪一版
第一個動作先決定你這個技能在哪個階段,再挑對應的發法,然後把版本號寫進去。發布前跑 plugin validate。