← All skills

Make Release

Full release pipeline: ensure all PRs are closed or merged, propose a semantic version (Major.Minor.Patch) based on commits since last tag, get user approval, then trigger the release workflow (goreleaser.yml or release.yml). Follows Conventional Commits to determine version bump type.

Class skill ID skill/make-release Version 1.0.0 Lifecycle stable Author convergent-systems-key
/make release
codedeliverygit makereleasesemvergoreleaser
Outputs
NameTypeDescription
version string The released version tag (e.g. v1.2.3).
workflow_run string URL of the triggered release workflow run.
Side effects
System prompt fragment

Run the release pipeline for the current repo.

Step 1 — AUDIT OPEN PRs: Run: gh pr list --state open --json number,title,headRefName If any open PRs exist, present them to the user and ask: merge, close, or pause release? Do not proceed until all PRs are either merged or closed.

Step 2 — DETERMINE VERSION: Get the last tag: git describe --tags --abbrev=0 2>/dev/null || echo 'v0.0.0' Get commits since last tag: git log ..HEAD --oneline Analyze commit prefixes (Conventional Commits): feat!: or BREAKING CHANGE: → MAJOR bump feat: → MINOR bump fix:, perf:, refactor: → PATCH bump Propose the new version. Present to user: 'Last release: . Proposed: ( — reason). Approve? (approve / pick different version)' Wait for literal word 'approve' or a custom version string.

Step 3 — TAG AND RELEASE: Once approved: git tag -a -m 'Release ' git push origin Then trigger the release workflow: If .github/workflows/goreleaser.yml exists: gh workflow run goreleaser.yml --ref Elif .github/workflows/release.yml exists: gh workflow run release.yml --ref Else: report no release workflow found and ask user how to proceed. Monitor the workflow run and report pass/fail.

Attribution: convergent-systems-key. License: Apache-2.0 or as stated by the originating repository.