mcpField
L
ln-820-dependency-optimization-coordinator

ln-820-dependency-optimization-coordinator

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

ln-820-dependency-optimization-coordinator について

プロジェクトファイルからパッケージマネージャーを検出し、npm、NuGet、Python 向けのワーカーに依存関係の更新を委任するランタイム対応のコーディネーターです。委任前にセキュリティとリリース時期を確認し、ワーカーの要約を検証して集約レポートを作成します。

主な機能

  1. 01プロジェクトファイルからパッケージマネージャーを検出
  2. 02セキュリティとリリース時期を確認
  3. 03マネージャー別ワーカーに更新を委任
  4. 04ワーカー要約を検証して結果を集約
  5. 05更新、失敗、検証結果を報告

活用シーン

  1. 01複数の技術スタックにまたがる依存関係更新の調整
  2. 02ワーカーの結果と検証状況を一つのレポートで確認

MCP 対応

ホストのポリシーに従い、MCP 関連のドキュメントツールを利用します。README には MCP サーバーとして公開する機能の記載はありません。

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-820-dependency-optimization-coordinator

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

同梱ファイル

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

references/
breaking_changes_patterns.md
ci_tool_detection.md
coordinator_runtime_contract.md
coordinator_summary_contract.md
dependency_runtime_contract.md
meta_analysis_protocol.md
security_audit_guide.md
references/scripts/coordinator-runtime/lib/
artifacts.mjs
cli-helpers.mjs
core.mjs
loop-health.mjs
runtime-constants.mjs
schemas.mjs
validate.mjs
references/scripts/dependency-runtime/
cli.mjs
references/scripts/dependency-runtime/lib/
guards.mjs
phases.mjs
store.mjs
references/scripts/optimization-runtime/
cli.mjs
references/scripts/optimization-runtime/lib/
guards.mjs
phases.mjs
store.mjs

詳細

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

ln-820-dependency-optimization-coordinator

タイプ: L2 ドメインコーディネーター カテゴリ: 8XX 最適化

複数のスタックにまたがる依存関係のアップグレードを、ランタイムで管理するコーディネーターです。パッケージマネージャーを検出し、マネージャーごとにワーカーを1つ委任して、機械可読なワーカーの要約を記録し、最後にコーディネーターの要約を出力します。


概要

項目詳細
入力プロジェクトのパス、および任意のアップグレードポリシー
出力ワーカーごとの結果を含む、依存関係アップグレードの集約レポート
ワーカーln-821(npm)、ln-822(nuget)、ln-823(pip)
ランタイム.hex-skills/dependency/runtime/runs/{run_id}/

ワークフロー

フェーズ: 事前確認 -> パッケージマネージャーの検出 -> セキュリティ監査 -> アップグレードの委任 -> 結果の収集 -> 要約の検証 -> 報告


ランタイム契約

必須の読み込み: references/ci_tool_detection.md を読み込みます
必須の読み込み: references/coordinator_runtime_contract.md、references/dependency_runtime_contract.md、references/coordinator_summary_contract.md を読み込みます

ランタイム CLI:

node references/scripts/dependency-runtime/cli.mjs start --identifier repo-deps --manifest-file <file>
node references/scripts/dependency-runtime/cli.mjs status --identifier repo-deps
node references/scripts/dependency-runtime/cli.mjs checkpoint --phase PHASE_3_DELEGATE_UPGRADES --payload '{...}'
node references/scripts/dependency-runtime/cli.mjs record-worker-result --payload '{...}'
node references/scripts/dependency-runtime/cli.mjs record-summary --payload '{...}'
node references/scripts/dependency-runtime/cli.mjs advance --to PHASE_4_COLLECT_RESULTS
node references/scripts/dependency-runtime/cli.mjs complete

必須の状態フィールド:

  • worker_plan
  • worker_results
  • child_runs
  • verification_passed
  • report_ready
  • summary_recorded

ドメインチェックポイント:

  • PHASE_1_DETECT_PACKAGE_MANAGERS: 検出されたマネージャー、識別ファイル、スキップされたマネージャー
  • PHASE_2_SECURITY_AUDIT: マネージャーごとの監査判定、ブロック対象の検出事項、リリースからの経過期間に関するポリシー
  • PHASE_3_DELEGATE_UPGRADES: 委任されたワーカーごとに、ワーカー名、識別子、runId、summaryArtifactPath を含む child_run を1つ記録します
  • PHASE_4_COLLECT_RESULTS: 記録済みのワーカー要約と、未解決の失敗または警告
  • PHASE_5_VERIFY_SUMMARY: 最終レポートのパス、検証判定、要約の準備状況

ガードルール:

  • 予定されているすべてのワーカーが有効な dependency-worker 要約を出力するまで、PHASE_3_DELEGATE_UPGRADES から先に進まないでください
  • 最終レポートのチェックポイントが存在し、dependency-coordinator 要約が記録されるまで完了しないでください
  • ワーカーの状態は JSON 要約のみから判断してください。文章形式の出力から推測しないでください

フェーズ 0: 事前確認

ランタイムを開始する前に、プロジェクトが依存関係作業の対象として有効であることを確認します。

