Changelog Generator

Builds a Keep a Changelog section from a commit range — groups Conventional Commits into Added / Fixed / Changed and links the PRs behind them.

Reviewed Jul 7, 2026DevOps & Gitby AI World InformationMIT

What this skill does

Key features

  • Reads a commit range with git log and parses Conventional Commit types
  • Groups entries under Keep a Changelog headings (Added, Fixed, Changed)
  • Links each entry back to its PR or commit when the reference exists
  • Refuses to invent entries — only what is actually in the range appears
  • Flags commits it cannot classify instead of silently dropping them

Use cases

  • Drafting a CHANGELOG.md section before cutting a release
  • Turning a messy commit history into a readable summary of changes
  • Keeping a consistent changelog format across a team

SKILL.md

The skill definition — its metadata and the exact instructions an agent follows. Copy it into a SKILL.md file in your agent's skills folder.

namechangelog-generator
descriptionGenerate a Keep a Changelog section from a git commit range grouped by Conventional Commit type.
allowed-toolsRead, Bash(git log:*), Bash(git diff:*), Bash(git tag:*)
outputCHANGELOG.md section
formatkeep-a-changelog

Musts

  • Read the exact commit range with git log <from>..<to> before writing anything.
  • Group entries under Keep a Changelog headings: Added, Changed, Fixed, Removed, Deprecated, Security.
  • Map Conventional Commit types to sections (feat -> Added, fix -> Fixed, refactor/perf -> Changed) and never invent an entry not present in the range.
  • Link each entry to its PR number or short commit SHA when that reference exists in the message.
  • List any commit you cannot confidently classify under an Uncategorized note rather than dropping it.

Guidelines

  • Skip chore, ci, and docs commits unless they change user-facing behavior.
  • Keep each line a single imperative phrase; strip the type prefix from the visible text.
  • Put an ## [Unreleased] or ## [x.y.z] - DATE header only when the user gives you the version and date.

Output format

## [1.4.0] - 2026-07-07

### Added
- Rate-limit login attempts per IP (#412)

### Fixed
- Prevent duplicate emails on retry (#418)

### Changed
- Cache session lookups for faster auth (a1b2c3d)

FAQ

Does it write to CHANGELOG.md for me?
No. It prints a formatted section to the terminal. You review it and paste it into CHANGELOG.md yourself, so a human always approves what ships.
What if commits don't follow Conventional Commits?
It classifies what it can from the type prefix and lists anything ambiguous under an Uncategorized note so you can sort it manually. It never guesses a type just to fill a section.

Before running any skill, read its instructions and the tools it's allowed to use, and test it on a safe target first. See LLM security best practices.