mcpField
L
ln-821-npm-upgrader

ln-821-npm-upgrader

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

ln-821-npm-upgrader について

npm、yarn、pnpm で Node.js の依存関係を更新し、破壊的変更の確認と移行も行うワーカースキルです。ビルドなどを検証し、更新結果と警告を記録します。

主な機能

  1. 01npm、yarn、pnpm に対応
  2. 02セキュリティ監査と古いパッケージの特定
  3. 03破壊的変更と移行ガイドの確認
  4. 04更新と移行の適用
  5. 05ビルド、テスト、型の検証

活用シーン

  1. 01Node.js プロジェクトの依存関係を更新
  2. 02メジャーバージョン移行を適用してビルド結果を確認

MCP 対応

大きな変更の前に、Context7 や Ref などの MCP ツールで最新のドキュメントや移行ガイドを調べます。MCP サーバーとしての機能は記載されていません。

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-821-npm-upgrader

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
breaking_changes_patterns.md
coordinator_summary_contract.md
npm_peer_resolution.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリを基準とします。

ln-821-npm-upgrader

タイプ: L3 Worker
カテゴリ: 8XX Optimization

npm、yarn、または pnpm を使用して Node.js の依存関係をアップグレードし、破壊的変更を自動検出して移行します。


概要

項目詳細
入力プロジェクトパス、パッケージマネージャーの種類、アップグレードポリシー
出力更新されたパッケージマニフェストと、機械可読な依存関係アップグレードの概要
対応対象npm、yarn(classic と berry)、pnpm

ワークフロー

フェーズ: 事前確認 -> 分析 -> セキュリティ監査 -> 更新確認 -> 破壊的変更の特定 -> アップグレードの適用 -> 移行の適用 -> ビルドの検証 -> レポート


フェーズ 0:事前確認

確認項目必須不足している場合の対応
package.jsonはいアップグレードをブロック
ロックファイル(package-lock.json、yarn.lock、pnpm-lock.yaml)いいえ警告し、最終検証前に再生成
パッケージマネージャーが利用可能はいアップグレードをブロック
ワークスペースのベースラインが安全はい管理実行ではコーディネーターがすでに準備済みです。スタンドアロン実行ではロールバックをローカルで保護します
ランタイム連携

管理実行では、ln-820 から決定論的な runId と正確な summaryArtifactPath が渡されます。
スタンドアロン実行も引き続きサポートされます。ランタイム引数が省略された場合は、戻る前にスタンドアロン実行スコープのアーティファクトを生成します。


フェーズ 1:依存関係の分析

package.json を読み込み、アップグレードの優先度に応じて依存関係を分類します。

