mcpField
U
update-changelog

update-changelog

github.com/mitsuhikoDevelopment3.2k125 installsUpdated 4w ago
Repository

About update-changelog

A repository skill that updates the Unreleased section of a changelog with notable user-facing changes since a release baseline. It checks git commits against the existing changelog and follows the repository's established format.

Key features

  1. 01Determine baseline from a provided version or latest tag
  2. 02Review commits since the baseline
  3. 03Check existing changelog entries
  4. 04Add notable changes to Unreleased
  5. 05Preserve the existing changelog style

Use cases

  1. 01Record user-facing changes since the latest release
  2. 02Add missing changes to an existing Unreleased section
  3. 03Create an Unreleased section when none exists

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mitsuhiko/agent-stuff --skill update-changelog

After installing, type/update-changelogin Claude Code to confirm it loaded.

Details

From the project README

Update the repository changelog with changes between the last release and the current version (main) that are not yet incorporated. If CHANGELOG.md does not exist, use CHANGELOG instead.

Step-by-Step Process

1. Determine baseline version

If no baseline version is provided, use the most recent git tag. You can find it with git describe --tags --abbrev=0.

2. Find the commits from git

Use the following commands to gather commit information:

# Get the baseline version (if not provided)
git describe --tags --abbrev=0

# Get all commits since the baseline version
git log <baseline-version>..HEAD
3. Update the changelog

Read the existing changelog file (CHANGELOG.md, or CHANGELOG if missing) and check if there are changes not yet incorporated, then add them. Always add them to the "Unreleased" section only. If there is none yet, add it at the top in the same style as the existing changelog (for example, ## Unreleased vs ## [Unreleased]).

Ground Rules When Writing Changelogs

Content Guidelines
  • Focus on notable changes that affect users (features, fixes, breaking changes)
  • Mention pull requests (#NUMBER) when available, but not raw commit hashes
  • Ignore insignificant changes (typo fixes, internal refactoring, minor documentation updates)
  • Group related changes together when appropriate
  • Order entries by importance: breaking changes first, then features, then fixes
Style Guidelines
  • Use valid markdown syntax
  • Start each entry with a past-tense verb or descriptive phrase
  • Keep entries concise but descriptive enough to understand the change
  • Use bullet points (* or -) for individual changes
  • Format code references with backticks (e.g., `foo.cleanup`)
Example Format
## 2.13.0

* Added multi-key support to the `|sort` filter.  #827
* Fix `not undefined` with strict undefined behavior.  #838
* Added support for free threading Python.  #841

## 2.12.0

* Item or attribute lookup will no longer swallow all errors in Python.  #814
* Added `|zip` filter.  #818
* Fix `break_on_hyphens` for the `|wordwrap` filter.  #823
* Prefer error message from `unknown_method_callback`.  #824
* Ignore `.jinja` and `.jinja2` as extensions in auto escape.  #832
Good vs. Bad Examples

Good:

  • Fixed an issue with the TypeScript SDK which caused an incorrect config for CJS.
  • Added support for claim timeout extension on checkpoint writes.
  • Improved error reporting when task claim expires.

Bad:

  • Fixed bug (too vague)
  • Updated dependencies (insignificant unless it fixes a security issue)
  • Refactored internal code structure (internal change, not user-facing)
  • Fixed typo in comment (insignificant)

Notes

  • If the current changelog already has an "Unreleased" section with content, append to it rather than replacing it
  • Preserve the existing changelog style and formatting (headings, bullet style, ordering, and spacing)
  • If the repo uses a different default branch name, treat that as the "current version" instead of main
  • When in doubt about whether a change is significant, err on the side of including it

Comments

Markdown supported