Skip to content

v0.5.0 — changelog-bot skill

Choose a tag to compare

@PeterGuy326 PeterGuy326 released this 10 May 09:45
· 16 commits to main since this release

[0.5.0] - 2026-05-10

changelog-bot skill shipped — generates the CHANGELOG entries that pr-review Step 5 later checks and release-sop Step 4 later folds into a dated release. Same hard-gate philosophy: a granularity gate that bounces low-quality bullets, a Breaking special case with a mandatory migration line, and a hard red line against committing the CHANGELOG itself (it proposes; the author merges via a normal PR). Agent-agnostic markdown contract; Git-host-agnostic (GitHub / GitLab / Gitea).

Added

  • skills/changelog-bot/SKILL.md — generic CHANGELOG-entry drafter — takes a PR / commit-range / branch / pasted diff and produces a ready-to-paste Keep-a-Changelog entry. Six steps: Step 0 input identification + CHANGELOG house-style scan (file location, sections used, bullet conventions, [Unreleased] vs dated sections), Step 1 diff walk + classification into Breaking / Added / Changed / Deprecated / Removed / Fixed / Security with non-user-facing noise (refactors, test-only, CI, formatting, behavior-neutral dep bumps) discarded — whole-PR-is-noise ⇒ a valid "no entry needed, because …" output, Step 2 per-entry drafting behind a granularity gate (every bullet must carry bolded phenomenon + root cause/trigger + fix/implementation + impact plus PR ref / fixes #N; rejects "fix a bug" / "improve performance" / "update deps"; won't fabricate root cause), Step 3 Breaking-change special case (own Breaking section + mandatory migration line + major-bump cross-check), Step 4 placement & output (top of [Unreleased] under the right section in Keep-a-Changelog order; never a tag commit / dated section; never auto-commits), Step 5 self-check against the exact gates pr-review Step 5 applies + handoff line. Includes an edge-case runbook (no CHANGELOG file, repo doesn't use one, multi-change PR, oversized diff, unknown root cause, dependency bump, pure-docs/CI/test PR, pre-existing non-compliant entry) and six red lines (never commits the CHANGELOG, never fabricates root cause/impact, no low-granularity bullets, no hiding Breaking in a normal section, never writes into a tag commit / dated section, never changes the repo's CHANGELOG format unilaterally). Explicit composition: pr-review Step 5 checks presence/format/granularity — changelog-bot generates the content; release-sop Step 4 folds [Unreleased] entries into the dated release. Agent-agnostic; Git-host-agnostic.
  • README.md — changelog-bot promoted from 🚧 planned to ✅ shipped — Skills table row rewritten; quickstart gains a changelog-bot curl one-liner; Usage section gains a changelog-bot trigger table; repo-layout tree updated for skills/changelog-bot/SKILL.md and examples/changelog-bot-demo.md. install.sh unchanged — it auto-discovers any skills/<name>/SKILL.md.
  • examples/changelog-bot-demo.md — worked changelog-bot transcript — the 6 steps run end-to-end on a hypothetical PR (fix(auth): refresh token rotation drops the new token on a slow write): Step 0 input + house-style scan, Step 1 classification into one Fixed + one Security change (test file noted as coverage, not its own entry), Step 2 turning a would-be "fix a bug" bullet into two four-element granular entries (with a counter-example of the bounced version), Step 3 not-Breaking determination, Step 4 the ready-to-paste [Unreleased] block placed under ### Fixed / ### Security, Step 5 the self-check + handoff to pr-review Step 5 / release-sop Step 4. Closes with the "pure-refactor ⇒ no entry needed" and "renamed flag ⇒ Breaking + migration line" contrasts.