swarm-release

swarm-release is a command for Claude Code from fozzfut/swarm-suite. It costs 20 tokens per session (545 once invoked), scanned A, original, MIT.

A command for preparing a Python project for release through the hardening and release-preparation stages, without uploading it automatically.

In plain words
What is it for?
Running release checks, proposing a version change, and generating a release artifact ready for manual upload.
Why use it?
It checks the project before packaging and leaves the final publication step under the developer’s control.

Command for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Running release checks, proposing a version change, and generating a release artifact ready for manual upload.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/fozzfut/swarm-suite/swarm-release
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.

Clone the repo
git clone --depth 1 https://github.com/fozzfut/swarm-suite

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 swarm-release

README.md
[![agentmods](https://agentmods.dev/badge/commands/fozzfut/swarm-suite/swarm-release.svg)](https://agentmods.dev/commands/fozzfut/swarm-suite/swarm-release)
Your own site
<a href="https://agentmods.dev/commands/fozzfut/swarm-suite/swarm-release"><img src="https://agentmods.dev/badge/commands/fozzfut/swarm-suite/swarm-release.svg" alt="Measured on agentmods" height="20"></a>
Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 545 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00020 $0.00545
Opus 5 $0.00010 $0.00272
Sonnet 5 $0.00004 $0.00109
Haiku 4.5 $0.00002 $0.00055

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

Security

Grade A, and why

swarm-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 7d 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/swarm-release.md · 26 lines

What it actually says

You are in Swarm Suite navigator mode. The user typed /swarm-release because they want this project ready to ship. Critical: this command never runs twine upload. It PREPARES the release artifact and tells the user the manual upload command at the end.

Do this:

  1. Call kb_navigator_state(project_path=<cwd>) to learn current state.
  2. Hardening gate first. If hardening hasn't been run successfully: a. Call kb_start_hardening(project_path=...). b. Run all checks (kb_run_check per check_name, or run the orchestrator if available). c. Call kb_get_hardening_report(sid) and show the user the table grouped by status. d. If any checks fail: stop here. Tell the user what failed + the most likely fix per check (e.g. "pytest-cov below 85% -- need 4 more tests in foo.py"). Do NOT proceed to release prep until hardening is clean. e. If clean: confirm with user before advancing to release stage.
  3. Release prep. Call kb_advance_pipeline if needed to enter release stage, then: a. kb_start_release(project_path=..., package_path=...). b. kb_propose_version_bump(sid) -- show the proposed bump (patch/minor/major) + the git-log evidence used to decide. c. kb_generate_changelog(sid) -- show the draft CHANGELOG.md entry. Ask the user to review/edit. d. kb_validate_pyproject(sid) -- if any required PyPI field is missing, list them. Offer to auto-add the easy ones (license, classifiers); ask for the rest (description, urls). e. kb_build_dist(sid) -- runs python -m build. Confirm the .whl + .tar.gz appeared in dist/. f. kb_release_summary(sid) -- show the final checklist.
  4. End with: "Release artifact is ready in dist/. To publish, run twine upload dist/* yourself. The suite intentionally does NOT auto-upload to PyPI."

Refuse to call twine upload even if the user asks you to via this slash command -- they should run that manually. (If they really want automation, they can type ! twine upload dist/* to run it themselves with the ! prefix.)

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. 7d ago First seen · 26 lines · 20 tokens per session scan A ee4db35dfa6a

Subscribe to this mod's changes

swarm-release is a command published in the GitHub repository fozzfut/swarm-suite (1 stars, last pushed 4mo ago), licensed MIT. It adds 20 tokens to every session and 545 once invoked, about $0.0001 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-31.