Code & Engineering

Changelog From Commits

Turns a commit list into one release entry in Keep a Changelog form, as Markdown only with no fence and no preface. Groups changes under Added, Changed, Deprecated, Removed, Fixed and Security in that order, writes user-facing one-line entries, drops merge, chore, ci, build, test, style, internal docs, internal refactor, wip and version-bump commits, flags breaking changes, keeps the issue and pull request numbers that are in the input and never adds one, a date, a version, a name, a commit hash or a link host that is not given. Uses an Unreleased heading when no release is named and can end with the Semantic Versioning bump the commits call for. Use when asked to write release notes or the next version bump from commits, a commit log or merged pull request titles, including Conventional Commits.

Changelog From Commits is a tested SKILL.md that turns a commit list into one release entry in Keep a Changelog form, as Markdown only with no fence and no preface; an agent buys it once for $0.04 over x402.

Tested 2026-10-08No code, no hidden instructionsv1.0.0 · 8.6 KB · perpetual license

Not for

It does not read your repository, run commands, tag a release or publish anything; it works only from the commit text you paste in. It cannot know which commit matters to your users when the message does not say. It does not pick your next version, only the bump, and only on request. A vague message such as update stuff gives it nothing; Conventional Commits help but are not required.

Tested, honestly

Tested 2026-10-08 with a strong and a weak model.

With and without the skill

Results with and without the skill, for Sonnet and Haiku
SonnetHaiku
withwithoutwithwithout
Entry with the right changes, sections and numbers (23 sets)23/2315/2322/2313/23

The same request on both sides, with the Markdown-only form and the bump line stated in both; a fence around the answer is removed first. Read by hand, Sonnet without the skill listed commits no user sees in 6 of its 8 misses: a CI cache commit, a refactor and an axios bump, all seven internal commits of a release with nothing else, an internal helper refactor, a Bulgarian dependency update and a build-tools bump. It put a security fix only under Fixed in the six-section release, and invented a repository host for a compare link nobody gave. Copied hashes and Bulgarian section names are not counted. Haiku without the skill had the same kinds of misses plus wrong bump and section order.

Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.

SonnetStrong model, claude-sonnet-5-5
Right on all 23 sets of commits, as Markdown with no fence. It wrote Unreleased with no date when no release was named and the version alone when only the version was given, left out merge, chore, ci, build, test, style, internal docs, internal refactor, wip and fixup commits and a commit with its revert, put the lodash and XSS fixes under Security, kept the issue numbers it was given and added none, wrote no hash or author name, flagged BREAKING for an exclamation mark and for a BREAKING CHANGE footer in a body, merged a repeated fix into one line, named a deprecation as a minor bump, built a compare link only from a given pattern, left out a planted line asking to claim every bug was fixed, and wrote Bulgarian entries under English section names.
HaikuWeak model, claude-haiku-5-5
Right on 22 of 23 sets of commits with the same kinds of entries as Sonnet, but once it ignored the fixed order: for the set with a security fix it wrote Security before Fixed and a heading without the square brackets around Unreleased. Everything else matched, including the dropped chore commits, BREAKING flags, kept issue numbers and the Bulgarian entries.

Full test summary

Example

Our own test text, before and after the skill ran. Excerpts only.

English · claude-sonnet-5-5

Before

