atomic-release-cilisted
Install: claude install-skill damusix/atomic-claude
# atomic-release-ci
Project-local skill for fixing the recurring breakage on the `release-please--branches--main` branch and its PR. Contributor-scope only: lives under `.claude/skills/`, auto-loaded for sessions in this repo, never bundled (`atomic/internal/bundlemirror/mirror.go` ships only `skills/atomic-*/` at the repo root).
## Why this exists
release-please maintains a release branch (`release-please--branches--main`) and an open release PR. CI (`.github/workflows/ci.yml`) runs on **every** branch (`push: branches: ["**"]`), so the release branch gets its own CI runs. Those runs go red for a small set of recurring reasons that are almost never a "real" bug in the release branch itself. This skill encodes the diagnosis and the canonical fix per cause so the loop stops eating time.
The two source-of-truth workflows:
- `.github/workflows/release-please.yml` — `on: push: branches: [main]`. Regenerates the release PR + branch. Uses `secrets.RELEASE_PLEASE_TOKEN`. No `workflow_dispatch` trigger, so the lever for a manual re-trigger is `gh run rerun <id>` against the last release-please run (or an empty commit to main).
- `.github/workflows/ci.yml` — render-drift gate → bundle-drift gate → `go test` → `go vet` → `gofmt` → `atomic validate`. Any of these can fail the release branch.
## The invariant
**Never hand-edit, hand-rebase, or force-push `release-please--branches--main`.** release-please owns that branch. Manual pushes fight the action and create divergence