write-changelog
Skill0 starsChanged 19 days agoMITView on GitHub
Write concise changelogs and release notes by inspecting Git commits and diffs first, then summarizing meaningful consumer-visible changes. Covers release scope, breaking migrations, deprecations, and existing history. Use when asked to update CHANGELOG.md, summarize commits between versions, draft release notes or App Store updates, or prepare a release history entry. Not for an MR description (write-mr-description), a chat recap, release automation setup, or publishing a release.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- DataDog/dd-trace-rbtheir own version, first seen Oct 9, 2026
- jamiebrynes7/obsidian-todoist-plugintheir own version, first seen Oct 9, 2026
- petera2c/simple-tabletheir own version, first seen Oct 8, 2026
- classroomio/classroomiotheir own version, first seen Oct 8, 2026
- zulip/zuliptheir own version, first seen Oct 8, 2026
- kannandreams/agent-toptheir own version, first seen Sep 10, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- zulip/zulip★ 26ksame name
- microsoft/vscode-pull-request-github★ 2.6ksame name
- classroomio/classroomio★ 1.7ksame name
- jamiebrynes7/obsidian-todoist-plugin★ 1.2ksame name
- DataDog/dd-trace-rb★ 417same name
- petera2c/simple-table★ 233same name
- kannandreams/agent-top★ 22same name
- plugyawn/armada★ 2same name
- wsm94/gi-claude-skills★ 2same name
- fabianmagrini/skills★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/comments.mdcCursor rule
- .cursor/rules/commit-messages.mdcCursor rule
- .cursor/rules/git-workflow.mdcCursor rule
- .cursor/rules/manage-stack.mdcCursor rule
- .cursor/rules/no-worktrees.mdcCursor rule
- manage-stackSkill
- convert-as-skillSkill
- create-agentSkill
- create-agents-mdSkill
- create-commandSkill
- create-hookSkill
- create-ruleSkill
- create-skillSkill
- retrospectiveSkill
- super-architectureSkill
- super-cachingSkill
- super-elixirSkill
- super-nodejsSkill
- super-protobufSkill
- super-tech-blueprintSkill
- atomic-semantic-commitSkill
- code-reviewSkill
- create-bruno-collectionSkill
- create-documentationSkill
- create-ticketsSkill
- ready-specSkill
- write-adrSkill
- write-mr-descriptionSkill
- write-planSkill
- write-postmortemSkill
- write-runbookSkill
- noslopSkill
- output-saversSkill
- safe-refactorSkill
- tddSkill
- verifySkill
- get-movingSkill
- later-listSkill
- standupSkill
- challenge-meSkill
- codebase-learnerSkill
- researchSkill
- second-opinionSkill
- traceSkill
- color-kitSkill
- design-system-kitSkill
- diagramSkill
- infographicSkill
- product-polish-workflowSkill
- prototype-wireframeSkill
- ui-ux-kitSkill
- evidenceSkill
- find-skillsSkill
- handoffSkill
- rumblingSkill
- use-levistackSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 38
Check the repository and working-tree state.
- Distinctive: line 53
Keep detailed engineering records and client release notes consistent while adjusting depth for their audiences.
- Distinctive: line 61
Use the repository's format, or this compact shape:
- Distinctive: line 81
Check reachability and the net diff, include relevant non-conventional commits, and reconcile duplicate or reverted work.
- Distinctive: line 82
Check versions, dates, links, migration instructions, and whether the stated change is included in the target release.
- Distinctive: line 83
Check that an implementation or tag is not described as a deployment without deployment evidence.
- Distinctive: line 85
Verify commands through safe local checks or existing tests.
“Common” is measured: kept by at least 6 in 10 of the 12 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.
Files
Write a changelog
Inspect Git first, then write the shortest useful account of what changed for the reader. Preserve the distinction between implementation, release, deployment, and verification.
Inspect Git before drafting
- Check the repository and working-tree state. Identify the audience, authorized scope, existing changelog, target ref, release boundaries, version scheme, and release channel. Follow local file locations and proceed within the user's existing docs authorization.
- Validate the range and inspect full commit messages, bodies, changed files, and the relevant diffs before writing a summary. Use Git evidence for commands and range, scope, merge, and revert checks. Confirm the net change at the target revision; neither a commit prefix nor a PR title proves the resulting behavior. Keep unrelated uncommitted work outside a committed release range.
- Classify user-visible additions, changed behavior, fixes, deprecations, removals, and known issues. Group commits that deliver one outcome, collapse duplicate or carried-forward work, and omit a fully reverted change that never shipped. A small security fix can deserve an entry. Do not hide a real compatibility change because its commit says
fix,chore, orrefactor. - Confirm the release date and deployment status separately. Keep unshipped work under an unreleased heading or label it explicitly. Do not infer a date from a version number or the current day.
Keep a small working map from each proposed bullet to its commits, relevant diff, and release evidence. Record exclusions and unresolved claims there, not in the public entry. If local history, tags, or a boundary is unavailable, state that limitation. Supplied facts can support a labeled draft; they are not proof that Git was inspected or the release inventory is complete.
Write entries readers can act on
Lead with breaking changes and required migration actions. Name affected users or integrations and explain the before-and-after behavior. A fix states the failure it corrects and the conditions that triggered it, rather than describing the internal diff.
Default to one release heading and a few short bullets. Give each distinct outcome one sentence. Use the natural number of meaningful changes; do not pad a small release or silently omit important changes to reach a word limit. Keep full evidence and internal commit counts out of reader-facing notes.
For a deprecation, give the replacement and verified removal schedule when known. If the schedule is undecided, say so. Verify any compatibility alias or migration command against the target release.
Keep detailed engineering records and client release notes consistent while adjusting depth for their audiences. Link public issues or source records where appropriate. Do not expose private ticket details, internal repository links, credentials, or personal data to clients.
Omit empty categories, routine build/test/refactor noise, raw commit prefixes, and repeated summaries unless they affect the audience. A dependency or infrastructure change still belongs when it changes compatibility, security, privacy, or operator requirements. Keep older release entries intact and add visible corrections according to the project's history policy. A request to summarize a chat is not automatically a request to create a release record.
For App Store or player notes, use plain product language and any supplied character limit. Technical notes retain exact public flags, fields, and migration commands. Follow the existing format instead of adding parallel changelogs, contributor lists, or announcements. Do not invent performance numbers or claim an experimental feature is generally available.
Output shape
Use the repository's format, or this compact shape:
Version and confirmed release date, or Unreleased
- Consumer-visible change.
- Failure corrected and the condition that triggered it.
- Required migration or adoption limitation, when applicable.The bullets above are slots, not required categories or a fixed count. Add category headings only when the host format or the amount of material needs them. Use exact product terms, flag names, field names, and versions. The entry should tell consumers what changed and what they must do.
Version suggestions only when requested
Keep the established version scheme. Under SemVer, reason from the verified public contract: incompatible changes may require a major release, compatible additions a minor release, and compatible fixes a patch. A commit prefix alone is insufficient. Respect the project's pre-1.0 and prerelease policy; do not apply a universal starting version or equate every deployment with a new version.
A recommendation explains its evidence and uncertainty. Do not bump manifests, create tags, change CI, open a PR, publish, or announce a release merely to write its notes.
Verify
- Trace each entry to the named release range or another primary release record. Flag conflicting or missing evidence.
- Check reachability and the net diff, include relevant non-conventional commits, and reconcile duplicate or reverted work. If there are no meaningful changes for the audience, report that result instead of manufacturing bullets or a version bump.
- Check versions, dates, links, migration instructions, and whether the stated change is included in the target release.
- Check that an implementation or tag is not described as a deployment without deployment evidence.
- Review the final entry for short, concrete wording and unsupported numbers. On repeat runs, update the intended entry without duplicating it. Preserve other release entries and the unaffected comparison-link base.
- Verify commands through safe local checks or existing tests. Label unrun instructions. Do not publish a release, change a version, execute production work, or send announcements merely to validate release notes.
- Report the updated document, evidence range, checks, and remaining uncertainty. A documentation request authorizes documentation edits within its scope, not a commit or publication.
Behavior scenarios are in evals/evals.json.
Related skills
write-mr-description: describe a change under review rather than a release.create-documentation: update product docs affected by the released behavior.polyglot-copywriter: refine reader-facing wording without changing the release facts.
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
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.

