github-releaselisted
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