CR

Cuts and publishes releases. Use this to automate versioning and changelog creation.

Install

mkdir -p .claude/skills/create-release && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18841" && unzip -o skill.zip -d .claude/skills/create-release && rm skill.zip

Installs to .claude/skills/create-release

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use whenever the user asks to create, cut, publish, or prepare a Terminai release. Requires the user to specify whether the release is major, minor, or patch before updating versions.
183 charsno explicit “when” trigger
Advanced

Key capabilities

  • Confirm working tree state with `git status --short`
  • Run tests before release metadata changes
  • Bump version in `Cargo.toml` and `Cargo.lock`
  • Add `CHANGELOG.md` entry for new version
  • Create a GitHub release for the new tag/version
  • Update Homebrew tap with new formula

How it works

This skill automates the process of creating a software release, including version bumping, changelog updates, GitHub release creation, and Homebrew tap updates.

Inputs & outputs

You give it
A specified release type (major, minor, or patch)
You get back
A new software release with updated versions, changelog, GitHub release, and Homebrew tap update

When to use create-release

  • Create new patch release
  • Update version and changelog
  • Publish GitHub release
  • Verify release build workflow

About this skill

Create Release

Required Trigger

You MUST use this skill any time the user asks to create a release for this repository.

Do not use this skill when the user only asks to commit, push, or commit and push changes. Those requests are not release requests unless the user also explicitly asks for a release.

Before changing release files, confirm the release type is known:

  • major
  • minor
  • patch

If the user did not specify major, minor, or patch, ask for that one missing detail and wait up to five minutes for a response. If no response arrives, use patch. Do not infer another release type from the change size.

Workflow

  1. Confirm the working tree state with git status --short.
  2. Run the relevant checks before release metadata changes:
    • Format-check the Terminai package with cargo fmt --manifest-path src/Cargo.toml -- --check. Do not use cargo fmt --all; vendored code under vendor/ is outside our formatting scope.
    • For the full project tests, prefer cargo test from src/.
  3. Bump the version according to the specified release type:
    • src/Cargo.toml
    • Cargo.lock
    • any other tracked references to the package version that are intentionally versioned
  4. Add a CHANGELOG.md entry for the new version with the current date and the user-visible changes.
    • If changelog validation rejects new Markdown syntax, decide deliberately whether that formatting is valuable enough to become supported syntax. Remove incidental formatting; add parser, renderer, and test support when the syntax materially improves the changelog and is likely to be reused. Do not bypass or weaken the validation test.
  5. Re-run verification after the version and changelog updates.
  6. Commit the release changes on main with a clear release commit message.
  7. Push main.
  8. Create a GitHub release for the new tag/version.
  9. Wait for the GitHub release build workflow to complete successfully.
  10. Verify the release artifacts exist and are usable.
  11. Update the ignored homebrew-tap/ checkout on a branch. Preserve the existing formula structure and update only the release-specific values.
  12. Open a tap PR for the formula update. Do not stop for human review.
  13. Wait for the tap brew test-bot workflow to complete.
    • Confirm every supported architecture completed successfully and produced bottle artifacts, not only passing checks.
    • Download or inspect artifacts and verify they contain *.bottle.*.tar.gz and *.bottle.json.
  14. Publish bottles before merging the tap PR:
    • Immediately before dispatch, resolve the exact full PR head SHA with gh pr view "$PR_NUMBER" --repo emosenkis/homebrew-tap --json headRefOid --jq .headRefOid.
    • Pass that value unchanged as the workflow's head_sha input. Never abbreviate, guess, or manually transcribe the SHA.
    • Run the tap's GitHub brew pr-pull workflow for the PR.
    • Wait for it to publish all supported bottles and push the bottle commit successfully.
  15. Merge the tap PR only after the bottle publish step has succeeded. If the publish step already merged or pushed the required commits, verify main includes them.
  16. Run brew update, then verify local install uses the bottle:
    • brew info emosenkis/tap/terminai must show (bottled).
    • brew fetch --force --bottle-tag=x86_64_linux emosenkis/tap/terminai must fetch a bottle.
    • brew reinstall emosenkis/tap/terminai must show Pouring ...bottle..., not cargo install.
  17. Report the released version, main release URL, tap PR, bottle workflow run, tap release URL, and final tap commit.

Guardrails

  • Do not create a release from an unverified or failing tree unless the user explicitly accepts the risk after seeing the failure.
  • Do not skip the Homebrew tap update when artifacts are available.
  • Keep the tap as an ignored checkout in ./homebrew-tap; do not convert it to a submodule.
  • If GitHub build artifacts are not available yet, poll the workflow/release state rather than guessing hashes.
  • Do not leave the Homebrew bottle workflow at "checks passed" only. Confirm artifacts, bottle publishing, and a local bottle pour.
  • Do not wait for human intervention or review during the release/tap PR flow unless credentials or repository permissions are missing.

When not to use it

  • When the user only asks to commit, push, or commit and push changes
  • When the release type (major, minor, patch) is not specified
  • When creating a release from an unverified or failing tree without explicit user acceptance

Limitations

  • Requires explicit specification of release type (major, minor, patch)
  • Does not proceed with release from unverified or failing tree without user acceptance
  • Does not skip Homebrew tap update when artifacts are available

How it compares

This skill provides a structured and automated release workflow, ensuring consistency and reducing manual errors compared to a manual release process.

Compared to similar skills

create-release side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
create-release (this skill)02moNo flagsAdvanced
agent-workflow-automation47moReviewAdvanced
project-os17moReviewIntermediate
project-tooling15moCautionBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry