Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates user-facing changelogs and release notes from git commit history. Parses conventional commits, categorizes changes into features, fixes, breaking changes, and more, then rewrites technical messages into customer-friendly language. Use when the user asks to generate a changelog, write release notes, summarize recent commits, prepare CHANGELOG.md, or document what changed between versions.
.claude/skills/ecnu-icalk-changelog-generator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -9% | 0% |
Generate structured, user-facing changelogs from git commit history.
Determine the commit range from the user's request, then fetch commits:
bash# Between tags/versions git log v1.2.0..v1.3.0 --oneline --no-merges # Since a date git log --since="2024-03-01" --oneline --no-merges # Since last tag (default when no range given) git log "$(git describe --tags --abbrev=0)"..HEAD --oneline --no-merges
If there are no tags and no range specified, ask the user for a date or count.
Apply these rules based on the commit message prefix:
| Prefix / pattern | Category | |---|---| | feat: feature: | New Features | | fix: bugfix: | Bug Fixes | | perf: | Performance | | BREAKING CHANGE or !: suffix | Breaking Changes | | security: vuln: | Security | | docs: test: ci: chore: refactor: style: build: | Skip (internal) |
For non-conventional messages, infer category from content. Exclude purely internal commits (test infra, CI config, linting, dependency bumps with no user impact).
Transform each kept commit into a clear, benefit-focused sentence:
(api): or (auth):Example: fix(auth): race condition in token refresh becomes "Fix an issue where sessions could expire unexpectedly during use."
markdown# Changelog — vX.Y.Z (YYYY-MM-DD) ## Breaking Changes - [entry] ## New Features - [entry] ## Improvements - [entry] ## Bug Fixes - [entry] ## Security - [entry]
Omit any empty section. Order: breaking changes, features, improvements, fixes, security. If the repo already has a CHANGELOG.md or CHANGELOG_STYLE.md, match its existing conventions instead.
CHANGELOG.md (prepend above existing content) or print inline, based on the user's requestOther measured skills in the registry, with their headline benchmark lift.