Update changelog
Skill MarcoAntolini/cursor-sync/cursor-skills/update-changelog
Just a repo to sync my cursor skills, rules and commands.
npx -y skills add MarcoAntolini/cursor-sync --skill update-changelogAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Maintains CHANGELOG.md per Keep a Changelog 1.1.0. Two workflows: refresh [Unreleased] from git (update-changelog command), or cut a semver release and bump version manifests (update-changelog-release command). Use when the user invokes those commands, asks to update the changelog, refresh Unreleased, or release a new version with aligned package versions.
SKILL.md
6.8 KB, as published. Nobody here has run it
Update changelog
Specs: Keep a Changelog 1.1.0 · Semantic Versioning 2.0.0
Stack-agnostic. Use git for source-of-truth on changes and KAC for changelog prose.
Command routing
| User invokes | Run |
|---|---|
/update-changelog | Workflow A — Unreleased only |
/update-changelog-release | Workflow A, then Workflow B — Release (includes version manifest bumps) |
Do not cut a release or bump package.json / thunderstore.toml / etc. unless the user used update-changelog-release (or explicitly asked for a full release in the same message).
Shared preparation
- Locate changelog — default
CHANGELOG.mdat repo root; accept a user-provided path. Read the full file. - Ensure KAC header exists (add if missing, keep if present):
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
- Ensure
## [Unreleased]exists as the first version section (create empty section if missing). - Gather changes (parallel when possible):
git statusgit diffandgit diff --stagedgit log -1 --oneline- Only for Workflow A with
commitsargument (see command file): alsogit logsince last release tag or since the newest## [X.Y.Z]in the changelog, plus matchinggit diff.
Keep a Changelog rules (required)
- Use only these section headings under a version (omit empty sections):
### Added·### Changed·### Deprecated·### Removed·### Fixed·### Security
- No custom sections (“Documentation”, “Misc”, “Internal”).
- Bullets: concise, user impact, not file paths. Link
#123/ PRs when known. - Merge with existing
[Unreleased]bullets; refine duplicates instead of repeating.
| Signal | Section |
|---|---|
| New feature, option, API | Added |
| Behavior or config change | Changed |
| Bug fix | Fixed |
| Removed feature / option | Removed |
| CVE / security fix | Security |
| Soon removed | Deprecated |
| Conventional commit | Usually |
|---|---|
feat | Added (or Changed) |
fix | Fixed |
docs | Changed if user-facing; else skip |
refactor, perf | Changed |
! / BREAKING CHANGE | Changed + breaking note, or Removed |
chore, ci, build | Skip unless user-visible |
Details: reference.md
Workflow A — Unreleased only
Goal: Document work in progress under [Unreleased]. Do not rename the section or bump package versions.
- Complete Shared preparation.
- Update
## [Unreleased]from git (working tree by default; include recent commits only if the command says so). - Do not edit released version sections.
- In the reply, show the full updated
## [Unreleased]block. - If
[Unreleased]is non-empty, add a short suggested next version line (e.g. “Likely 0.3.0 (MINOR) when you release — use/update-changelog-release.”). Do not cut the release in this workflow.
Workflow B — Release
Goal: Ship what is in [Unreleased] as a dated version and align product version fields across the repo.
B1 — Refresh Unreleased
Run Workflow A first so [Unreleased] matches current git state (including uncommitted work that belongs in this release).
B2 — Choose semver
- Read the latest released version from the changelog (first
## [X.Y.Z]or## [X.Y.Z] - datebelow[Unreleased]). - Classify everything under
[Unreleased]using SemVer 2.0.0:- PATCH — backwards-compatible fixes only.
- MINOR — backwards-compatible features.
- MAJOR — incompatible API/behavior users must react to.
0.y.z— MINOR may include breaking changes; document breaks in bullets.
- Compute newVersion = bumped latest (e.g.
0.2.0+ MINOR →0.3.0). - State newVersion and rationale in the reply before editing files.
If [Unreleased] is empty, stop and tell the user there is nothing to release.
B3 — Cut changelog
- Rename
## [Unreleased]→## [newVersion] - YYYY-MM-DD(ISO 8601; use today unless the user gave a date). - Move all
### Added/### Changed/ … content under the new heading (unchanged bullets). - Insert a new empty
## [Unreleased]above the new version (still below the intro blurb).
B4 — Bump version manifests
Discover and edit every product semver field in the repo so it matches newVersion. See reference.md for common paths.
Process:
- Search the repo for the current version string (from B2’s “latest released”) in likely manifests.
- Update only fields that hold the package / app version (not schema or API format versions).
- Prefer precise edits (same string format: quoted semver, no
vprefix unless the file already uses it). - If multiple packages exist (monorepo), bump only the package(s) this changelog describes; ask if unclear.
Do not bump: schemaVersion, apiVersion, lockfile dependency versions, tool config schema ids.
Thunderstore / tcli: [package] versionNumber = "X.Y.Z" only — never [config] schemaVersion.
B5 — Reply summary
Include:
- newVersion and semver rationale
- The new
## [newVersion] - datesection (copy from file) - Table: file · key · old → new for every manifest updated
- Reminder: run
git-commitand your project’s publish/tag workflow if not asked to commit here - Do not
git commit,git push, orgit tagunless the user explicitly requested it in the same message
Monorepos
- One changelog per package, or ask which path the release is for.
- Bump only manifests for that package.
What not to do
- Invent changelog bullets not supported by git or existing
[Unreleased]text. - Cut a release in Workflow A.
- Leave version manifests on the old number after Workflow B.
- Rewrite history in released changelog sections.
Additional reference
- Manifest table, bump examples, checklist: reference.md