plugin-manager-publishlisted
Install: claude install-skill abs1294/fulin-claude-plugins
# plugin-manager:publish — 一鍵發布整個 monorepo
把 monorepo(所有自製 plugin 的家)一次 commit + push。解決「一 plugin 一 repo、500 個 plugin 無法維護」的核心痛點——所有自製 plugin 在同一個 repo,發布只需一次。
## 前提
- 自製 skill 的真身在 `/plugin-manager:adopt` 時就已搬進 monorepo,所以 publish **不需要再蒐集**,只做 git。
- monorepo 路徑與 repo 從 `~/.claude/plugin-manager/config.json` 讀。
> **規則 2(改 skill 必發布)**:只要改動任何已納管 skill(monorepo 真身或其 symlink),完成後必須主動提醒使用者 `/plugin-manager:publish` 推上 remote;對「改完沒 publish 就結束對話」也成立——結束前要提醒未發布的 skill 變更。
>
> **規則 4(發布前確認 README)**:若本次 status 含新增/刪除 `plugins/<name>/`,發布前先確認根 `README.md` 的 plugin 列表與「結構」樹已同步,未同步就提醒補上再一起 publish。
>
> 完整規範見 `../../CONVENTIONS.md`。
## 執行步驟
1. **先看待發布狀態**(唯讀,不動 git):
```
node "${CLAUDE_PLUGIN_ROOT}/scripts/publish-status.js"
```
輸出:改動的 plugin、git status、建議 commit message。
2. **若工作區乾淨**:告知沒有待發布改動(若本地領先 origin,提示是否只需 push)。
3. **若有改動**:把 status 與建議 commit message 呈現給使用者,採**無人值守默許模式**:
- 呈現後若使用者**改了 message** → 用改後的;**明確拒絕/喊停** → 中止不 commit、並刪除已排的喚醒(見下)。
- **超過 5 分鐘沒有任何拒絕或修改** → **視為默許,自動採用建議 message 繼續 commit + push**(不再卡等)。
- 呈現時明白告知這條規則(例如「5 分鐘內沒回覆就用這個 message 自動發布」),讓使用者知道可在時限內介入。
- **這是刻意的無人值守設計**(使用者明確要求):5 分鐘默許後會**自動 commit + push**整條跑完——push 是對外動作,但這裡刻意以「沉默即同意」換取無人值守(掛著不顧、回來已發好)。5 分鐘的窗口就是使用者的介入點。
> ⚠️ **「5 分鐘自動推」必須有喚醒源,否則是空頭承諾**(實戰教訓):呈現完 message 後,這一輪就結束、控制權交還使用者——若不主動排一個喚醒,5 分鐘後根本沒有任何東西會觸發 push,只會卡等下一次使用者輸入。
>
> **所以呈現 message 的「同一輪」必須立刻排一個 ~5 分鐘後的喚醒**(與 git-commit 不同:那邊的默許掛在「審查完成事件」、當輪即到,不需計時器;本 skill 是時間驅動,必須自備計時器):
> - 優先 `Schedule