.claude/skills/release-and-versioning/SKILL.md
Cuts a new release with semantic versioning and GoReleaser. Use when the user wants to release a new version, tag a release, or understand release workflow.
npx skillsauth add devopsfactory-io/neptune release-and-versioningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
v0.2.0, v1.0.0).v prefix is required for the release workflow. Do not add a version in go.mod for release; the binary gets version from ldflags at build time.git tag vX.Y.Zgit push origin vX.Y.Z.github/workflows/release.yml runs on tag push. GoReleaser creates the GitHub Release with neptune binaries (lowercase archives e.g. neptune_linux_amd64.tar.gz and raw binaries), neptune-webhook.zip and raw neptune-webhook_linux_amd64 (Lambda binary is neptune-webhook), checksums, and release notes. The release body is generated by GitHub (changelog.use: github-native) and categorized by .github/release.yml and PR labels.git push or creating tags) without user confirmation.neptune from the repo root (ldflags set main.version, main.commit, main.date) and Lambda neptune-webhook from lambda/ (released as neptune-webhook.zip and raw neptune-webhook_linux_amd64). Produces lowercase-named archives (e.g. neptune_linux_amd64.tar.gz), raw binaries, and checksums. With changelog.use: github-native, the release body is generated by GitHub and categorized via .github/release.yml and PR labels. Release footer links to full changelog.goreleaser/goreleaser-action with release --clean and contents: write permission.With github-native changelog, release-note sections are determined by PR labels and .github/release.yml, not by commit subject. Apply the breaking-change label to PRs that introduce breaking changes so they appear under "Breaking Changes" in the generated release notes. The commit subject convention (!:) is still recommended for semver and human readers (e.g. feat!: remove old API) but does not drive the release notes sections. Maintainers should apply the appropriate label (e.g. breaking-change, enhancement, bug) when merging so the next release is correctly categorized.
If the user only wants to understand the workflow, explain the steps and point to .goreleaser.yml, .github/release.yml, and .github/workflows/release.yml without running any commands.
development
Runs tests, lint, and format checks; explains CI workflows. Use when running or debugging tests, lint, or GitHub Actions.
development
Cuts a new release with semantic versioning and GoReleaser. Use when the user wants to release a new version, tag a release, or understand release workflow.
tools
Commits current changes and opens a pull request via GitHub CLI (gh). Use only when the user explicitly says "open a pull request", "open an pull request", or "create a pull request". Do not run this workflow for other requests.
development
Ensures human and AI documentation stay in sync with code and config. Use when changing behavior, adding features, refactoring, or when the user asks to update docs. Delegates the actual updates to the documentation-maintainer subagent.