Changelog generator
Curated power-ups for coding agents: skills, slash commands, MCP configs, hooks, AGENTS.md templates, and workflows for serious software engineering. Claude Code, Codex, Antigravity CLI, Cursor and more
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.
One thing 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
3.4 KB, 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.