Agent skill
changelog-generator
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Install this agent skill to your Project
npx add-skill https://github.com/ederheisler/agent-skills/tree/main/skills/changelog-generator
SKILL.md
Changelog Generator
This skill transforms technical git commits into polished, user-friendly changelogs that your customers and users will actually understand and appreciate. It encodes the frameworks for writing release notes that different audiences actually read.
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 or detailed technical logs
- 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 tailored to specific audiences
- 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 tailored for end users
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
Execution Instructions
Follow these steps to generate the changelog:
1. Fetch Commit History
Choose the appropriate command based on the user's request:
By Time Period:
# Get commits from the last X days/weeks
git log --since="7 days ago" --oneline --no-merges
# Get commits between two dates
git log --since="2024-03-01" --until="2024-03-15" --oneline --no-merges
By Version Tag:
# Get commits between the last tag and HEAD
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges
# Get commits between two specific tags
git log v1.0.0..v1.1.0 --oneline --no-merges
2. Categorize Commits
Map commit contents to categories using these regex patterns (case-insensitive):
| Prefix/Pattern | Category | Emoji |
|---|---|---|
^feat: or feature: |
New | ๐ |
^fix: or bug: |
Fixed | ๐ |
^perf: or performance: |
Improved | โก |
^docs: |
Documentation | ๐ |
^style: or ui: |
Improved | โจ |
^refactor: |
Internal (Exclude unless major) | ๐ ๏ธ |
^test: |
Internal (Exclude) | ๐งช |
^chore: |
Internal (Exclude) | ๐งน |
BREAKING CHANGE: |
Changed | โ ๏ธ |
Heuristics for Uncategorized Commits:
- If message starts with "Add", "Create", "New" โ New
- If message starts with "Update", "Improve", "Better" โ Improved
- If message starts with "Fix", "Resolve", "Correct" โ Fixed
- If message starts with "Remove", "Delete", "Deprecate" โ Changed
3. Filter Noise
Exclude commits that match:
Merge branch...Bump version...Update dependencies...(unless security related)Lint code...Update README...(unless meaningful doc change)
4. Group & Summarize
- Group related commits (e.g., 5 commits about "Dark Mode" should become 1 bullet point).
- Summarize technical details into user benefits.
- Input:
feat: add redis caching layer to user endpoints - Output:
Improved: User Dashboards: Profiles now load instantly.
- Input:
Release Note Structure
Standard Format
## [VERSION] - [DATE]
### ๐ NEW
- **[Feature]**: [User benefit] [Link to docs]
### โจ IMPROVED
- **[Enhancement]**: [What's better]
### ๐ FIXED
- **[Bug]**: [What was wrong, now resolved]
### โ ๏ธ CHANGED
- **[Breaking change]**: [What to do]
### ๐ DOCUMENTATION
- **[Doc update]**: [What's new]
Audience-Specific Versions
When asking for a changelog, specify your audience to get the right tone and detail level.
End User (Customer-Facing)
Tone: Benefit-focused, simple language Length: 3-5 bullets per category
Example:
New: Export to Excel You can now export any report to Excel with one click. Find the export button in the top right of any report view.
Technical (Developer-Facing)
Tone: Precise, technical detail Include: API changes, breaking changes, migration steps
Example:
API: New pagination parameters Added
cursorandlimitparameters to/api/v2/users. Theoffsetparameter is deprecated and will be removed in v3.0. See [migration guide].
Internal (Sales/CS)
Tone: Enablement-focused Include: Talking points, competitive implications
Example:
New: Export to Excel
- Talking point: "You can now export any report to Excel instantly"
- Customer ask this solves: Export functionality (requested by 47 customers)
- Competitive note: Competitor X charges extra for this
Categorization Framework
| Category | Icon | Include When |
|---|---|---|
| New | ๐ | New features or capabilities |
| Improved | โจ | Enhancements to existing features |
| Fixed | ๐ | Bug fixes |
| Changed | โ ๏ธ | Breaking changes, deprecations |
| Security | ๐ | Security updates |
| Performance | โก | Speed/efficiency improvements |
Writing Guidelines
Transform Technical to User
| Technical | User-Friendly |
|---|---|
| "Implemented caching layer" | "Reports now load 3x faster" |
| "Fixed null pointer exception" | "Resolved issue causing occasional crashes" |
| "Added OAuth2 support" | "You can now sign in with Google" |
| "Refactored data model" | [Don't include - no user impact] |
What to Include/Exclude
Include:
- User-facing changes
- Performance improvements users will notice
- Bug fixes users reported
- Security updates
Exclude:
- Internal refactoring
- Test improvements
- Dependency updates (unless security)
- Changes with no user impact
Tips
- Run from your git repository root
- Specify date ranges for focused changelogs
- Use your 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
terraform-style-guide
Write and review OpenTofu-first HCL using current style conventions and safe infrastructure patterns. Use whenever editing Terraform or OpenTofu configuration, modules, variables, outputs, providers, or imports. Prefer OpenTofu commands and OpenTofu documentation unless the user explicitly needs Terraform-only behavior.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
fastapi
Build Python APIs with FastAPI, Pydantic v2, and SQLAlchemy 2.0 async. Covers project structure, JWT auth, validation, and database integration with uv package manager. Prevents 7 documented errors. Use when: creating Python APIs, implementing JWT auth, or troubleshooting 422 validation, CORS, async blocking, form data, background tasks, or OpenAPI schema errors.
documentation-generation
You are a documentation expert specializing in creating comprehensive, maintainable documentation from code. Generate API docs, architecture diagrams, user guides, and technical references using AI...
session-behavior
Didn't find tool you were looking for?