mcpField
L
ln-710-dependency-upgrader

ln-710-dependency-upgrader

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

ln-710-dependency-upgrader について

ln-700 のプロジェクト初期化ワークフローで依存関係のアップグレードを調整するスキルです。パッケージマネージャーを検出して専用ワーカーに委任し、セキュリティ監査、更新、ビルド検証の結果を集約します。

主な機能

  1. 01識別ファイルからパッケージマネージャーを検出
  2. 02Git 状態の確認とバックアップブランチ作成
  3. 03依存関係のセキュリティ監査
  4. 04マネージャー別ワーカーへの更新委任
  5. 05更新・スキップ・失敗結果の集約
  6. 06ビルド検証とサマリー作成

活用シーン

  1. 01Node.js・.NET・Python の依存関係更新の調整
  2. 02更新前のリポジトリ状態と重大な脆弱性の確認
  3. 03複数のパッケージマネージャーへの作業委任
  4. 04依存関係の変更とビルド検証結果の集約

インストール

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

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

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

同梱ファイル

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

diagram.html
references/
breaking_changes_patterns.md
security_audit_guide.md

詳細

パス: ファイルパス(shared/、references/、../ln-*)は skills リポジトリのルートからの相対パスです。CWD に見つからない場合は、この SKILL.md ディレクトリを特定し、1 つ上の階層に移動してリポジトリのルートを確認してください。

ln-710-dependency-upgrader

タイプ: L2 ドメインコーディネーター
カテゴリ: 7XX プロジェクトのブートストラップ
親: ln-700-project-bootstrap

パッケージマネージャーを検出し、適切な L3 ワーカーに委任して、依存関係のアップグレードを調整します。


概要

項目詳細
入力ln-700 で検出されたスタック
出力すべての依存関係を、互換性のある最新バージョンにアップグレード
ワーカーln-711(npm)、ln-712(nuget)、ln-713(pip)

ワークフロー

視覚的なワークフローについては、diagram.html を参照してください。

フェーズ: 事前確認 → 検出 → セキュリティ監査 → 委任 → 結果の収集 → 検証 → レポート


フェーズ 0:事前確認

アップグレードを開始する前に、プロジェクトの状態を確認します。

確認項目方法ブロック条件
未コミットの変更git status --porcelain出力が空でない
バックアップブランチの作成git checkout -b upgrade-backup-{timestamp}失敗
ロックファイルの有無ロックファイルを確認見つからない場合(警告のみ)

未コミットの変更がある場合は、アップグレードをスキップしてください。ユーザーは先にコミットするか、スタッシュする必要があります。


フェーズ 1:パッケージマネージャーの検出

検出ルール
パッケージマネージャー識別ファイルワーカー
npmpackage.json + package-lock.jsonln-711
yarnpackage.json + yarn.lockln-711
pnpmpackage.json + pnpm-lock.yamlln-711
nuget*.csproj filesln-712
piprequirements.txtln-713
poetrypyproject.toml + poetry.lockln-713
pipenvPipfile + Pipfile.lockln-713

フェーズ 2:セキュリティ監査(事前確認)

セキュリティチェック
パッケージマネージャーコマンドアップグレードをブロック
npmnpm audit --audit-level=highCritical のみ
pippip-audit --jsonCritical のみ
nugetdotnet list package --vulnerableCritical のみ
リリース経過日数のチェック
オプションデフォルト説明
minimumReleaseAge14 日リリースから 14 日未満のパッケージをスキップ
ignoreReleaseAgefalse緊急のセキュリティパッチでは上書き

Renovate のベストプラクティスに従い、14 日待つことで、レジストリが悪意のあるパッケージを削除する時間を確保できます。


フェーズ 3:ワーカーへの委任

重大: すべての委任では、コンテキストを分離するため、subagent_type: "general-purpose" を指定した Task ツールを使用します。

プロンプトテンプレート:

