/changelog-generator
智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。
$ npx -y skills add peterfei/ai-agent-team --skill changelog-generator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/changelog-generator
Context preview
The summary Claude sees to decide when to auto-load this skill.
智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。
SKILL.md
changelog-generator.SKILL.mdname: changelog-generator
description: "智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。"
license: MIT
changelog-generator - 智能变更日志生成器
概述
当用户需要生成或更新 CHANGELOG 时,此 skill 会自动完成以下流程: 1. 分析 Git 提交历史 2. 根据 Conventional Commits 规范解析提交 3. 智能分类和组织变更 4. 生成符合 Keep a Changelog 标准的 CHANGELOG.md 5. 支持版本发布和增量更新
支持的触发指令
用户可以通过以下方式触发此 skill:
- "changelog" - 简易触发词
- "变更日志" - 简易触发词
- "帮我生成 CHANGELOG" - 生成完整的 CHANGELOG
- "更新 CHANGELOG" - 增量更新 CHANGELOG
- "发布新版本" - 发布正式版本
- "初始化 changelog 配置" - 创建配置文件
工作流程
步骤 1: 初始化配置(首次使用)
**命令**:
cd ~/.claude/skills/changelog-generator
npm install
# 在项目目录中初始化配置
cd /path/to/your/project
changelog-generate init
**配置文件**: `.changelogrc.json`
交互式配置会询问:
- 当前版本号
- 语言选择(中文/英文)
- 是否使用 emoji
- 是否显示作者信息
步骤 2: 生成 CHANGELOG
**场景 A: 首次生成完整 CHANGELOG**
# 生成所有历史提交的 CHANGELOG
changelog-generate generate --all
# 生成指定范围的 CHANGELOG
changelog-generate generate --from v1.0.0 --to v2.0.0
**场景 B: 增量更新 CHANGELOG**
# 更新 [Unreleased] 区域
changelog-generate update
# 从指定标签开始更新
changelog-generate update --from v2.0.0
**场景 C: 发布新版本**
# 自动确定版本号(交互式)
changelog-generate release
# 手动指定版本号
changelog-generate release --version 2.1.0
# 指定日期
changelog-generate release --version 2.1.0 --date 2023-11-10
步骤 3: 输出文件
**默认输出路径**: `./CHANGELOG.md`
**生成的 CHANGELOG 示例**:
# Changelog
All notable changes to this project will be documented in this file.
## [Unreleased]
## [2.0.0] - 2023-11-10
### 💥 BREAKING CHANGES
- **api:** Remove deprecated v1 endpoints (#123)
### ✨ Features
- **auth:** Add JWT authentication (#120)
- **api:** Add user profile endpoint (#121)
### 🐛 Bug Fixes
- **ui:** Fix button alignment issue (#122)
### 📝 Documentation
- Update API documentation
## [1.0.0] - 2023-10-01
...
核心功能
1. 智能提交解析
支持 Conventional Commits 规范:
feat(auth): add login functionality
^ ^ ^
type scope subject
BREAKING CHANGE: Remove old auth API
**支持的提交类型**:
- `feat`: ✨ Features
- `fix`: 🐛 Bug Fixes
- `docs`: 📝 Documentation
- `style`: 💄 Styles (可隐藏)
- `refactor`: ♻️ Code Refactoring
- `perf`: ⚡ Performance
- `test`: ✅ Tests
- `build`: 📦 Build System
- `ci`: 👷 CI/CD
- `chore`: 🔧 Chores (可隐藏)
2. 自动版本管理
根据提交类型自动确定版本号:
| 提交类型 | 版本影响 | 示例 | |---------|---------|------| | BREAKING CHANGE | Major | 1.0.0 → 2.0.0 | | feat | Minor | 1.0.0 → 1.1.0 | | fix | Patch | 1.0.0 → 1.0.1 |
3. PR 和 Issue 引用
自动识别和链接:
feat: add new feature (#123)
fix: resolve bug (fixes #456)
生成链接:
- **feat:** add new feature ([#123](https://github.com/user/repo/pull/123))
4. 破坏性变更检测
两种检测方式:
**方式 1**: 使用 `BREAKING CHANGE` footer
feat: add new API
BREAKING CHANGE: Old API is removed
**方式 2**: 使用 "!" (感叹号) 标记
feat!: remove deprecated method
配置选项
完整配置示例
{
"version": "1.0.0",
"format": "keepachangelog",
"language": "zh-CN",
"display": {
"emoji": true,
"groupByType": true,
"showAuthor": true,
"showPR": true,
"showIssue": true
},
"types": [
{ "type": "feat", "section": "Features", "emoji": "✨" },
{ "type": "fix", "section": "Bug Fixes", "emoji": "🐛" },
{ "type": "chore", "hidden": true }
],
"exclude": {
"types": ["style", "chore"],
"scopes": ["deps"]
}
}使用场景
场景 1: 新项目首次生成
# 1. 初始化配置
changelog-generate init
# 2. 生成 CHANGELOG
changelog-generate generate --all
# 输出: CHANGELOG.md 包含所有历史提交
场景 2: 日常开发增量更新
# 在每次 PR 合并后或定期更新
git pull
changelog-generate update
# 查看 [Unreleased] 的内容
changelog-generate preview
场景 3: 发布新版本
# 1. 更新 CHANGELOG
changelog-generate update
# 2. 预览将要发布的内容
changelog-generate preview
# 3. 发布版本
changelog-generate release
# 4. 提交和推送
git add CHANGELOG.md
git commit -m "chore(release): 2.0.0"
git tag v2.0.0
git push && git push --tags
场景 4: CI/CD 自动化
**GitHub Actions**:
name: Update Changelog
on:
push:
branches: [main]
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Update Changelog
run: |
npm install -g changelog-generate
changelog-generate update
- name: Commit
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add CHANGELOG.md
git commit -m "docs: update changelog" || true
git pushCLI 命令参考
`init` - 初始化配置
changelog-generate init
交互式创建 `.changelogrc.json` 配置文件。
`generate` - 生成 CHANGELOG
changelog-generate generate [options]
Options:
-f, --from <tag> 起始标签
-t, --to <tag> 结束标签 (默认: HEAD)
-o, --output <file> 输出文件 (默认: CHANGELOG.md)
--all 包含所有历史提交
`update` - 增量更新
changelog-generate update [options]
Options:
-f, --from <tag> 起始标签(默认为最新标签)
-o, --output <file> CHANGELOG 文件 (默认: CHANGELOG.md)
`release` - 发布版本
changelog-generate release [options]
Options:
-v, --version <version> 版本号
-d, --date <date> 发布日期
-o, --output <file> CHANGELOG 文件
`preview` - 预览 Unreleased
changelog-generate preview
显示 [Unreleased] 区域的内容。
最佳实践
1. 规范的 Commit Message
使用 Conventional Commits 规范:
# 好的示例
git commit -m "feat(auth): add OAuth2 support"
git commit -m "fix(ui): resolve button alignment issue"
git commit -m "docs: update installation guide"
# 避免的示例
git commit -m "update code"
git commit -m "fix bug"
git commit -m "wip"
2. 使用 Commitlint
安装 commitlint 检查提交消息:
npm install --save-dev @commitlint/cli @commitlint/config-conventional
配置 `.commitlintrc.json`:
{
"extends": ["@commitlint/config-conventional"]
}3. Git Hooks 自动化
使用 husky 在提交时检查:
npm install --save-dev husky
# .husky/commit-msg
Read more
name: changelog-generator description: "智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。" license: MIT
changelog-generator - 智能变更日志生成器
概述
当用户需要生成或更新 CHANGELOG 时,此 skill 会自动完成以下流程: 1. 分析 Git 提交历史 2. 根据 Conventional Commits 规范解析提交 3. 智能分类和组织变更 4. 生成符合 Keep a Changelog 标准的 CHANGELOG.md 5. 支持版本发布和增量更新
支持的触发指令
用户可以通过以下方式触发此 skill:
- "changelog" - 简易触发词
- "变更日志" - 简易触发词
- "帮我生成 CHANGELOG" - 生成完整的 CHANGELOG
- "更新 CHANGELOG" - 增量更新 CHANGELOG
- "发布新版本" - 发布正式版本
- "初始化 changelog 配置" - 创建配置文件
工作流程
步骤 1: 初始化配置(首次使用)
**命令**:
cd ~/.claude/skills/changelog-generator npm install # 在项目目录中初始化配置 cd /path/to/your/project changelog-generate init
**配置文件**: `.changelogrc.json`
交互式配置会询问:
- 当前版本号
- 语言选择(中文/英文)
- 是否使用 emoji
- 是否显示作者信息
步骤 2: 生成 CHANGELOG
**场景 A: 首次生成完整 CHANGELOG**
# 生成所有历史提交的 CHANGELOG changelog-generate generate --all # 生成指定范围的 CHANGELOG changelog-generate generate --from v1.0.0 --to v2.0.0
**场景 B: 增量更新 CHANGELOG**
# 更新 [Unreleased] 区域 changelog-generate update # 从指定标签开始更新 changelog-generate update --from v2.0.0
**场景 C: 发布新版本**
# 自动确定版本号(交互式) changelog-generate release # 手动指定版本号 changelog-generate release --version 2.1.0 # 指定日期 changelog-generate release --version 2.1.0 --date 2023-11-10
步骤 3: 输出文件
**默认输出路径**: `./CHANGELOG.md`
**生成的 CHANGELOG 示例**:
# Changelog All notable changes to this project will be documented in this file. ## [Unreleased] ## [2.0.0] - 2023-11-10 ### 💥 BREAKING CHANGES - **api:** Remove deprecated v1 endpoints (#123) ### ✨ Features - **auth:** Add JWT authentication (#120) - **api:** Add user profile endpoint (#121) ### 🐛 Bug Fixes - **ui:** Fix button alignment issue (#122) ### 📝 Documentation - Update API documentation ## [1.0.0] - 2023-10-01 ...
核心功能
1. 智能提交解析
支持 Conventional Commits 规范:
feat(auth): add login functionality ^ ^ ^ type scope subject BREAKING CHANGE: Remove old auth API
**支持的提交类型**:
- `feat`: ✨ Features
- `fix`: 🐛 Bug Fixes
- `docs`: 📝 Documentation
- `style`: 💄 Styles (可隐藏)
- `refactor`: ♻️ Code Refactoring
- `perf`: ⚡ Performance
- `test`: ✅ Tests
- `build`: 📦 Build System
- `ci`: 👷 CI/CD
- `chore`: 🔧 Chores (可隐藏)
2. 自动版本管理
根据提交类型自动确定版本号:
| 提交类型 | 版本影响 | 示例 | |---------|---------|------| | BREAKING CHANGE | Major | 1.0.0 → 2.0.0 | | feat | Minor | 1.0.0 → 1.1.0 | | fix | Patch | 1.0.0 → 1.0.1 |
3. PR 和 Issue 引用
自动识别和链接:
feat: add new feature (#123) fix: resolve bug (fixes #456)
生成链接:
- **feat:** add new feature ([#123](https://github.com/user/repo/pull/123))
4. 破坏性变更检测
两种检测方式:
**方式 1**: 使用 `BREAKING CHANGE` footer
feat: add new API BREAKING CHANGE: Old API is removed
**方式 2**: 使用 "!" (感叹号) 标记
feat!: remove deprecated method
配置选项
完整配置示例
{
"version": "1.0.0",
"format": "keepachangelog",
"language": "zh-CN",
"display": {
"emoji": true,
"groupByType": true,
"showAuthor": true,
"showPR": true,
"showIssue": true
},
"types": [
{ "type": "feat", "section": "Features", "emoji": "✨" },
{ "type": "fix", "section": "Bug Fixes", "emoji": "🐛" },
{ "type": "chore", "hidden": true }
],
"exclude": {
"types": ["style", "chore"],
"scopes": ["deps"]
}
}使用场景
场景 1: 新项目首次生成
# 1. 初始化配置 changelog-generate init # 2. 生成 CHANGELOG changelog-generate generate --all # 输出: CHANGELOG.md 包含所有历史提交
场景 2: 日常开发增量更新
# 在每次 PR 合并后或定期更新 git pull changelog-generate update # 查看 [Unreleased] 的内容 changelog-generate preview
场景 3: 发布新版本
# 1. 更新 CHANGELOG changelog-generate update # 2. 预览将要发布的内容 changelog-generate preview # 3. 发布版本 changelog-generate release # 4. 提交和推送 git add CHANGELOG.md git commit -m "chore(release): 2.0.0" git tag v2.0.0 git push && git push --tags
场景 4: CI/CD 自动化
**GitHub Actions**:
name: Update Changelog
on:
push:
branches: [main]
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Update Changelog
run: |
npm install -g changelog-generate
changelog-generate update
- name: Commit
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add CHANGELOG.md
git commit -m "docs: update changelog" || true
git pushCLI 命令参考
`init` - 初始化配置
changelog-generate init
交互式创建 `.changelogrc.json` 配置文件。
`generate` - 生成 CHANGELOG
changelog-generate generate [options] Options: -f, --from <tag> 起始标签 -t, --to <tag> 结束标签 (默认: HEAD) -o, --output <file> 输出文件 (默认: CHANGELOG.md) --all 包含所有历史提交
`update` - 增量更新
changelog-generate update [options] Options: -f, --from <tag> 起始标签(默认为最新标签) -o, --output <file> CHANGELOG 文件 (默认: CHANGELOG.md)
`release` - 发布版本
changelog-generate release [options] Options: -v, --version <version> 版本号 -d, --date <date> 发布日期 -o, --output <file> CHANGELOG 文件
`preview` - 预览 Unreleased
changelog-generate preview
显示 [Unreleased] 区域的内容。
最佳实践
1. 规范的 Commit Message
使用 Conventional Commits 规范:
# 好的示例 git commit -m "feat(auth): add OAuth2 support" git commit -m "fix(ui): resolve button alignment issue" git commit -m "docs: update installation guide" # 避免的示例 git commit -m "update code" git commit -m "fix bug" git commit -m "wip"
2. 使用 Commitlint
安装 commitlint 检查提交消息:
npm install --save-dev @commitlint/cli @commitlint/config-conventional
配置 `.commitlintrc.json`:
{
"extends": ["@commitlint/config-conventional"]
}3. Git Hooks 自动化
使用 husky 在提交时检查:
npm install --save-dev husky # .husky/commit-msg
💛 Sponsored by DolOffer — GPT & Claude 正版会员充值,输入优惠码 AI8888 享9折特惠 🚀 拥有24/7专业AI开发团队:产品经理、全栈开发、前端开发、后端开发、测试工程师、DevOps工程师、技术负责人 💾 Thread Manager 让 AI 拥有记忆! 语义搜索 | 任务线程管理 | 完整上下文恢复 | 自动 Git 版本控制 ⚡ 只需 3 步完成安装 → 马上开始使用!
Repo: peterfei/ai-agent-team
Other skills on ai-agent-team.
- /backend-dev
后端开发 Agent — API 设计、数据库优化、服务器端逻辑、认证授权、性能优化
Open skill - /devops-engineer
DevOps 工程师 Agent — CI/CD 流水线、容器化与 K8s、基础设施即代码、可观测性
Open skill - /drawnote
智能笔记与流程图绘制工具(优化版-无权限读取)。根据用户提供的内容,自动生成精美的可视化笔记和流程图,支持多种风格(手写笔记、思维导图、流程图等),并导出为图片。使用内置模板,无需读取文件权限。适用于:(1) 学习笔记可视化,(2) 知识梳理与总结,(3) 流程图绘制,(4) 概念解释图表
Open skill - /frontend-dev
前端开发 Agent — UI 实现、组件构建、交互设计、性能优化、可访问性
Open skill - /fullstack-engineer
全栈开发 Agent — 前后端一体化开发、API 集成、端到端功能实现
Open skill - /product-manager
产品经理 Agent — 产品规划、需求分析、用户研究、路线图制定、竞品分析
Open skill

