Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate release notes and changelogs from git commits, feature lists, or project updates. Use when a user asks to generate a changelog, create release notes, summarize recent changes, draft a CHANGELOG entry, or prepare release documentation from git history.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 150% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 188% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 80% | 0% |
Generate structured changelogs and release notes from git commit history, merge commits, or manually provided feature lists. Produces well-organized, categorized output following the Keep a Changelog convention. Handles both technical changelogs for developers and user-facing release notes.
When a user asks you to generate a changelog or release notes, follow this process:
Identify what range of changes to include:
bash# List recent tags to find version boundaries git tag --sort=-creatordate | head -10 # Get commits since the last tag LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null) echo "Last tag: $LAST_TAG" # If no tags exist, ask the user for a date range or commit range
Get the raw commit data:
bash# Commits since last tag git log "$LAST_TAG"..HEAD --oneline --no-merges # Commits between two tags git log v1.1.0..v1.2.0 --oneline --no-merges # Commits in the last 2 weeks git log --since="2 weeks ago" --oneline --no-merges # With more detail (author, date, body) git log "$LAST_TAG"..HEAD --format="%h %s (%an, %ad)" --date=short --no-merges
Sort each commit into one of these categories based on the commit message and changed files:
Use commit message prefixes as hints:
feat:, feature: -> Addedfix:, bugfix: -> Fixedrefactor:, perf: -> Changeddocs: -> Changed (if user-facing) or skipchore:, ci:, build: -> Skip unless significantsecurity:, vuln: -> Securitydeprecate: -> Deprecatedremove:, breaking: -> RemovedIf commits lack conventional prefixes, read the diff to classify:
bash# See what files changed in a commit git show --stat <commit-hash> # See the actual diff for ambiguous commits git show <commit-hash>
Format following Keep a Changelog:
markdown## [X.Y.Z] - YYYY-MM-DD ### Added - Feature description in user-understandable language (#PR) ### Changed - What changed and why it matters (#PR) ### Fixed - Bug description and what was corrected (#PR)
Rules for writing entries:
CHANGELOG.md exists, prepend the new entry below the headerUser request: "Generate a changelog for the v2.3.0 release"
Actions:
bashgit log v2.2.0..v2.3.0 --oneline --no-merges
Output:
markdown## [2.3.0] - 2025-04-15 ### Added - Add dark mode support across all pages (#234) - Add CSV export for dashboard reports (#241) - Add keyboard shortcuts for navigation (#238) ### Changed - Improve search performance by 3x with debounced queries (#236) - Update authentication flow to support SSO providers (#240) ### Fixed - Fix pagination losing filters on page change (#235) - Fix timezone display in event scheduler (#237) - Fix memory leak in WebSocket connection handler (#242)
User request: "Write release notes for our users about this update"
Output:
markdown# What's New in v2.3.0 We're excited to ship dark mode, faster search, and SSO support! ## Highlights **Dark Mode** - The app now supports dark mode across all pages. Toggle it from Settings > Appearance or let it follow your system preference. **3x Faster Search** - Search results now appear instantly as you type, thanks to a complete rewrite of the search engine. **SSO Login** - You can now sign in with your company's identity provider (Okta, Azure AD, Google Workspace). ## Bug Fixes - Filters now persist correctly when navigating between pages - Event times display in your local timezone - Resolved a connectivity issue with real-time updates ## Full Changelog See the [complete changelog](./CHANGELOG.md) for all details.
User request: "What changed on the feature branch compared to main?"
Actions:
bashgit log main..feature/payments --oneline --no-merges git diff main..feature/payments --stat
Output: A summary of all changes on the branch, categorized and formatted, suitable for including in a PR description or release planning document.
Other measured skills in the registry, with their headline benchmark lift.