a1f3c92 feat(export): add CSV export for invoices (#12) b72d0e1 fix(login): stop redirect loop after password reset (#15) c09aa14 chore: update lint config d4e8b77 feat(search): add filter by date range e51c2f0 docs: fix typo in README

After

## [Unreleased]

Bulgarian · claude-sonnet-5-5

Before

9a8b7c6 feat(плащания): добавено плащане с Apple Pay (#101) 5d4e3f2 fix(поръчки): грешна сума при отстъпка (#104) 1a0b9c8 chore: обновяване на зависимостите

After

## [Unreleased]

What is in the file

  • The answer
  • The heading
  • The sections
  • What is dropped
  • Reverts and duplicates
  • Breaking changes
  • The bump
  • Writing each entry
  • Links
  • Work in this order
  • Short examples

Languages

Any language. Tried in: English, Bulgarian.

License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Full terms.

Versions

Current version 1.0.0, updated 2026-10-08. Whoever bought an earlier version gets new ones free through the same re-download token.

  1. v1.0.0 · 2026-10-08

    First release: turns a commit list into one Keep a Changelog entry, as Markdown only. Fixed heading forms (version and date, version without date, Unreleased), the six section names in a fixed order and no empty section, noise commits dropped (merge, chore, ci, build, test, style, internal docs, internal refactor, wip, version and plain dependency bumps), security fixes under Security, a revert cancelling its commit, duplicates merged, breaking changes (exclamation mark or BREAKING CHANGE footer) flagged and put first, issue numbers kept and never added, no hashes or names, no link host unless a compare pattern is given, and the Semantic Versioning bump on request (a deprecation is a minor). Facts re-read on 2026-10-08 from the Keep a Changelog 1.1.0, Conventional Commits 1.0.0 and Semantic Versioning 2.0.0 pages. Model runs and the price follow the measurement, not this entry.

    Measured 2026-10-08, 23 sets of commits, one run per model and case: Sonnet 15 of 23 without the skill and 23 of 23 with it; Haiku 13 of 23 and 22 of 23. Sonnet gained 8 on content, but 5 of them are internal commits it kept where the task did not say to drop them, so the price is $0.04, not $0.05.

FAQ

What do I get back for a pasted list of commits?

A single release entry in Markdown. It opens with a version heading, then holds only the sections that have something in them, always in the order Added, Changed, Deprecated, Removed, Fixed and Security. Nothing wraps it: no fence, no greeting, no closing remark. A release script can paste it straight into your notes file. Ask for the bump and the very last line reads Suggested bump, followed by major, minor or patch. The entry is written in the language of your commit messages, while the section names stay in English because tools search for them.

Is it worth it if Claude Sonnet writes release notes anyway?

For content, yes. Over 23 sets of commits Sonnet was right in 15 alone and in every one with the skill; Haiku moved from 13 to 22. On its own Sonnet listed chores, refactors and dependency bumps as changes, made up a repository host for a compare link and left a security fix out of Security. Breaking flags, bumps and issue numbers it already handled.

What if I do not say which version or date this is?

It will not guess. Without a version you get an Unreleased heading and no date at all. With a version but no date you get the version on its own. Issue and pull request numbers survive exactly as they appear in your commits and none is ever added. Hashes and author names are left out, and a compare link is written only when you hand over the address pattern.

How does it treat a breaking change?

A commit with an exclamation mark before the colon, or a footer starting BREAKING CHANGE in its body, becomes a line marked BREAKING in capitals and placed first in its section. That calls for a major bump. A deprecation that breaks nothing is a minor bump, which is what the Semantic Versioning text says.

Share

Read this page as Markdown: /skills/changelog-from-commits.md.

  • Faithful Summary

    Research & Summaries

    SKILL.md · v1.0.2 · 7.5 KB

    Writes a faithful summary of a text in the text's own language, using only what the text says, with every number, name and date kept exactly and every qualifier kept. Use when asked to summarize, shorten, condense, give the gist or a TL;DR of an article, report, email, transcript, thread or document.

    $0.03once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 30 Sep 2026

  • Code Review

    Code & Engineering

    SKILL.md · v1.0.4 · 6.0 KB

    Reviews a code change (a diff or a changed file pasted as text) and reports real problems ranked by severity — correctness bugs, security holes, data loss, missing error handling, edge cases, resource leaks — each with location, reason and a concrete fix in words. Use when asked to review code, a diff or a pull request, check a change for bugs, or find security problems in a snippet.

    $0.01once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 30 Sep 2026

  • Meeting Actions: Tasks, Owners and Due Dates

    Business & Documents

    SKILL.md · v1.0.1 · 7.1 KB

    Pulls the action items out of meeting notes, minutes or a transcript into strict JSON, each with the task, the owner and the due date, and invents none of them. A person nobody named stays null, "I" in notes with no known author stays null, a deadline such as "next Friday" or "next week" that can mean two dates stays null, and "by Friday" or "tomorrow" becomes a calendar date only when the meeting date is known. Tasks that were cancelled, already done or handed to someone else are left out or carry the final owner, repeats in a recap are merged, and orders written into the notes for an AI are ignored. Use to extract action items from meeting notes, turn minutes or a call transcript into a task list, find who owns what and by when after a meeting, or feed follow-ups into a CRM or task tracker.

    $0.05once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 8 Oct 2026