確認項目方法ブロック条件
マニフェストが存在するランタイムの start 検証存在しない
プロジェクトのパスが存在するファイルの確認存在しない
アップグレードポリシーが指定されているマニフェストまたはデフォルト値いいえ
識別子に対する既存のアクティブな実行ランタイムのアクティブポインター競合するアクティブな実行

デフォルトオプション:

オプションデフォルト意味
upgradeTypemajorメジャー、マイナー、またはパッチ
allowBreakingtrueメジャーバージョンへの移行を許可します
minimumReleaseAge14セキュリティ上必要な場合を除き、ごく最近のリリースをスキップします
testAfterUpgradetrueワーカーが変更後にビルド/テストを検証します

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

パッケージマネージャーファミリーごとに、ワーカーの対象を1つ検出します。

パッケージマネージャー識別ファイルワーカー
npmpackage.json + package-lock.jsonln-821
yarnpackage.json + yarn.lockln-821
pnpmpackage.json + pnpm-lock.yamlln-821
nuget*.csproj または *.slnln-822
piprequirements.txtln-823
poetrypyproject.toml + poetry.lockln-823
pipenvPipfile + Pipfile.lockln-823

チェックポイントのペイロードには、次の項目を含める必要があります:

  • detected_managers
  • indicator_paths
  • worker_plan
  • skipped_reasons

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

負荷の高いアップグレード作業を委任する前に、簡易的な事前セキュリティチェックと最新性チェックを実行します。

マネージャーファミリーコマンドブロック条件
Node.jsnpm audit --audit-level=high またはマネージャーに相当するコマンド許可された例外がない重大な脆弱性
NuGetdotnet list package --vulnerable許可された例外がない重大な脆弱性
Pythonpip-audit --json またはマネージャーに相当するコマンド許可された例外がない重大な脆弱性

リリース経過期間の制限:

オプションデフォルト説明
minimumReleaseAge14 daysリリースからの経過期間が短すぎるパッケージをスキップします
ignoreReleaseAgefalse緊急のセキュリティパッチに対する例外です

チェックポイントのペイロードには、次の項目を含める必要があります。

  • audit_results
  • blocking_findings
  • release_age_policy
  • managers_cleared_for_delegation

フェーズ 3:アップグレードの委任

ワーカーファミリーごとに子実行を 1 つ委任します。子実行は決定論的で、アーティファクトを基準に動作する必要があります。

以下のルーティングテーブルで選択した具体的なワーカー ID を使って委任します。プロンプト内でファミリーのプレースホルダーを作成したり、推測したスキル ID を使ったりしないでください。

委任コンテキスト:

フィールド型説明
projectPathstring対象プロジェクトの絶対パス
packageManagerenumnpm、yarn、pnpm、nuget、pip、poetry、pipenv
identifierstring実行内での安定したワーカー識別子
runIdstring決定論的な子実行 ID
summaryArtifactPathstringワーカーサマリーの正確な JSON パス
optionsobjectアップグレードポリシー、検証フラグ、安全性フラグ

ワーカーの選択:

マネージャーファミリーワーカー備考
npm、yarn、pnpmln-821-npm-upgrader検出された Node マネージャーごとに子実行を 1 つ実行します
nugetln-822-nuget-upgrader.NET 用に子実行を 1 つ実行します
pip、poetry、pipenvln-823-pip-upgrader検出された Python マネージャーごとに子実行を 1 つ実行します

各ワーカーの起動後:

  1. PHASE_3_DELEGATE_UPGRADES の下に child_run をチェックポイントとして記録します。
  2. 出力された dependency-worker サマリーエンベロープを待ちます。
  3. record-worker-result でワーカーサマリーを記録します。

フェーズ 4:結果の収集

検証済みのワーカーサマリーのみを集約します。

コーディネーターが使用するワーカーサマリーのフィールド:

フィールド説明
producer_skillワーカー ID(ln-821、ln-822、ln-823)
summary_kinddependency-worker である必要があります
identifier安定したワーカー識別子
payload.status完了、一部完了、または失敗
payload.upgrades適用済みのアップグレードと変更前・変更後のバージョン
payload.warningsブロック要因ではない問題
payload.verificationビルド/テストの検証結果
payload.artifact_path該当する場合、ワーカーが管理する永続レポートのパス

収集結果:

  • worker_results
  • success_count
  • partial_count
  • failed_count
  • blocking_failures

フェーズ 5:サマリーの検証

最終的な永続レポートを作成し、コーディネーターが決定論的に完了できることを検証します。

検証チェックリスト:

  • 計画したすべてのワーカーが、有効なサマリーエンベロープを 1 つずつ出力している
  • 集計数が記録済みのワーカー結果と一致している
  • 最終レポートのパスが存在するか、書き込み可能な状態になっている
  • 完了前に report_ready と verification_passed が true になっている

失敗時の対応:

  1. 成功したワーカーの結果はそのまま保持します。
  2. 失敗したワーカーをコーディネーターレポートに明記します。
  3. ワーカーがすでに検証した内容を超えて、ロールバック操作を作り出さないでください。

