changelog — Claude Code command: what it does, how to install
Generates a structured changelog from recent git commit history. It groups changes by date and category, formatting user-facing release notes in Markdown.
.claude/commands/changelog.mdWhat changelog does
Execution begins by resolving the repository origin via git remote get-url origin. If remote context is missing, the command stops and asks whether the repository is local-only or has a remote URL. When a remote URL exists, commit hashes turn into clickable links. Plain hashes remain for local repositories.
Commits from the last 7 days are grouped daily, while older commits aggregate by week. The tool filters messages by keywords into distinct categories: features, bug fixes, refactoring, documentation, configuration, dependencies, and breaking changes. Breaking changes receive dedicated notes with migration guidance.
Output focuses on user-facing descriptions rather than technical noise. Related commits are merged, while terminology is aligned directly with the project README.
What it helps with
- build clean release notes from recent git commits
- categorize commit logs by features, fixes, and dependencies
- highlight breaking changes alongside migration guidance
- link commit hashes to remote repository URLs
Example prompts for the agent
- /changelog
- /changelog for the past week
- Generate a changelog from recent commits categorized by change type
How to install changelog
Manually: put the files in place
.claude/commands/changelog.mdCall it with /changelog. For all projects use ~/.claude/commands/
Manually: put the files in place
~/.codex/prompts/changelog.mdCall it with /prompts:changelog. Codex marks this format deprecated in favour of skills
Manually: put the files in place
.github/prompts/changelog.prompt.mdManually: put the files in place
.gemini/commands/changelog.tomlGemini stores commands as TOML: the prompt text goes into the prompt field
Questions about changelog
How to install changelog in Claude Code?
Place the prompt file into .claude/commands/changelog.md. For GitHub Copilot, save it as .github/prompts/changelog.prompt.md.
What does the changelog command do?
It inspects git commit history, groups entries by date ranges and categories, and outputs formatted Markdown release notes.
How does it handle repositories without a remote URL?
The command asks whether the project is local-only and renders raw commit hashes without Markdown hyperlinks if no URL is provided.
Source text
changelog.md · MIT
--- description: Generate a structured changelog from recent git commits, categorized by change type --- # Deep Wiki: Changelog Generation Analyze the git commit history of this repository and generate a structured changelog. ## Source Repository Resolution (MUST DO FIRST) Before generating any changelog, resolve the source repository context: 1. **Check for git remote**: Run `git remote get-url origin` 2. **Ask the user**: _"Is this a local-only repository, or do you have a source repository URL?"_ - Remote URL → store as `REPO_URL`, link commit hashes: `[abc1234](REPO_URL/commit/abc1234)` - Local → use plain commit hashes 3. **Do NOT proceed** until resolved ## Process 1. Examine recent git commits (messages, dates, authors) 2. Group by date: daily for last 7 days, aggregated weekly for older 3. Classify each commit into categories 4. Generate concise, user-facing descriptions using project terminology from README ## Categories | Emoji | Category | Signal Keywords | |-------|----------|----------------| | 🆕 | New Features | `feat`, `add`, `new`, `implement`, `introduce` | | 🐛 | Bug Fixes | `fix`, `bug`, `patch`, `resolve`, `hotfix` | | 🔄 | Refactoring | `refactor`, `restructure`, `reorganize`, `clean` | | 📝 | Documentation | `docs`, `readme`, `comment`, `jsdoc`, `docstring` | | 🔧 | Configuration | `config`, `env`, `setting`, `ci`, `build` | | 📦 | Dependencies | `deps`, `upgrade`, `bump`, `package`, `lock` | | ⚠️ | Breaking Changes | `breaking`, `BREAKING`, `migrate`, `deprecate` | ## Output For each time period, output: ```markdown ## [Date or Date Range] **[Summary Title]** [1-2 sentence overview] ### 🆕 New Features - [Change description] ### 🐛 Bug Fixes - [Change description] ### ⚠️ Breaking Changes - [Change description with migration notes] ``` Focus on **user-facing changes**. Merge related commits. Highlight breaking changes prominently. $ARGUMENTS
© microsoft · MIT · microsoft/skills