关于 docs-changelog
根据版本号、时间戳和 Markdown 发布说明更新变更日志文件的流程技能。它区分正式版与预览版,以及次版本与补丁版本,并分别规定更新步骤。
主要功能
- 01正式版与预览版流程判断
- 02次版本与补丁版本步骤
- 03发布说明预处理
- 04变更日志模板更新
- 05格式检查与文件清理
适用场景
- 01更新次版本的变更日志
- 02添加补丁版本的发布说明
- 03准备预览版文档
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google-gemini/ gemini-cli --skill docs-changelog安装后在 Claude Code 中输入/docs-changelog确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/highlights_examples.mdindex_template.mdlatest_template.mdpreview_template.md详细介绍
流程:更新新版本的变更日志
目标
规范根据自动生成的发布信息更新变更日志文件(latest.md、
preview.md、index.md)的流程。
输入
- version:发布版本字符串(例如,
v0.28.0、v0.29.0-preview.2)。 - TIME:发布时间戳(例如,
2026-02-12T20:33:15Z)。 - BODY:原始 Markdown 发布说明,包含“What's Changed”部分和 “Full Changelog”链接。
latest.md 和 preview.md 的重点内容指南
- 目标是列出 3-5 个重点。
- 每个重点都必须以一个概括变更内容的粗体标题开头(例如,
**New Feature:** A brief description...)。 - 优先总结新功能,而非修复错误或日常维护等其他变更。
- 在稳定版中,避免提及“实验性”或“预览中”的功能。
- 不要在这些重点中包含 PR 编号、链接或作者姓名。
- 请参阅
.gemini/skills/docs-changelog/references/highlights_examples.md了解正确的风格和语气。
初始处理
- 分析版本:根据
version字符串确定发布路径。- 如果
version包含“nightly”,停止。不做任何更改。 - 如果
version以.0结尾,遵循路径 A:新次要版本流程。 - 如果
version不以.0结尾,遵循路径 B:补丁版本流程。
- 如果
- 处理时间:将
TIME输入转换为以下两种格式,以便后续使用:yyyy-mm-dd和Month dd, yyyy。 - 处理正文:
- 将收到的
BODY内容保存到临时文件中以供处理。 - 在临时文件的“What's Changed”部分中,将所有拉取请求 URL 重新格式化为以 PR 编号为文本的 Markdown 链接(例如,
[#12345](URL))。 - 如果存在“New Contributors”部分,请将其删除。
- 保留“Full Changelog”链接。此临时文件处理后的内容将在后续步骤中使用。
- 将收到的
路径 A:新次要版本
如果版本号以 .0 结尾,请使用此路径。
**重要:**根据版本,必须选择遵循 A.1 稳定版或 A.2 预览版。不要遵循另一部分中的说明。
A.1:稳定版(例如,v0.28.0)
对于稳定版,你需要根据变更日志生成两种不同的摘要:用于主变更日志页面的简洁公告,以及用于特定版本页面的详细重点内容部分。
-
为
index.md创建公告:- 生成简洁的公告,总结最重要的变更。每条公告都必须以一个概括变更内容的粗体标题开头。
- 重要:此公告的格式独特。你必须参考
docs/changelogs/index.md中现有的公告以及.gemini/skills/docs-changelog/references/index_template.md中的示例。此格式包含 PR 链接和作者。仅使用 1 或 2 个 PR 链接和作者。 - 将此新公告添加到
docs/changelogs/index.md顶部。
-
创建重点内容并更新
latest.md:- 按照上文“
latest.md和preview.md的重点内容指南”部分的要求, 生成完整的“Highlights”部分。 - 使用
.gemini/skills/docs-changelog/references/latest_template.md中的内容。 - 将
version、release_date、生成的highlights以及临时文件中处理后的内容填入模板。 - 完全替换
docs/changelogs/latest.md的内容,换成填充后的模板。
- 按照上文“
A.2:预览版发布(例如,v0.29.0-preview.0)
- 更新
preview.md:- 按照亮点编写指南,生成完整的“亮点”部分。
- 从
.gemini/skills/docs-changelog/references/preview_template.md获取内容。 - 使用
version、release_date、生成的highlights以及临时文件中的处理后内容填充模板。 - 完全替换
docs/changelogs/preview.md的内容,换成填充后的模板。
路径 B:补丁版本
如果版本号不以 .0 结尾,请使用此路径。
重要提示: 根据版本号,你必须选择遵循 B.1(稳定版补丁)或 B.2(预览版补丁)。不要遵循另一节中的说明。
B.1:稳定版补丁(例如,v0.28.1)
- 目标文件:
docs/changelogs/latest.md - 对目标文件执行以下编辑:
-
更新主标题中的版本号。该行应为:
# Latest stable release: {{version}} -
更新发布日期。该行应为:
Released: {{release_date_month_dd_yyyy}} -
确定临时文件中是否存在“What's Changed”部分。 如果存在,继续执行第 4 步;否则,跳到第 5 步。
-
将临时文件中处理后的“What's Changed”列表前置到
latest.md现有的“What's Changed”列表中。不要更改或替换现有列表,只在其开头添加内容。 -
在“Full Changelog”中,仅编辑 URL 的末尾。找到类似
...{previous_version}的 URL 最后一部分,并将其更新为...{version}。示例:假设补丁版本为
v0.29.1。将Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0更改为Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.1
-
B.2:预览版补丁(例如,v0.29.0-preview.3)
- 目标文件:
docs/changelogs/preview.md - 对目标文件执行以下编辑:
-
更新主标题中的版本号。该行应为:
# Preview release: {{version}} -
更新发布日期。该行应为:
Released: {{release_date_month_dd_yyyy}} -
确定临时文件中是否存在“What's Changed”部分。 如果存在,继续执行第 4 步;否则,跳到第 5 步。
-
将临时文件中处理后的“What's Changed”列表前置到
preview.md现有的“What's Changed”列表中。不要更改或替换现有列表,只在其开头添加内容。 -
在“Full Changelog”中,仅编辑 URL 的末尾。找到类似
...{previous_version}的 URL 最后一部分,并将其更新为...{version}。示例:假设补丁版本为
v0.29.0-preview.1。将Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0-preview.0更改为Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0-preview.1
-
收尾
- 完成更改后,如果
npm run format失败,可能需要先运行npm install,以确保所有格式化依赖均可用。 然后运行npm run format,确保格式一致。 - 删除处理过程中创建的所有临时文件。