mcpField
U
update-changelog

update-changelog

github.com/alibaba开发29.6k40 次安装8 周前更新
代码仓库

关于 update-changelog

update-changelog 是依据仓库证据更新 `docs/CHANGELOG.md` 的技能,避免凭猜测编写。它核对发布说明、标签和提交记录,并按项目现有风格撰写简洁条目。

主要功能

  1. 01匹配现有变更日志格式和语气
  2. 02确定最新尚未记录的版本
  3. 03依据发布说明、标签、历史和差异
  4. 04纳入用户可见变更及相关修复
  5. 05核对日期、版本和 Markdown 结构

适用场景

  1. 01为 `docs/CHANGELOG.md` 添加最新发布条目
  2. 02使变更日志与 GitHub Releases 内容一致
  3. 03依据提交历史和代码差异总结标签

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alibaba/page-agent --skill update-changelog

安装后在 Claude Code 中输入/update-changelog确认已加载。

详细介绍

更新变更日志

根据仓库中的事实证据更新 docs/CHANGELOG.md,而不是凭猜测。

适用场景

  • 将最新版本条目添加到 docs/CHANGELOG.md
  • 将变更日志文本与 GitHub Releases 保持同步
  • 从 git 历史或代码差异中总结最新标签的变更

默认约定

  • 措辞保持简洁
  • 除非用户明确要求补充更早的版本,否则只添加最新缺失的版本
  • 优先使用 GitHub 来源,尤其是 Releases 和标签元数据
  • 当发布内容只有少量明确条目时,跳过 Features / Improvements / Bug Fixes 标题

操作流程

1. 阅读本地风格
  • 打开 docs/CHANGELOG.md
  • 匹配现有的语气、列表符号、章节顺序和日期格式
2. 确定目标版本
  • 读取根目录 package.json 中的版本号,并与变更日志顶部条目进行比较
  • 查找目标版本的上一个标签
  • 如果最新版本已被记录,则停止操作并报告无需更新变更日志
3. 收集证据

按以下顺序优先参考这些来源:

  1. GitHub 发布说明
GH_PAGER=cat gh release view v<version> --repo <owner>/<repo> --json tagName,name,publishedAt,body
  1. 标签日期
git log -1 --format=%cs v<version>
  1. 标签之间的提交历史
git --no-pager log --format='%h %s' --no-merges v<previous>..v<version>
  1. 当提交标题含糊不清时,查看差异范围
git --no-pager diff --name-only v<previous>..v<version>
git --no-pager diff --stat v<previous>..v<version>
  1. 仅当面向用户的变更仍不清楚时,才直接阅读相关文件
4. 筛选变更日志应包含的内容

应包含:

  • 面向用户的功能
  • 重要的行为变更
  • 提升可靠性、兼容性或开发者体验的 bug 修复
  • 仅当实质改变了受支持的配置或入门流程时,才包含小幅文档更新

除非明确要求,否则应排除:

  • 纯版本号升级
  • 常规依赖更新
  • 对可见影响为零的内部重构
  • 机械性的格式噪音
5. 选择结构
  • 如果发布内容有 1 到 3 个明确要点,则直接在版本标题下写平铺的列表项
  • 如果发布内容包含多个不同条目,则使用简短的标题,例如 ### Features、### Improvements 和 ### Bug Fixes
  • 如果分类会使条目变长或变杂乱,则不要强行分类
6. 撰写条目
  • 仅添加或更新所请求的发布条目
  • 列表项保持简短具体
  • 复用邻近条目中已有的项目术语
  • 避免营销式语言
  • 不要逐字复制嘈杂的 GitHub 发布文本
7. 验证
  • 检查日期、版本号和标签边界
  • 确保 Markdown 结构与邻近条目一致
  • 确认除非有要求,否则没有添加中间版本

完成检查

  • 最新请求的版本已被记录
  • 措辞简洁,并与周围的变更日志保持一致
  • 条目有 GitHub 发布、git 历史或代码差异作为证据支撑
  • 低信号的内部变更已被排除

评论

支持 Markdown