CH

changelog-collect

Creates thematic weekly changelogs from git history while filtering out operational noise.

Install

mkdir -p .claude/skills/changelog-collect && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18880" && unzip -o skill.zip -d .claude/skills/changelog-collect && rm skill.zip

Installs to .claude/skills/changelog-collect

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate a weekly changelog entry from git history. Collects commits for a date range, filters noise, clusters by theme, writes an editorial summary, and outputs a ChangelogEntry file. Default behavior stops for review; pass --commit to also commit.
249 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Resolve date range for changelog generation
  • Collect git commits within a specified period
  • Strip operational noise from commit lists
  • Cluster commits by theme and scope
  • Write editorial summary and field notes for changelog

How it works

The skill resolves a date range, collects and filters git commits, clusters them by theme, and then generates a changelog entry with a headline, summary items, and field notes.

Inputs & outputs

You give it
date range (e.g., 2026-03-17 2026-03-24) and optional --commit flag
You get back
ChangelogEntry file or printed changelog for review

When to use changelog-collect

  • Generate weekly changelog
  • Summarize recent commits
  • Prepare release entry

About this skill

Read docs/editorial-style.md; its release-note register governs prose. Read Blog Publishing §Changelog and reference.md for the output context and editorial models.

Changelog Collection

Accept optional ISO from/to, --force for an intentional overlap, and --commit only when the user authorized a commit. Otherwise derive from as the day after the newest entry’s dateRange.to and to as today. Refuse any range overlapping an existing entry unless forced.

Collect And Curate

  1. Treat from and to as inclusive UTC calendar days (derive today in UTC too). Collect newest-first, non-merge commits with eight-character hashes:
git log --no-merges --abbrev=8 --since="<from> 00:00:00 +0000" --until="<to> 23:59:59 +0000" --format="%h %s"
  1. Remove generated-refresh, ratchet/baseline, dependency-bump, [skip ci], documentation-cleanup, and revert-of-revert noise from both analysis and the manifest. Scan subject frequencies first so new dominant automation wording is not mistaken for product work. If more than half is filtered, warn the reviewer.
  2. Cluster surviving work by story and user impact, normally 5–8 groups. Check stablecoin-count crossings, methodology versions, reserve/source additions, and security/auth milestones against their source files. A new external source also needs about-page coverage.
  3. Write a ≤120-character factual headline; 45–80 words of interpretive fieldNotes; and a summary item per cluster with a 2–4 word noun label, allowed tag from src/data/changelogs/types.ts, ≤220-character description, and methodology href when applicable.
  4. Set stats.totalCommits to the full filtered count. Store only the newest min(totalCommits, 20) filtered commits, unchanged and newest-first; git history remains the archive.

Write And Verify

Create src/data/changelogs/<to>.ts as ChangelogEntry. Before writing, confirm range ordering/non-overlap, field-note length, summary tags/descriptions, headline length, commit hashes, manifest cap, source-backed numbers, and existing methodology routes.

Regenerate rather than hand-edit the barrel and refresh the Markdown fixture:

npm run prebuild -- --only=changelog-registry
npm run check:generated-artifacts -- --only=changelog-registry
npm run refresh:markdown-fixtures
npm run typecheck
npm test -- src/data/changelogs/
npm test -- scripts/__tests__/generate-markdown-exports.test.ts

Run npm run check:stablecoin-data only when citing registry counts. Default handoff reports the path, headline, field notes, labels/tags, total commits, filtered count, and warnings, then stops for review. If --commit was authorized and checks pass, commit only the entry, generated barrel, and refreshed fixture as one changelog change; use pharos-release-runner for publication.

When not to use it

  • When needing to generate a changelog for a range that overlaps an existing entry without `--force`
  • When writing a purely infrastructure headline unless it's the main story
  • When using bullets, commit hashes, or Markdown in field notes

Limitations

  • Refuses to generate for overlapping date ranges unless `--force` is passed
  • Field notes must be 45-80 words, one paragraph, without bullets or Markdown
  • Summary items have character limits for label and description

How it compares

This skill automates the creation of structured changelog entries from git history, including noise filtering and thematic clustering, providing a consistent and editorialized output unlike raw commit logs.

Compared to similar skills

changelog-collect side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
changelog-collect (this skill)01moReviewIntermediate
openspec-archive-change47moReviewIntermediate
session-wrap18moReviewIntermediate
semantic-commits05moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry