Setup Changelog
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Create a root CHANGELOG.md for a repository by reconstructing its release history from git tags, GitHub
Releases, and the actual code changes between them — not by guessing or leaving placeholder entries.
Purpose
iru-setup-changelog backfills one Keep a Changelog entry per past release, using whichever source is most
reliable for that release: a non-empty GitHub Release body if one exists (lightly reformatted rather than
copied verbatim), or a derived analysis of git log/diffs between tags otherwise. It skips changes that don’t
affect users of the project (tooling, CI, formatting-only diffs) unless they’re genuinely the entire content of
a release, in which case it says so plainly rather than inventing something more exciting. This skill is
explicitly not idempotent and is a one-time bootstrap only: Step 1 checks whether CHANGELOG.md (or an
equivalent like CHANGELOG.rst/HISTORY.md) already exists at the repository root, and if it does, the skill
stops immediately and makes no changes — it never merges into, extends, or touches an existing changelog, since
that file may already follow its own format and cadence.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
(none) |
No |
This skill takes no arguments — it works entirely from the repository’s actual release history: git tags
( |
Not applicable. |
Outputs
-
CHANGELOG.mdat the repository root, in Keep a Changelog format, with one[<version>] - <date>section per past release (newest first, an empty[Unreleased]at the very top) plus a compare-link reference section if the remote is GitHub. -
Only produced if
CHANGELOG.mddidn’t already exist. If it did, the skill makes no changes at all and simply reports that an existing changelog was found and left untouched — this is a one-time bootstrap, not an idempotent fill-gaps tool. -
If no git tags exist at all, the skill asks the user whether to create a minimal file with just an
## [Unreleased]section, or stop entirely rather than inventing version numbers. -
A closing report: how many releases were reconstructed and their version range, which releases used a GitHub Release body versus derived commit/diff analysis, any release noted as tooling/docs-only, and whether compare links were included or omitted.
Execution flow
Dependencies
Invokes
None — iru-setup-changelog does not call any other skill in this catalog, but see "Related agents" below for a
sub-agent it delegates to.
Invoked by
-
Setup Java Library Repository — Step 7 runs
iru-setup-changelogwith noargs, working entirely from the repository’s own git tag/GitHub Release history.
Related agents
-
iru-change-summarizer— Step 3, dispatched one per past release (or small batch of releases) instead of reading every diff inline, when the repository’s tag history is long enough (a few dozen releases or more) that doing so serially would be context-heavy.
Source
SKILL.md on GitHub — the file this page was generated from.