Skip to content
Back to skills

New Release

ASecurity

Cut an Elixir named release with the canonical release script, verification, and live announcement audit

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentspythonbashgit

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add jthingelstad/elixir-bot --skill new-release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of New Release?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for New Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jthingelstad-new-release/badge)](https://www.skillsdirectory.com/skills/jthingelstad-new-release)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: new-release
description: Cut an Elixir named release with the canonical release script, verification, and live announcement audit
---

# New Release

Elixir releases use a coined Clash Royale name, date, and build hash — not
SemVer. `scripts/cut_release.py` is the canonical ceremony. It gathers changes,
coins or accepts a name, generates detailed/Discord/clan-chat tiers, updates
`RELEASES.md` and `agent/core.py`, commits, pushes, tags, creates the GitHub
release, records durable memory, emails the clan, and posts the announcement.

Do not hand-edit version constants or add a startup system signal for an
ordinary release. The old `RELEASE_VERSION`/`capability_unlock` checklist is
retired.

## Before cutting

1. Read `AGENTS.md` and verify the worktree and branch.
2. Confirm the intended change window (`--since REF` or `--days N`).
3. Run the standard tests and confidence gates appropriate to the release.
4. The non-dry-run script requires a clean worktree.

## Preview

Always inspect the generated three-tier copy before publishing:

```bash
uv run python scripts/cut_release.py --dry-run --since <ref>
```

The user may supply the coined name:

```bash
uv run python scripts/cut_release.py --dry-run --since <ref> --name "Blazing Balloon"
```

If no name is supplied, the script coins one. Report it for review before the
non-dry-run cut when the user has not already authorized autonomous publishing.

## Cut

```bash
uv run python scripts/cut_release.py --since <ref> --name "Blazing Balloon"
```

Use `--no-email` or `--no-announce` only when explicitly requested or when that
surface is unavailable. To retry only a failed Discord announcement after the
release itself succeeded:

```bash
uv run python scripts/cut_release.py --announce-only blazing-balloon
```

## Verify

After the script returns:

1. Confirm the release commit and named tag point at the expected build.
2. Confirm the GitHub Release URL.
3. Confirm `RELEASE_CODENAME` and `RELEASE_STAMP` in `agent/core.py`.
4. Confirm the detailed entry is at the top of `RELEASES.md`.
5. Check the script’s email, Discord announcement, durable-memory, and clan-chat
   results individually; these best-effort surfaces may fail after the release
   commit/tag already succeeded.
6. Restart production when the release changes runtime code, then verify status,
   fresh startup logs, and the running build hash.

Never rerun a full cut merely because one best-effort notification failed.
Report the release label, commit, tag, GitHub URL, delivery results, and live
build verification.

## Arguments

$ARGUMENTS

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…