publish-release

publish-release is a skill for Claude Code, Codex from nuudge/nudge. It costs 81 tokens per session (1,241 once invoked), scanned A, original, MIT.

A release procedure for publishing a new version of the Nudge project from a version tag. It covers the code change, GitHub release, built files, checksums, Android package, Homebrew package, and AUR package.

In plain words
What is it for?
It is for bumping the version, running the test suite, creating a release branch and tag, publishing GitHub release files, and updating package repositories.
Why use it?
It prevents release steps from being missed or run in the wrong order. It also makes the required checks and merge gates explicit before publishing.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It is for bumping the version, running the test suite, creating a release branch and tag, publishing GitHub release files, and updating package repositories.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/nuudge/nudge/publish-release
View source ↗ nuudge/nudge
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.

Any agent
npx skills add nuudge/nudge --skill publish-release
Clone the repo
git clone --depth 1 https://github.com/nuudge/nudge

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

README.md
[![agentmods](https://agentmods.dev/badge/skills/nuudge/nudge/publish-release/github.svg)](https://agentmods.dev/skills/nuudge/nudge/publish-release)
Your own site
<a href="https://agentmods.dev/skills/nuudge/nudge/publish-release"><img src="https://agentmods.dev/badge/skills/nuudge/nudge/publish-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.

agentmods 80×15 button for publish-release

Your own site · 80×15
<a href="https://agentmods.dev/skills/nuudge/nudge/publish-release"><img src="https://agentmods.dev/badge/skills/nuudge/nudge/publish-release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 81 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,241 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.00081 $0.01241
Opus 5.5 $0.00032 $0.00496
Sonnet 5.5 $0.00016 $0.00248
Haiku 4.5 $0.00008 $0.00124

Measured yesterday against content hash 63b7c7c777b1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-30, from the pricing page.

Security

Grade A, and why

publish-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 yesterday.

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.

.nudge/skills/publish-release/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Publish a nudge release

The release is driven by an annotated v* tag on main: pushing it triggers .github/workflows/release.yml, which builds the relay (linux x86_64), the agent (linux x86_64 + macOS aarch64), and the signed Android APK, checksums everything, attaches it all to the tag's GitHub release, then updates the Homebrew tap (nuudge/homebrew-tap) and the AUR package. Everything below is runnable without manual intervention; steps are ordered — don't reorder 5 and 6 (notes before artifacts, see why in step 6).

0. Decide the version

Semver, pre-1.0 conventions: patch for fixes, minor for features or anything touching stored data / schemas / wire shapes. Check the current version:

grep -m1 '^version' Cargo.toml

1. Bump on a branch

git checkout main && git pull --ff-only
git checkout -b release-X.Y.Z

Edit the [package] version in the root Cargo.toml (the ONLY version to bump — relay is workspace-internal and Android versions derive from the tag). Then refresh the lockfile and verify:

cargo check          # updates Cargo.lock's own version entry
cargo test           # full suite must be green before a release commit

Commit both files, matching repo style:

git add Cargo.toml Cargo.lock
git commit -m "chore: bump to X.Y.Z"   # add a short body naming the headline changes

2. PR and merge (the one wait in the flow)

git push -u origin release-X.Y.Z
gh pr create --title "chore: bump to X.Y.Z" --body "<one-line summary>"

Branch protection requires the CI checks; the repo has auto-merge disabled, so gh pr merge --auto fails — poll instead. Merge state goes BLOCKED → CLEAN when the test check finishes (~2–4 min):

gh pr view <N> --json mergeStateStatus -q .mergeStateStatus   # wait for CLEAN
gh pr merge <N> --squash --delete-branch
git checkout main && git pull --ff-only

3. Draft the release notes FIRST

Write them to a temp file before tagging (the tag push starts the build; having notes ready lets step 6 happen inside the workflow's window). Structure used by 0.2.0: a one-line summary, ## Highlights bullets, and ## Upgrade notes for anything behavioral — always include an upgrade caveat when storage, schema, or config changes (e.g. 0.2.0's "quit running sessions before first launch").

Read the full file on GitHub · 121 lines

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. yesterday First seen · 121 lines · 81 tokens per session scan A 63b7c7c777b1

Subscribe to this mod's changes

publish-release is a skill published in the GitHub repository nuudge/nudge (5 stars, last pushed 2d ago), licensed MIT. It adds 81 tokens to every session and 1,241 once invoked, about $0.0003 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-09-29.