Task(description: "Upgrade deps via ln-71X",
     prompt: "Execute ln-71X-{worker}. Read skill from ln-71X-{worker}/SKILL.md. Context: {delegationContext}",
     subagent_type: "general-purpose")

アンチパターン:

  • ❌ Task ラッパーを使わずに Skill ツールを直接呼び出す
  • ❌ サブエージェントのコンテキスト分離を回避するあらゆる実行
委任コンテキスト

各ワーカーには、標準化されたコンテキストが渡されます。

フィールド型説明
projectPathstringプロジェクトの絶対パス
packageManagerenumnpm、yarn、pnpm、nuget、pip、poetry、pipenv
options.upgradeTypeenummajor、minor、patch
options.allowBreakingbool破壊的変更を許可する
options.testAfterUpgradeboolアップグレード後にテストを実行する
ワーカーの選択
パッケージマネージャーワーカー備考
npm、yarn、pnpmln-711-npm-upgraderすべての Node.js を処理
nugetln-712-nuget-upgrader.NET プロジェクトを処理
pip、poetry、pipenvln-713-pip-upgraderすべての Python を処理

フェーズ 4:結果の収集

結果スキーマ
フィールド型説明
statusenumsuccess、partial、failed
upgrades[]arrayアップグレードされたパッケージの一覧
upgrades[].packagestringパッケージ名
upgrades[].fromstring以前のバージョン
upgrades[].tostring新しいバージョン
upgrades[].breakingbool破壊的変更かどうか
warnings[]arrayブロックしない警告
errors[]arrayブロックするエラー

フェーズ 5:ビルドの検証

スタック別のビルドコマンド
スタックコマンド
Node.jsnpm run build or yarn build
.NETdotnet build --configuration Release
Pythonpytest or python -m pytest
ビルド失敗時
  1. エラーから失敗したパッケージを特定します
  2. Context7/Ref で移行ガイドを検索します
  3. 既知の修正を適用します
  4. それでも失敗する場合:パッケージをロールバックし、警告を記録します

フェーズ 6:概要を報告

レポートのスキーマ
フィールド型説明
totalPackagesint分析したパッケージの合計
upgradedintアップグレードに成功した数
skippedintすでに最新のためスキップした数
failedintロールバックした数
breakingChangesintメジャーバージョンへのアップグレード数
buildVerifiedboolアップグレード後にビルドが成功したか
durationstring所要時間の合計

設定

Options:
  # Upgrade scope
  upgradeType: major          # major | minor | patch

  # Breaking changes
  allowBreaking: true
  autoMigrate: true           # Apply known migrations

  # Security
  auditLevel: high            # none | low | moderate | high | critical
  minimumReleaseAge: 14       # days, 0 to disable
  blockOnVulnerability: true

  # Scope
  skipDev: false              # Include devDependencies
  skipOptional: true          # Skip optional deps

  # Verification
  testAfterUpgrade: true
  buildAfterUpgrade: true

  # Rollback
  rollbackOnFailure: true

エラー処理

回復可能なエラー
エラー復旧方法
ピア依存関係の競合--legacy-peer-deps を試します
ビルド失敗パッケージをロールバックして続行します
ネットワークのタイムアウト3 回再試行します
致命的なエラー
エラーアクション
パッケージマネージャーが見つからないこの手順をスキップします
すべてのビルドが失敗親に報告し、手動レビューを提案します

参考資料


完了の定義

  • 事前チェックに合格(Git の状態がクリーンで、バックアップブランチが作成済み)
  • インジケーターファイルからすべてのパッケージマネージャーを検出済み
  • マネージャーごとにセキュリティ監査を完了(重大な脆弱性がある場合はアップグレードをブロック)
  • コンテキストを分離して、Task ツール経由でワーカーに委任済み
  • アップグレード/スキップ/失敗の件数を含むワーカーの結果を収集済み
  • すべてのアップグレード適用後にビルドを検証済み
  • totalPackages、upgraded、skipped、failed、buildVerified を含む概要レポートを作成済み

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

コメント