update-changelog

Aggregate commits since the latest git tag into the Unreleased changelog section.

2.8k|212|Updated Nov 2, 2025
One-click install
npx skills add https://github.com/mitsuhiko/agent-stuff --skill update-changelog-mitsuhiko
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-changelog
Source: https://github.com/mitsuhiko/agent-stuff/tree/main/skills/update-changelog
Command: npx skills add https://github.com/mitsuhiko/agent-stuff --skill update-changelog-mitsuhiko

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill automates the process of updating a repository's changelog by consolidating unreleased changes from commits since the last release, ensuring release notes stay current.

Core Features & Use Cases

  • Auto-detect baseline version via the most recent git tag.
  • Update Unreleased section in CHANGELOG.md or CHANGELOG if missing.
  • Preserve existing changelog formatting and add concise entries per change.

Quick Start

Run the skill in a repository with an existing CHANGELOG to update the Unreleased section.

  • Determine baseline version: git describe --tags --abbrev=0
  • Collect commits since baseline: git log <baseline-version>..HEAD
  • Update the changelog file to include new entries under "Unreleased" and commit the changes

Frequently Asked Questions about update-changelog

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

FAQPage Schema
How do I automate changelog updates from git commits?

To automate changelog updates, this skill consolidates unreleased git commits since the latest tag into the Unreleased section of your changelog. It uses standard git tooling to detect the baseline version and aggregate the log entries.

How do I collect unreleased commits for release notes?

You can collect unreleased commits for release notes by running git log with the range from your latest tag to HEAD. This skill automatically determines that baseline tag using git describe and compiles the entries into the changelog.

Can I update an existing CHANGELOG.md without losing formatting?

Yes, updating an existing CHANGELOG.md preserves your current formatting. The skill parses the file, adds concise entries per new change under the Unreleased section, and commits the modifications without breaking the original structure.

Does this changelog automation work with conventional commits?

Yes, this changelog automation is designed for software teams managing releases with conventional commits and tag-based baselines. It scriptably aggregates those structured commit messages directly into the release notes.

What happens if my repository is missing a CHANGELOG file?

If your repository is missing a CHANGELOG file, the skill will create one. It checks for CHANGELOG.md or CHANGELOG, and if absent, initializes the file to ensure new unreleased entries have a proper destination.

When should I not use automated release notes generation?

You should not use automated release notes generation if your project lacks git tags or a tag-based baseline, as the skill relies on git describe to find the most recent tag for determining the commit collection starting point.