home / skills / eyadsibai / ltk / changelog-generator
This skill helps you generate polished changelogs and release notes from git history, translating commits into user-friendly entries for customers.
npx playbooks add skill eyadsibai/ltk --skill changelog-generatorReview the files below or copy the command above to add this skill to your agents.
---
name: changelog-generator
description: Use when creating "changelog", "release notes", "version updates", generating "CHANGELOG.md", or asking about "git history to changelog", "commit summary", "what changed since last release"
version: 1.0.0
---
<!-- Adapted from: awesome-claude-skills/changelog-generator -->
# Changelog Generator
Transform technical git commits into polished, user-friendly changelogs.
## When to Use
- 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
- Maintaining a public changelog/product updates page
## Process
### 1. Scan Git History
Analyze commits from a specific time period or between versions:
```bash
# Since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Between dates
git log --since="2024-01-01" --until="2024-01-31" --oneline
# Between versions
git log v1.0.0..v2.0.0 --oneline
```
### 2. Categorize Changes
Group commits into logical categories:
| Category | Emoji | Includes |
|----------|-------|----------|
| New Features | β¨ | New functionality, capabilities |
| Improvements | π§ | Enhancements, optimizations |
| Bug Fixes | π | Resolved issues, corrections |
| Breaking Changes | β οΈ | API changes, migrations needed |
| Security | π | Security patches, vulnerability fixes |
| Documentation | π | Docs updates (usually excluded) |
| Internal | π¨ | Refactoring, tests (usually excluded) |
### 3. Translate Technical β User-Friendly
**Bad (developer-speak):**
```
fix: resolve null pointer in UserService#getById
refactor: extract common logic to BaseRepository
```
**Good (user-friendly):**
```
- Fixed an issue where user profiles wouldn't load
- Improved application performance and reliability
```
### 4. Format 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.
## π§ 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
```
## Filter Rules
**Include:**
- Features (feat:, feature:)
- Fixes (fix:, bugfix:)
- Performance (perf:)
- Security (security:)
**Exclude:**
- Refactoring (refactor:)
- Tests (test:)
- CI/CD (ci:, build:)
- Chores (chore:)
- WIP commits
## Usage Examples
```
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 based on commits since v2.4.0
```
## Tips
- Run from your git repository root
- Specify date ranges for focused changelogs
- Review and adjust before publishing
- Keep customer perspective - "what does this mean for them?"
- Save output directly to CHANGELOG.md
This skill transforms raw git commit history into clear, customer-facing changelogs and release notes. It scans commits between tags, dates, or ranges, groups them into meaningful categories, and rewrites technical messages into plain-language entries. The output is formatted for CHANGELOG.md, release pages, or app store copy.
The tool inspects git logs for a specified range (since last tag, between versions, or by date) and filters commits by type (features, fixes, perf, security). It groups commits into categories like New Features, Improvements, Fixes, and Breaking Changes, then converts developer-speak into user-friendly summaries. Finally it generates a formatted markdown section ready to append or publish.
How do I restrict the changelog to user-visible changes?
Filter commits by conventional prefixes (feat:, fix:, perf:, security:) and exclude refactor:, test:, ci:, chore: or WIP commits before generating summaries.
Can it summarize commits between two tags?
Yes. Point the generator at the tag range (for example v1.0.0..v2.0.0) and it will scan and categorize commits between those tags.