从上次标签以来的git历史生成面向用户的App Store发布说明。
技能概述
app-store-changelog 技能从git历史生成全面的、面向用户的变更日志,然后将提交转换为清晰的App Store发布说明。它自动收集自上次标签以来的更改,分类用户可见的更改,并生成适合App Store"新功能"部分的发布说明。
下载地址:agentic-awesome-skills/skills/app-store-changelog at main · sickn33/agentic-awesome-skills · GitHub
主要功能
- 自动收集更改: 从git历史自动收集提交和触及的文件
- 用户影响分类: 扫描提交和文件以识别用户可见的更改
- 智能分组: 按主题分组更改(新增、改进、修复)并去除重叠
- 内部过滤: 自动删除仅内部的工作(构建脚本、重构、依赖项更新、CI)
- App Store格式: 生成简短、以利益为中心的要点,适合App Store发布说明
触发条件
在以下情况下应该调用此技能:
- 用户要求从git历史生成App Store"新功能"文本或发布说明
- 需要将原始提交转换为简洁的、面向用户的发布要点
工作流程
1. 收集更改
从仓库根目录运行scripts/collect_release_changes.sh以收集提交和触及的文件。如果需要,传递特定的标签或引用。
2. 用户影响分类
扫描提交和文件以识别用户可见的更改。按主题分组更改(新增、改进、修复)并去除重叠。删除仅内部的工作。
3. 起草App Store说明
为每个面向用户的更改编写简短、以利益为中心的要点。使用清晰的动词和简单的语言;避免内部术语。除非用户要求不同的长度,否则优先5到10个要点。
4. 验证
确保每个要点映射回范围内的真实更改。检查重复和过于技术性的措辞。如果任何更改模糊或可能仅内部,请求澄清。
提交到要点示例
| 原始提交消息 | App Store要点 |
|---|---|
| fix(auth): resolve token refresh race condition on iOS 17 | • 修复了一个可能导致某些用户意外登出的登录问题。 |
| feat(search): add voice input to search bar | • 使用新的语音输入选项免提搜索您的库。 |
| perf(timeline): lazy-load images to reduce scroll jank | • 滚动浏览您的时间线现在更流畅、更快速。 |
删除的仅内部提交
以下类型的提交会被自动删除(无用户影响):
- chore: upgrade fastlane to 2.219
- refactor(network): extract URLSession wrapper into module
- ci: add nightly build job
示例输出
What's New in Version 3.4 • 使用新的语音输入选项免提搜索您的库。 • 滚动浏览您的时间线现在更流畅、更快速。 • 修复了一个可能导致某些用户意外登出的登录问题。 • 为设置屏幕添加了深色模式支持。 • 改进了打开大型相册时的加载时间。
输出格式
- 标题(可选): "What's New"或产品名称+版本
- 仅要点列表;每个要点一句话
- 如果用户提供,请遵守店面限制
最佳实践
- 关注用户利益: 编写简短、以利益为中心的要点
- 清晰语言: 使用清晰的动词和简单的语言;避免内部术语
- 适当长度: 优先5到10个要点,除非用户要求不同的长度
- 验证映射: 确保每个要点映射回真实更改
- 去除技术性: 检查重复和过于技术性的措辞
资源
- scripts/collect_release_changes.sh: 收集自上次标签以来的提交和触及的文件
- references/release-notes-guidelines.md: App Store说明的语言、过滤和QA规则
注意事项
- 仅在任务明确匹配上述范围时使用此技能
- 不要将输出作为环境特定验证、测试或专家审查的替代品
- 如果缺少所需的输入、权限、安全边界或成功标准,请停止并请求澄清