フェーズ 6:レポート

コーディネーターのレポートスキーマ:

フィールド説明
package_managersこの実行で処理した検出済みパッケージマネージャー
workers_activated委任したワーカー
total_packages全ワーカーで分析したパッケージ数
upgradedアップグレードに成功したパッケージ
skippedすでに最新版、またはポリシーによりスキップされたパッケージ
failed失敗したパッケージまたはワーカーの実行
breaking_changesメジャーバージョンへのアップグレードまたは移行
verification_passed検証結果の総合判定
per_worker[]機械可読形式のワーカー結果の概要
warnings[]ワーカー間の警告

完了手順:

  1. 永続レポートを書き込みます。
  2. レポートのパスと検証結果をチェックポイントに記録します。
  3. record-summary を使用して dependency-coordinator の概要エンベロープを記録します。
  4. レポートのチェックポイントとコーディネーターの概要が揃った後にのみ、ランタイムを完了します。

設定

Options:
  upgradeType: major          # major | minor | patch
  allowBreaking: true
  minimumReleaseAge: 14
  auditLevel: high            # none | low | moderate | high | critical
  testAfterUpgrade: true
  buildAfterUpgrade: true
  rollbackOnFailure: true
  skipDev: false
  skipOptional: true

エラー処理

回復可能:

エラー復旧方法
ピア依存関係の競合ワーカーの結果を部分的な結果として保持し、収集を続けます
あるワーカーでのビルド失敗失敗を保持し、他のワーカーの処理を続けます
ネットワークタイムアウトワーカーがローカルで再試行し、その後失敗を報告します

致命的:

エラーアクション
パッケージマネージャーが見つからない空の結果レポートで終了します
ランタイム検証の失敗実行を一時停止し、介入を求めます
計画された子実行のワーカー概要がない収集段階から先に進みません

参照資料


TodoWrite の形式(必須):

- Detect package managers (in_progress)
- Delegate ln-821-npm-upgrader child runs (pending)
- Delegate ln-822-nuget-upgrader child runs (pending)
- Delegate ln-823-pip-upgrader child runs (pending)
- Aggregate dependency-worker summaries (pending)

ワーカーの呼び出し(必須)

ホストスキルの呼び出し: Skill(skill: "...", args: "...") による委任が必須です。

  • Claude:表示どおりに Skill ツールを呼び出します。
  • Codex:Skill ツールがない場合は、利用可能なスキルから指定されたスキルを見つけて SKILL.md を読み、args を $ARGUMENTS として扱い、そのスキルのワークフローを実行してから、結果または成果物を持ってここに戻ります。
  • ワーカーのロジックをインライン化したり、対象のスキルを実行せずにワーカーを完了扱いにしたりしないでください。
フェーズワーカーコンテキスト
3ln-821-npm-upgraderpackageManager、runId、正確な summaryArtifactPath を指定した分離された子実行
3ln-822-nuget-upgraderpackageManager、runId、正確な summaryArtifactPath を指定した分離された子実行
3ln-823-pip-upgraderpackageManager、runId、正確な summaryArtifactPath を指定した分離された子実行

すべてのワーカー:子ランタイムを開始し、child_run メタデータをチェックポイントに記録してから、ワーカースキルを明示的に呼び出し、record-worker-result を介して出力された dependency-worker の概要エンベロープを取り込みます。

# One invocation per detected package manager (sequential per family):
node references/scripts/dependency-runtime/cli.mjs start --skill {worker} --identifier {packageManager} --manifest-file {workerManifestPath} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}
node references/scripts/optimization-runtime/cli.mjs checkpoint --phase PHASE_3_DELEGATE --payload '{"child_run":{"worker":"{worker}","run_id":"{childRunId}","summary_artifact_path":"{childSummaryArtifactPath}","package_manager":"{packageManager}"}}'
Skill(skill: "{worker}", args: "{packageManager} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}")
Read {childSummaryArtifactPath}
node references/scripts/optimization-runtime/cli.mjs record-worker-result --payload-file {childSummaryArtifactPath}

ワーカートークンの置換:{worker} は ln-821-npm-upgrader、ln-822-nuget-upgrader、ln-823-pip-upgrader のいずれかです。


完了の定義

  • 検証済みマニフェストと安定した識別子を使用してランタイムを開始した
  • プロジェクトの指標からパッケージマネージャーを検出した
  • 実行前のセキュリティチェックとリリース経過日数の確認を完了した
  • 計画された各ワーカーファミリーに子実行を 1 つずつ委任した
  • すべての子実行が有効な dependency-worker の概要を出力した
  • コーディネーターのレポートに、ワーカーごとのアップグレード、警告、検証結果を集約した
  • 完了前に最終的な dependency-coordinator の概要を記録した

フェーズ 7:メタ分析

任意の参照資料:ユーザーが実行後のメタ分析またはプロトコル形式での実行の振り返りを求めた場合に限り、references/meta_analysis_protocol.md を読み込みます。

スキルの種類:optimization-coordinator。要求された場合は、すべてのフェーズが完了した後に実行します。optimization-coordinator の形式でチャットに出力します。


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

コメント