release

release is a skill for Claude Code, Codex from CinqueIzumi/Softcover. It costs 54 tokens per session (820 once invoked), scanned A, original, MIT.

A release-preparation workflow for an app. It updates the README, runs checks, changes the release version across Android, iOS, and desktop, and updates the public roadmap.

In plain words
What is it for?
Use it to prepare a release for review, with all edits left unstaged and without committing or tagging.
Why use it?
It gathers the repetitive release tasks in one process and stops before version changes if verification fails.

Skill for Claude CodeCodex

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 skills/cinqueizumi/softcover/release
Any agent
npx skills add CinqueIzumi/Softcover --skill release
Clone the repo
git clone --depth 1 https://github.com/CinqueIzumi/Softcover

Made for: Claude Code, Codex.

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

README.md
[![agentmods](https://agentmods.dev/badge/skills/cinqueizumi/softcover/release.svg)](https://agentmods.dev/skills/cinqueizumi/softcover/release)
Your own site
<a href="https://agentmods.dev/skills/cinqueizumi/softcover/release"><img src="https://agentmods.dev/badge/skills/cinqueizumi/softcover/release.svg" alt="Measured on agentmods" height="20"></a>
Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 820 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.00054 $0.00820
Opus 5 $0.00027 $0.00410
Sonnet 5 $0.00011 $0.00164
Haiku 4.5 $0.00005 $0.00082

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

Security

Grade A, and why

release 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 4d 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/skills/release/SKILL.md · 33 lines

What it actually says

Orchestrate a release-prep pass by composing the existing skills. Never commit or tag; leave all changes unstaged for the user to review.

Steps:

  1. Invoke the update-readme skill via the Skill tool to bring the README current with the latest features.

  2. Invoke the style-check skill via the Skill tool to auto-fix style and run the full gate. If the gate is not green, stop and report — do not bump the version on a red build.

  3. Read the current versionCode and versionName from app/build.gradle.kts and show them to the user. Ask for the new versionName (suggest the next semantic version). If the user provided one as an argument, use that.

  4. Invoke the set-version-name skill via the Skill tool with the new version name. It sets the version name across all platforms (Android versionName, iOS MARKETING_VERSION, desktop packageVersion) and bumps the build number together — do not edit any of those fields yourself.

  5. Close the shipped milestone. If a GitHub milestone matches the version being released, ask the user to confirm, then close it (gh api -X PATCH repos/{owner}/{repo}/milestones/{n} -f state=closed). This is the one live GitHub write in an otherwise local skill, so confirm first; it is trivially reversible by reopening.

    Why it belongs here: the public roadmap is built from open milestones, so leaving it open makes ROADMAP.md name the new version as the current release and list it as a future release in the same file. Skipping this ships a self-contradictory roadmap to the in-app Roadmap screen.

  6. Update the "what shipped" sentence in scripts/roadmap/header.md. This is the only line in the public roadmap that no machine can derive, and release time is the only moment it can be written.

    • Read the commits since the previous tag (git log --no-merges --format=%s $(git describe --tags --abbrev=0)..HEAD) and summarise the release in the public, editorial voice already used in that file — what a reader gets, not what changed internally.
    • Lead with the new version and prune older detail rather than letting the sentence accumulate every patch forever. One or two sentences total.
    • Leave {{CURRENT_VERSION}} alone — it is substituted from Gradle at generation time.
  7. Regenerate the public roadmap: python3 scripts/roadmap/generate_roadmap.py --write.

    This is mandatory, not optional. ROADMAP.md is a generated file, and the Roadmap workflow runs --check on any pull request touching ROADMAP.md or scripts/roadmap/**. Editing header.md in step 6 without regenerating leaves the file stale and fails CI on the release PR. Verify with --check before reporting.

  8. Report a consolidated summary: README changes, the check result, the version transition (e.g. versionName / MARKETING_VERSION / packageVersion: 2.4.0 → 2.5.0, versionCode / CURRENT_PROJECT_VERSION: 29 → 30), which milestone was closed, and the new "what shipped" sentence.

Do not create a commit or tag. Do not write Google Play release notes. Never hand-edit ROADMAP.md — it is generated; change header.md or a milestone description and regenerate. Leave all changes unstaged in the working tree.

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. 4d ago First seen · 33 lines · 54 tokens per session scan A 4dfead892b16

Subscribe to this mod's changes

release is a skill published in the GitHub repository CinqueIzumi/Softcover (11 stars, last pushed 4d ago), licensed MIT. It adds 54 tokens to every session and 820 once invoked, about $0.0003 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.