agentleFS
0xmortuex0xmortuex/claude-code-skills/skills/changelog/SKILL.md

changelog

Skill0 starsChanged 4 months agoMITView on GitHub

Turn git history since the last release into a human-readable changelog or release notes, grouped by type of change and written for the people who use the software, not the people who wrote it. Use this whenever the user is cutting a release, asks for release notes, a changelog, "what changed since the last version", wants to update CHANGELOG.md, or is tagging a version. Also use when someone needs to summarize a range of commits into something a user or stakeholder would read.

160 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use playtest-report, soak-test and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CoralGameSkill

    playtest-report

    Generates a structured playtest report template or analyzes existing playtest notes into a structured format. Use this to standardize playtest feedback collection and analysis.

    Also in 12 projects that use this

  • lilangMaxSkill

    soak-test

    Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.

    Also in 9 projects that use this

  • lilangMaxSkill

    team-live-ops

    Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.

    Also in 9 projects that use this

  • CoralGameSkill

    team-polish

    Orchestrate the polish team: coordinates performance-analyst, technical-artist, sound-designer, and qa-tester to optimize, polish, and harden a feature or area for release quality.

    Also in 14 projects that use this

  • +5 more from lilangMax
  • +3 more from CoralGame

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 149 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Credit and link where the project does: If the repo references PRs/issues (#123) or contributors in its existing changelog, keep that …

    line 37
  2. Very specific:

    Default to Keep a Changelog style, matching an existing CHANGELOG.md if present:

    line 41
  3. Distinctive:

    After writing, tell the user the version/date you used and anything you deliberately left out (noise) or flagged as breaking, so they can …

    line 64
  4. Distinctive:

    If a commit message and its diff are both ambiguous about user-facing impact, say what you're unsure of rather than guessing a category or …

    line 68
  5. Distinctive:

    No tags and no user-given range means ask for one — don't default to dumping the entire history.

    line 69
  6. Distinctive:

    Never invent a version number or date, and never assert or omit a BREAKING marker without having actually read the diff behind it.

    line 70

“Common” is measured: kept by at least 6 in 10 of the 149 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

changelog

A changelog is written for the reader who wants to know "what does this release mean for me — what's new, what's fixed, what might break?" — not for the author reviewing their own commits. The raw git log is the input, not the output. Your job is to translate developer-facing commit messages into user-facing notes: grouped, deduplicated, and phrased around impact.

Gather the material

  1. Find the last release boundary. The most recent tag is usually it: git describe --tags --abbrev=0, then git log <lasttag>..HEAD. If there are no tags, ask the user for the range (a date, a commit, "since v1.2") rather than dumping the entire history.
  2. Read the commits with their diffs when the message is thin. A commit that says "fix stuff" needs you to look at what it changed. The message is a hint; the diff is the truth.
  3. Check for an existing CHANGELOG.md and match its format, headings, and voice exactly. Consistency across releases matters more than any format you'd prefer.

Group by what it means to a user

Organize under Keep a Changelog categories — they map to the reader's actual questions:

  • Added — new features and capabilities
  • Changed — changes to existing behavior
  • Deprecated — soon-to-be-removed features
  • Removed — features taken out this release
  • Fixed — bug fixes
  • Security — vulnerability fixes (call these out; users need them to make patching decisions)

Omit empty categories. If the project uses Conventional Commits, the type prefix (feat/fix/…) maps cleanly onto these — but still read for meaning, since one commit can carry a fix and a behavior change.

Write for the user, not the committer

This is the whole skill. Translate:

  • Drop the noise. Merge commits, wip, fix typo, formatting-only changes, dependency bumps with no user impact — these don't belong in user-facing notes (a separate "Dependencies" or "Internal" section is fine if the project wants completeness).
  • Deduplicate. Five commits building one feature become one entry describing the feature.
  • Phrase around impact. Not "refactored the auth middleware" but "Fixed login sessions being dropped after 30 minutes." The reader cares about the effect, not the mechanism.
  • Flag breaking changes loudly. Anything that changes an API, a config key, a default, or a migration requirement gets a BREAKING marker and a line on what the user must do. This is the single most important thing a changelog does — a surprised user is a broken deployment.
  • Credit and link where the project does. If the repo references PRs/issues (#123) or contributors in its existing changelog, keep that convention.

Output format

Default to Keep a Changelog style, matching an existing CHANGELOG.md if present:

## [1.4.0] - 2026-07-24

### Added
- Dark mode, toggled from Settings or with `Ctrl+Shift+L`.

### Fixed
- Login sessions no longer drop after 30 minutes of inactivity.
- CSV export now escapes commas inside quoted fields.

### Security
- Patched a path-traversal in the file-download endpoint (a crafted
  filename could read files outside the upload directory).

### Changed
- **BREAKING:** `config.timeout` is now milliseconds, not seconds.
  Multiply existing values by 1000.

Prepend the new entry to CHANGELOG.md (newest on top). If the user wants GitHub Release notes instead, offer a slightly punchier version with a one-line summary at the top and a "Full changelog" compare link. Ask which they want if it's ambiguous.

After writing, tell the user the version/date you used and anything you deliberately left out (noise) or flagged as breaking, so they can sanity-check before publishing.

Boundaries

  • If a commit message and its diff are both ambiguous about user-facing impact, say what you're unsure of rather than guessing a category or inventing a plausible-sounding effect.
  • No tags and no user-given range means ask for one — don't default to dumping the entire history.
  • Never invent a version number or date, and never assert or omit a BREAKING marker without having actually read the diff behind it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.