changelog-generator
Generate release notes and changelogs from git commits, feature lists, or project updates. Use when a user asks to generate a changelog, create release notes, summarize recent changes, draft a CHANGELOG entry, or prepare release documentation from git history.
Best use case
changelog-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generate release notes and changelogs from git commits, feature lists, or project updates. Use when a user asks to generate a changelog, create release notes, summarize recent changes, draft a CHANGELOG entry, or prepare release documentation from git history.
Teams using changelog-generator should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/changelog-generator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How changelog-generator Compares
| Feature / Agent | changelog-generator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generate release notes and changelogs from git commits, feature lists, or project updates. Use when a user asks to generate a changelog, create release notes, summarize recent changes, draft a CHANGELOG entry, or prepare release documentation from git history.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Changelog Generator ## Overview Generate structured changelogs and release notes from git commit history, merge commits, or manually provided feature lists. Produces well-organized, categorized output following the Keep a Changelog convention. Handles both technical changelogs for developers and user-facing release notes. ## Instructions When a user asks you to generate a changelog or release notes, follow this process: ### Step 1: Determine the scope Identify what range of changes to include: ```bash # List recent tags to find version boundaries git tag --sort=-creatordate | head -10 # Get commits since the last tag LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null) echo "Last tag: $LAST_TAG" # If no tags exist, ask the user for a date range or commit range ``` Get the raw commit data: ```bash # Commits since last tag git log "$LAST_TAG"..HEAD --oneline --no-merges # Commits between two tags git log v1.1.0..v1.2.0 --oneline --no-merges # Commits in the last 2 weeks git log --since="2 weeks ago" --oneline --no-merges # With more detail (author, date, body) git log "$LAST_TAG"..HEAD --format="%h %s (%an, %ad)" --date=short --no-merges ``` ### Step 2: Categorize the commits Sort each commit into one of these categories based on the commit message and changed files: - **Added** - New features or capabilities - **Changed** - Changes to existing functionality - **Deprecated** - Features that will be removed in a future version - **Removed** - Features that have been removed - **Fixed** - Bug fixes - **Security** - Vulnerability fixes Use commit message prefixes as hints: - `feat:`, `feature:` -> Added - `fix:`, `bugfix:` -> Fixed - `refactor:`, `perf:` -> Changed - `docs:` -> Changed (if user-facing) or skip - `chore:`, `ci:`, `build:` -> Skip unless significant - `security:`, `vuln:` -> Security - `deprecate:` -> Deprecated - `remove:`, `breaking:` -> Removed If commits lack conventional prefixes, read the diff to classify: ```bash # See what files changed in a commit git show --stat <commit-hash> # See the actual diff for ambiguous commits git show <commit-hash> ``` ### Step 3: Write the changelog entry Format following Keep a Changelog: ```markdown ## [X.Y.Z] - YYYY-MM-DD ### Added - Feature description in user-understandable language (#PR) ### Changed - What changed and why it matters (#PR) ### Fixed - Bug description and what was corrected (#PR) ``` Rules for writing entries: - Write from the user's perspective, not the developer's - Start each item with a verb (Add, Fix, Update, Remove) - Include PR or issue numbers when available - Group related changes into a single entry - Skip internal refactors unless they affect behavior - Mention breaking changes prominently ### Step 4: Output the result - If a `CHANGELOG.md` exists, prepend the new entry below the header - If creating release notes (e.g., for GitHub), use a more narrative style - Always show the user the generated content before writing to a file ## Examples ### Example 1: Generate changelog from git history **User request:** "Generate a changelog for the v2.3.0 release" **Actions:** ```bash git log v2.2.0..v2.3.0 --oneline --no-merges ``` **Output:** ```markdown ## [2.3.0] - 2025-04-15 ### Added - Add dark mode support across all pages (#234) - Add CSV export for dashboard reports (#241) - Add keyboard shortcuts for navigation (#238) ### Changed - Improve search performance by 3x with debounced queries (#236) - Update authentication flow to support SSO providers (#240) ### Fixed - Fix pagination losing filters on page change (#235) - Fix timezone display in event scheduler (#237) - Fix memory leak in WebSocket connection handler (#242) ``` ### Example 2: Create user-facing release notes **User request:** "Write release notes for our users about this update" **Output:** ```markdown # What's New in v2.3.0 We're excited to ship dark mode, faster search, and SSO support! ## Highlights **Dark Mode** - The app now supports dark mode across all pages. Toggle it from Settings > Appearance or let it follow your system preference. **3x Faster Search** - Search results now appear instantly as you type, thanks to a complete rewrite of the search engine. **SSO Login** - You can now sign in with your company's identity provider (Okta, Azure AD, Google Workspace). ## Bug Fixes - Filters now persist correctly when navigating between pages - Event times display in your local timezone - Resolved a connectivity issue with real-time updates ## Full Changelog See the [complete changelog](./CHANGELOG.md) for all details. ``` ### Example 3: Changelog from a branch diff **User request:** "What changed on the feature branch compared to main?" **Actions:** ```bash git log main..feature/payments --oneline --no-merges git diff main..feature/payments --stat ``` **Output:** A summary of all changes on the branch, categorized and formatted, suitable for including in a PR description or release planning document. ## Guidelines - Always read the existing CHANGELOG.md format before generating a new entry to match the style. - Use semantic versioning: breaking changes = major, new features = minor, fixes = patch. - For conventional commits repos, leverage the prefixes for automatic categorization. - Skip trivial commits (typo fixes, whitespace changes) unless the user wants everything. - When in doubt about whether a change is user-facing, include it with a note. - For monorepos, group changes by package or service. - Always include the date in ISO 8601 format (YYYY-MM-DD). - If the user provides a list of features instead of git history, format them into the same structure.
Related Skills
test-generator
Generate unit, integration, and end-to-end tests for existing code. Use when a user asks to write tests, add test coverage, create unit tests, generate integration tests, build e2e tests, improve code coverage, write specs, or add testing to a project. Supports Jest, Vitest, Pytest, Playwright, React Testing Library, and Cypress. Analyzes code to produce meaningful assertions, edge cases, and mock setups.
report-generator
Generate professional reports with charts, tables, visualizations, and structured narratives. Covers data-driven PDF/HTML reports, weekly status reports, executive summaries, and recurring team updates. Use when a user asks to create a report, generate a data report, build a dashboard report, write a weekly report, create a status update, or produce a team progress report.
nda-generator
Generate professional Non-Disclosure Agreements for meetings, partnerships, and employment. Use when a user asks to create an NDA, draft a confidentiality agreement, generate a non-disclosure document, make an NDA for a meeting, or prepare a mutual NDA for a partnership. Supports unilateral and mutual NDAs.
app-store-changelog
Generate App Store release notes from git history. Use when: creating release changelogs, App Store 'What's New' text, or summarizing changes since last tag.
ai-video-generator
Generate short-form videos with AI — script writing, text-to-speech narration, stock footage selection, subtitle generation, and video assembly. Use when: creating TikTok/YouTube Shorts/Reels content, automating video production, building content pipelines.
zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
zoho
Integrate and automate Zoho products. Use when a user asks to work with Zoho CRM, Zoho Books, Zoho Desk, Zoho Projects, Zoho Mail, or Zoho Creator, build custom integrations via Zoho APIs, automate workflows with Deluge scripting, sync data between Zoho apps and external systems, manage leads and deals, automate invoicing, build custom Zoho Creator apps, set up webhooks, or manage Zoho organization settings. Covers Zoho CRM, Books, Desk, Projects, Creator, and cross-product integrations.
zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
zipkin
Deploy and configure Zipkin for distributed tracing and request flow visualization. Use when a user needs to set up trace collection, instrument Java/Spring or other services with Zipkin, analyze service dependencies, or configure storage backends for trace data.
zig
Expert guidance for Zig, the systems programming language focused on performance, safety, and readability. Helps developers write high-performance code with compile-time evaluation, seamless C interop, no hidden control flow, and no garbage collector. Zig is used for game engines, operating systems, networking, and as a C/C++ replacement.
zed
Expert guidance for Zed, the high-performance code editor built in Rust with native collaboration, AI integration, and GPU-accelerated rendering. Helps developers configure Zed, create custom extensions, set up collaborative editing sessions, and integrate AI assistants for productive coding.
zeabur
Expert guidance for Zeabur, the cloud deployment platform that auto-detects frameworks, builds and deploys applications with zero configuration, and provides managed services like databases and message queues. Helps developers deploy full-stack applications with automatic scaling and one-click marketplace services.