From inkwell
Generates or updates CHANGELOG.md from conventional git commits, grouping feat/fix/etc. into Keep a Changelog categories like Added/Fixed. Auto-detects range or accepts git args.
npx claudepluginhub acostanzo/quickstop --plugin inkwellThis skill is limited to using the following tools:
Generate or update the project changelog from conventional commits. Follows the [Keep a Changelog](https://keepachangelog.com/) format.
Generates formatted CHANGELOG.md from git commit history by categorizing conventional commits into Added, Fixed, Changed, and Breaking sections using Keep a Changelog format.
Generates CHANGELOG.md from git commit history following Keep a Changelog format. Groups changes by type (Added, Changed, Fixed), supports conventional commits, links commits/PRs, maintains semantic versioning.
Generates or updates CHANGELOG.md from git history in Keep-a-Changelog format using parallel haiku subagents per version range.
Share bugs, ideas, or general feedback.
Generate or update the project changelog from conventional commits. Follows the Keep a Changelog format.
/inkwell:changelog $ARGUMENTSIf .inkwell.json exists in the project root, read the changelog output path from docs.changelog.file. Default: CHANGELOG.md.
If $ARGUMENTS is provided, use it as the git range or tag (e.g., v1.0.0..HEAD, --since="2 weeks ago").
If empty, detect the range automatically:
## [1.2.0])git tag -l "v<version>" or git tag -l "<version>"<tag>..HEAD as the rangegit log -50 --onelineRun git log --format="%H %s" <range> to get commit hashes and subjects.
Parse each subject line for conventional commit format: <type>[scope]: <description>.
Group commits by type into Keep a Changelog categories:
| Commit Type | Changelog Category |
|---|---|
feat | Added |
fix | Fixed |
refactor, perf | Changed |
docs | Documentation |
deprecate | Deprecated |
revert | Removed |
security | Security |
Skip commits that don't follow conventional format (merge commits, chore:, ci:, test:, style:).
If no qualifying commits are found, report: "No conventional commits found in range — nothing to add to changelog."
Format the new changelog section:
## [Unreleased] - YYYY-MM-DD
### Added
- Description from feat commit
- Description from another feat commit
### Fixed
- Description from fix commit
### Changed
- Description from refactor commit
Use today's date. Use [Unreleased] as the version — the user can replace it with a version number when they release.
Only include categories that have entries. Order categories: Added, Changed, Deprecated, Removed, Fixed, Security, Documentation.
If the changelog file exists:
If it doesn't exist, create it:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [Unreleased] - YYYY-MM-DD
### Added
- ...
Output a summary of what was added:
Updated <changelog-path>:
Added: N entries
Fixed: N entries
Changed: N entries
Range: <start>..<end>
<input>. Try a tag (v1.0.0..HEAD), commit hash, or --since=\"2 weeks ago\"."