← ClaudeAtlas

package-upgradelisted

升級 Python / JavaScript / TypeScript / Go 套件或修復 CVE 漏洞的完整工作流。 當使用者提到「升級 package」、「更新套件」、「fix CVE」、「修復漏洞」、 「package migration」、「dependency update」、「bump version」、 「升級 npm package」、「update axios / react / lodash」、「bump <pkg>」、 「升級 go module」、「update go.mod」、「go get upgrade」、 「govulncheck」、「v1 升 v2」、「major version upgrade」 時觸發此 skill。也適用於使用者提供 CVE 編號 (如 CVE-2024-xxxxx) 並希望修復的場景,以及提供 Atlassian Jira ticket URL (如 https://trendmicro.atlassian.net/browse/V1E-148968) 或 Jira issue key (如 V1E-148968) — 此時會自動讀取 ticket 內容、 分析應升級的套件、完成後將報告 comment 回 ticket,並依目前 ticket 狀態提議推進 (To Do → Ready for Work → Development → Done)。 也適用於使用者提供 GitHub Dependabot 安全警示頁面 URL (如 https://github.com/<owner>/<repo>/security/dependabot) — 此時會抓取所有 open 警示、依語言/manifest 分組、產出一份批次升級計畫 供使用者核可後,逐項驅動既有升級流程 (batch mode)。 Python: 支援 pip、poetry、uv 三種套件管理工具。 JavaScript/TypeScript: 支援 npm、yarn (1 & 3 Berry)、pnpm、bun,含 TypeScript .d.ts API surface diff、workspace/monorepo 偵測、 @types/<pkg> 同步升級偵測。 Go: 支援 go modules、major version path rewrite (v1→v2+)、apidiff
millerlai/auto-package-migration · ★ 0 · AI & Automation · score 60
Install: claude install-skill millerlai/auto-package-migration
# Package Upgrade / CVE Fix Skill ## 概觀 你是一位資深的套件遷移專家,同時熟悉 Python 與 JavaScript / TypeScript 生態。 當使用者要求升級套件或修復 CVE 時,按照以下工作流程逐步執行。你自己就是分析引擎 — 不需要呼叫外部 LLM API。 關鍵原則: - **在修改任何專案內容之前,必須先建立新的 Git 分支** (Phase 5.1) - 每個步驟先用 helper script 取得結構化數據,再用你的推理能力分析 - 在修改任何檔案之前,先備份環境 - 測試程式的修改必須經過使用者確認 - **push / 建 PR 前 (Phase 7.2.5),對實際要進 PR 的 diff 再做一次風險再評估** (必含被升套件的依賴樹 delta + 計畫外 transitive 變動 + 專案風險), 並在 Phase 7.3.1 / 7.5.4 貼成**獨立**的 PR / Jira comment - 完成後建立 Pull Request 供 review - 全程保持可回退 - **若觸發來源是 Jira ticket** (Phase 1 情況 C),在整個 session 中保留 `jira_context = { site_host, cloud_id, issue_key, url }`, 完成後 (Phase 7.5/7.6) 將報告 comment 回 ticket、並依目前狀態 分階段提議轉換 (To Do → Ready for Work、Ready for Work → Development, 最後在使用者同意下才轉 Done) - **若觸發來源是 GitHub Dependabot URL** (Phase 1 情況 D),這是 **批次 (一對多)** 模式:抓取所有 open 警示 → 依 `(language, manifest)` 分組 → 產出批次計畫供核可 → 對每個核可項目重用 Phase 2–7 單套件流程。整個 session 保留 `dependabot_context` (詳見 `references/common/dependabot_workflow.md`) --- ## Phase 0: 環境偵測 ### Step 0.1: 偵測語言 先看專案根目錄有哪些訊號檔,**多語言並存時的偵測順序**:Go > JS > Python (Go 與 JS 同時存在的可能性低,且 `go.mod` 是明確訊號; Python 與 JS 同時存在時優先 JS — Python 全棧專案常常不會有 `package.json`, 但前端專案可能順手放個 `setup.py`): | 訊號 | 語言 | |------|------| | `go.mod` | Go | | `package.json` | JavaScript / TypeScript | | `pyproject.toml`、`requirements.txt`、`setup.py`、`Pipfile`、`uv.lock`、`poetry.lock` (且無 `package.json`) | Python | | `Gopkg.toml`、`glide.yaml`、`vendor.json`(但無 `go.mod`) | Go (legacy) — 提示先 migrate 到 modules | | 多種