release-tag-create

release-tag-create is a command for Claude Code from boykush/scraps. It costs 7 tokens per session (991 once invoked), scanned A, original, MIT.

A release command that creates a versioned release branch, updates Rust package versions, builds the project, commits the changes, pushes the branch, and opens a release pull request.

In plain words
What is it for?
Use it when preparing a Scraps release from an up-to-date main branch, including version bumps, lockfile updates, branch creation, and release-request setup.
Why use it?
It turns the repeated release preparation steps into one documented sequence and keeps version changes off the main branch.

Command for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/boykush/scraps/release-tag-create
Clone the repo
git clone --depth 1 https://github.com/boykush/scraps

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for release-tag-create

README.md
[![agentmods](https://agentmods.dev/badge/commands/boykush/scraps/release-tag-create.svg)](https://agentmods.dev/commands/boykush/scraps/release-tag-create)
Your own site
<a href="https://agentmods.dev/commands/boykush/scraps/release-tag-create"><img src="https://agentmods.dev/badge/commands/boykush/scraps/release-tag-create.svg" alt="Measured on agentmods" height="20"></a>
Per session 7 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 991 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00007 $0.00991
Opus 5 $0.00003 $0.00495
Sonnet 5 $0.00001 $0.00198
Haiku 4.5 $0.00001 $0.00099

Measured 3d ago against content hash 9e0b42a57ba0, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

release-tag-create scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/commands/release-tag-create.md · 65 lines

What it actually says

Create a release tag for the Scraps project using the following workflow:

Arguments:

  • $ARGUMENTS: Version number (e.g., "0.27.0")

Workflow:

  1. Create a release branch from up-to-date main:

    • Check current branch with git branch --show-current
    • If not on main, stash changes with git stash and checkout main with git checkout main
    • Pull latest changes with git pull
    • Create the release branch: git checkout -b release/v$ARGUMENTS
    • Never commit the version bump on main: main rejects direct pushes
  2. Update version in Cargo.toml files:

    • Update version = "X.Y.Z" in /Cargo.toml (two occurrences: [workspace.package] and [workspace.dependencies.scraps_libs])
    • Update version = "X.Y.Z" in /modules/libs/Cargo.toml
    • Run mise run cargo:build so Cargo.lock picks up both scraps and scraps_libs
  3. Commit version bump and push the branch:

    • Add all changed files: Cargo.toml, Cargo.lock, modules/libs/Cargo.toml
    • Commit with message format: v$ARGUMENTS (e.g., "v0.27.0")
    • Include Claude Code attribution in commit body
    • Push the branch: git push -u origin release/v$ARGUMENTS
  4. Open the release PR:

    • gh pr create --base main --title "v$ARGUMENTS" --body "<summary>"
    • Show the PR URL to the user
  5. Wait for required checks and merge:

    • Watch required checks with gh pr checks --watch (build and zizmor)
    • main also requires an approving review, and the agent cannot approve or merge its own PR: ask the user to merge
    • Do not continue until gh pr view --json state,mergedAt reports the PR as MERGED
  6. Tag the merged commit (only after the merge is confirmed):

    • git checkout main && git pull
    • Verify version in Cargo.toml matches $ARGUMENTS and git log -1 --oneline is the merged version bump
    • Create tag: git tag v$ARGUMENTS
    • Request confirmation before pushing tag
    • Push tag: git push origin v$ARGUMENTS (requires user approval)
  7. Verify:

    • Confirm tag creation with git tag --sort=-v:refname | head -5
    • Confirm the tag is on main with git merge-base --is-ancestor v$ARGUMENTS origin/main

Usage: /release-tag-create 0.27.0

Example:

# For version 0.27.0
/release-tag-create 0.27.0

Notes:

  • The version bump must go through a PR: main blocks direct pushes and requires the build and zizmor checks plus a review approval
  • Never create or push the tag before the PR is merged; a tag that is not an ancestor of main has to be deleted with git push origin :refs/tags/v$ARGUMENTS and recreated
  • The version format should be semver without 'v' prefix in arguments
  • Tag will be created with 'v' prefix (e.g., v0.27.0)
  • User confirmation is required before pushing the tag: publishing a GitHub Release from it triggers the crates.io publish, the homebrew-tap update, and the floating v{major}/v{major}.{minor} tag moves (see .github/workflows/release.yml)
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 65 lines · 7 tokens per session scan A 9e0b42a57ba0

Subscribe to this mod's changes

release-tag-create is a command published in the GitHub repository boykush/scraps (47 stars, last pushed 4d ago), licensed MIT. It adds 7 tokens to every session and 991 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.