Convert a git log, commit list, or release notes into a polished, user-facing changelog. Use when writing release notes, generating a CHANGELOG.md entry, or...
Coding
Changelog Writer
Try itTurn a list of changes, commits, or PRs into clean release notes / a changelog entry. Use when asked to write release notes, a changelog, or a version announ...
What it does
Turn a list of changes, commits, or PRs into clean release notes / a changelog entry. Use when asked to write release notes, a changelog, or a version announcement from raw changes. Produces a Keep-a-Changelog-style entry grouped by type (Added/Changed/Fixed/etc.), written for users — surfacing breaking changes and upgrade notes up top. To go straight from a raw git log use changelog-generator instead.
The skill document
Changelog Writer Skill
Raw commit logs are written for the author; a changelog is written for the user. This skill turns a pile of commits/PRs/changes into a clean release entry — grouped by type, in plain user-facing language, with breaking changes and upgrade steps surfaced first so nobody gets surprised.
Required Inputs
Ask for these only if they aren't already provided:
- The changes — commit messages, PR titles, or a bullet list of what changed.
- Version & date — the release number (or help pick per semver) and date.
- Audience — end users, API consumers, library developers (sets the voice).
- Conventions (optional) — Keep a Changelog, an existing style, links to issues/PRs.
Output Format
Follow Keep a Changelog conventions:
[version] — [date]
⚠️ Breaking changes (only if any) — each breaking change + the exact migration step to fix it. This goes first.
Added — new features/capabilities, in user terms. Changed — changes to existing behavior. Deprecated — soon-to-be-removed features (and what to use instead). Fixed — bug fixes (what was broken, from the user's view). Security — any security-relevant fixes.
(Omit empty sections.) Each line: user-facing outcome first, with an issue/PR reference if available — not the raw commit message.
Upgrade notes (if needed) — anything to do when upgrading beyond the breaking-changes steps.
Semver note — if the version was inferred, one line on why (breaking → major, feature → minor, fix → patch).
Quality Checks
- Entries are grouped by type (Added/Changed/Fixed/…) with empty sections omitted
- Breaking changes are surfaced first, each with a concrete migration step
- Lines are user-facing outcomes, not raw commit messages
- References (issues/PRs) are included where available
- The version respects semver (breaking→major, feature→minor, fix→patch)
Anti-Patterns
- Do not paste raw commit messages — translate to what the user gains or must do
- Do not bury breaking changes among the features — they go first, with migration steps
- Do not include internal-only noise (refactors, CI tweaks) the user doesn't care about
- Do not mix change types into one list — group them
- Do not misclassify the version bump — a breaking change is a major, not a patch
Based On
The Keep a Changelog standard and Semantic Versioning, written for the reader rather than the committer.
Related skills
Generate polished changelogs and release notes from git history, PRs, and issues — auto-categorize features, fixes, and breaking changes
Maintain CHANGELOG.md in Keep a Changelog 1.1.0 format. Use when the user asks to create a changelog, record recent changes or draft release notes, cut or tag a release, or audit an existing changelog — and before editing any CHANGELOG.md for another reason.
Generate structured summaries of recent git commit activity. Use when the user asks for a commit summary, changelog draft, standup notes from git, or to understand what changed in a repo over a time range. Supports filtering by author, date range, and output format.
Draft release notes and changelog entries from a local Git repository. Use when the user asks to summarize commits, compare refs or tags, prepare release not...
Generate a compact weekly changelog from a git repository, grouped by author and day, without any dependencies. Use when you need a one-page summary of the last 7 days (or custom window) of commits for a report, standup, or release notes.