用途:为刚打 tag 的版本写一份分类整理过的 GitHub Release 发布说明,并写回 Release。流程为素材收集、分类整理、落盘、gh release create/edit、验证。适用于任何 tag-push 到 GitHub Release 的项目,如 npm 包或非 npm 项目(桌面软件)。模板与反模式见 references/release-notes-guide.md。
主要能力:从 git log 与已合并 PR 收集素材;按 Features / Fixes / Docs & Chore / Breaking Changes 分类;亮点段说明版本对读者的变化;bug 条目写清之前症状;Breaking Changes 写迁移方法;空分类整节删除。发布说明正文一律用英文。
使用方式:先确认仓库是否建 GitHub Release,若 gh release list 为空或历史无 release 则按约定跳过。用 git log <上一个 tag>..HEAD --oneline 拿完整提交列表;走 PR 合并的仓库用 gh pr list --state merged --search "merged:>=<上次发布日期>" 补 PR 描述。整理版写入 OS 临时目录(Windows $env:TEMP\release-notes-<tag>.md;Linux/WSL/macOS ${TMPDIR:-/tmp}/release-notes-<tag>.md),不要写进仓库目录。展示全文并等用户明确同意后,先 gh release view <tag> 判断:不存在则 gh release create <tag> --title <tag> --notes-file <文件>;已存在则 gh release edit <tag> --notes-file <文件>。最后用 gh release view <tag> 验证。
限制:gh release create/edit 前先 --help 核实旗标;写操作前必须等用户明确同意;桌面 workflow 通常已建好带产物的 Release,只能用 edit,对已存在 Release 用 create 会报错或建出无产物空 Release。版本已定,本 skill 只读 tag 名。相关 skill:npm-release 的步骤 7 委托本 skill 写发布说明。