release

A release workflow for Bobbit that prepares a reviewed release pull request and lets CI publish the approved package to npm. CI is the automated system that checks and builds code after changes are submitted.

In plain words
What is it for?
Running release preflight checks, bumping versions, preparing release notes, and coordinating the pull request that triggers the npm and GitHub release.
Why use it?
It keeps version changes, release notes, tests, publishing, provenance, tags, and GitHub releases in one controlled process instead of relying on manual publishing.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/g-research/bobbit/release
Any agent
npx skills add G-Research/bobbit --skill release
Clone the repo
git clone --depth 1 https://github.com/G-Research/bobbit

Made for: Claude Code, Codex.

Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,018 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00052 $0.05018
Opus 5 $0.00026 $0.02509
Sonnet 5 $0.00010 $0.01004
Haiku 4.5 $0.00005 $0.00502

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

Security

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 2d 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/skills/release/SKILL.md · 408 lines

How it starts

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

Drive an end-to-end release of Bobbit. The human's job is the release PR: version bump + release notes, reviewed and squash-merged. Merging it is what releases — the release PR's required GitHub checks run the test suites, then .github/workflows/release-publish.yml validates, builds, type-checks, and packs an immutable tarball without publish authority, publishes that exact tarball to npm (trusted publishing / OIDC, with provenance), creates the tag, and creates the GitHub release. Never create the release tag, run a root npm publish, or create the GitHub release by hand. npm login / OTP is needed only when republishing binary sub-packages — pause and ask when the flow needs it.

Single source of truth for release mechanics: docs/releasing.md. This skill orchestrates that doc + version bump + notes + GitHub release.

Where this runs — read this first. Never cut the release from the primary worktree: the dev server runs there, and npm ci / npm run build would wipe its node_modules / overwrite its dist/ and break the running server mid-release. Never cut it from a session worktree either — that's on a session branch, not main, and git won't let you check out main in a second worktree while the primary already has it. Instead, §1.5 creates a dedicated detached-HEAD worktree off origin/main (a sibling of the primary, not under *-wt/), and every mutating step runs there. The release commit is pushed to a release/v<version> branch and squash-merged through the repository's required PR flow (§6–§8); the resulting merge commit is what gets tagged.

0. Sanity check the environment

These are location-independent (the .git is shared across worktrees), so run them from wherever the skill was activated. Report results before doing anything mutating:

git fetch origin --tags
git rev-parse origin/main                # sha we'll release from
git tag --sort=-v:refname | head -5      # find previous tag
git log --oneline <prev-tag>..origin/main | head    # must be non-empty (something to release)
node -v                                  # must satisfy engines.node (>=22.19.0)
npm whoami                               # only needed if republishing binary sub-packages (§3); root ships via CI
gh auth status                           # must be authed for G-Research/bobbit

Note: do not gate on the current worktree's branch or cleanliness — the release is cut from a fresh detached worktree at origin/main's tip (§1.5), so the session/primary worktree state is irrelevant. What matters is that origin/main is the intended release point.

Stop and ask the user if any of:

  • origin/main has nothing new since the previous tag (nothing to release), or it isn't the commit they expect to ship.
  • npm whoami fails and step 3 will republish binary sub-packages — ask them to run npm login (and enable 2FA if not already; npm requires OTP for those sub-package publishes). The root @gresearch/bobbit publish needs no npm login — it goes through CI/OIDC.
  • gh auth status not logged in — ask them to run gh auth login.

Read the full file on GitHub · 408 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. 2d ago First seen · 408 lines · 52 tokens per session scan A bc46ae48b464

Subscribe to this mod's changes

release is a skill published in the GitHub repository G-Research/bobbit (11 stars, last pushed 2d ago), licensed MIT. It adds 52 tokens to every session and 5,018 once invoked, about $0.0003 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-30.

Related

Other skills, from other repositories