一键导入
npm-release
Prepare, tag, publish, and verify an npm release for this repo. Use when the user wants to release pi-librarian to npm.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Prepare, tag, publish, and verify an npm release for this repo. Use when the user wants to release pi-librarian to npm.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | npm-release |
| description | Prepare, tag, publish, and verify an npm release for this repo. Use when the user wants to release pi-librarian to npm. |
Use this skill when preparing and publishing a new release for pi-librarian.
main..github/workflows/release.yml.CHANGELOG.md for human release notes.CHANGELOG.md for the annotated git tag body.vX.Y.Z tags.Ask the user to confirm the target version unless they already specified it.
Update CHANGELOG.md with a new top entry:
## X.Y.Z
Short release summary.
### Added
- User-facing change.
### Changed
- Package or install change.
### Fixed
- User-facing fix.
Omit empty sections. Do not list every internal refactor. If the user edits the notes, preserve their wording.
If release mechanics change, update docs/release.md.
Run the full gate and inspect package contents:
npm run check
npm pack --dry-run
Do not proceed on failures. Fix them or report the blocker.
Stage only release-relevant files and commit.
If hooks modify staged files, the commit will fail. Ensure the hook is resolved, then recommit.
Push the release prep commit to main.
Use the final CHANGELOG.md entry for the tag notes:
VERSION=X.Y.Z
scripts/extract-release-notes.sh "v${VERSION}" > "/tmp/pi-librarian-v${VERSION}-notes.md"
cat "/tmp/pi-librarian-v${VERSION}-notes.md"
git tag -a "v${VERSION}" --cleanup=verbatim -F "/tmp/pi-librarian-v${VERSION}-notes.md"
git push origin "v${VERSION}"
Do not force-push a stable tag. If a tag already exists, stop and inspect; do not overwrite it.
The tag should trigger the Release workflow.
gh tool to find the release (gh run list --workflow Release).latest dist-tag.Confirm npm and git remote state:
VERSION=X.Y.Z
npm view @thurstonsand/pi-librarian version dist-tags --json
git ls-remote --tags origin "v${VERSION}"
git status --short
Final report should include: