Changelog Generator
This skill transforms technical git commits into polished, user-friendly changelogs that your customers and users will actually understand and appreciate.
When to Use This Skill
-
Preparing release notes for a new version
-
Creating weekly or monthly product update summaries
-
Documenting changes for customers
-
Writing changelog entries for app store submissions
-
Generating update notifications
-
Creating internal release documentation
-
Maintaining a public changelog/product updates page
What This Skill Does
-
Scans Git History: Analyzes commits from a specific time period or between versions
-
Categorizes Changes: Groups commits into logical categories (features, improvements, bug fixes, breaking changes, security)
-
Translates Technical to User-Friendly: Converts developer commits into customer language
-
Formats Professionally: Creates clean, structured changelog entries
-
Filters Noise: Excludes internal commits (refactoring, tests, etc.)
-
Follows Best Practices: Applies changelog guidelines and your brand voice
How to Use
Basic Usage
From your project repository:
Create a changelog from commits since last release
Generate changelog for all commits from the past week
Create release notes for version 2.5.0
With Specific Date Range
Create a changelog for all commits between March 1 and March 15
With Custom Guidelines
Create a changelog for commits since v2.4.0, using my changelog guidelines from CHANGELOG_STYLE.md
Instructions
When a user requests a changelog:
Step 1: Gather Commit History
Get commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
Get commits from specific date range
git log --since="2024-01-01" --until="2024-01-31" --oneline
Get commits between two tags
git log v2.4.0..v2.5.0 --oneline
Step 2: Categorize Commits
Group commits into these categories:
Category Prefix Indicators Icon
New Features feat:, feature:, add: ✨
Improvements improve:, enhance:, update:, perf: 🔧
Bug Fixes fix:, bugfix:, hotfix: 🐛
Breaking Changes BREAKING:, breaking: ⚠️
Security security:, sec: 🔒
Documentation docs:, doc: 📚
Step 3: Filter Out Internal Changes
Exclude these commit types from user-facing changelogs:
-
refactor:, refactoring
-
test:, tests:
-
chore:
-
ci:, build:
-
style: (formatting only)
-
wip:, WIP
Step 4: Transform to User-Friendly Language
Before (Technical):
feat(auth): implement JWT refresh token rotation with sliding window fix(api): resolve race condition in concurrent request handler perf(db): add composite index on users table for search queries
After (User-Friendly):
✨ New Features
- Stay logged in longer! Your session now automatically refreshes
🐛 Fixes
- Fixed an issue where simultaneous actions could cause errors
🔧 Improvements
- User search is now significantly faster
Step 5: Format the Changelog
Updates - [Version/Date]
✨ New Features
- [Feature Name]: [One sentence description of what users can now do]
🔧 Improvements
- [Area]: [How the user experience is better]
🐛 Fixes
- Fixed [user-facing issue description]
⚠️ Breaking Changes (if any)
- [What changed and what users need to do]
Example
Input: "Create a changelog for commits from the past 7 days"
Output:
Updates - Week of March 10, 2024
✨ New Features
-
Team Workspaces: Create separate workspaces for different projects. Invite team members and keep everything organized.
-
Keyboard Shortcuts: Press ? to see all available shortcuts. Navigate faster without touching your mouse.
🔧 Improvements
- Faster Sync: Files now sync 2x faster across devices
- Better Search: Search now includes file contents, not just titles
🐛 Fixes
- Fixed issue where large images wouldn't upload
- Resolved timezone confusion in scheduled posts
- Corrected notification badge count
Tips
-
Run from your git repository root
-
Specify date ranges for focused changelogs
-
Use a CHANGELOG_STYLE.md for consistent formatting
-
Review and adjust the generated changelog before publishing
-
Save output directly to CHANGELOG.md
Related Use Cases
-
Creating GitHub release notes
-
Writing app store update descriptions
-
Generating email updates for users
-
Creating social media announcement posts
WITH MCP Tools
If you have MCP tools available, the process is faster:
"Generate changelog from last week's commits using review_file for analysis"
WITHOUT MCP Tools
Use standard git commands:
View recent commits
git log --oneline -50
View commits since tag
git log v1.0.0..HEAD --pretty=format:"%s"
View commits by author
git log --author="name" --since="1 week ago"