← ClaudeAtlas

releaselisted

Cut SemVer release for single-package repo — bump `version` in detected manifest, commit, create annotated tag `v<x.y.z>`. Local only, ⊥ push, ⊥ GitHub Actions. Triggers when user says "release", "tag", "ship", "cut a version", "bump version".
kborovik/pilot-skills · ★ 4 · Code & Development · score 73
Install: claude install-skill kborovik/pilot-skills
Cut SemVer release for single-package repo. Local workflow — bumps version in repo's package manifest, commits, inits annotated tag `v<x.y.z>`. ⊥ push. ## Scope Single-package repos only. ⊥ monorepo orchestration — ≥ 2 manifests at distinct paths → bail with note: "monorepo detected, use a repo-local release procedure". ## Manifest auto-detect Grep at repo root in priority order. First hit wins: ``` 1. package.json → .version 2. pyproject.toml → [project].version | [tool.poetry].version 3. Cargo.toml → [package].version 4. .claude-plugin/plugin.json → .version (single-plugin repo) 5. VERSION → raw SemVer text ``` ⊥ found → ask user which file holds version ∧ how to update. Tag format: `v<x.y.z>` (e.g. `v1.0.0`, `v2.3.1`). ## Process 1. **Parse $ARGUMENTS:** - ⊥ arg → auto bump (∨ baseline-mode if first release). - `patch` ∨ `minor` ∨ `major` → bump direction override. - `x.y.z` (literal SemVer) → pin exactly. ! match `^[0-9]+\.[0-9]+\.[0-9]+$`. Permits downgrade. - `retag-baseline` → recovery mode. Drops every prior tag matching §3 pattern ∧ retags HEAD at current manifest version. Requires ≥ 1 prior tag (else error: "no prior tag — use baseline mode by omitting arg"). ⊥ touches manifest. If manifest version is also wrong, fix it manually first ∨ use `x.y.z` form instead. 2. **Detect manifest** (per table above). ≥ 2 candidates → bail (monorepo). 3. **Find last tag:** - `git tag --list "v*" --so