mcpField
A
absolute-upgrade

absolute-upgrade

github.com/maddhruv開発223142 回インストール2 日前に更新
リポジトリ

absolute-upgrade について

absolute-upgradeは、npm、Python、Goプロジェクト向けの依存関係更新スキルです。変更リスクに応じて段階的に更新し、プロジェクトのテストとビルドで検証します。

主な機能

  1. 01複数エコシステムの古い依存関係を検出
  2. 02バージョン変更のリスク別に分類
  3. 03メジャー更新を一件ずつ処理
  4. 04ロックファイルを再生成してテストとビルドを実行
  5. 05停止した更新を戻してエラーを報告

活用シーン

  1. 01定期的な依存関係の更新
  2. 02非推奨パッケージの置き換え
  3. 03メジャーバージョン移行の計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/maddhruv/absolute --skill absolute-upgrade

インストール後、Claude Code で/absolute-upgradeを入力して読み込まれたか確認します。

同梱ファイルREADME.mdreferences/health-engine.md

詳細

最初の応答は⬆️の絵文字で始めてください。

アップグレードを徹底する

依存関係を安全に最新の状態にします。リスクの高いものから順に段階的に適用し、各段階でテストを通します。 単なる npm update ではありません。古い依存関係や脆弱性のある依存関係を、影響範囲に応じて分類します (パッチ/マイナー → 安全なウェーブ、メジャー/破壊的変更 → 変更履歴を確認し、1つずつ承認を経て適用)。段階的に適用し、 プロジェクト独自のテストスイートで検証します。

共通エンジン references/health-engine.md を実行します。検出 → スキャン → トリアージ → 修正 → 検証 → レポートのループと安全性の契約については、そちらをお読みください。このファイルでは、依存関係のアップグレード固有の内容のみを扱います。


使用する場面

  • 定期的に「依存関係を最新にする」「依存関係をアップグレードする」場合。
  • 特定のアップグレード:「React を 19 にアップグレードする」「非推奨の X パッケージを置き換える」。
  • npm outdated や Dependabot の未対応項目を、40件もの個別 PR を作らずに解消する場合。

対象外:新しい依存関係の追加(これはwork/機能追加の判断事項です)、または脆弱性の監査が目的の場合 → /absolute audit を使用してください(CVE のトリアージを行います。upgrade はバージョンを更新します)。


スキャン対象

エコシステムごとに、古い依存関係を現在 → 希望 → 最新のバージョンと、更新の種類を含めて一覧表示します。

エコシステム古い依存関係の検出ロックファイル/マニフェスト
npmnpm outdated --jsonpackage-lock.json
pnpmpnpm outdated --format jsonpnpm-lock.yaml
yarnyarn outdated --jsonyarn.lock
Python(pip)pip list --outdated --format=jsonrequirements*.txt
Python(poetry/uv)poetry show --outdated / uv pip list --outdatedpyproject.toml + lock
Gogo list -u -m -json allgo.mod / go.sum

さらに、非推奨であることが判明している依存関係、同じパッケージの重複/複数バージョン、直接依存か間接依存かも確認します(アップグレード対象は直接依存のみで、間接依存はその依存元に従います)。


リスクのランク付け(トリアージ)

semver の更新幅に応じて、アップグレード計画を安全性の高いウェーブから順に分類します。

ウェーブ更新幅デフォルトの対応
1パッチ(x.y.Z)まとめて適用し、すぐに修正
2マイナー(x.Y.z)パッケージファミリーごとにまとめて適用し、すぐに修正
3メジャー(X.y.z)/1.0 未満のマイナー1つずつ、承認を経て適用 — まず変更履歴/移行ガイドを読み、破壊的変更を一覧表示

メジャーアップグレードごとに、破壊的変更を確認し(CHANGELOG、リリースノート、パッケージに含まれる場合は codemod)、変更された API を使用する箇所を洗い出し、適用前に移行内容を明示します。peer dependency の競合は、原因となる依存関係と同じウェーブで解決します。


修正と検証

  • ウェーブを適用し、ロックファイルを再生成して、プロジェクトの全テストとビルドを実行します(インストールが成功しただけではアップグレード成功とはいえません)。
  • メジャーアップグレードでは、バージョン更新と必要なコード移行を同じウェーブで適用します。そうしないとビルドが失敗します。利用可能な場合は、パッケージの codemod を使用してください。
  • 妥当な範囲の作業でウェーブを成功させられない場合は、元に戻し、エラーとともにブロックされた項目として報告し、成功したウェーブは維持します。実際の競合を隠すために、--force / --legacy-peer-deps を使ってはいけません。

注意点

  1. ロックファイルだけの「アップグレード」。 マニフェストを更新しても、ロックファイルを再生成してコミットしなければ、未テストの間接依存バージョンをリリースしてしまいます。必ず再生成してください。
  2. メジャーアップグレードをパッチ更新とまとめる。 破壊的変更が1つでもあるとウェーブ全体が失敗し、どの変更が原因か分かりにくくなります。メジャーアップグレードは必ず単独で適用します。
  3. インストール成功 ≠ プロジェクトの成功。 npm install が成功しても何も証明されません。テストを実行してください。
  4. 失敗を回避するためのバージョン固定。 更新で問題が起きた場合は、修正するか延期してください。問題を黙って回避するために依存関係ツリーを固定してはいけません。

関連コマンド

  • /absolute audit — 目的が脆弱性の修正なら、まずはこちらから始めてください。バージョン更新のためにこちらへ案内されます。
  • /absolute deflake — 不安定なテストによって、アップグレードが本当に成功したかどうかが分かりにくくなることがあります。
  • /absolute work — アップグレードに実際の機能レベルの移行作業が必要な場合は、引き継いでください。

コメント