用途:该技能帮助保持 CHANGELOG.md 准确、及时并面向用户,遵循 Keep a Changelog 格式,适用于产品演进过程中持续维护变更记录。智能体协助更新 ## [Unreleased],并在被明确要求时准备版本章节;用户仍需自行决定何时以及如何发布版本。
使用场景:用户明确要求更新或维护 CHANGELOG.md;用户提供变更并希望加入 ## [Unreleased];仓库变更暗示 CHANGELOG.md 应更新;用户希望把变更归类为 Added、Changed、Deprecated、Removed、Fixed、Security;用户希望把累积的 Unreleased 记录转为带版本的变更章节。
不适用场景:没有 CHANGELOG.md;CHANGELOG.md 不符合 Keep a Changelog 结构;变更纯属内部且与用户无关;用户要求智能体自行发布、打标签或执行发布。
范围与格式:变更记录仅包含对用户相关的产品变更,例如 src/ 内代码变更、公共 API、新的领域原语或行为、现有模块行为变化、影响安装或运行时行为的打包变更;不包含测试、CI/CD、GitHub Actions、智能体技能或内部工具、纯文档变更、格式或 lint 变更、无可见行为影响的重构。CHANGELOG.md 需保持 ## [Unreleased] 及 Added、Changed、Deprecated、Removed、Fixed、Security 结构,版本章节为 ## [X.Y.Z] - YYYY-MM-DD,底部存在参考链接,除非被明确要求否则不要增改底部参考链接。
分类规则:Added 新功能;Changed 现有功能变更;Deprecated 即将移除的功能;Removed 已移除功能;Fixed 缺陷修复;Security 安全漏洞。避免类别间重复,条目简短、中立、面向用户,优先结果导向措辞,排除内部变更。
工作流 A 更新 Unreleased:从用户摘要、提交、PR 描述或 diff 中提取值得注意的用户可见变更,排除非用户可见与非重要变更,按类别放入 ## [Unreleased],保留原有格式与间距,输出补丁/diff 或更新后的 Unreleased 块。
工作流 B 创建版本章节:用户明确要求时,使用目标版本 X.Y.Z 与用户时区的今天日期(YYYY-MM-DD),在 Unreleased 下新建 ## [X.Y.Z] - YYYY-MM-DD,把 Unreleased 内容移入新版本章节,保留相同类别标题,省略空类别,将 Unreleased 各类别重置为占位状态,不编辑底部参考链接,输出 diff 或更新块。
输出:始终给出建议的 CHANGELOG.md 变更(diff 或更新章节)、任何假设或待定项,并简短说明发布决策与打标签由用户负责,智能体仅协助保持 CHANGELOG.md 最新。