Help us improve
Share bugs, ideas, or general feedback.
From bb-channel
引入或升级任何外部依赖前必须遵守的版本选择策略——覆盖语言包(npm/Go/PyPI/Cargo/Maven)、运行时与工具链、GitHub/GitLab CI Actions、容器镜像、IaC provider、Helm chart、CLI 工具。强制要求"写入版本号前先用官方渠道查最新版本",禁止凭训练记忆或既往项目经验填写版本号。TRIGGER when:编辑 package.json / go.mod / requirements.txt / Cargo.toml / pom.xml / Dockerfile / docker-compose.yaml / .github/workflows/*.yaml / .gitlab-ci.yaml / Terraform / Helm chart / .nvmrc / .tool-versions 等任何会钉死外部资产版本号的文件;或用户要求 "升级依赖" / "加个 xxx 库" / "bump 版本" / "更新 Actions" 等。
npx claudepluginhub 0xbb2b/skills --plugin bb-channelHow this skill is triggered — by the user, by Claude, or both
Slash command
/bb-channel:dependency-version-policyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
适用于:**一切会被钉死到项目文件里的外部资产版本号 / tag / digest 的引入与升级**。
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Compacts the current conversation into a handoff document for another agent to continue the work, with suggested skills and redacted sensitive info.
Share bugs, ideas, or general feedback.
适用于:一切会被钉死到项目文件里的外部资产版本号 / tag / digest 的引入与升级。
核心理念:训练数据有截止时间,凭记忆填写的"最新版本号"几乎总是过时的。 任何版本号在写入文件前都必须经官方渠道验证。
TRIGGER(命中任一即应应用本策略):
package.json、bun.lockb、go.mod、go.sum、requirements.txt、pyproject.toml、Cargo.toml、pom.xml、build.gradle(.kts).nvmrc、.tool-versions、.python-version、Dockerfile 中的 FROM 行、go.mod 中的 toolchain 指令.github/workflows/*.yaml(uses: actions/*@vX)、.gitlab-ci.yaml(include 与 components)Dockerfile 的 FROM、docker-compose.yaml / Helm chart / K8s manifest 中的 image: tagrequired_providers、Pulumi 包、Helm chart versionbrew install <pkg>@<version> / apt install <pkg>=<version> / curl ... | sh 等SKIP(以下情况本策略不适用):
不限于包管理器声明。本策略覆盖以下所有类型:
| 类别 | 典型文件 / 位置 | 查询命令示例 |
|---|---|---|
| npm 生态 | package.json | npm view <pkg> version / bun pm view <pkg> |
| Go 模块 | go.mod | go list -m -versions <module> |
| Python | requirements.txt、pyproject.toml | pip index versions <pkg> |
| Rust crate | Cargo.toml | cargo search <crate> |
| Java | pom.xml、build.gradle | Maven Central 搜索 |
| 运行时 | .nvmrc、.tool-versions | 官方发布渠道 |
| GitHub Actions | .github/workflows/*.yaml | gh api /repos/<owner>/<repo>/releases/latest --jq .tag_name |
| 容器镜像 | Dockerfile、docker-compose.yaml | Docker Hub / GHCR tags 页 / crane ls <image> |
| Helm chart | Chart.yaml | helm search repo <chart> --versions |
| Terraform provider | *.tf | https://registry.terraform.io/providers/<ns>/<name> |
在写入版本号之前,Agent 必须先通过官方渠道查询当前最新版本。
actions/checkout 实际 v6 却写 v4)WebSearch 搜索结果中的版本号,未访问官方源确认npm 生态:
npm view <pkg> version # 单一最新版本
bun pm view <pkg> # bun 方式
# 或访问 https://www.npmjs.com/package/<pkg>
Go 模块:
go list -m -versions <module> # 列出所有版本
# 或访问 https://pkg.go.dev/<module>
Python:
pip index versions <pkg>
# 或访问 https://pypi.org/project/<pkg>
Rust:
cargo search <crate>
# 或访问 https://crates.io/crates/<crate>
GitHub Actions:
gh api /repos/<owner>/<repo>/releases/latest --jq .tag_name
# 或访问 https://github.com/<owner>/<repo>/releases
容器镜像:
docker run --rm quay.io/skopeo/stable list-tags docker://<image>
crane ls <image>
# 或访问 Docker Hub / GHCR 的 tags 页面
Helm chart:
helm search repo <chart> --versions
# 或访问 ArtifactHub
Terraform / OpenTofu provider:
https://registry.terraform.io/providers/<ns>/<name>运行时与工具链(Node.js、Java、Python、Go、Bun、Ubuntu 等):
兜底:以上命令不可用时,用 WebFetch / WebSearch 访问官方 release 页或 changelog;不可直接输出搜索结果摘要中的版本号,必须打开官方页面确认。
除用户特殊声明外,按以下顺序选取版本:
有 LTS 概念的依赖(Node.js、Java、Python、Ubuntu、Spring Boot、Angular 等):
无 LTS 概念的普通库(绝大多数 npm / Go / Python / Rust 包、GitHub Actions、容器镜像、Terraform provider 等):
禁止直接选用以下版本:
如确需锁定到非最新版本,必须在 PR 描述或 commit message 中写明:
不写明原因的"莫名锁旧版"应在 review 中被拦回。
为已有项目升级依赖时同样适用本策略,不因"只是升级"而豁免查询:
bun update <pkg> / go get -u <module> / cargo update -p <crate> 等命令执行前应先确认目标版本bun(详见前端规范),不在本 skill 范围内import 变更后必须 go mod tidy(详见 Go 项目规范)在保存任何含版本号的文件前,逐项确认: