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.zipInstalls 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.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
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
- Treat
fromandtoas 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"
- 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. - 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.
- 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 fromsrc/data/changelogs/types.ts, ≤220-character description, and methodologyhrefwhen applicable. - Set
stats.totalCommitsto the full filtered count. Store only the newestmin(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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| changelog-collect (this skill) | 0 | 1mo | Review | Intermediate |
| openspec-archive-change | 4 | 7mo | Review | Intermediate |
| session-wrap | 1 | 8mo | Review | Intermediate |
| semantic-commits | 0 | 5mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by TokenBrice
View all by TokenBrice →You might also like
openspec-archive-change
studyzy
归档实验性工作流中已完成的变更。当用户想要在实现完成后最终确定并归档变更时使用。
session-wrap
team-attention
This skill should be used when the user asks to "wrap up session", "end session", "session wrap", "/wrap", "document learnings", "what should I commit", or wants to analyze completed work before ending a coding session.
semantic-commits
lipkau
>-
tbd
jlevy
|-
preserve
markwharton
Preserve the most recently approved plan to docs/plans/
release-closeout-engineer
ThiagoGuislotti
Close out a completed workstream by updating README artifacts when needed, producing a commit message, and applying changelog-ready content when the work is ready for commit. Use after review when a stable checkpoint is ready.