All tools
SkillCurated · reviewed
Changelog Skill
Updated Jul 7, 2026
A Claude Code skill that drafts a CHANGELOG.md entry in Keep-a-Changelog format from a list of commits, a commit range, or a diff. Changes are grouped into Added, Changed, Deprecated, Removed, Fixed, and Security — with user-facing language, not internal jargon.
What it does
- /changelog
Draft a Keep-a-Changelog entry from pasted commits or a diff, grouped by Added/Changed/Fixed.
- /changelog <version>
Draft a changelog entry for a specific version number, with optional release date.
Files (1)
SKILL.mdprimary · markdown · 3.3 KB
# Changelog Skill --- slug: changelog-skill version: 1.0.0 category: engineering command: /changelog --- ## What it does Drafts a changelog entry in [Keep a Changelog](https://keepachangelog.com) format from a set of commits, a commit range, or a diff. Groups changes into the standard sections — Added, Changed, Deprecated, Removed, Fixed, Security — using user-facing language that describes impact, not implementation details. ## Trigger Use this skill when asked to write, draft, or update a changelog. Typical invocations: - "Write a changelog entry for version 2.4.0" - "Draft CHANGELOG entries from these commits" - `/changelog` in Claude Code - `/changelog <version>` to target a specific version header ## Input Provide one or more of: 1. A list of commit messages or `git log --oneline` output 2. A diff (`git diff <base>..<head>`) 3. The version number for the entry header 4. The release date (defaults to today if omitted) 5. The audience (end users vs. API consumers vs. developers — affects language) If no commits or diff are provided, ask for them before proceeding. ## Method 1. **Classify each commit** — map to Keep-a-Changelog sections: - **Added** — new features, new endpoints, new config options - **Changed** — behavior changes to existing features; breaking changes must be called out - **Deprecated** — features still present but marked for removal - **Removed** — things deleted in this version - **Fixed** — bug fixes - **Security** — vulnerability fixes, auth/authz changes, dependency security updates 2. **Translate to user language** — replace internal ticket IDs and variable names with what the user observes. "Fix NPE in UserService.findById()" → "Fixed a crash when looking up a user by ID". 3. **Omit chore/ci/test commits** — unless they affect behavior visible to users. 4. **Flag breaking changes** — prefix with **Breaking** and describe the migration step. ## Output format Produce a Markdown snippet ready to paste into CHANGELOG.md: ```markdown ## [<version>] - <date> ### Added - ... ### Changed - ... ### Fixed - ... ``` Omit empty sections. Add a **Skipped** note at the end listing commits classified as internal (chore, test, ci) that were intentionally excluded. ## Example output ```markdown ## [2.4.0] - 2026-07-07 ### Added - Export setup bundles directly to a `.zip` file from the Export page. - New "Changelog Skill" in the developer registry for generating Keep-a-Changelog entries. ### Changed - **Breaking**: the `/api/export` endpoint now returns `application/zip` instead of `application/json`. Clients that parse the JSON response must switch to downloading the zip. See the migration guide. - Browse page now sorts by popularity by default instead of alphabetical. ### Fixed - Fixed a crash when opening a setup that had no knowledge files. - Category filter no longer resets to "All" after navigating back from a setup detail page. ``` **Skipped** (internal, no user-facing impact): - chore: bump vitest to 2.1.0 - ci: add Node 22 to test matrix - test: add edge-case coverage for slug validator ## Commands (Claude Code) - `/changelog` — Draft a changelog entry from the pasted commits or diff. - `/changelog <version>` — Draft a changelog entry for a specific version number and optional release date.