用途:从两个 git 引用(标签、提交、分支)之间的历史生成可直接发布的 release notes,适用于创建 GitHub Release 前、用户询问“上次发布后改了什么”、合并发布分支后,或为新版本更新 CHANGELOG.md 时。
主要能力:解析 conventional commits,提取类型(feat、fix、docs、ci、chore 等)、scope、描述与 PR 编号;按类别分组(Features、Bug Fixes、Documentation、Maintenance、Breaking Changes);通过 feat!: / fix!: 前缀或正文中的 BREAKING CHANGE 识别破坏性变更并优先列出;生成模板化文档,可输出到聊天、写入 CHANGELOG.md 或创建 GitHub Release。
必要用法:确定范围,如 git describe --tags --abbrev=0 找最新标签,git tag --sort=-version:refname | head -5 列出近期标签,用 git log v1.0.0..HEAD 或 git log v1.0.0..v1.1.0 收集提交;执行 git log <range> --oneline --no-merges;发布时可选 gh release create <tag> --notes-file /tmp/release-notes.md。
限制与规则:以 conventional commits 为来源,若项目未使用则回退为按文件分组(源码/测试/文档);条目保持一行一条,细节留在 PR 中;尽量关联 PR;不使用内置 explore 子代理。执行模型为主 agent 直接运行,token 预算约 2-4k。