Borrowing it
Nothing to install: this file belongs to existential-birds/amelia. 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/existential-birds/amelia/main/.claude/commands/release.mdgit clone --depth 1 https://github.com/existential-birds/ameliaWrote 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/existential-birds/amelia/release)<a href="https://agentmods.dev/commands/existential-birds/amelia/release"><img src="https://agentmods.dev/badge/commands/existential-birds/amelia/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/existential-birds/amelia/release"><img src="https://agentmods.dev/badge/commands/existential-birds/amelia/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.00012 | $0.00861 |
| Opus 5.5 | $0.00005 | $0.00344 |
| Sonnet 5.5 | $0.00002 | $0.00172 |
| Haiku 4.5 | $0.00001 | $0.00086 |
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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release Automation
Automate the full release process: generate notes, update files, create branch, and open PR.
No arguments required - automatically detects the previous tag.
Prerequisites
Verify we're on main and it's clean:
git checkout main
git pull
git status --short
If there are uncommitted changes, abort and ask the user to resolve them first.
Detect the previous tag:
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null)
if [ -z "$PREV_TAG" ]; then
echo "No previous tags found. This appears to be the first release."
PREV_TAG="HEAD~100" # Fallback to analyze recent history
fi
echo "Previous tag: $PREV_TAG"
Step 1: Generate Release Notes
Run /gen-release-notes ${PREV_TAG} to:
- Analyze commits since the previous tag
- Categorize changes (Added, Changed, Fixed, Security, etc.)
- Determine the next version number
- Update
CHANGELOG.mdwith the new version section - Update
pyproject.tomlwith the new version - Regenerate
uv.lock(uv lock) so its editable-rootameliaentry tracks the new version
Bumping pyproject.toml invalidates uv.lock's own entry (name = "amelia", source = { editable = "." }), whose version still points at the previous release. uv lock --check runs first in make check, the pre-push hook, and CI (before any uv run/uv sync can silently re-lock), and FAILS on a drifted lock — so a stale lock can never merge.
Do not proceed until CHANGELOG.md, pyproject.toml, and uv.lock are updated.
Step 2: Create Release Branch
After the files are updated, extract the version and create a branch:
# Extract version from pyproject.toml
VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
echo "Creating release branch for version $VERSION"
# Create and checkout release branch
git checkout -b "chore/release-${VERSION}"
Step 3: Commit Changes
Commit all updated version files:
git add CHANGELOG.md pyproject.toml amelia/__init__.py dashboard/package.json uv.lock
git commit -m "chore(release): bump version to ${VERSION}"
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.
- 1mo ago First seen · 125 lines · 12 tokens per session scan A 38e03dd825ab
release is a command published in the GitHub repository existential-birds/amelia (21 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 12 tokens to every session and 861 once invoked, about $0.0000 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-30.
Other commands, from other repositories
release
Release manager for frontend and mobile. Writes App Store notes, user-facing changelog, flags stale docs and landing copy. Actions: notes | changelog | docs | sync.
sweep-mode-c-lifecycle
If Mode C was selected, the wave lifecycle is the back half of the issue-side lifecycle: no Curator, no Approval gate, no Builder. Each PR is routed by its current label to Judge, Doctor→Judge, or Merge directly.
code-review
Review the current branch changes for bugs and style issues.
pr-ready
Run the project's pre-commit review loop to determine whether the current branch is ready to push — lint, tests, parallel pr-review-toolkit agents plus an over-engineering audit, fix-and-re-run until convergence.
post-release.en
Read and execute the post-release skill from .agents/skills/post-release/SKILL.md.
release-tag
Create and push a version tag after a release PR has been merged.