这个 Skill 能做什么,适合哪些场景?
dependency-refresh 是 agent-service-toolkit 仓库内的一个自包含运维技能,提供完整的依赖刷新剧本。它不只更新 pyproject.toml 和 uv.lock 中的 Python 包,还覆盖 Docker 基础镜像、GitHub Actions 固定版本、uv CLI 的四处同步位置、受支持的 Python 版本区间,以及 compose 与冒烟测试使用的 postgres/mongo/LangFuse 镜像。技能内置两层冷却机制:由 uv exclude-newer 强制执行的全局 14 天解析器冷却,以及针对关键依赖的三个月大版本冷却。每轮刷新产出一个 PR,其正文同时作为下一轮刷新的状态记录。配套的 references 目录记录版本耦合约束与端到端验证方法。
第 0 步先搜索最近一次刷新 PR,恢复延期大版本表和验证注意事项;随后对照 PyPI API 与各非 Python 表面盘点所有可升级项;按分级原则和双重冷却策略逐项评估;对安全升级直接修改 pyproject.toml 中的钉定版本;运行 uv lock --upgrade 重新解析,将钉定值与锁文件对齐;执行 uv sync --frozen、ruff check、ruff format --check、pyrefly check 和 pytest;需要时按 references/live-e2e.md 运行假模型 HTTP 阶梯测试和 Streamlit 浏览器冒烟,涉及 checkpointer、AG-UI 或 LangFuse 时运行 scripts/smoke_test.sh 对应目标;最后按约定格式(分支 claude/dependency-refresh-YYYY-MM-DD、标题 chore(deps): dependency refresh YYYY-MM-DD、含 What moved / Deferred majors / Verification 三个正文板块)提交 PR。
- 独自维护 LangGraph/FastAPI/Streamlit 项目、需要按月规律升级依赖但不想追新踩坑的开发者
- 收到 Dependabot 安全公告、需要立即绕过冷却合入修复的维护者
- langchain 与 langgraph 等强耦合包需要同步升级、经常遇到解析器冲突的团队
- postgres/mongo 等镜像大版本可能改变磁盘格式、需要谨慎等待的运维人员
- 希望每次升级都有可追溯 PR 记录(什么动了、什么延期、验证结果)的 AI 维护代理场景
- 需要保持 Python 支持区间、CI 矩阵、ruff 目标版本和 Docker 基础镜像相互一致的项目
如何安装这个 Skill?
- Shell / 命令行
- 网络访问
- 本地文件系统
uv CLIPythonDocker daemon (for smoke tests)GitHub (PR search via gh or equivalent)ruffpyreflypytest
该技能属于 JoshuaC215/agent-service-toolkit 仓库捆绑的 4 个技能之一,路径为 .claude/skills/dependency-refresh/。将整个技能目录(含 SKILL.md 和 references/ 下的 coupling-constraints.md、live-e2e.md)放入你的 Claude Code 项目的 .claude/skills/ 目录即可。仓库 README 描述的是整个集合的安装;针对此单个技能的独立安装步骤未在文档中说明。
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/JoshuaC215/agent-service-toolkit.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.claude/skills/dependency-refresh" ~/.claude/skills/
rm -rf "$tmp"根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- do a dependency refresh
在配置了该技能的仓库中,对 Claude 发出类似「update dependencies」「bump versions」「do a dependency refresh」的请求,或等待定期的月度依赖刷新触发。技能会自动按步骤执行:先恢复上次 PR 状态,再盘点、分级、应用安全升级、重新锁定、静态验证、端到端验证,最后产出格式化的刷新 PR。注意该剧本针对 agent-service-toolkit 的具体结构编写,references 中包含项目特定的耦合约束,移植到其他仓库需要相应调整。
这个 Skill 有哪些优点和局限?
- 自包含的完整剧本,从状态恢复到 PR 提交全流程有据可依
- 两层冷却机制(uv 强制的 14 天 + 流程强制的 3 个月大版本冷却)显著降低引入损坏或被投毒新版本的风险
- PR 即状态的约定使每轮刷新可追溯,延期大版本表跨轮次自动结转
- references/coupling-constraints.md 沉淀了 langchain⇄langgraph 锁步、checkpointer 大版本等实际踩坑经验
- 安全修复有明确的唯一豁免通道,且要求临时覆盖带注释并在下轮移除
- 深度绑定 agent-service-toolkit 的文件布局(uv.lock、compose.yaml、scripts/smoke_test.sh 等),直接用于其他仓库需大量改造
- 流程性约定(三个月冷却、PR 模板)依赖模型自觉遵守,无法机械强制
- 冒烟测试需要 Docker 守护进程,LangFuse 目标被明确标注为重量级(要启动完整自托管栈)
- 运行状态存放在历史 PR 描述中而非文件,依赖 PR 搜索能成功找到上一次刷新
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| 依赖刷新手册(dependency-refresh) 本页 | 59 · 推荐 | ★ 4.5k | 21 天前 | MIT |
| SmokedMeat E2E 测试技能 | 49 · 谨慎使用 | ★ 393 | 1 个月前 | AGPL-3.0 |
| RTVI-CV 二维检测跟踪运维技能 ✓ NVIDIA · 官方 | 54 · 谨慎使用 | ★ 3.6k | 11 天前 | Apache-2.0 |
| VIOS 视频输入输出与存储管理 ✓ NVIDIA · 官方 | 53 · 谨慎使用 | ★ 3.6k | 11 天前 | Apache-2.0 |
| cuOpt 安装助手 ✓ NVIDIA · 官方 | 51 · 谨慎使用 | ★ 3.6k | 11 天前 | Apache-2.0 |
与直接运行 uv lock --upgrade 或依赖 Dependabot 自动合并相比,本技能额外提供冷却策略、关键依赖大版本延期、跨表面(Actions/uv CLI/镜像)同步,以及把每轮状态写入 PR 的可追溯流程;代价是更重、更慢,且与单一仓库结构耦合。
FollowSkills 如何评估这个 Skill?
项目自身的依赖升级流程(要求先读完整 playbook 文档再动手,不允许即兴改动),服务于该项目维护者。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
本条评估按 FSRS 1.0 标准完成,维度分不做换算,已进入按 FSRS 2.0 重新评估的复核队列。
查看完整评分方法 →