Installs into .claude/skills of the current project.
Are you the author of Release?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nwiizo-release)
---
name: release
description: Prepare or publish a cargo-coupling version when the user requests a release.
argument-hint: "[version] [prepare or publish]"
---
# Release cargo-coupling
Match the requested version and publication scope. A preparation request ends with
verified local artifacts; a publish request includes the authorized release commit,
tag, push, and publication verification. Carry existing authorization forward.
Resolve a missing version before changing release metadata; meanwhile inspect the
branch, remote, status, and current release workflow.
Update `Cargo.toml` and refresh `Cargo.lock` without upgrading unrelated dependencies.
Run the required checks against the final release state:
```bash
rtk cargo fmt --all -- --check
rtk cargo clippy --locked --all-targets --all-features -- -D warnings
rtk cargo test --locked --all-features
rtk cargo build --locked --release
```
Before publication, verify the staged diff, intended branch and remote, matching
manifest/lockfile versions, and that the tag does not already identify a different
release. Preserve unrelated work. Use an annotated `vX.Y.Z` tag on the verified
release commit; the commit message is `chore: release vX.Y.Z`. Push only the intended
branch and tag to the verified remote; never replace an existing release tag.
Pushing a `v*` tag triggers [.github/workflows/release.yml](../../../.github/workflows/release.yml),
which publishes to crates.io and creates a GitHub release. Check both outcomes
before reporting publication complete. If publication fails or is uncertain,
inspect the workflow and registry state before retrying; do not create another
version or move a tag to bypass the failure.
The optional Claude hook in [.claude/settings.json](../../settings.json) checks
formatting and lint for matching commit commands. It does not establish that all
release checks ran in another host. Reuse successful current checks while the
release state is unchanged.