release-changelog

根据 Conventional Commits 自动生成或更新 CHANGELOG,用于发布前整理变更、打 tag 前统一记录。包含可执行脚本,支持 dry-run、指定版本与起始 ref。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release-changelog" with this command: npx skills add 7up-ai/coding-skill/7up-ai-coding-skill-release-changelog

Release Changelog

根据仓库中的 Conventional Commits 自动生成或更新 CHANGELOG.md,适用于发布前整理变更、打 tag 前统一记录版本历史。本 skill 包含一个 Node 脚本,可在任意 Git 仓库根目录执行。

何时使用

  • 用户说「准备发版」「更新 CHANGELOG」「根据 commit 生成 changelog」「release 前整理变更」
  • 需要把最近一批 commit 按类型整理成 Keep a Changelog 格式
  • 打新 tag / 发新版本前要写一段版本说明
  • 团队约定使用 Conventional Commits(feat:, fix:, docs: 等),希望自动汇总

前置条件

  • 当前目录是 Git 仓库根目录(或通过 --repo 指定)
  • 已安装 Node.js(脚本为 ESM,无额外依赖)
  • Commit 消息尽量符合 Conventional Commits(不强制,不符合的会归入「Other」)

使用方式

1. 确定脚本路径

若通过 npx skills add 安装本 skill,脚本位于 skill 目录下的 scripts/update-changelog.mjs。例如全局安装后可能在:

  • macOS/Linux: ~/.agents/skills/<provider>/coding-skills/release-changelog/scripts/update-changelog.mjs
  • 或 Cursor/Codex 的 skills 目录中的对应路径

要生成 CHANGELOG 的仓库根目录执行:

node /path/to/release-changelog/scripts/update-changelog.mjs [选项]

若把本仓库 clone 到本地,可直接在项目根目录执行:

node /path/to/coding-skills/skills/release-changelog/scripts/update-changelog.mjs

2. 常用命令

# 自上次 tag 以来的 commit 生成「Unreleased」段落,只打印不写文件
node scripts/update-changelog.mjs --dry-run

# 同上,并写入 CHANGELOG.md(无则创建)
node scripts/update-changelog.mjs

# 生成并写入,且新段落版本号为 1.2.0,带日期
node scripts/update-changelog.mjs --version 1.2.0

# 从指定 ref 开始(默认是上一个 tag),例如从 main 分支
node scripts/update-changelog.mjs --since main

# 指定仓库路径(默认为当前目录)
node scripts/update-changelog.mjs --repo /path/to/your/repo

3. 选项说明

选项说明默认
--dry-run只输出将要写入的内容,不修改文件-
--version <ver>新段落版本号(如 1.2.0),不写则用 UnreleasedUnreleased
--since <ref>从该 ref 之后的 commit 统计(tag 或分支名)上一个 tag
--repo <path>目标 Git 仓库根目录process.cwd()
--changelog <path>CHANGELOG 文件路径CHANGELOG.md

Conventional Commits 映射

脚本将 commit type 映射到 Keep a Changelog 的段落:

TypeChangelog 段落
featAdded
fixFixed
docs归入 Changed(可再细化为 Docs)
style, refactor, perf, test, choreChanged
BREAKING CHANGE! in scopeBreaking(单独一段或高亮)
其他Other

Commit 格式建议:type(scope): description,例如:

  • feat(auth): add SSO login
  • fix(api): correct pagination total
  • docs: update README install steps

输出示例

执行后会在 CHANGELOG.md 顶部插入新段落,例如:

## [Unreleased] - 2025-02-03

### Added
- feat(auth): add SSO login (#42)
- feat(api): support filter by date range

### Fixed
- fix(api): correct pagination total (#38)

### Changed
- docs: update README install steps
- refactor(store): simplify state shape

若使用 --version 1.2.0,则标题为 ## [1.2.0] - 2025-02-03

与 Agent 协作

当用户要求「准备发版」「更新 CHANGELOG」时:

  1. 确认当前对话所在目录是目标仓库根目录,或让用户提供仓库路径。
  2. 先执行一次 --dry-run,把输出贴给用户确认。
  3. 用户确认后再执行无 --dry-run 的命令,写入 CHANGELOG.md
  4. 若用户要打 tag,可建议:git tag -a v1.2.0 -m "Release 1.2.0",并提醒 push tags。

注意事项

  • 脚本只追加/插入新段落,不会重写已有版本历史;若需调整旧内容请手动编辑。
  • --since 未指定时使用「上一个 tag」;若仓库尚无 tag,则从全部历史取 commit(可能很多),建议首次使用 --since HEAD~50 或指定分支做试验。
  • 若 CHANGELOG 已存在 ## [Unreleased],脚本会在其下合并本次生成的条目,避免重复插入同一版本块。

脚本位置小结

  • 本 skill 目录:skills/release-changelog/
  • 可执行脚本:skills/release-changelog/scripts/update-changelog.mjs
  • package.json 依赖,仅需 Node 运行 ESM(Node 14+)。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

release-changelog

No summary provided by upstream source.

Repository SourceNeeds Review
General

Digital Ocean

Digital Ocean integration. Manage Accounts. Use when the user wants to interact with Digital Ocean data.

Registry SourceRecently Updated
General

旅游攻略规划技能

飞猪旅游攻略规划技能。使用场景:(1) 从小红书搜索目的地旅游攻略,(2) 自动提取攻略中的目的地、日期、行程信息,(3) 查询飞猪机票价格并插入攻略中,(4) 生成完整的行程规划报告(含攻略 + 最低价机票链接 + 天气预报 + 详细预算)。

Registry SourceRecently Updated