changelog

Generate structured changelogs from git commit history between tags, dates, or refs.

Updated Apr 16, 2026
One-click install
npx skills add https://github.com/real-case/marvin-toolkit --skill changelog-real-case
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: changelog
Source: https://github.com/real-case/marvin-toolkit/tree/main/plugins/marvin/skills/changelog
Command: npx skills add https://github.com/real-case/marvin-toolkit --skill changelog-real-case

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing release notes by hand means reading through dozens or hundreds of commits and translating developer jargon into user-facing language. This Skill automates that process by analyzing git history, categorizing commits, and producing a polished changelog. ## Core Features & Use Cases - Flexible Commit Ranges: Generate changelogs between tags, since the last release, over date ranges, or between arbitrary refs. - Smart Categorization: Maps commits to Keep a Changelog categories (Added, Changed, Fixed, Security, Deprecated, Removed, Infrastructure) using conventional commit prefixes and content signals. - User-Facing Rewrites: Transforms internal commit messages like "refactor: extract useAuth hook" into meaningful entries like "Improved authentication flow reliability". - Multiple Output Formats: Produces Keep a Changelog Markdown, GitHub Release notes, or concise Slack summaries. - Use Case: Before shipping v1.2.0, ask for a changelog since v1.1.0 and receive a categorized, deduplicated release summary with PR references and a compare link. ## Quick Start Ask the assistant to generate a changelog of all commits since the last tag in this repository.

Frequently Asked Questions about changelog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a changelog from git commits?▼

Specify a commit range such as two tags, a date range, or "since last release", and the Skill runs git log to collect commits, categorizes them by type, and writes user-facing entries in Keep a Changelog Markdown format.

How to create release notes between two git tags?▼

Provide the two tags, for example "v1.0 to v1.1", and the Skill uses the range v1.0..v1.1 to collect non-merge commits, extract PR numbers, and assemble categorized release notes with a compare URL.

Does the changelog generator support conventional commits?▼

Yes, it maps conventional commit prefixes like feat, fix, perf, and security to changelog categories, and recognizes scoped commits such as feat(api): for monorepo sub-sections. Without prefixes, it infers categories from message content.

Can I generate a changelog when my repo has no tags?▼

Yes, when no tags exist the Skill asks for a date range or defaults to commits from the last month. It uses the [Unreleased] placeholder when the version number is unknown.

What happens if the commit range is too large?▼

If the range contains more than 200 commits, the Skill warns you and suggests narrowing the range or generating a high-level summary instead of per-commit entries to keep the changelog readable.

Will it overwrite my existing CHANGELOG.md file?▼

No, it always asks for confirmation before writing. When CHANGELOG.md exists, it prepends the new entry after the top-level heading and preserves all existing content, and it respects alternative filenames like HISTORY.md or CHANGES.md.