Borrowing it
Nothing to install: this file belongs to tyejcoleman/tokenroom. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tyejcoleman/tokenroom/main/.claude/commands/release.mdgit clone --depth 1 https://github.com/tyejcoleman/tokenroomWrote 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.
[](https://agentmods.dev/commands/tyejcoleman/tokenroom/release)<a href="https://agentmods.dev/commands/tyejcoleman/tokenroom/release"><img src="https://agentmods.dev/badge/commands/tyejcoleman/tokenroom/release/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/tyejcoleman/tokenroom/release"><img src="https://agentmods.dev/badge/commands/tyejcoleman/tokenroom/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.00899 |
| Opus 5.5 | $0.00008 | $0.00360 |
| Sonnet 5.5 | $0.00004 | $0.00180 |
| Haiku 4.5 | $0.00002 | $0.00090 |
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 2mo 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.
What it actually says
Cut a release. Follow exactly; stop and report at any failed gate. Everything below is agent-executable EXCEPT the one human ceremony in step 0.
- Token ceremony (HUMAN, once — and after any credential exposure): CI publishes
with the
NPM_TOKENrepo secret, which must be a granular access token with Read and write / All packages AND "Bypass two-factor authentication" ENABLED. (Classic "Automation" tokens are retired — npm offers granular only now.) All-packages scope is required for FIRST publishes (an unpublished name can't be selected). Both failure signatures fire at the publish step only, after all gates pass:E403 You may not perform that action with these credentials— wrong token type (field 2026-06-10, run 27315632200);E403 Two-factor authentication or granular access token with bypass 2fa enabled is required— granular token created WITHOUT the bypass toggle (field 2026-06-11, run 27385109918). If the toggle is absent from the token form, the account's 2FA write-requirement setting is pinned to "always" — relax it to the granular-bypass option first. Granular tokens EXPIRE (~90d cap): calendar the renewal. After creating:gh secret set NPM_TOKEN, revoke the previous token. Fallback that needs no token changes: a human runsnpm publish --access public --otp=<code>locally (loses provenance for that release). Agents must NEVER print, commit, or echo token values (gate G6); a failed publish is re-run withgh run rerun <id>— tags never move.
- Preflight:
node scripts/release-preflight.mjs— tree, tests, gates, dated CHANGELOG section, tag state, tarball scope, registry collision, secret presence. Fix every ✗ before proceeding. (CI runs it with--offline.) - Version: bump
versioninpackage.jsononly — single source of truth (ADR-10). Patch = fixes, minor = features, pre-1.0. - CHANGELOG.md: a DATED section
## X.Y.Z — YYYY-MM-DD(release.yml extracts it; "Unreleased" headings block the GitHub release notes). Grouped Added/Fixed/Changed, written for users. - Commit & tag:
release: vX.Y.Zcommit →git tag vX.Y.Z && git push && git push --tags. - The tag does the rest —
.github/workflows/release.yml: gates → tag==version check →npm publish --provenance→ GitHub release from the CHANGELOG section. Watch:gh run watch $(gh run list --workflow release --limit 1 --json databaseId -q '.[0].databaseId'). If it fails at the publish step with E403: that is the token type (step 0) — fix the secret, thengh run rerun <run-id>. The tag is fine; never delete/move it. - Registry verification (the release is not done until this passes):
npm view tokenroom version→ the new version;- in a temp prefix:
npm install -g --prefix $(mktemp -d) tokenroomand run the installedtokenroombinary:line(degrades to "no data"),tapwith a fixture payload (renders HUD),doctor --config-dir $(mktemp -d)(reports, exits 1 on the empty sandbox — expected); - npm page shows the provenance badge ("built and signed on GitHub Actions").
- Announce only per the launch plan (
launch/RUNBOOK.md) — publishing is not promotion; do not post anywhere unless the user has explicitly green-lit the launch.
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.
- 2mo ago First seen · 49 lines · 21 tokens per session scan A 5cd6887f0658
release is a command published in the GitHub repository tyejcoleman/tokenroom (0 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 21 tokens to every session and 899 once invoked, about $0.0001 per session on Opus 5.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.
Other commands, from other repositories
land
Resolve and squash merge one named, currently authorized pull request.
quality
A command for temporarily clearing a release quality gate or one named check, while recording the reason and expiry time. A quality gate is a required check that normally blocks completion or release.
release-notes
Generate consistent, well-structured release notes from git history. Triggered on release tags following semver patterns (v..) to produce categorized changelog with breaking changes, features, fixes, and contributor attribution.
release-manager
Automated release coordination and deployment with ruv-swarm orchestration for seamless version management, testing, and deployment across multiple packages.
release-plan
A release-planning command for a software change. It documents the release scope, rollback plan, gradual or full rollout, and monitoring before waiting for human approval.
create-pr
Push the current branch and open a pull request into main with a structured description derived from the branch's commits and the open issues it resolves.