mcpField
L
ln-710-dependency-upgrader

ln-710-dependency-upgrader

github.com/levnikolaevich开发58455 次安装2 天前更新
代码仓库

关于 ln-710-dependency-upgrader

这是 ln-700 项目引导流程中的依赖升级协调技能,面向需要按技术栈升级依赖的项目。它检测包管理器,委派给对应工作技能,并汇总安全审计、升级结果和构建验证。

主要功能

  1. 01根据标志文件检测包管理器
  2. 02升级前检查 Git 状态与备份分支
  3. 03执行依赖安全审计
  4. 04按包管理器委派升级任务
  5. 05收集升级、跳过和失败结果
  6. 06运行构建并生成汇总

适用场景

  1. 01协调 Node.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 仓库根目录。如果在当前工作目录中找不到,请定位此 SKILL.md 目录,并向上一级查找仓库根目录。

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 文件ln-712
piprequirements.txtln-713
poetrypyproject.toml + poetry.lockln-713
pipenvPipfile + Pipfile.lockln-713

阶段 2:安全审计(预检)

安全检查
包管理器命令阻止升级
npmnpm audit --audit-level=high仅限严重问题
pippip-audit --json仅限严重问题
nugetdotnet list package --vulnerable仅限严重问题
发布时长检查
选项默认值说明
minimumReleaseAge14 days跳过发布不足 14 days 的包
ignoreReleaseAgefalse紧急安全补丁时覆盖此设置

按照 Renovate 最佳实践:等待 14 days 可让软件包注册中心有时间撤下恶意包。


阶段 3:委派给工作器

重要: 所有委派都使用 Task 工具,并将 subagent_type: "general-purpose" 用于上下文隔离。

提示词模板:

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 工具
  • ❌ 绕过子 Agent 上下文隔离执行任何操作
委派上下文

每个工作器都会收到标准化的上下文:

字段类型说明
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:收集结果

结果架构
字段类型说明
statusenum成功、部分成功、失败
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

评论

支持 Markdown