カテゴリ例優先度
peertypescript、@types/*1
frameworkreact、vue、next2
buildvite、webpack、esbuild3
ui@radix-ui/*、tailwindcss4
state@tanstack/react-query、zustand5
utilslodash、date-fns6
deveslint、prettier、テストツール7

フェーズ 2:セキュリティ監査

マネージャーコマンド
npmnpm audit --audit-level=high
yarnyarn audit --level high
pnpmpnpm audit --audit-level high

対応:

深刻度対応
Criticalブロックして報告
High警告して続行
Moderate/Lowログに記録のみ

フェーズ 3:更新確認

マネージャーコマンド
npmnpm outdated --json
yarnyarn outdated --json
pnpmpnpm outdated --json

フェーズ 4:破壊的変更の特定

必ず読んでください: 完全なパターンについて、breaking_changes_patterns.md を読み込みます。

検出フロー:

  1. 現在のバージョンと最新のメジャーバージョンを比較します。
  2. 共通の破壊的変更パターンを確認します。
  3. コードを変更する前に、Context7 または Ref で移行ガイドを検索します。

よくある破壊的変更の例:

パッケージ破壊的変更のあるバージョン主な変更点
react18 -> 19JSX トランスフォーム、props としての refs
vite5 -> 6ESM のみ、新しい Node のベースライン
eslint8 -> 9フラット設定
tailwindcss3 -> 4CSS ファーストの設定
typescript5.4 -> 5.5+より厳密な型推論

フェーズ 5:アップグレードの適用

アップグレード順序:

  1. peer 依存関係
  2. framework パッケージ
  3. build ツール
  4. UI ライブラリ
  5. ユーティリティ
  6. dev 依存関係
マネージャーコマンド
npmnpm install <package>@latest --save
yarnyarn add <package>@latest
pnpmpnpm add <package>@latest

peer 依存関係の競合:

状況解決策
ERESOLVEnpm install --legacy-peer-deps
それでも失敗する最後の手段としてのみ npm install --force

移行検索用 MCP ツール

優先度ツール使用するタイミング
1mcp__context7__query-docsライブラリのドキュメントを調べる場合の第一候補
2mcp__Ref__ref_search_documentation公式ドキュメントや GitHub を調べる場合
3WebSearch最新情報やコミュニティによる修正を調べる場合

重要な変更を適用する前に、MCP ツールを使って移行ガイドを取得してください。


フェーズ 6:移行を適用する

  1. MCP ツールを使って、現在の移行ガイドを確認します。
  2. ガイドでサポートされている場合に限り、自動コード変換を適用します。
  3. 手動での追加作業を最終レポートに記録します。

現在のドキュメントを確認せずに、移行をハードコードしないでください。


フェーズ 7:ビルドを検証する

チェックコマンド
TypeScriptnpm run check または npx tsc --noEmit
ビルドnpm run build
テスト利用可能な場合は npm test

失敗した場合:

  1. 失敗したパッケージを特定します。
  2. Context7 または Ref で修正方法を検索します。
  3. 解決できない場合は、そのパッケージをロールバックして残りの候補で作業を続けます。

フェーズ 8:結果を報告する

フィールド説明
projectプロジェクトのパス
packageManagernpm、yarn、または pnpm
duration合計所要時間
upgrades.major[]適用した破壊的変更
upgrades.minor[]機能の更新
upgrades.patch[]バグ修正
migrations[]適用した移行
skipped[]最新のため、またはポリシーによりスキップ
verificationビルド/テスト/型チェックの判定
warnings[]ブロック要因ではない問題
artifact_path書き込んだ場合の、永続的なワーカーレポートのパス

設定

Options:
  upgradeType: major          # major | minor | patch
  allowBreaking: true
  autoMigrate: true
  queryMigrationGuides: true
  auditLevel: high
  minimumReleaseAge: 14
  legacyPeerDeps: false
  force: false
  runBuild: true
  runTests: false
  runTypeCheck: true
  rollbackOnFailure: true

エラー処理

エラー原因解決策
ERESOLVEピア依存関係の競合レガシーピア依存関係モードで再試行する
ENOENTロックファイルがないまず依存関係を再生成する
ビルド失敗破壊的変更移行ガイドを適用するか、問題のあるパッケージをロールバックする
型エラーバージョンの不一致型定義またはフレームワークのピアパッケージを更新する

ロールバック: package.json とロックファイルを復元し、クリーンインストールを実行して以前の状態に戻します。


参考資料


ランタイム概要アーティファクト

必ず読むこと: references/coordinator_summary_contract.md を読み込みます。

dependency-worker の概要エンベロープを出力します。

管理モード:

  • ln-820 は決定論的な runId と正確な summaryArtifactPath を渡します
  • 提供された summaryArtifactPath に概要を書き込みます

スタンドアロンモード:

  • runId と summaryArtifactPath を省略します
  • .hex-skills/runtime-artifacts/runs/{run_id}/dependency-worker/ln-821--{identifier}.json に書き込みます

モニター(2.1.98+): 30 秒を超えると予想されるインストール/監査/ビルド/テストコマンドには、Monitor を使用します。フォールバック:Bash(run_in_background=true)。

完了の定義

  • パッケージマニフェストを分析し、依存関係に優先順位を付けた
  • 選択したパッケージマネージャーについてセキュリティ監査を完了した
  • 古くなったパッケージを特定した
  • パターンと最新のドキュメントを使って破壊的変更を確認した
  • 失敗時にロールバックできるようにしてアップグレードを適用した
  • アップグレード後にビルドと関連する検証コマンドが成功した
  • 管理対象またはスタンドアロンのパスに dependency-worker の概要アーティファクトを書き込んだ

バージョン: 1.1.0 最終更新日: 2026-01-10

コメント