Changelog generator
Use when preparing release notes or a changelog entry from commits, PRs, or diffs, summarizing a sprint or version range, or scanning a range for breaking changes before publishing.From its SKILL.md
npx -y skills add yeaight7/agent-powerups --skill changelog-generatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 6 stars6 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.
- runs commandsInstructs the agent to run 4 commands, including `git log <from>..<to> --oneline --no-merges` and 3 more.
SKILL.md
3.4 KB, 825 tokens by cl100k_base, as published. Nobody here has run it
Changelog Generator
When to Use
- Preparing release notes for a GitHub Release or CHANGELOG.md entry
- Summarizing changes across a sprint, milestone, or version range
- Checking whether any commits contain breaking changes before publishing
- Producing a technical diff summary for internal reviewers
Inputs
- Compare range:
<from-tag>..HEAD,main..HEAD, or a PR list with merge dates - Target audience and output mode (see below)
- Existing CHANGELOG.md (if present, match its format)
Workflow
1. Collect raw material
git log <from>..<to> --oneline --no-merges
git log <from>..<to> --format="%h %s (%an)" --no-merges
Or from GitHub PRs:
gh pr list --state merged --base main --json number,title,labels,author
Check CHANGELOG.md for format precedent before writing.
2. Classify commits
| Commit signal | User-facing label |
|---|---|
feat / new capability | Added |
fix / bug fix | Fixed |
perf / performance | Improved |
deprecate | Deprecated |
BREAKING CHANGE: footer or ! suffix | Breaking |
chore, refactor, ci, build | (internal — omit from user notes) |
docs | Include only if docs are a shipped artifact |
When Conventional Commits are not used, infer from the commit subject.
3. Scan for breaking changes
Flag any commit or PR that:
- Contains
BREAKING CHANGE:in the message body - Has a
!suffix on the type (e.g.,feat!: rename --output-dir) - Removes or renames a public export, CLI flag, API endpoint, or config key
- Changes a default value or behavior
4. Write the output
User-facing release notes (GitHub Release body):
## What's Changed
### Added
- Description of new capability ([#123](link))
### Fixed
- Description of bug fix ([#124](link))
### Breaking Changes
- `--old-flag` has been renamed to `--new-flag` — update your scripts
### Deprecated
- `legacyMethod()` is deprecated; use `newMethod()` instead
Internal changelog entry (CHANGELOG.md format):
## [X.Y.Z] - YYYY-MM-DD
### Added
### Fixed
### Changed
### Breaking
### Deprecated
### Chores
Breaking-change scan only:
BREAKING CHANGES FOUND:
abc1234 feat!: rename --output-dir to --out
def5678 fix: remove deprecated --legacy flag
NONE if clean.
Technical diff summary (for internal reviewers):
CHANGED FILES: N
MODULES AFFECTED: [list]
SUMMARY: [what changed at the file/module level, no prose]
Output
Deliver the formatted block plus:
- Compare range used
- Total commit count in range
- Any commits skipped (merge commits, reverts, etc.)
Verification
- Every user-visible commit in the range is covered
- Breaking changes are explicitly labeled in user-facing output
- No internal chore commits appear in user-facing release notes
Failure Modes
- Empty compare range — run
git log <from>..<to>to confirm the range resolves correctly - Conventional Commits not used — fall back to inferred classification from the subject line
- Squash-merge strategy with uninformative subjects — use PR titles and labels instead
Sources / Inspiration
Inspired by ComposioHQ/awesome-codex-skills changelog-generator/SKILL.md. Rewritten in Agent Powerups style.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most readme changelog skills give in 825 tokens
Counted across 446 of the 460 authors here whose files we hold, read 2026-09-06
- Follow Keep a Changelog formatin 24 of 446
- Collect commits since the last git tagin 15 of 446, across 13 files
- Omit empty sectionsin 14 of 446
- Put breaking changes first with migration stepsin 14 of 446
- Include migration guidance for breaking changesin 11 of 446, across 10 files
- Categorize commits by conventional commit prefixin 11 of 446
- Mark breaking changes prominentlyin 10 of 446
- Prepend the new entry to CHANGELOG.mdin 9 of 446
- Highlight breaking changes with migration notesin 8 of 446, across 7 files
- Classify changes into Keep a Changelog categoriesin 8 of 446, across 7 files
- Group related commits into single entriesin 8 of 446
- Write the changelog from commitsin 8 of 446
Said here and by no other author read
- run git log over the compare range
- list merged PRs for raw material
- check CHANGELOG.md for format precedent before writing
- classify commits into user-facing categories
- infer commit types from subjects when conventions absent
- flag removed or renamed public interfaces
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.