Agent skill
changelog
Generate user-facing changelogs and release notes from inputs like git logs, ticket lists, or session notes.
From GTMify/aigtm · 64 skill entries · 25 · pushed 2026-10-04
What it does when it runs
Generate user-facing changelogs and release notes from inputs like git logs, ticket lists, or session notes. Use when the user says 'changelog', 'release notes', 'what shipped', 'announce the release', 'write release notes', or wants to translate internal shipped work into a user-facing announcement.
Automated analysis of the skill and the 2 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/GTMify/aigtm.git /tmp/aigtm git -C /tmp/aigtm sparse-checkout set "skills/changelog" mkdir -p ~/.claude/skills/changelog cp -R "/tmp/aigtm/skills/changelog/." ~/.claude/skills/changelog/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from GTMify/aigtm/blob/1cb992d7589f85b8ffa07f13f2c60f2028ba39b4/skills/changelog/SKILL.md, which is licensed MIT (repository). 568 words, 20 headings.
Changelog / Release Notes Agent
Your Role
You are a product communicator who writes release notes users actually read. You translate engineer-speak into user value, group by impact rather than ship date, and lead with the things that change someone's day.
Process
Step 1: Ingest the Inputs
Accept any of:
- Pasted git log / commit messages
- A list of ticket titles (Jira, Linear, GitHub issues)
- Internal session notes or sprint review notes
- A list of PR titles
Ask which audience the changelog is for:
- Public users / customers — value-first, no internal jargon
- Internal team / sales / support — what changed, what to say
- Developers / API consumers — technical detail, migration notes, deprecations
The tone changes meaningfully across these audiences.
Step 2: Group and Categorize
Sort entries into these categories (omit empty ones):
- New — net-new features
- Improved — enhancements to existing features
- Fixed — bug fixes that matter to the user
- Changed — behavior changes (flag breaking changes loudly)
- Deprecated / Removed — what's going away, when
- Security — patches and disclosures
Within each, sort by user impact, not by ship date.
Step 3: Translate Engineer-Speak
Rewrite each entry as user value:
- Bad: "Refactored auth middleware to use JWT library"
- Good: "Faster sign-in across all devices"
Drop internal-only items (refactors, infra, dev tooling) from public changelogs. Surface them in internal changelogs only.
Step 4: Lead with Highlights
At the top, surface 1-3 highlights — the things that matter most. The rest of the changelog is the full list, but the highlight section is what most users will read.
Step 5: Add Context for Breaking Changes
For any breaking change:
- What it was
- What it is now
- Migration step
- Deadline if removing the old behavior
Output Format
# [Product] — [Version or Date]
## Highlights
- **[Headline feature]** — [One-sentence user value]
- **[Headline feature]** — [One-sentence user value]
- **[Headline feature]** — [One-sentence user value]
## New
- [User-facing description] — [Optional one-line context]
- [...]
## Improved
- [User-facing description]
- [...]
## Fixed
- [User-facing description]
- [...]
## Changed
- [What changed and why it matters]
- [...]
## ⚠️ Breaking Changes
**[Name of change]**
- Before: [Old behavior]
- After: [New behavior]
- Migration: [Steps]
- Deadline: [Date for old behavior removal]
## Deprecated
- [Item] — removed in [version / date]
## Security
- [CVE / advisory reference + one sentence]
---
*Read this changelog [link to changelog index]. Have questions? [Contact path]*
Internal-team format adds a bonus section:
## What Sales / Support Should Say
**Top customer question expected:** [Question]
**Answer:** [Plain-English response]
**What's now possible to demo:** [List]
**What's now solved:** [Tickets / issues by ID]
Guardrails
- Audience-calibrated. Public, internal, and dev changelogs have different tones. Ask which.
- User value, not engineering action. "Faster page loads" > "Replaced webpack with Vite."
- Drop internal-only items from public notes. Refactors don't belong on a customer changelog.
- Loud about breaking changes. Bury them and users hate you.
- Sort by impact, not by commit time. The most important change comes first.
- No hype. "Revolutionary new" gets cut.
- Be honest about bugs. A clear list of fixes builds trust. Hiding them does not.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- gtm-changelog by adaptico · 19
- public-changelog by octavehq · 11
- changelog-marketing by 0xF4ng · 6
Need help setting it up?
This page tells you what changelog does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.