changelog

Generates CHANGELOG.md entries from merged pull requests since the last release tag.

Updated Aug 13, 2026
One-click install
npx skills add https://github.com/Evolutionary-Leadership/harness --skill changelog-evolutionary-leadership
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: changelog
Source: https://github.com/Evolutionary-Leadership/harness/tree/main/.claude/skills/changelog
Command: npx skills add https://github.com/Evolutionary-Leadership/harness --skill changelog-evolutionary-leadership

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing release notes by hand means digging through merged PRs and commit history to remember what shipped. This Skill automates that by reading merged PRs since the last release tag and producing a categorized CHANGELOG.md section. ## Core Features & Use Cases - Automatic range detection: Finds the last git tag and collects merged PRs (or commits as a fallback) since that point via the GitHub CLI. - Categorized entries: Groups changes into Features, Fixes, Improvements, Breaking changes, and Other based on PR titles, labels, and body content. - Non-destructive updates: Prepends the new section to an existing CHANGELOG.md while preserving all prior entries, with PR numbers referenced as (#N). - Use Case: Before cutting a release, run the skill with a version label like v1.2.0 to produce a ready-to-commit changelog section in seconds. ## Quick Start Ask the AI to generate a changelog for version v1.2.0 from all pull requests merged since the last release tag.

Frequently Asked Questions about changelog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a changelog from merged GitHub pull requests?

Run the changelog skill, which uses the GitHub CLI to list PRs merged into preprod since the last release tag, categorizes them by title and labels, and prepends a formatted section to CHANGELOG.md with PR number references.

How to automate release notes from git tags?

The skill detects the most recent tag with git describe, fetches PRs merged after that tag's date, and groups them into Features, Fixes, Improvements, and Breaking changes. You can pass a version label like v1.2.0 or leave it as Unreleased.

What happens if no release tag exists in the repository?

When no tag is found, the skill falls back to listing the 50 most recent merged PRs or commits on the preprod branch, so a changelog can still be generated for a first release.

Does the changelog generator overwrite existing entries?

No. The skill prepends the new section to the top of CHANGELOG.md and preserves all existing entries below it. If the file does not exist, it creates one with the standard changelog header.

Why does the changelog show commits instead of pull requests?

The skill prefers merged PRs because they carry richer descriptions, but falls back to git log commit messages when no PRs are found in the range. Commit-based entries are typically less descriptive than PR-based ones.