【Skill分享】Git 变更日志生成器

今天才看到 Trae 更新了GLM-5V-Turbo,立马创建一个新skill试试。

:open_book: 一、Skill 介绍:背景与使用场景

1.1 背景

痛点:技术语言与业务沟通的鸿沟

在现代软件开发团队中,一个普遍存在的问题是:

开发者写的是代码,但客户需要的是价值。

每次产品发布时,开发团队都会产生大量的 Git 提交记录,这些记录充满了技术术语:

  • “Refactored authentication module to implement OAuth 2.0 with JWT tokens”

  • “Optimized database queries by adding indexing on user_table”

  • “Fixed race condition in session management”

但对于非技术人员来说(产品经理、市场人员、最终客户、企业决策者),这些信息:

  • :cross_mark: 无法理解技术含义

  • :cross_mark: 不知道对自己的影响

  • :cross_mark: 难以判断更新的重要性

  • :cross_mark: 无法向他人传达变更价值

传统解决方案的不足

方案 问题
人工编写变更日志 耗时耗力,容易遗漏,质量不稳定
使用自动化工具 输出仍然偏技术化,需要二次加工
直接复制提交记录 客户完全看不懂,体验极差
跳过变更日志 用户不知道更新了什么,降低产品透明度

1.2 典型使用场景

背景:维护一个 GitHub 开源项目,需要在 Release 页面提供清晰的更新说明。

痛点

  • 社区贡献者众多,提交风格不一

  • 需要感谢贡献者但要保持专业

  • 全球用户,需要多语言支持

本技能的优势

  • 统一处理不同风格的提交消息

  • 自动识别和归类变更

  • 生成符合开源社区规范的 CHANGELOG.md

  • 支持中英文等多语言输出


:rocket: 二、具体使用方法:如何调用与操作步骤

2.1 技能调用方式

方式一:自动触发(推荐)

当你的请求包含以下关键词时,技能会自动激活


# 触发示例 1:明确提到 Git 日志

"帮我把这些 Git 提交记录转换成变更日志"

# 触发示例 2:提到发布说明

"基于最近的提交生成 v2.0 的 release notes"

# 触发示例 3:面向非技术人员

"给产品经理写一份易懂的产品更新摘要"

# 触发示例 4:客户沟通

"把开发者的 commit message 翻译成客户能看懂的版本"

方式二:显式调用

如果你已经知道要使用此技能,可以直接指定:


# 使用 git-changelog-generator 技能

请使用 git-changelog-generator 技能来分析以下提交记录...

2.2 操作步骤详解

步骤 1:准备输入数据

最佳实践:使用格式化的 Git 日志输出


# 在项目根目录执行

git log --pretty=format:"%h|%s|%b|%an|%ad" --date=short -20

输出示例


a1b2c3d|feat: add dark mode support|Implemented theme toggle with system preference detection|张三|2026-01-15

e4f5g6h|fix: resolve login timeout issue|Increased session timeout from 30min to 2 hours|李四|2026-01-14

i7j8k9l|perf: optimize image loading by 50%|Added lazy loading and WebP format support|王五|2026-01-13

m0n1o2p|docs: update API documentation|Added examples for new endpoints|赵六|2026-01-12

q3r4s5t|security: patch XSS vulnerability|Escaped user input in comment section|钱七|2026-01-11

其他可接受的输入格式

:white_check_mark: 直接粘贴原始 git log 输出\

:white_check_mark: JSON/YAML 格式的提交列表\

:white_check_mark: 单条或多条提交消息\

:white_check_mark: 特定范围的提交(如 v1.0..v2.0


步骤 2:配置输出选项(可选)

你可以根据需求自定义输出:

选项 A:选择输出格式

# Markdown 格式(默认)

"生成 Markdown 格式的变更日志"

# JSON 格式(用于 API/集成)

"输出为 JSON 格式"

# HTML 格式(用于网页)

"生成 HTML 格式的变更日志"

# 邮件模板(可直接发送)

"生成可以发给客户的邮件模板"

选项 B:选择语气风格

# 专业版(默认,适合企业客户)

"用专业的语气撰写"

# 友好休闲版(适合消费者应用)

"用轻松友好的口吻,可以用表情符号"

# 简洁版(快速浏览)

"尽量简洁,只要要点列表"

# 详细版(包含技术细节)

"详细一点,保留一些技术上下文"

选项 C:选择目标受众

# 面向最终用户

"这是给普通用户看的"

# 面向产品经理

"这是给 PM 看的,强调业务价值"

# 面向管理层

"这是给高层领导看的,要突出战略意义"

选项 D:选择详细程度

# 高层概括(每个变更一行)

"给我一个简洁的概览"

# 标准版(类别 + 描述 + 收益)

"按标准格式生成"

# 详细版(包含前后对比)

"详细说明每个变更的影响"

# 管理层版(聚焦 ROI)

"从商业角度总结这些变更的价值"


步骤 3:执行与获取结果

完整调用示例


我最近完成了一个版本的更新,Git 提交记录如下:

feat: add dark mode support

fix: resolve login timeout issue

perf: optimize image loading by 50%

docs: update API documentation

security: patch XSS vulnerability

请帮我生成一份面向客户的中文变更日志,

使用友好休闲的风格,JSON 格式输出。


步骤 4:审核与调整(可选)

如果初次输出不满意,可以进行迭代优化:


# 调整 1:修改语气

"太正式了,改得更口语化一些"

# 调整 2:补充信息

"这个功能的用户收益说得太笼统,具体一点"

# 调整 3:重新分类

"'fix: login timeout' 应该归到安全更新而不是 bug 修复"

# 调整 4:增删章节

"不需要测试相关的部分,只保留功能和修复"

:artist_palette: 三、效果展示

之前写了个浏览器插件,用来生成用户友好日志的效果如下:

四、最后

项目地址: Skills/Skills/git-changelog-generator/SKILL.md at main · Sleepwal/Skills

:e_mail: 有问题或建议?欢迎提 Issue 或发起讨论!

2 个赞

这个挺好的

2 个赞

有用过的说一下实际用下来感觉怎么样么?