Install any skill in seconds. Free to start, no credit card required.
Get Started Free →oliver-kriska/release
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci, commit, tag vX.Y.Z, and create the GitHub release.
Passed 17 of 20 test cases with the skill, and 10 of 20 without it.
and 6 more in the full report
8 fixed11 passed either way4 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are drafting the GitHub release notes for v3.2.0 using gh release create. What standard documentation link footer, if any, must be appended to the bottom of every release notes body?
| Checked | Without skill | With skill |
|---|---|---|
| The response includes the URL https://phxagents.dev in the release notes footer. | Missed | Passed |
The instructions your model reads when the skill loads.
Cuts a versioned release of the Elixir/Phoenix plugin. Drives the full
checklist from CLAUDE.md (Release + Versioning) so every release is
consistent. Contributor tooling — not shipped in the plugin.
make ci — the gate runs BEFORE committing. No green, no release.claude plugin tag — this is a marketplace layout (plugins/elixir-phoenix/.claude-plugin/plugin.json, not repo root). Tag manually: git tag vX.Y.Z.plugin.json version == CHANGELOG heading == git tag (vX.Y.Z). Verify before pushing.gh release create are outward-facing and hard to reverse. Stop and confirm with the user; show exactly what will be pushed/published first.plugin.json BUMP — never ship CHANGELOG/code changes without bumping the version, or installed users get nothing (cache).## [Unreleased] — one [Unreleased] becomes one version heading; re-add an empty one on top.git push --force is hook-blocked here. If history needs rewriting, the user runs it via !.https://phxagents.dev footer. Releases are this project's one measured promotion lever (v3.0.1: 51 → 120 cloners in a day)./plugin update, the release body opens with a > [!WARNING] block carrying the exact commands (see #135).main, working tree clean except intended release files. If feature work is uncommitted, commit it first.git describe --tags --abbrev=0 FIRST — the last
released tag is the bump base, NOT plugin.json (which may carry an
unreleased phased bump). If plugin.json is already ahead of the tag,
apply the consolidation check below before picking a number.plugins/elixir-phoenix/.claude-plugin/plugin.json. Pick bump from ## [Unreleased] contents:
A partial bump does not just cost users the update; it fails
scripts/tests/test_codex.py, which asserts the Codex manifest matches canonical.
Set "version" to X.Y.Z in:
plugins/elixir-phoenix/.claude-plugin/plugin.json — canonicalplugins/ecto/.claude-plugin/plugin.jsontest cases passed, vs 10 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.