agentleFS
AIimaginedAIimagined/Godmode/skills/godmode-changelog/SKILL.md

godmode-changelog

Skill6 starsChanged 3 months agoApache-2.0View on GitHub

Draft and verify release-notes from local commits and changelog fragments. Use when checking that every user-visible update carries a fragment, merging fragments for a version, or building and checking the release-notes for that version. Not for a one-line note authored by hand and not for a code-review summary of a single file.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 2 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read the result's verdict.

    line 36
  2. Very specific:

    Fallback for a missing-fragment verdict: add one fragment per uncovered user-visible change:

    line 38
  3. Distinctive:

    Confirm the release has no other missing paired artifact: before cutting:

    line 44
  4. Very specific:

    Must not run changelog merge or release-notes build while changelog check still reports missing-fragment.

    line 75
  5. Distinctive:

    Must not write release-note prose that names no changelog entry or commit behind it.

    line 76
  6. Very specific:

    Must not edit release-notes check's required-shape rule to accommodate a specific note instead of fixing the note.

    line 77
  7. Very specific:

    Must not treat merge as safe to re-run out of caution.

    line 78
  8. Very specific:

    Must not bypass a failing changelog or notes check with --no-verify on the commit that cuts the release.

    line 79
  9. Very specific:

    Must not hand-edit a generated release-notes file as the default fix for a failed shape check.

    line 80

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Godmode Changelog

Outcome

A release note written by hand at cut time is written from memory, and a commit that ships user-visible behavior with no fragment is a note nobody will ever write. This skill runs the fragment check, spends the fragments into the changelog for the version being cut, then builds and checks the notes so the release carries the note that behavior actually earned - never a narration of the work that produced it.

Use

  • Confirm every user-visible commit since the base ref carries a changelog.d/*.md fragment before a release is cut.
  • Merge the accumulated fragments into CHANGELOG.md under the version being released.
  • Build that version's release notes from the merged changelog section, and check the built notes hold the required shape.
  • A release is being prepared and the changelog gate, the merge, or the notes have not been run yet.

Do not use

  • For a one-off commit message on a single change - that is normal commit authoring, not a release note.
  • To summarize what one file does for a code-review comment.
  • To invent release-note prose that no changelog fragment or commit backs; the notes are built from what was merged, not composed from scratch.

Deterministic Execution Flow

  1. Check the fragment gate before anything else.
    godmode changelog check --base <last-release-ref>
    Read the result's verdict. satisfied means every user-visible change already carries a fragment, or the changelog gained an entry directly; missing-fragment names the exact paths under changes_needing_note still uncovered.
  2. Fallback for a missing-fragment verdict: add one fragment per uncovered user-visible change:
    changelog.d/<slug>.<added|changed|fixed|removed|deprecated|security>.md
    containing one sentence describing the user-visible effect (not the implementation). Re-run step 1 until satisfied is true. Never merge or build notes over an unsatisfied gate.
  3. Confirm the release has no other missing paired artifact before cutting:
    godmode precheck --about "cut release <version>"
  4. Spend the fragments into the changelog for the version being released:
    godmode changelog merge --set-version <version> [--date <YYYY-MM-DD>]
    This folds every fragment under changelog.d/ into a ## [<version>] section in CHANGELOG.md and removes the spent fragments. A fragment that arrives after a first merge folds into that same section on the next run rather than opening a second heading for the version; running it again with nothing left under changelog.d/ has nothing to spend and refuses.
  5. Build the release notes from that merged section:
    godmode release-notes build <version>
    Fallback: if a note for <version> already exists and needs regenerating, pass --force.
  6. Check the built notes hold the required shape:
    godmode release-notes check <version>
    The shape is: present, every changelog entry for the version covered, no empty section, no process narration, and a Verifying section a reader can actually run.
  7. Fallback for a failed shape check: fix the source, not the built file - add the missing piece to the relevant changelog.d/*.md fragment or the merged CHANGELOG.md section the check named, then rebuild with --force:
    godmode release-notes build <version> --force
    and re-run step 6. A direct hand edit of the generated release-notes file is a last resort only, and only when it is recorded as one - the deterministic path is fix the source, rebuild, re-check.

Must not

  • Must not run changelog merge or release-notes build while changelog check still reports missing-fragment; the notes would omit exactly the change that triggered the check.
  • Must not write release-note prose that names no changelog entry or commit behind it.
  • Must not edit release-notes check's required-shape rule to accommodate a specific note instead of fixing the note.
  • Must not treat merge as safe to re-run out of caution; with nothing left under changelog.d/ it has nothing to spend and refuses. Only run it again when a genuinely new fragment has arrived for the same still-open version.
  • Must not bypass a failing changelog or notes check with --no-verify on the commit that cuts the release; a blocked gate is fixed at its source, not skipped past.
  • Must not hand-edit a generated release-notes file as the default fix for a failed shape check; fix the fragment or changelog section and rebuild with --force instead, and treat a hand edit as an explicitly-recorded exception, never the routine path.

Completion

Report the fragment-check verdict, the version merged, and the release-notes check's final verdict. A release cut without all three run in order is not proof the changelog is honest - it is a note that was never checked.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.