stark-release

Automates changelog generation, semver version bumps, git tagging, and GitHub Release creation.

Updated Mar 16, 2026
One-click install
npx skills add https://github.com/21StarkCom/stark-skills --skill stark-release-21starkcom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: stark-release
Source: https://github.com/21StarkCom/stark-skills/tree/main/runtime-overrides/codex/skill/stark-release
Command: npx skills add https://github.com/21StarkCom/stark-skills --skill stark-release-21starkcom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Cutting a release involves many error-prone manual steps: curating the changelog, picking the right semver bump, updating version files across ecosystems, tagging, and publishing a GitHub Release. This Skill runs that entire sequence deterministically and aborts safely on dirty trees, drift, or missing changes. ## Core Features & Use Cases - Changelog automation: Reads CHANGELOG.md [Unreleased] entries, or auto-generates categorized entries (Added/Fixed/Changed/Removed) from git log using Conventional Commits when the section is empty. - Multi-ecosystem version bumping: Auto-detects and rewrites version files for Python (pyproject.toml, init.py), Node (package.json), Rust (Cargo.toml), and plain VERSION files, then commits them with the changelog. - Safety gates: Requires a clean main branch, runs a Terraform drift check before tagging when infra/terraform changed, and skips manual GitHub Release creation when a tag-triggered release workflow exists to avoid 422 conflicts. - Use Case: After merging a sprint of PRs, run the release skill to auto-detect a minor bump from Added entries, update all version files, tag v0.2.0, push, and publish the GitHub Release in one pass. ## Quick Start Ask the assistant to cut a new release with an optional patch, minor, or major bump argument, letting it auto-detect the bump type from unreleased changes if omitted.

Frequently Asked Questions about stark-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate a GitHub release with changelog and version bump?▼

Run the release skill with an optional patch, minor, or major argument. It gathers unreleased changes from CHANGELOG.md or git log, bumps every detected version file, commits, tags, pushes, and creates the GitHub Release automatically.

How is the semver bump type auto-detected from commits?▼

The bump is derived from categorized changes: only Fixed, Changed, or Removed entries produce a patch bump, any Added entry produces minor, and any entry marked BREAKING produces major. An explicit patch, minor, or major argument overrides detection.

Which version files does the release bump update?▼

The bump tool auto-detects and rewrites pyproject.toml, Python __init__.py files with __version__, package.json, Cargo.toml package versions, and plain VERSION or VERSION.txt files. If none exist, only the git tag carries the version.

What happens if the git working tree is dirty or not on main?▼

The release aborts during preflight with a prompt to checkout main and stash or commit changes. A clean main branch is a hard prerequisite before any changelog, tagging, or publishing step runs.

Why does the release check Terraform drift before tagging?▼

If commits since the last tag touched infra/terraform, an un-applied plan would fail CD's drift gate after the database migration already ran, leaving a half-deployed environment. The pre-tag terraform plan catches this so you can apply first.

Does the skill create a GitHub Release when a release workflow exists?▼

No. When a workflow triggered by v*.*.* tag pushes runs gh release create, the skill skips manual release creation to avoid a race that fails the workflow with HTTP 422 already_exists.