@jackin-project/jackin-release

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.

View in AI SkillSafe app
Scanned · no findings
0 downloads
0 stars
0 demos
SKILL.md
namejackin-release
descriptionUse 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-invocationtrue
licenseApache-2.0
user-invocabletrue

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 Addedminor; only Fixed / Changed / Security / Deprecatedpatch. 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.

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@jackin-project/jackin-release/verified)](https://skillsafe.ai/skill/@jackin-project/jackin-release/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@jackin-project/jackin-release/installs)](https://skillsafe.ai/skill/@jackin-project/jackin-release/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@jackin-project/jackin-release/scan)](https://skillsafe.ai/skill/@jackin-project/jackin-release/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@jackin-project/jackin-release/eval)](https://skillsafe.ai/skill/@jackin-project/jackin-release/)