releaselisted
Install: claude install-skill Edmonds-Commerce-Limited/claude-code-hooks-daemon
# /release - Automated Release Management Skill
## 🚨 HUMAN-GATED — this skill is the ONLY valid entry point
**A release may only begin when a human invokes `/release` in the CURRENT
session. An agent must never start a release on its own initiative. The
`/release` invocation is the ONLY authorisation there is: once the pipeline's
blocking gates pass, the release proceeds through tag and publish with no
secondary human confirmation — it passes, or a failed gate aborts it.**
A release is a decision about **scope**, and scope is not visible from inside
the repository: only the human knows which work belongs in the bundle. A clean
tree, a fully green QA run and a bumped version say a release *would be sound*, never that
it is *wanted now*.
**A release may legitimately span a compaction, and must then be FINISHED** — a
half-done release (version bumped, `UNRELEASED/` dirs moved, nothing tagged) is
its own broken state. So this skill MUST write `untracked/release-state.json`
and update it per step, because authorisation and progress have to live where a
compaction cannot reach them.
**Write it once Stage 0's slate-clean gate returns `0`, not before** — see
"The release state file" in RELEASING.md for why that ordering is load-bearing.
A release stopped AT the slate gate never started, and a state file written
ahead of it deadlocks the very stop the gate asks for (Plan 00407 N1).
- **No state file ⇒ no release in progress.** A dirty tree or a plan saying
"finish the release