with one click
changelog
Generate a changelog for a release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Generate a changelog for a release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | changelog |
| description | Generate a changelog for a release |
| disable-model-invocation | true |
Generate a changelog entry for the CHANGELOG.md file by following these steps:
First, fetch tags from origin — they sit off-branch (see note below) so they don't come down with a normal git pull/git fetch on the branch:
git fetch origin --tags
Then run the following to get the list of commits:
git --no-pager log $(git merge-base $(git tag --list 'v*' --sort=-v:refname | head -n1) HEAD)..HEAD --oneline --no-decorate --no-merges
Note: The release workflow tags a separate "Build assets" commit that is not an ancestor of the branch, so the tag itself never lands on 6.x. That means git describe --tags walks back to a stale tag. Instead, take the newest tag and use its git merge-base with HEAD, which resolves to the release commit that is on the branch.
5.x commits are merged into 6.x as-is (not squashed), so this plain --no-merges log already walks both the 6.x mainline and every commit brought in via a 5.x merge, in true chronological order — it only excludes the merge commits themselves (multi-parent, no real change of their own).
For each commit:
(#13331))[6.x]/[5.x] prefix from the message&) as they interleave stdout unpredictably. Use: for pr in <numbers>; do echo -n "PR $pr: "; gh pr view $pr --json author --jq '.author.login'; doneSkip commits that are:
Do not skip dependency bumps from dependabot.
For [5.x]-prefixed commits, also skip/dedupe:
When in doubt about whether a [5.x]-prefixed commit is user-facing, lean toward including it — security/authorization hardening fixes (auth checks, method-resolution guarding, validation hardening) belong in the changelog even without a lot of detail in the title, matching how they're written up in the 5.x changelog (e.g. "Harden remote URL validation", "Fix token path traversal").
Format: - Description [#NUMBER](https://github.com/statamic/cms/issues/NUMBER) by @username
## X.Y.Z (YYYY-MM-DD)
### What's new
- Entry 1
- Entry 2
### What's fixed
- Entry 1
- Entry 2
Insert the new release entry at the top of the file, after the # Release Notes heading.
Inform the user of anything noteworthy, or any liberties you took. e.g. "I skipped PR 123 because of reason" or "I moved PR 123 to the bottom of the list"
You do not need to list everything. Only the noteworthy bits. The user will be able to inspect the diff of the changelog to see what you're adding.