| name | create-changelog |
|---|---|
| description | Create a CHANGELOG.md following keepachangelog.com conventions with version history backfilled from GitHub releases or git tags. Use when the user asks to "create a changelog", "add a changelog", "initialize changelog", "start a changelog", "set up changelog", "generate changelog", or "backfill changelog". |
Create a changelog backfilled with version history.
Run /changelog-rules to load shared changelog conventions.
Collect release history from the most authoritative source available:
- GitHub releases (preferred): Run
gh release list --limit 100 --json tagName,name,publishedAt,bodyto get release notes. For each release, parse the body into changelog entries. - Git tags (fallback): If no GitHub releases exist, run
git tag --sort=-v:refnameto list tags. For each consecutive tag pair, rungit log <older-tag>..<newer-tag> --onelineto collect commit summaries.
For each version, classify entries into the standard change types and apply the changelog-worthiness criteria per /changelog-rules.
If the changelog file already exists, warn the user and confirm before overwriting.
Write the changelog following the /changelog-rules file structure and conventions.
Briefly summarize how many versions were backfilled and which source was used (GitHub releases or git tags).