dep-upgradelisted
Install: claude install-skill YuDefine/nuxt-supabase-starter
<!-- 🔒 LOCKED — managed by clade · auto-generated by sync-to-agents; edit source in .claude/ then re-run sync -->
# dep-upgrade — 統一 dep 升級入口
兩種升級需求一個 skill 涵蓋:
- **Outdated batch**:一個 consumer 累積很久沒升、`pnpm outdated` 一坨要批升
- **Fleet sweep**:看到 upstream release、想跨 consumer 跟上同一個版本
skill 開頭依輸入分流,**不要記兩個 skill 名**。
## Step 0 — Mode dispatcher(最先讀)
依**輸入**跟 **cwd** 分流:
| 觸發 | cwd 預期 | Mode | 跳到 |
| --- | --- | --- | --- |
| 純命令 `/dep-upgrade`(無參數) | consumer root(有 `package.json` + lockfile) | **Outdated batch** | § Outdated · Step O.1 |
| 給 GitHub release URL(`https://github.com/.../releases/tag/v<ver>`) | clade home | **Fleet** | § Fleet · Step F.1 |
| 給 `<pkg>@<ver>` / `<pkg> v<ver>` / `<pkg> <ver>` | clade home | **Fleet** | § Fleet · Step F.1 |
| 給純 pkg name(「升 @nuxt/ui」、「無腦升 X」) | clade home | **Fleet + Discovery** | § Fleet · Step F.1 |
| 無參數但 cwd = clade home | — | STOP + 問意圖 | 見下方 § Disambiguation |
### Disambiguation(cwd 與 input 不對)
- 在 consumer 給 pkg name → 問「你想 (A) 只對這個 consumer 升 (走 Outdated batch 但鎖單套件)、還是 (B) 跨 6 consumer sweep (要 `cd ~/offline/clade` 再跑)?」
- 在 clade 無參數 → 問「你想 (A) sweep 哪個 pkg?或 (B) 你其實要進某個 consumer 跑 `pnpm outdated`?」
- 在 worktree(cwd 含 `-wt/`) + 無參數 → 視為已在 Outdated batch 中段,跳 Step O.0、直接續跑 Step O.2
**MUST 等 user 拍板**,**NEVER** 主線自選 mode。
## 共用基礎(兩個 mode 都用到)
| 基礎 | 出處 |
| --- | --- |
| Worktree gate | [[worktree-default]] §1,wt-helper 開 / merge-back |
| Codex 派工模板 | `vendor/snippets/codex-upgrade-prompts/{medium,high}.md`(authoring