Skip to main content
skill CX Codex

jackin-release — Claude Code skill: what it does, how to install

Orchestrates checks, changelog formatting, and version bumps for Rust projects. Runs cargo release only after an explicit confirmation from the operator.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-code
Open on GitHub

What jackin-release does

The skill coordinates release routines step by step. First, it triggers gate validations with jackin-release-check and reads unreleased work via jackin-release-notes. Based on the change categories, it calculates the next version: breaking changes prompt major bumps, additions map to minor, and bug fixes trigger patch releases.

The execution step is irreversible. Running cargo release --execute updates Cargo.toml, replaces changelog headers, tags the commit, and pushes to git. Without cargo-release, an authenticated gh CLI, and configured release.toml rules, the process will fail. The assistant never executes the cut on its own. It waits for a direct "yes" from the developer.

What it helps with

  • verify project release readiness gates before tagging
  • update CHANGELOG.md headers from the unreleased section
  • calculate the next semver increment from committed work
  • run cargo release to tag and push the repository

Example prompts for the agent

  • Cut the next project release using jackin-release.
  • Prepare a minor version bump with jackin-release minor.
  • Run gate checks and release a patch via jackin-release patch.

How to install jackin-release

1Skills CLI (Vercel)

npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-code

2Manually: put the files in place

~/.claude/skills/jackin-release/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/jackin-release/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about jackin-release

How to install jackin-release in Claude Code?

Run npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-code. The file will be placed in ~/.claude/skills/jackin-release/SKILL.md.

What does jackin-release do?

It coordinates gate checks, formats unreleased notes, recommends a semver bump level, and runs cargo release once the operator gives explicit approval.

What prerequisites are required before cutting a release?

You need cargo-release installed, authenticated gh CLI access, .github/workflows/ci.yml, and release.toml with pre-release-replacements matching the marker in CHANGELOG.md.

Source text

SKILL.md · Apache-2.0
---
name: jackin-release
description: Use only when the user explicitly requests this skill. Cuts a jackin❯ release — runs the readiness gates, writes the changelog, recommends a version, then executes cargo release on explicit operator confirmation.
argument-hint: "[major|minor|patch|version]"
disable-model-invocation: true
license: Apache-2.0
user-invocable: true
---

# jackin-release

**Cut** a release. The only irreversible skill in the suite — `cargo release --execute` bumps the version, rewrites the changelog header, tags, and pushes. Hard-gated on one explicit operator "yes"; nothing releases on assumption.

Orchestrates `jackin-release-check` (the gates) and `jackin-release-notes` (the changelog), then recommends a version from the changelog shape and cuts.

## When to use

- The operator asks to cut / ship / release a version.

## When NOT to use

- Just checking readiness → `jackin-release-check`.
- Just updating the changelog → `jackin-release-notes`.

## Prerequisites

`cargo-release` installed; `gh` authenticated; `release.toml` with `pre-release-replacements` for `CHANGELOG.md`; `CHANGELOG.md` with the `<!-- next-header -->` marker; `.github/workflows/ci.yml`.

## Process

1. **Gates.** Run `jackin-release-check`. A red gate **stops** — show the report and name what to fix. Warns surface; ask whether to continue.

   *Done when* every gate is green, or the operator accepted the warns.

2. **Changelog.** Run `jackin-release-notes`. Present the `[Unreleased]` section; let the operator re-classify or reword.

   *Done when* the operator approves the changelog.

3. **Recommend a version.** Read the approved `[Unreleased]` buckets: any **Removed** or "breaking" entry → **major**; any **Added** → **minor**; only **Fixed** / **Changed** / **Security** / **Deprecated** → **patch**. Read the current version (`grep '^version' Cargo.toml`), compute the next, present the recommendation, wait.

   *Done when* the operator confirms the bump level.

4. **Commit the changelog.** If `CHANGELOG.md` has uncommitted edits, `git add CHANGELOG.md && git commit -m "docs: update changelog for vX.Y.Z"`.

5. **Final confirm.** Show the summary — version, bump level, changelog shape, and the exact `cargo release <level> --execute` about to run (it bumps `Cargo.toml`, renames `[Unreleased]` to `[X.Y.Z] - <date>` via `release.toml`, tags, and pushes). **Do not run it without an explicit "yes."**

   *Done when* the operator says "yes."

6. **Cut.** `cargo release <level> --execute`. On failure, show the error and stop.

7. **Verify.** `git tag -l "vX.Y.Z"` and `git ls-remote --tags origin "refs/tags/vX.Y.Z"`. Point the operator at the release workflow that now builds the artifacts.

## Error recovery

- Before `cargo release`: safe to fix and re-run — this skill re-validates everything.
- During `cargo release`: check what committed or tagged. Tag created but unpushed → `git push origin vX.Y.Z`. Version commit without tag → reset and retry.
- After: the release is done; a CI failure is a workflow issue, not a rollback.

## Common mistakes

- Running `cargo release` without the explicit "yes" — the one hard gate.
- Letting a red readiness gate through to the cut.
- Hand-editing the `[X.Y.Z]` version heading — `cargo-release` rewrites it via `release.toml` `pre-release-replacements`; double-editing corrupts the release commit.

© jackin-project · Apache-2.0 · jackin-project/jackin-dev

Similar skills

All skills for Git and GitHub →

From the same set10

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor