
release-notes-generator
Use when generating release notes or a changelog from git history / conventional commits — categorizes changes, detects breaking changes, optionally creates a git tag and GitHub Release.
- Installs
- 542
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/wu529778790/shenzjd-skills --skill release-notes-generator- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads release-notes-generator automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Release Notes Generator
打 tag 时自动对比代码变更,生成标准化的 Release Notes。
Overview
对比上一个 tag 到当前 HEAD 的 git 历史,按 conventional commit 分类(feat/fix/docs/refactor/chore),自动检测 breaking changes,生成标准化的 Release Notes。可选创建 git tag 和 GitHub Release。
When to Use
- User wants to create a tag or release
- User wants to summarize version changes
- User mentions changelog, release notes, or version documentation
- User inputs
/release-notes - User wants to generate a CHANGELOG.md from commit history
- User wants to prepare a release with categorized changes
- User wants to auto-detect breaking changes before release
- User wants to create an annotated git tag with release notes
When NOT to Use:
- User only wants to view git log
- User wants to modify existing release notes
- User wants to generate changelogs for multiple repositories (different tooling)
- User wants to automate release notes in CI/CD (consider semantic-release or release-please)
Core Pattern
Step 1: 检测版本号
获取最新 tag(git describe --tags --abbrev=0),用户指定版本号或根据变更类型建议:有 breaking changes → major,有新功能 → minor,只有 bugfix → patch。
Step 2: 对比变更
PREV_TAG=$(git describe --tags --abbrev=0)
git log ${PREV_TAG}..HEAD --oneline
git diff ${PREV_TAG}..HEAD --stat
Step 3: 分类变更
| 类别 | 前缀 | 说明 |
|---|---|---|
| 🚀 Features | feat: | 新功能 |
| 🐛 Bug Fixes | fix: | 修复 |
| 📝 Documentation | docs: | 文档 |
| ♻️ Refactor | refactor: | 重构 |
| 🔧 Chores | chore: | 构建/工具/配置 |
| ⚡ Performance | perf: | 性能优化 |
| 🧪 Tests | test: | 测试 |
| 🔒 Security | security: | 安全修复 |
| 💥 Breaking Changes | BREAKING CHANGE 或 ! 后缀 | 破坏性变更 |
Breaking Changes 检测规则:
- commit 消息包含
BREAKING CHANGE:或BREAKING CHANGES: - commit 类型后带
!(如feat!:、fix!:) - commit body 中包含破坏性变更说明
读取 commit 消息中的 conventional commit 前缀,没有前缀的根据文件变更推断。
Step 4: 生成 Notes
使用 templates/release-notes.md 模板生成,包含版本号、日期、分类变更列表、diff 链接。
Step 5: 创建 Tag/Release(可选)
询问用户是否创建 annotated tag 和 GitHub Release。用本 skill 生成的 notes 作为 release body:
# 创建 annotated tag
git tag -a "$TAG" -m "$TAG"
# 创建 GitHub Release,使用生成的 release notes
gh release create "$TAG" --title "$TAG" --notes-file release-notes.md
Quick Reference
/release-notes # 交互式,自动建议版本号
/release-notes v1.1.0 # 指定版本号
/release-notes --dry-run # 只生成不创建 tag
| 参数 | 说明 | 默认值 |
|---|---|---|
version | 版本号 | 自动建议 |
--dry-run | 只生成不创建 | false |
Common Mistakes
| 错误 | 正确做法 | 原因 |
|---|---|---|
| 只看 commit 数量 | 分析实际代码变更 | commit 数量不代表变更规模 |
| 忽略 breaking changes | 重点标注 💥 | 用户需要知道不兼容变更 |
| 不分类,全部列在一起 | 按 feat/fix/docs 分组 | 可读性差 |
| notes 太长 | 精简为关键变更 + diff 链接 | 用户不需要看每个细节 |
| 没有前缀的 commit 直接忽略 | 根据文件变更推断类型 | 不是所有团队都严格使用 conventional commits |
| 版本号跳过 semver 规则 | 遵循 major.minor.patch 语义 | 随意编号导致依赖管理混乱 |
| 不检查 breaking changes 的 API 影响 | 标注受影响的接口和迁移方式 | 用户升级后才发现破坏性变更 |
| Release Notes 不包含 diff 链接 | 添加 ${PREV_TAG}...${TAG} 对比链接 | 方便用户查看具体代码变更 |
FAQ
What does the release-notes-generator skill do?
Use when generating release notes or a changelog from git history / conventional commits — categorizes changes, detects breaking changes, optionally creates a git tag and GitHub Release.
How do I install release-notes-generator?
Run npx skills add https://github.com/wu529778790/shenzjd-skills --skill release-notes-generator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/release-notes-generator/ (personal) or .claude/skills/release-notes-generator/ (project).
Which AI agents can use release-notes-generator?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is release-notes-generator safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains release-notes-generator?
It is published by wu529778790 in wu529778790/shenzjd-skills. It has 542 recorded installs.
More from wu529778790/shenzjd-skills
docker-build-deploy
wu529778790/shenzjd-skills
Use when containerizing a Node.js app and setting up GitHub Actions CI/CD to build, push to GHCR, and deploy via SSH. Multi-stage build, non-root user, caching.
dependency-audit
wu529778790/shenzjd-skills
Use when auditing project dependencies for security vulnerabilities, outdated packages, or license compliance across npm/yarn/pnpm, pip, go, and cargo.
git-hooks-setup
wu529778790/shenzjd-skills
Use when setting up git hooks (pre-commit, commit-msg, pre-push) with husky or native hooks for linting, formatting, commit conventions, and secret scanning.
db-migration-helper
wu529778790/shenzjd-skills
Use when generating database migration SQL from model or schema changes — compares current vs desired schema, detects diffs, outputs reversible safe migrations.
github-profile-beautifier
wu529778790/shenzjd-skills
Use when creating or improving a GitHub profile README — themed stats cards, project showcase, tech-stack badges, and typing banner. 5 themes, smart project ranking (snake contribution graph needs separate setup).
api-doc-generator
wu529778790/shenzjd-skills
Use when generating OpenAPI/Swagger API docs from existing code — scans routes/annotations, extracts params and responses, outputs a YAML/JSON spec.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.