changelog

Generate and update CHANGELOG.md files from git history using Keep a Changelog format.

2|1|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/costa-marcello/skillkit --skill changelog-costa-marcello
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: changelog
Source: https://github.com/costa-marcello/skillkit/tree/main/skills/changelog
Command: npx skills add https://github.com/costa-marcello/skillkit --skill changelog-costa-marcello

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Keeping a project's history and release narrative is manual and error-prone; this skill automates the creation and maintenance of CHANGELOG.md files according to Keep a Changelog standards.

Core Features & Use Cases

  • Generate CHANGELOG.md from git commit history, applying Conventional Commits mappings to categorize changes.
  • Update an existing CHANGELOG.md by appending new entries under an Unreleased section or by promoting them to a new version.
  • Create versioned release sections with accurate dates and footer comparison links to enable easy navigation and auditing.
  • Automatically translate commit messages into human-friendly entries suitable for internal documentation or public release notes.

Quick Start

Run /changelog with no arguments to generate or update the project's CHANGELOG.md from git history.

Frequently Asked Questions about changelog

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

FAQPage Schema
How do I automatically generate a CHANGELOG.md from git history?

Automating changelog generation from git history involves mapping Conventional Commits to human-readable release notes under the Keep a Changelog format. This creates structured CHANGELOG.md files with categorized version sections and footer comparison links automatically.

What is the Keep a Changelog format for maintaining release notes?

Keep a Changelog is a standardized format for release notes that separates entries into Unreleased and versioned sections with dates and comparison links. It provides strict formatting rules to ensure project histories remain readable and auditable.

How do I update an existing CHANGELOG.md with new unreleased changes?

To update an existing CHANGELOG.md, new git commit entries are appended under the Unreleased section or promoted into a new versioned release. The process detects whether changes belong in Unreleased or a new release and formats them accordingly.

Can I use Conventional Commits to categorize changelog entries automatically?

Conventional Commits mappings allow automatic categorization of changelog entries by translating commit message types into structured release note categories. This converts raw git history into human-friendly entries suitable for public release notes.

Does this changelog automation work for projects with multiple versioned releases?

Changelog automation supports multiple versioned releases by detecting Unreleased versus released versions and generating versioned sections with dates and footer comparison links. It handles structured release notes across all project versions per the Keep a Changelog specification.

What are the limitations of automating release notes from git commit history?

Automating release notes from git history requires commits to follow Conventional Commits standards for proper categorization. Non-standard commit messages may not map correctly to Keep a Changelog categories, limiting the accuracy of automated changelog generation.