/changelog - Generate Changelog from Commits
Generate or update CHANGELOG.md from conventional commits.
Usage
/changelog # Generate from last tag to HEAD
/changelog v1.0.0..v1.1.0 # Specific range
/changelog --init # Create new CHANGELOG.md
/changelog --unreleased # Add unreleased section
What This Skill Does
- Parse Commits - Extract conventional commit messages
- Categorize Changes - Group by type (feat, fix, etc.)
- Generate Markdown - Format as Keep a Changelog style
- Update File - Insert new version section
Conventional Commit Types
| Prefix | Category | Description |
|---|---|---|
feat: |
Added | New features |
fix: |
Fixed | Bug fixes |
docs: |
Documentation | Doc changes only |
refactor: |
Changed | Code refactoring |
perf: |
Changed | Performance improvements |
test: |
Other | Test additions/changes |
chore: |
Other | Maintenance tasks |
breaking: |
Breaking | Breaking changes |
security: |
Security | Security fixes |
Output Format (Keep a Changelog)
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.2.0] - 2024-01-15
### Added
- New feature X for better Y (#123)
- Support for Z configuration
### Fixed
- Bug where A caused B (#456)
- Crash on startup with invalid config
### Changed
- Improved performance of data loading
- Refactored authentication module
### Security
- Updated dependency with CVE fix
## [1.1.0] - 2024-01-01
...
Git Commands Used
# Get commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Get commits between tags
git log v1.0.0..v1.1.0 --pretty=format:"%s"
# Get latest tag
git describe --tags --abbrev=0
# Get all tags sorted by version
git tag --sort=-v:refname
Instructions for Claude
When /changelog is invoked:
- Find version range - Last tag to HEAD, or specified range
- Get commits - Use git log to extract messages
- Parse conventional commits - Extract type, scope, description
- Categorize - Group by Added, Fixed, Changed, etc.
- Format markdown - Keep a Changelog format
- Handle non-conventional - Include as "Other" or skip
- Update file - Insert new section or create file
- Include PR/issue refs - Extract (#123) references