changelog-generation
Changelog generation skill for ZeroClaw releases. Use this skill when the user wants to generate a changelog, prepare release notes, or summarize what changed between versions. Trigger on: 'generate changelog', 'changelog for v0.7.x', 'prepare release notes', 'what changed since <tag>', 'write the changelog', 'CHANGELOG-next', 'release notes for the next release'.
pinned to #ae30776updated 2 weeks ago
Ask your AI client: “install skills/changelog-generation”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/changelog-generationmetahub onboarded this repo on the author's behalf.
If you own github.com/zeroclaw-labs/zeroclaw on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
32,224
Last commit
2 weeks ago
Latest release
published
- #agent
- #agentic
- #ai
- #infra
- #ml
- #openclaw
- #os
- #zeroclaw
About this skill
Pulled from SKILL.md at publish time.
You are generating a human-friendly `CHANGELOG-next.md` for a ZeroClaw release. The GitHub CLI (`gh`) is available and authenticated. The local repository is checked out and up to date.
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.ae30776· 2 weeks ago
Safety
11LICENSE file at repo rootwarn
No LICENSE / LICENCE / COPYING / UNLICENSE file (.md/.txt/.rst variants) and no SPDX-License-Identifier header found in common source files
Pick an SPDX license and add a LICENSE file at the repo root, or put an `SPDX-License-Identifier:` comment at the top of your main source file.
No sensitive files in the repo
scanned for .env, credentials.json, *.pem, .ssh/, AWS / GCP configs — none found
Release history
1- releasecurrentae30776warn2 weeks ago
Contents
You are generating a human-friendly CHANGELOG-next.md for a ZeroClaw release.
The GitHub CLI (gh) is available and authenticated. The local repository is
checked out and up to date.
Before You Start
This SKILL.md is the full, self-contained procedure. Follow the workflow below exactly on every run; do not rely on memory of a prior run.
Invocation
Default — last stable tag to HEAD:
generate changelog
write the changelog
CHANGELOG-next
prepare release notes
Explicit range:
changelog for v0.7.2
changelog v0.7.1..v0.7.2
what changed since v0.7.1
release notes v0.7.1 to v0.7.2
Workflow
Phase 1 — Establish the range
- If the user provided a range, normalise to
<from>..<to>:vX→vX..HEAD;vX..vY→ as given;vX vY→vX..vY. - If no range was given, resolve the last stable tag automatically. Both
-beta.N(older) and-beta-N(current) pre-release formats exist, so anchor on a plain version shape rather than excluding a-betaseparator:git tag --sort=-creatordate | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -1 - Verify both refs exist (
git rev-parse --verify). If either is missing, stop and tell the user what was not found. - Report the resolved range to the user before continuing.
Phase 2 — Collect and categorise commits
Run all fetches in a single parallel batch — do not wait for one before starting the next:
# Full commit list with subjects (for categorisation)
git log <from>..<to> --pretty=format:"%H %h %s" --no-merges
# Full SHAs only (for contributor resolution)
git log <from>..<to> --pretty=format:"%H" --no-merges
Map each commit to a section by its conventional-commit prefix. Read and categorise prefix-less commits by content; never drop one silently.
| Prefix | Section |
|---|---|
feat | What's New |
fix | Bug Fixes |
refactor, perf | What's New (as "Improvements") |
security, security-scoped fix | What's New → Security |
docs | What's New → Documentation (omit trivial typos) |
chore, ci, build | Omit unless user-visible (install path, dropped platform) |
! suffix / BREAKING CHANGE | Breaking Changes (always surface) |
Phase 3 — Resolve contributors
Use the GitHub GraphQL commit authors field (returns author + co-authors). Do
not use git log --pretty=format:"%an" alone — it misses Co-Authored-By
contributors.
gh api graphql -f query='
{ repository(owner:"zeroclaw-labs", name:"zeroclaw") {
ref(qualifiedName:"refs/heads/master") { target { ... on Commit {
history(first:100) {
pageInfo { hasNextPage endCursor }
nodes { oid authors(first:10) { nodes { user { login } email } } }
} } } } } }'
Page by adding after:"<endCursor>" while hasNextPage is true. Cross-reference
each oid against the Phase 2 SHA list to stay in range, collect unique logins,
then exclude:
- logins ending in
[bot], plusweb-flow,dependabot,github-actions,blacksmith - emails matching
*noreply* - AI model names as author names:
Claude,Copilot,ChatGPT,Codex,Gemini, and anything matching^(gpt|claude|gemini|copilot)-
Sort case-insensitively and prefix each with @.
Phase 4 — Write the changelog
Write these sections in order; omit any with no content:
- Preamble (2–3 sentences — release theme, scale, reader context)
- Highlights (4–6 user-visible bullet points)
- What's New (grouped by area, human-readable sentences, PR references)
- Bug Fixes (summary table: Area | Fix)
- Breaking Changes (omit section entirely if none)
- Contributors (
@loginhandles, case-insensitive sort, one per line) - Footer (full diff reference)
Write to two locations:
tmp/CHANGELOG-next.md— for in-session review before committingCHANGELOG-next.mdin the repository root — the path the release workflows read
Phase 5 — Review and confirm
Present a summary to the user:
- Range covered
- Commit count by category
- Contributor count
- Any commits that had no conventional prefix (so the user can sanity-check categorisation)
Ask the user to review tmp/CHANGELOG-next.md before committing. Do not
proceed to Phase 6 without explicit confirmation.
Phase 6 — Commit and push
Only after the user confirms the content:
git add CHANGELOG-next.md
git commit -m "chore(release): add CHANGELOG-next.md for vX.Y.Z"
git push upstream <branch>
Replace vX.Y.Z with the next release version — ask the user if unsure.
Push to the open release PR branch on zeroclaw-labs/zeroclaw. Do not push
to master directly.
Execution rules
- This SKILL.md is self-contained and authoritative. Follow the phases above; do not look for a separate protocol file.
- Always report the resolved range before doing any work. The user should confirm the range is correct before you collect commits.
- Never drop commits silently. Every commit in the range must be accounted for in the output — either surfaced in a section or explicitly noted as omitted (e.g. trivial typo fix in docs).
- Always use the GraphQL contributor path.
git log --format="%an"alone is not acceptable — it produces an incomplete contributor list. - Always apply the full filter list. Bots, noreply addresses, and AI model names must be excluded from the contributor section.
- Always write to
tmp/CHANGELOG-next.mdfirst. The user reviews before the file is committed to the repository root. - Always confirm before committing. Show the user the exact commit message and ask for an explicit yes. Do not infer consent from prior steps.
- Never push to
masterdirectly. Always push to the open release PR branch. - Do not delete
CHANGELOG-next.mdmanually. The file is intentionally left onmasterbetween releases and is overwritten at the start of the next release cycle. No cleanup is needed after a release ships.
Reviews
No reviews yet. Be the first.
Related
Gpt Researcher
An autonomous agent that conducts deep research on any data using any LLM providers
Planning With Files
Claude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the $2B acquisition.
Verification Before Completion
Evidence before assertions, always
mh install skills/changelog-generation