changelog
Skill1 starsChanged 36 days agoMITView on GitHub
Maintain CHANGELOG.md for users, not developers — Keep a Changelog format, user-visible changes only, the six standard sections, strict entry format, and the release procedure.
160 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- morethanwords/twebtheir own version, first seen Nov 9, 2026
- 27Aaron/skillstheir own version, first seen Nov 8, 2026
- computerlovetech/skillstheir own version, first seen Nov 8, 2026
- ainurdev/mystical-assistanttheir own version, first seen Nov 8, 2026
- RodrigoAnciaes/golem-sddtheir own version, first seen Nov 8, 2026
- itsryanarmani/skillstheir own version, first seen Nov 8, 2026
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.
CoralGameSkillplaytest-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
lilangMaxSkillsoak-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
lilangMaxSkillteam-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
CoralGameSkillteam-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
Other versions160 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- sissc0731/claude-code-skills★ 015% same
Wrote their own version · 159
- meteor/meteor★ 45ksame name
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- MaaAssistantArknights/MaaAssistantArknights★ 24ksame name
- pipecat-ai/pipecat★ 17ksame name
- elie222/inbox-zero★ 13ksame name
- hashicorp/terraform-provider-aws★ 11ksame name
- JetBrains/ideavim★ 10ksame name
- BuilderIO/agent-native★ 7.6ksame name
- UnigramDev/Unigram★ 5.5ksame name
- entireio/cli★ 5.3ksame name
149 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.
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 149 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
If the current repository contains .claude/skills/changelog/SKILL.md and that file is not the one you are reading, read it and follow it …
- Very specific: line 20
If CHANGELOG.md already exists in a format other than the one described here, do not convert it unless the user asks for that explicitly.
- Distinctive: line 26
Every entry is written for the user, not the developer.
- Distinctive: line 68
If the project declares a versioning scheme — in its contributing guide or similar documentation — the preamble names it as well, for …
- Very specific: line 78
Use exactly these six section names, in this order.
- Very specific: line 80
When [Unreleased] has no entries, it consists of its heading alone.
- Distinctive: line 95
No issue numbers, no commit hashes, no author names.
- Distinctive: line 99
Start each entry with the subject of the change, not a verb:
- Distinctive: line 121
If the project automates the release, the automation performs these steps.
- Distinctive: line 127
Commit the result before tagging.
“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.
Files
Format and rules for maintaining CHANGELOG.md. Use this skill when adding an entry,
reviewing whether a change belongs in the changelog, or preparing a release section.
Project version first
If the current repository contains .claude/skills/changelog/SKILL.md and that file is
not the one you are reading, read it and follow it instead of this file.
Where the project's own documentation (for example CONTRIBUTING.md or CLAUDE.md)
sets a different convention, the project's convention wins over this skill.
Existing changelogs
If CHANGELOG.md already exists in a format other than the one described here, do not
convert it unless the user asks for that explicitly. Add new entries in the format the
file already uses, and offer the conversion as a separate change.
Audience
Every entry is written for the user, not the developer. The changelog describes changes in observable behaviour — not implementation details, refactoring, or test coverage. If a change is invisible to the user, it does not belong here.
Structure
The file follows Keep a Changelog 1.1.0, with one deliberate omission: no version comparison links are kept at the end of the file. They are addressed to developers rather than users, and every release would have to rewrite them.
The file opens with a short preamble naming the format, followed by one section per
release, ordered from newest to oldest. The top section is always [Unreleased] and
collects changes that have not yet been released. Sections are separated by their
headings alone — no horizontal rules between them.
# Changelog
All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
### Added
- ...
## [0.2.0] - 2026-03-15
### Changed
- ...
### Fixed
- ...
## [0.1.0] - 2026-02-28
### Added
- ...If the project declares a versioning scheme — in its contributing guide or similar documentation — the preamble names it as well, for example: "and this project adheres to Semantic Versioning." Do not name a scheme the project has not declared.
A version heading is ## [X.Y.Z] - YYYY-MM-DD: the version in brackets, a hyphen
surrounded by spaces, and the release date in ISO 8601 format.
Sections
Use exactly these six section names, in this order. A section heading appears only
when it has at least one entry — in [Unreleased] as well as in released versions.
When [Unreleased] has no entries, it consists of its heading alone. The first entry
for a section adds that section's heading at its position in the order below.
| Section | Use for |
Added | New features and capabilities visible to the user. |
Changed | Existing behaviour that has been intentionally altered. |
Deprecated | Features or options that still work but will be removed in a future release. |
Removed | Features or options that no longer exist. |
Fixed | Bugs that were observable by the user and are now resolved. |
Security | Fixed vulnerabilities, so that users know to upgrade. |
Entry format
One entry per line, starting with -. One sentence, ending with a period.
No issue numbers, no commit hashes, no author names.
Write what changed in behaviour, not what changed in code.
Start each entry with the subject of the change, not a verb:
✓ Export button now produces a file named after the current date.
✓ Filters are no longer reset after a manual data refresh.
✗ Added date-based filename generation to the export button.
✗ Fixed filter state preservation on refresh.What to include and what to skip
| Include | Skip |
| New feature visible to the user | Refactoring without behaviour change |
| Bug fix the user could observe | Dependency updates with no visible effect |
| Config field or CLI flag change | New or updated tests |
| Change in existing feature behaviour | Documentation edits |
| Removed or deprecated feature or option | Internal code cleanup |
Releasing
If the project automates the release, the automation performs these steps; do not perform them by hand. Otherwise, before tagging a release:
- Insert a version heading
## [X.Y.Z] - YYYY-MM-DDdirectly below## [Unreleased], so that the entries collected so far belong to the new version and[Unreleased]is left empty. - Commit the result before tagging.
## [Unreleased]
## [0.2.0] - 2026-03-15
### Fixed
- ...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.

