generate-changelog
Generate changelog entries from git commits, plan files, or structured data. Use for version releases, creating CHANGELOG.md sections, or documenting changes between versions.
allowed_tools: Read, Bash
$ Instalar
git clone https://github.com/maslennikov-ig/claude-code-orchestrator-kit /tmp/claude-code-orchestrator-kit && cp -r /tmp/claude-code-orchestrator-kit/.claude/skills/generate-changelog ~/.claude/skills/claude-code-orchestrator-kit// tip: Run this command in your terminal to install the skill
SKILL.md
name: generate-changelog description: Generate changelog entries from git commits, plan files, or structured data. Use for version releases, creating CHANGELOG.md sections, or documenting changes between versions. allowed-tools: Read, Bash
Generate Changelog
Automatically generate changelog entries following Keep a Changelog format.
When to Use
- Version release workflows
- Creating CHANGELOG.md sections
- Documenting changes between versions
- Generating release notes
- Summarizing work completed
Instructions
Step 1: Gather Change Data
Accept change information from various sources.
Expected Input:
version: String (e.g., "0.8.0")date: String (ISO-8601 or YYYY-MM-DD)source: String (git|plan-file|manual)sourceData: Object (git range, plan file path, or manual entries)
Source Types:
- git: Parse git log between two refs
- plan-file: Extract from plan file metadata
- manual: User-provided entries
Step 2: Parse Changes
Extract and categorize changes.
Categories (Keep a Changelog standard):
- Added: New features
- Changed: Changes to existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Security vulnerability fixes
Git Commit Parsing:
- Parse conventional commit format (feat:, fix:, etc.)
- Extract scope and description
- Map commit type to changelog category
Step 3: Group and Deduplicate
Group changes by category and remove duplicates.
Grouping Rules:
- feat → Added
- fix → Fixed
- security → Security
- refactor, perf → Changed
- docs → Changed (if significant)
- chore → Omit (unless breaking change)
Step 4: Format Changelog Section
Create formatted changelog section.
Format:
## [Version] - Date
### Added
- New feature 1
- New feature 2
### Fixed
- Bug fix 1
- Bug fix 2
### Changed
- Change 1
Step 5: Return Formatted Changelog
Return complete changelog section ready for insertion.
Expected Output:
## [0.8.0] - 2025-10-17
### Added
- Dark mode toggle for user preferences
- OAuth2 authentication support
### Fixed
- Memory leak in connection pool
- CORS configuration error
### Changed
- Migrated to v2 authentication API
- Optimized query performance
Error Handling
- No Changes Found: Return empty changelog with note
- Invalid Git Range: Return error with git command output
- Invalid Plan File: Return error describing issue
- Unparseable Commits: Include as "Changed" with raw message
Examples
Example 1: Generate from Git Range
Input:
{
"version": "0.8.0",
"date": "2025-10-17",
"source": "git",
"sourceData": {
"fromRef": "v0.7.0",
"toRef": "HEAD"
}
}
Git Commits:
feat(auth): add OAuth2 support
fix(api): resolve memory leak
docs: update API documentation
chore(deps): bump dependencies
Output:
## [0.8.0] - 2025-10-17
### Added
- Add OAuth2 support (auth)
### Fixed
- Resolve memory leak (api)
### Changed
- Update API documentation
Example 2: Generate from Plan File
Input:
{
"version": "0.8.0",
"date": "2025-10-17",
"source": "plan-file",
"sourceData": {
"planFile": ".version-update-plan.json"
}
}
Plan File Content:
{
"changes": {
"added": ["Dark mode toggle", "User profiles"],
"fixed": ["Login redirect bug", "Dashboard crash"],
"changed": ["Improved performance"]
}
}
Output:
## [0.8.0] - 2025-10-17
### Added
- Dark mode toggle
- User profiles
### Fixed
- Login redirect bug
- Dashboard crash
### Changed
- Improved performance
Example 3: Manual Entries
Input:
{
"version": "0.8.0",
"date": "2025-10-17",
"source": "manual",
"sourceData": {
"added": ["New payment gateway integration"],
"fixed": ["Cart calculation error"],
"security": ["Fixed XSS vulnerability in search"]
}
}
Output:
## [0.8.0] - 2025-10-17
### Added
- New payment gateway integration
### Fixed
- Cart calculation error
### Security
- Fixed XSS vulnerability in search
Example 4: Empty Changelog
Input:
{
"version": "0.8.0",
"date": "2025-10-17",
"source": "git",
"sourceData": {
"fromRef": "v0.7.0",
"toRef": "v0.7.0"
}
}
Output:
## [0.8.0] - 2025-10-17
No changes in this release.
Validation
- Parses conventional commits correctly
- Maps commit types to changelog categories
- Groups changes by category
- Formats according to Keep a Changelog
- Handles empty changelogs
- Deduplicates entries
- Includes scope in entries when present
- Handles manual entries
Supporting Files
commit-mapping.json: Conventional commit to changelog category mapping
Repository

maslennikov-ig
Author
maslennikov-ig/claude-code-orchestrator-kit/.claude/skills/generate-changelog
27
Stars
8
Forks
Updated6d ago
Added1w ago