Agent skill

Prepare Release Changelog

by illegalstudio in illegalstudio/elephc

Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA.

MITAuto-check passedDevelopment

Install Prepare Release Changelog

skills CLI
$ npx skills add illegalstudio/elephc --skill prepare-release-changelog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install illegalstudio/elephc prepare-release-changelog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/illegalstudio/elephc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/prepare-release-changelog .claude/skills/prepare-release-changelog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
prepare-release-changelog
GitHub stars
608
Token cost
~1.6k tokens
SKILL.md length
781 words
Files
3 (incl. scripts)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA.

  • Works in 5 steps: Establish the exact release range → Build and validate the coverage ledger → Inspect what actually shipped → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers 1. Establish the exact release…, 2. Build and validate the…, 3. Inspect what actually shipped and 4. Draft the changelog, plus 1 more section
  • Runs Python scripts from its folder; calls git, gh and python3

What it does

Prepare Release Changelog is an agent skill from illegalstudio/elephc. Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA. Use only for explicit release preparation, version tags, release Pull Requests, or pre-release verification. Refresh live release/main state, reconcile every merged PR and direct first-parent commit, inspect actual shipped behavior, draft concise user-facing bullets with complete source traceability, and update the named release section only after user approval.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml` and `scripts/release_inventory.py`).

It sits in Development, covering Changelog and release notes and Pull requests. It works with GitHub. The repository describes itself as: A PHP-to-native compiler. Takes a subset of PHP - including eval() - and compiles it directly to native assembly, producing standalone binaries for macOS ARM64, Linux ARM64, and… The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes
  • Tasks that involve Pull requests

Example prompts

  • “/prepare-release-changelog”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Establish the exact release range
  2. Build and validate the coverage ledger
  3. Inspect what actually shipped
  4. Draft the changelog
  5. Apply only the approved draft

What it can do on your machine

Read from SKILL.md and the folder at commit afe32d3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Prepare Release Changelog loads about 1.6k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 781 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from illegalstudio/elephc at commit afe32d3, republished under its MIT licence (© illegalstudio). 781 words, ~1,627 tokens.

Download SKILL.mdSave it as .claude/skills/prepare-release-changelog/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
prepare-release-changelog
description
Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA. Use only for explicit release preparation, version tags, release Pull Requests, or pre-release verification. Refresh live release/main state, reconcile every merged PR and direct first-parent commit, inspect actual shipped behavior, draft concise user-facing bullets with complete source traceability, and update the named release section only after user approval.

Prepare Release Changelog

Build a complete, evidence-backed release ledger before writing release notes. Treat missing or unresolved commits as release blockers; do not infer coverage from PR titles or the existing changelog alone.

1. Establish the exact release range

  1. Read CONTRIBUTING.md, AGENTS.md, and the top and link-list portions of CHANGELOG.md.
  2. Require the exact target version before editing. Do not use [Unreleased] as a substitute when the version is unknown.
  3. Record the checkout, branch, HEAD, worktree status, remotes, and divergence from origin/main. Preserve unrelated or pre-existing changes.
  4. Refresh live state with git fetch --prune origin main --tags and identify the latest published, non-draft, non-prerelease GitHub release with gh release list / gh release view. Do not substitute the numerically highest local tag without checking GitHub. If preparing a prerelease line, require the user to name its base release explicitly.
  5. Resolve the release tag and candidate head to full SHAs. Default the candidate to refreshed origin/main; if the user names a SHA/ref, use that exact head. Report local commits ahead of origin/main separately and do not include them without explicit direction.
  6. Require the release tag to be an ancestor of the candidate head. Stop if the tag, candidate, repository identity, or GitHub release cannot be verified.

Do not edit CHANGELOG.md during this discovery phase.

2. Build and validate the coverage ledger

Run the bundled inventory script from the repository root:

bash
python3 .claude/skills/prepare-release-changelog/scripts/release_inventory.py \
  --from-tag <published-tag> \
  --head <candidate-sha> \
  --repo illegalstudio/elephc \
  --format json

The script walks the first-parent history, recognizes GitHub merge and squash commits, queries associated PRs for ambiguous commits, expands every merge's introduced commits, and reconciles the result against the complete Git commit range.

Require all of these before drafting:

  • unaccounted_commits is empty;
  • errors is empty;
  • every first-parent integration is a verified merged PR or a verified direct commit;
  • every PR targets main, is merged, and has a merge commit reachable from the candidate;
  • the reported base and candidate SHAs match the refs selected above.

Never silently classify a commit as direct when GitHub association lookup failed. Investigate unresolved or ambiguous rows and rerun the inventory until coverage is complete.

3. Inspect what actually shipped

For every PR and direct commit in the ledger:

  1. Inspect its metadata, changed paths, diff, tests, documentation, linked issues, and relevant source. Titles and bodies are orientation, not semantic proof.
  2. Describe the shipped user-visible behavior, compatibility change, performance effect, security impact, or developer-facing interface change.
  3. Mark internal chores, repository statistics, generated data, tests-only changes, and refactors with no observable effect as omit, with a concise reason.
  4. Detect follow-ups, partial fixes, reverts, and several PRs implementing one coherent outcome. Consolidate only when the combined wording remains accurate; retain every source PR/commit in the ledger.
  5. Compare every candidate semantically with the target version section, if it already exists. Mark existing coverage, duplicates, stale bullets, and claims not supported by the audited range. [Unreleased] should remain empty and is not the source of release coverage.

Every ledger row must end as include, covered, omit, reverted, or needs decision. No source may disappear merely because it does not deserve its own bullet.

Show full SKILL.md (271 more words)Show less

4. Draft the changelog

Draft one concise bullet per notable outcome, not per commit. Follow the existing Elephc voice:

  • lead with Added, Changed, Fixed, Removed, or Security where natural;
  • say what users can now do or what failure is corrected;
  • mention implementation detail only when it explains a constraint or material compatibility effect;
  • do not claim broader PHP parity, target support, issue closure, or security coverage than the code and tests prove;
  • group features and improvements before fixes, and order each group by user impact;
  • preserve accurate existing wording unless consolidation or correction is explicitly approved.

Present a draft before editing, using this structure:

markdown
## Release changelog audit

Range: <tag-sha>..<candidate-sha>
Coverage: <N> PRs, <M> direct commits, <K> total commits; 0 unresolved

### Proposed features and improvements
- ...

### Proposed fixes
- ...

### Coverage ledger
| Source | Shipped behavior | Existing coverage | Decision | Proposed bullet |
|---|---|---|---|---|

### Open decisions
- ...

If any row needs a decision, ask for it before modifying the file.

5. Apply only the approved draft

After user approval:

  1. Create or update ## [<version>] - YYYY-MM-DD immediately below the empty ## [Unreleased] section. Write approved bullets directly into that numbered section and leave [Unreleased] empty.
  2. Add or update the numbered release compare link using the latest published release as its base.
  3. Keep approved features/improvements before fixes and preserve intentional existing bullets.
  4. Recount the before/after bullets and verify that every removal or consolidation was approved.
  5. Run git diff --check, inspect the bounded changelog diff, and rerun the ledger against the same candidate SHA if the source range changed while drafting.
  6. Report the exact release tag, candidate SHA, PR/direct-commit counts, omitted sources, remaining decisions, and whether the changelog is ready for verify-release.

Do not tag, commit, push, publish, or change Cargo package versions unless separately requested.

Do not declare the changelog complete from a green diff alone: complete source reconciliation is the gate.

© illegalstudio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .claude/skills/prepare-release-changelog of illegalstudio/elephc.

  • SKILL.md
  • agents/openai.yaml
  • scripts/release_inventory.py

Open the folder on GitHubat commit afe32d3

Compare with similar skills

Prepare Release Changelog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Prepare Release Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Prepare Release Changelog this skillillegalstudio/elephc608—~1.6kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Plannotator Release Preparationbacknotprop/plannotator9.2k—~4.6kAutomated safety check: PassApache-2.0
Ansible Pull Request Reviewansible/ansible71k—~570Automated safety check: PassGPL-3.0
Plane Release Notes Generatormakeplane/plane61k—~2.5kAutomated safety check: PassAGPL-3.0
Pair GitHub PRNVIDIA/Personal-AI-Router1.6k—~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Plannotator Release Preparation

    backnotprop/plannotator

    Drafts Plannotator release notes with full contributor credit, bumps versions in dependency order, builds, and starts the tag-driven release pipeline, in four reviewed phases.

    9.2k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Reviews an Ansible pull request by number, following the steps in the project's CLAUDE.md, with early checks for changelog fragments and tests.

    71k GitHub stars~570 tokensUpdated today
    DevelopmentAuto-check passed
  • Builds categorized release notes for a Plane release pull request from its commits and writes them into the PR description, for both the plane-cloud and plane-ee repos.

    61k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Pair GitHub PR

    NVIDIA/Personal-AI-Router

    Official

    Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes.

    1.6k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Handsontable Changelog Entry

    handsontable/handsontable

    Decides whether a code change needs a changelog entry and creates the JSON file in .changelogs with the right type, framework and user-facing title.

    22k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed

More from illegalstudio/elephc

  • Update Builtin Docs

    illegalstudio/elephc

    Regenerate and audit Elephc's generated builtin documentation from the shared builtin contract plus builtin!

    608 GitHub stars~633 tokensUpdated today
    Auto-check passed
  • Analyze Using Rustrover

    illegalstudio/elephc

    Run RustRover IDE inspections on the codebase and produce a structured report of errors, warnings, and code quality issues.

    608 GitHub stars~932 tokensUpdated today
    Auto-check passed
  • Doc Update

    illegalstudio/elephc

    Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.

    608 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Verify Release

    illegalstudio/elephc

    Pre-release verification that first requires a complete release-changelog audit, then checks README, docs, roadmap, test coverage, examples, and the full test suite for regressions.

    608 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Prepare Release Changelog

What does Prepare Release Changelog do?

Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA. Prepare Release Changelog is an agent skill from illegalstudio/elephc. Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA.

When should I use Prepare Release Changelog?

Prepare Release Changelog fits situations like: tasks that involve Changelog and release notes; tasks that involve Pull requests.

How do I install Prepare Release Changelog in Claude Code?

Run `npx skills add illegalstudio/elephc --skill prepare-release-changelog -a claude-code`. Or copy the skill folder (.claude/skills/prepare-release-changelog in illegalstudio/elephc) into .claude/skills/prepare-release-changelog in your project. Claude Code loads it when a task matches its description.

How do I install Prepare Release Changelog in Codex?

Run `npx skills add illegalstudio/elephc --skill prepare-release-changelog -a codex`. Or copy the skill folder (.claude/skills/prepare-release-changelog in illegalstudio/elephc) into .agents/skills/prepare-release-changelog in your project. Codex loads it when a task matches its description.

Can I use Prepare Release Changelog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add illegalstudio/elephc --skill prepare-release-changelog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prepare-release-changelog, .gemini/skills/prepare-release-changelog, .github/skills/prepare-release-changelog and .opencode/skills/prepare-release-changelog in your project.

What does Prepare Release Changelog need to run?

Going by SKILL.md and its folder, Prepare Release Changelog needs Python for the scripts in its folder and the command-line tools its instructions call (git, gh and python3). Our summary lists: Python 3.

Does Prepare Release Changelog access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Prepare Release Changelog safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Prepare Release Changelog use?

Prepare Release Changelog is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Prepare Release Changelog use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Prepare Release Changelog?

Skills that share tags, products or a category with Prepare Release Changelog: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Plannotator Release Preparation (backnotprop/plannotator, 9.2k stars), Ansible Pull Request Review (ansible/ansible, 71k stars) and Plane Release Notes Generator (makeplane/plane, 61k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Prepare Release Changelog?

illegalstudio (a GitHub organization) maintains it in illegalstudio/elephc, which has 608 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 9, 2026.

Source: illegalstudio/elephc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.