tilomitra/release-kit-claude-skills
Overview
This skill generates or updates CHANGELOG.md entries from git history, pull requests, and issues using the Keep a Changelog format. It turns noisy commit logs into concise, user-focused release notes and can prepend or create a changelog file. The output emphasizes user benefit, active voice, and standard categories like Added, Changed, Fixed, Deprecated, Removed, and Security.
How this skill works
When asked to produce a changelog for a tag range or version, the skill collects signals in priority order: merged PRs, closed issues, diffs, changed files, test descriptions, config/dependency changes, and commit messages as last resort. It classifies each relevant change into Keep a Changelog categories, filters out non-user-facing noise, and formats one-line entries that lead with user benefit. Finally it shows the generated entry for review and can prepend or create CHANGELOG.md.
When to use it
- Prepare release notes for a new tag or version before publishing
- Summarize what changed between two tags or releases
- Keep CHANGELOG.md up to date from PRs and issue history
- Convert vague commit histories into clear user-facing entries
- Create a first-time changelog when none exists
Best practices
- Provide a target tag or version range so the skill can collect precise history
- Prefer PR and issue context over raw commits for clearer descriptions
- Exclude refactors, tests, CI, and style changes unless they affect users
- Group minor internal improvements under a single 'Internal improvements' bullet
- Review generated entries and confirm wording before writing to disk
Example use cases
- Generate a CHANGELOG.md entry for v2.4.0 by analyzing merged PRs since v2.3.0
- Summarize bug fixes and notable changes for a patch release
- Create release notes from a sprint’s merged PRs and closed issues
- Update an existing CHANGELOG.md by prepending the new version entry
- Produce a human-readable changelog for non-technical stakeholders
FAQ
Yes. After you review the generated entry, it can prepend the new entry to an existing CHANGELOG.md or create one if missing.
How does it avoid including internal or noisy changes?
It filters out refactors, test-only changes, CI/config updates, and commits without user-facing impact, grouping minor internal items when useful.