AgentSkillsCN

changelog

掌握变更日志的编写与管理最佳实践与工具。遵循“Keep a Changelog”规范,确保变更记录既便于人类阅读,又易于理解。

SKILL.md
--- frontmatter
name: changelog
description: 生成和管理变更日志的最佳实践和工具。遵循 "Keep a Changelog" 规范,确保变更记录对人类友好且易于阅读。

Changelog 生成与管理规范

变更日志(Changelog)是一个按时间顺序排列的列表,记录了项目中每个版本值得注意的变更。

使用时机

  • 项目发布新版本前
  • 合并重大 feature 或 fix 后
  • 用户要求「更新变更日志」「生成 changelog」「记录本次改动」
  • 需要对用户展示项目演进过程时

核心原则 (Keep a Changelog)

  1. 为人而写:变更日志是给人类阅读的,而不是机器。
  2. 版本独立:每个版本都应该有独立的内容区块。
  3. 最新优先:最新的版本排在最前面。
  4. 包含日期:每个版本都应标注发布日期(YYYY-MM-DD)。
  5. 链接版本:建议提供版本间差异对比的链接。

变更分类

所有变更必须归入以下类别之一:

  • Added: 新增的功能。
  • Changed: 现有功能的变更。
  • Deprecated: 不建议使用、将在未来版本删除的功能。
  • Removed: 已删除的功能。
  • Fixed: Bug 修复。
  • Security: 安全问题的修复。

格式规范

文件结构示例

markdown
# Changelog

项目的所有显著变更都将记录在此文件中。

本项目遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/) 规范。

## [Unreleased]

### Added
- 支持了自定义键位映射 ([#123](https://github.com/example/repo/pull/123))

## [1.0.0] - 2026-01-25

### Added
- 初始版本发布。
- 实现基础的文本编辑功能和终端模拟。

### Fixed
- 修复了在某些终端下光标闪烁的问题。

[Unreleased]: https://github.com/example/repo/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/example/repo/releases/tag/v1.0.0

与 Git 提交记录的关系

建议结合 git_commit 技能中的 约定式提交 (Conventional Commits) 来生成或更新此文件:

  • feat -> Added
  • fix -> Fixed
  • perf -> Changed
  • refactor -> Changed
  • BREAKING CHANGE -> Changed (并高亮说明)

工作流

  1. 收集变更:使用 git log --pretty=format:"%s" 查看自上个版本以来的所有提交。
  2. 分类整理:根据提交记录的类型将变更归入 Added, Changed, Fixed 等类别。
  3. 编写描述
    • 移除无意义的提交(如 chore: typo)。
    • 编写通俗易懂的中文描述。
    • 引用相关的 Issue 或 Pull Request 编号。
  4. 更新 [Unreleased] 段落:如果是开发中的改动,先更新在 Unreleased 下。
  5. 发布版本
    • Unreleased 下的内容移到新版本号下。
    • 添加当前日期。
    • 更新文件底部的差异对比链接。