← ClaudeAtlas

release-pluginlisted

Cut a cairn plugin release for a given MAJOR.MINOR.PATCH version, running every pre-flight and version gate before anything is changed or published.
uHappyLogic/cairn · ★ 2 · AI & Automation · score 75
Install: claude install-skill uHappyLogic/cairn
# release-plugin Releases the cairn plugin at a maintainer-supplied `MAJOR.MINOR.PATCH` version. This `SKILL.md` is the single place the release procedure is documented — no release prose lives in `CLAUDE.md` or `README.md`. It is a maintainer-only, project-local skill: it lives under `.claude/skills/`, outside the shipped `skills/` tree, so it is never transpiled into `.agents/plugins/cairn/` and never reaches a consuming project. The going-forward tag format is a bare `MAJOR.MINOR.PATCH`. The legacy `v.0.9.x` and `v0.9.7` tags are never created, moved, or deleted by this skill. Nothing is written, committed, pushed, tagged, or published until every gate below has passed and the release notes have been composed. The pre-flight and version gates (steps 2 and 3) are hard stops: on failure, report the specific reason and exit, having changed nothing. Never work around a gate, and never ask the maintainer to waive one. **Resuming an interrupted release.** Re-running with the same version after a failed run is the whole recovery story — there is no rollback of already-published refs and no hand-run recovery command. A resumption is detected once, up front: ```bash git log -1 --format='%s' HEAD ``` If that prints exactly `Release: <VERSION>`, this version's release commit is already recorded and the run is a **resumption**. When it is, step 1 excludes `<VERSION>` from the last-release lookup, step 3b tolerates a tag that points at HEAD, and step 6 is skipped whole — the comm