Changelog Generator
Transform technical git commits into polished, user-friendly changelogs that 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 → 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 brand voice
Process
Follow these steps to generate a changelog:
- •
Retrieve Git Commit History
- •Run
git log --oneline --since="<date>"for date-based ranges - •Run
git log --oneline <tag1>..<tag2>for version-based ranges - •Run
git log --oneline -n <number>for last N commits
- •Run
- •
Filter and Categorize Commits
- •Features: New capabilities (look for "add", "implement", "create" keywords)
- •Improvements: Enhancements to existing features (look for "improve", "enhance", "update", "optimize")
- •Bug Fixes: Corrections (look for "fix", "resolve", "correct")
- •Breaking Changes: API/behavior changes requiring user action
- •Security: Security-related updates
- •Skip: Internal changes (refactor, test, build, docs, chore)
- •
Transform Technical Language to User-Friendly
- •Convert: "Add OAuth2 authentication provider" → "Sign in with Google, GitHub, or Microsoft accounts"
- •Convert: "Implement lazy loading for image components" → "Images now load faster as you scroll"
- •Convert: "Fix race condition in sync worker" → "Resolved sync reliability issues"
- •Focus on user impact, not implementation details
- •Use active voice and present tense
- •Remove technical jargon (API, SDK, refactor, etc.)
- •
Format the Changelog
- •Group by category with emoji/icons (✨ Features, 🔧 Improvements, 🐛 Fixes)
- •Use bullet points with bold titles
- •Include brief descriptions of user benefit
- •Add version number and date
- •
Review and Refine
- •Ensure clarity for non-technical users
- •Check for consistent tone and voice
- •Verify all user-impacting changes are included
- •Remove or consolidate minor changes
How to Use
Basic Usage
From the project repository:
code
Create a changelog from commits since last release
code
Generate changelog for all commits from the past week
code
Create release notes for version 2.5.0
With Specific Date Range
code
Create a changelog for all commits between March 1 and March 15
With Custom Guidelines
code
Create a changelog for commits since v2.4.0, using changelog guidelines from CHANGELOG_STYLE.md
Example
User: "Create a changelog for commits from the past 7 days"
Output:
markdown
# 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
Inspired by: Manik Aggarwal's use case from Lenny's Newsletter
Tips
- •Run from git repository root
- •Specify date ranges for focused changelogs
- •Use 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