home / skills / enoch-robinson / agent-skill-collection / changelog-writer

changelog-writer skill

/skills/documents/changelog-writer

This skill generates clear changelogs and release notes from commit history, guiding users through updates and versioned changes.

npx playbooks add skill enoch-robinson/agent-skill-collection --skill changelog-writer

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.6 KB
---
name: changelog-writer
description: 变更日志编写技能。当用户需要编写 CHANGELOG、版本发布说明、更新记录,或需要整理 Git 提交历史生成变更日志时使用此技能。
---

# Changelog Writer

生成规范、清晰的变更日志,帮助用户了解版本更新内容。

## 格式规范 (Keep a Changelog)

```markdown
# Changelog

## [Unreleased]

## [1.2.0] - 2024-01-15

### Added
- 新增用户导出功能
- 支持 OAuth2.0 登录

### Changed
- 优化首页加载速度
- 更新依赖版本

### Deprecated
- 废弃旧版API v1

### Removed
- 移除过时的配置项

### Fixed
- 修复登录超时问题
- 修复数据导出乱码

### Security
- 修复 XSS 漏洞
```

## 变更类型说明

| 类型 | 说明 |
|------|------|
| Added | 新增功能 |
| Changed | 功能变更 |
| Deprecated | 即将废弃 |
| Removed | 已移除功能 |
| Fixed | Bug 修复 |
| Security | 安全修复 |

## 版本号规范 (SemVer)

```
MAJOR.MINOR.PATCH

1.0.0 → 1.0.1# PATCH: 向后兼容的Bug 修复
1.0.1 → 1.1.0  # MINOR: 向后兼容的新功能
1.1.0 → 2.0.0  # MAJOR: 不兼容的 API 变更
```

## 编写原则

1. **面向用户**:描述对用户的影响,而非技术细节
2. **简洁明了**:每条记录一行,清晰描述变更
3. **按时间倒序**:最新版本在最上方
4. **关联Issue**:重要变更关联 Issue 编号

## 示例条目

```markdown
### Added
- 新增批量导入用户功能 (#123)
- 支持深色模式切换

### Fixed
- 修复大文件上传失败的问题 (#456)
- 修复移动端布局错位
```

Overview

This skill generates clear, user-focused changelogs and release notes from version histories or Git commits. It follows established formats like Keep a Changelog and SemVer to produce consistent, readable entries for releases and an Unreleased section. Use it to turn commit lists, issues, or feature summaries into structured changelog sections ready for publishing.

How this skill works

I analyze commit messages, issue titles, or a list of changes and classify each item into categories such as Added, Changed, Deprecated, Removed, Fixed, and Security. I format entries in markdown with version headers, release dates, and grouped change sections, following Keep a Changelog and SemVer conventions. I can include Issue/PR references, keep chronological ordering, and produce both compact release notes and detailed changelog sections.

When to use it

  • Preparing release notes for a new version before publishing
  • Converting Git commit history or PR list into a structured changelog
  • Maintaining an Unreleased section for ongoing work
  • Standardizing changelogs across multiple projects
  • Automatically generating changelogs for CI/CD pipelines

Best practices

  • Write concise, user-facing descriptions rather than internal technical details
  • Classify each change into one of: Added, Changed, Deprecated, Removed, Fixed, Security
  • Include issue or PR numbers for important items (e.g., (#123))
  • Order releases newest-first and keep single-line entries per change
  • Use SemVer for version headers and include release dates

Example use cases

  • Create a CHANGELOG.md from the last 50 Git commits, grouping by change type
  • Draft release notes summarizing new features and fixes for a public release
  • Convert issue tracker exports into an Unreleased changelog section
  • Produce terse release headlines for a blog post and detailed notes for repository
  • Integrate with CI to append a new version section on tag creation

FAQ

Can you extract changes automatically from Git?

Yes. Provide commit messages or a changelist; I will parse and classify entries. For best results, use conventional commit-style messages or include issue references.

How do you decide category (Added/Changed/Fixed)?

I use keywords and context from messages to map items to categories, and you can override classifications manually for edge cases.

Do you support different changelog formats?

I primarily produce Keep a Changelog-compatible markdown and SemVer headers, but I can adapt to simpler release-note formats on request.