用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/SocketDev/action --skill releasing-a-package命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Propagate a wheelhouse template change across fleet repos: worktrees, push/PR fallback, cleanup.
Run this repo's GitHub Actions locally with Agent-CI before pushing CI-sensitive changes.
Audit package exports for dead, internal-only, or weakly-consumed subpaths before pruning.
基于 SOC 职业分类
正在显示 SKILL.md
| name | releasing-a-package |
| description | Release a single-package fleet repo: pre-bump, changelog, staged publish, approve, tag, release. |
| model | claude-sonnet-4-6 |
| user-invocable | true |
| allowed-tools | AskUserQuestion, Bash(git:*), Bash(node:*), Bash(pnpm run:*), Edit, Read |
| metadata | {"internal":true} |
Ship one new version of a single-package fleet repo. The publish engine is
scripts/fleet/npm-publish.mts — a staged upload in CI under the OIDC trusted-publisher
token, then a human 2FA approve locally. This skill is the human-facing walkthrough; the
bump-order rules live in version-bumps
and the Conventional-Commit shape in
commit-cadence-format.
Staged-publish split is mandatory. The stage upload uses a CI OIDC token; the approve
needs human 2FA. They are separate steps on purpose — fusing them would either leak the OTP
into CI logs or require a human at the CI keyboard. Nothing is public until --approve runs;
a botched stage upload is rescued server-side with pnpm stage reject.
pnpm run check --all
green. Detail + the full artifact list: version-bumps.node scripts/fleet/bump.mts derives the next version
from the Conventional Commits since the last v<semver> tag (feat → minor, fix/perf →
patch, breaking → major), GENERATES the ## X.Y.Z CHANGELOG entry from those same commits,
writes package.json + CHANGELOG.md, and commits chore: bump version to X.Y.Z. Preview
with node scripts/fleet/bump.mts --dry-run first. The level is derived from the commit
types — to override when they don't capture intent (a breaking change committed without !,
or a milestone major), pass --release-as <major|minor|patch> (a publish-workflow dropdown
can supply it). It is an explicit human decision, never AI-inferred. Do NOT hand-edit
CHANGELOG.md — a
hand-written entry drifts from the tag — the 6.0.x failure mode; the
changelog-is-commit-derived check rejects a pending entry that doesn't match its commits.
The tag is created later, at publish/approve time — bump.mts does not tag.node scripts/fleet/npm-publish.mts --staged (auto---provenance under GITHUB_ACTIONS). Inspect the staged upload;
pnpm stage reject rescues a wrong file / checksum / version before anything is public.node scripts/fleet/npm-publish.mts --approve,
multi-select the staged package(s), enter one shared 2FA OTP. Leaving the prompt empty
triggers pnpm's web-OTP flow (opens npmjs.com in a browser); or pass --otp <code>. This is
the step that makes the package public. Only AFTER the registry confirms the version is
resolvable (requireRegistryLive) does it create the vX.Y.Z tag + immutable GitHub
release — the release is the LAST marker and never precedes the publish. A STAGED package
is not published; never tag or cut a release for a version that is only staged.pnpm run check --all is green and bump.mts --dry-run showed
the version + entry you expect. CI publishes from this commit.--approve: you are at a real terminal. The OTP step is interactive — never run
it headless or in CI.Work landed on top of the bump commit → do NOT cut a fresh version. Use
reordering-release-bump to relocate the existing bump
to the tip and repoint vX.Y.Z (tree-identical, zero work lost).
node scripts/fleet/check/provenance-is-attested.mts <name>