Manage project changelogs following the Keep a Changelog format. This skill should be used when working with CHANGELOG.md files, adding changelog entries, releasing versions, or reviewing git commits for changelog purposes.
Manages CHANGELOG.md files using the `changelog` CLI tool. Use this when adding version entries, releasing versions, or reviewing git commits to update changelogs following Keep a Changelog format.
/plugin marketplace add schpet/toolbox/plugin install changelog@toolboxThis skill inherits all available tools. When active, it can use any tool Claude has access to.
A command line tool for managing changelogs following the Keep a Changelog format.
To add a changelog entry, use the changelog add command:
changelog add --type <TYPE> <DESCRIPTION>
Change types:
added (alias: a) - New featureschanged (alias: c) - Changes in existing functionalitydeprecated (alias: d) - Soon-to-be removed featuresremoved (alias: r) - Removed featuresfixed (alias: f) - Bug fixessecurity (alias: s) - Security fixesEntry Style Guide:
Voice & Tense:
Formatting:
Examples:
changelog add --type added "commands now accept multiple arguments"
changelog add --type fixed "login bug that prevented oauth flow"
changelog add --type changed "error messages now include more context"
changelog add --type removed "deprecated v1 api endpoints have been removed"
To add an entry to a specific version instead of Unreleased:
changelog add --type fixed --version 1.0.1 "critical security patch"
To release the Unreleased section as a new version:
# Automatic semver increment
changelog release major # 1.0.0 -> 2.0.0
changelog release minor # 1.0.0 -> 1.1.0
changelog release patch # 1.0.0 -> 1.0.1
# Explicit version
changelog release 1.0.0
# With custom date
changelog release 1.0.0 --date 2025-01-01
To interactively review git commits and add them to the changelog:
changelog review
This opens an interactive selection interface similar to git rebase -i.
Commits with conventional commit prefixes (feat:, fix:) are pre-selected.
After selection, an editor opens to categorize and reword entries.
# Get latest version
changelog version latest
# List all versions
changelog version list
# Get git revision range for a version
changelog version range 1.0.0
# Show a specific version's entries
changelog entry 1.0.0
changelog entry latest
changelog entry unreleased
# Format the changelog file
changelog fmt
# Initialize a new changelog
changelog init
# Generate shell completions
changelog completions bash
changelog completions zsh
changelog completions fish
Do not manually edit CHANGELOG.md when the changelog CLI is available. Use
changelog add to add entries programmatically, ensuring proper formatting and
structure.