Agent skill

Cut Release

by imbue-ai in imbue-ai/sculptor

Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…

MITAuto-check passedDevOps & Cloud

Install Cut Release

skills CLI
$ npx skills add imbue-ai/sculptor --skill cut-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install imbue-ai/sculptor cut-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/cut-release .claude/skills/cut-release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cut-release
GitHub stars
238
Token cost
~1.8k tokens
SKILL.md length
807 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…

  • Works in 5 steps: Preflight → Run the cut → Land the version-bump PR → …
  • Opens a PR bumping main to the next .dev0)
  • SKILL.md covers Step 1 — Preflight, Step 2 — Run the cut, Step 3 — Land the version-bump… and Step 4 — Babysit the RC build…, plus 2 more sections
  • Calls gh, git and just

What it does

Cut Release is an agent skill from imbue-ai/sculptor. Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping main to the next .dev0), then land the version-bump PR and babysit the RC build up to its manual approval gate. Handles the colocated jj + git working-copy setup and the CI flake/outage/zombie recovery playbook. Stops AT the approval gate — never approves it for you. Use when asked to "cut a release", "cut an RC", or…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Incident response. It works with Git. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.

When your agent uses it

  • Opens a PR bumping main to the next .dev0)
  • Then land the version-bump PR and babysit the RC build up to its manual approval gate
  • Asked to cut a release
  • Start a new Sculptor release

Example prompts

  • “cut a release”
  • “cut an RC”
  • “/cut-release”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Preflight
  2. Run the cut
  3. Land the version-bump PR
  4. Babysit the RC build to the approval gate
  5. Hand off at the gate

What it can do on your machine

Read from SKILL.md and the folder at commit f847102. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • just
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cut Release loads about 1.8k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 807 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from imbue-ai/sculptor at commit f847102, republished under its MIT licence (© imbue-ai). 807 words, ~1,751 tokens.

Download SKILL.mdSave it as .claude/skills/cut-release/SKILL.md (or your agent's skills folder).
name
cut-release
description
Cut a new Sculptor release candidate from main: run `just cut-release` (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping main to the next .dev0), then land the version-bump PR and babysit the RC build up to its manual approval gate. Handles the colocated jj + git working-copy setup and the CI flake/outage/zombie recovery playbook. Stops AT the approval gate — never approves it for you. Use when asked to "cut a release", "cut an RC", or start a new Sculptor release.
argument-hint
(no args; operates on main's current .dev0 version)

Cut a Sculptor Release

Turn main's current X.Y.0.dev0 into a published release candidate and reset main for the next cycle. Read docs/development/release_ci_playbook.md first — it holds the shared version model, the approval-gate policy, the flake-vs-outage triage, zombie-run recovery, and the jj working-copy rules that this skill leans on. That playbook is a living document: if you learn something new during a cut, add it there and commit it in the same change.

The end state of a successful cut:

  • release/sculptor-vX.Y.0 exists at X.Y.0rc1, tag sculptor-vX.Y.0rc1 pushed, RC build running and parked at its approval gate for the user.
  • main bumped to X.(Y+1).0.dev0 via a merged version-bump PR.

Step 1 — Preflight

Confirm the ground is clean before touching anything (see the playbook's "Working in this colocated jj + git repo" section):

bash
jj st                                   # working copy should be clean/empty
git fetch origin main --tags
git rev-parse origin/main               # note the tip
cd sculptor && python3 -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])"; cd ..
  • The version must be a .dev0 (e.g. 0.44.0.dev0). If it isn't, someone forgot to bump after the last release — stop and sort that out first.
  • cut-release refuses a detached HEAD (the normal jj state). If jj st is clean/empty, git checkout main. If the working copy has unrelated changes, preserve them first — bookmark + jj new per the playbook — then git checkout main.

Step 2 — Run the cut

bash
just cut-release

This creates and pushes release/sculptor-vX.Y.0 at X.Y.0rc1, pushes tag sculptor-vX.Y.0rc1 (triggering the RC build), and opens the main-bump PR to X.(Y+1).0.dev0 with squash auto-merge enabled. Capture the release version, the RC tag, and the bump PR number from the output.

cut-release leaves git on the transient automated/bump-sculptor-v* branch. Return to a sane state: git checkout main and let jj re-import.

Step 3 — Land the version-bump PR

The bump PR has auto-merge armed; your job is to get it green (never to force it). Follow the playbook's flake-vs-outage triage and zombie-run sections:

  • Check its required checks: gh pr checks <bump_pr>.
  • Infra flake → gh run rerun <run_id> --failed, then let auto-merge land it.
  • Several checks red at setup/infra steps at once → check githubstatus.com; if Actions is down, back off and wait, don't retry into an outage.
  • Checks wedged as zombies after an outage → close/reopen the PR to get fresh runs (gh pr close <n> && sleep 3 && gh pr reopen <n>, then re-arm auto-merge).
  • Never admin-merge past a failing required check. If it genuinely needs a bypass, refuse and hand it to the user.

main merges through a merge queue, so green checks are not the last step: the PR still has to be enqueued, the queue re-runs the required workflows against main, and a failure there ejects the PR silently — it goes back to looking open and green. An enqueue can also be swallowed with no error at all when a wedged merge_group run is still alive. Don't assume; check:

bash
gh api repos/imbue-ai/sculptor/issues/<bump_pr>/timeline --paginate \
  -q '.[] | select(.event | test("queue")) | .event + " @ " + .created_at'

See the playbook's "Merging through the merge queue" for the queue-state query and how to spot and clear a wedged run.

Confirm it landed and origin/main advanced to X.(Y+1).0.dev0:

bash
gh pr view <bump_pr> --json state -q '.state'          # MERGED
git fetch origin main && git show origin/main:sculptor/pyproject.toml | grep -m1 '^version'
Show full SKILL.md (335 more words)Show less

Step 4 — Babysit the RC build to the approval gate

Find the run for the RC tag and poll it (playbook: "Polling a build"):

bash
gh run list --workflow=build-desktop.yml --limit 5   # find the sculptor-vX.Y.0rcN run

Poll in a bounded background loop, breaking when the run completes or a pending deployment appears:

bash
gh run view <run_id> --json status,conclusion -q '.status + " / " + (.conclusion // "running")'
gh api repos/imbue-ai/sculptor/actions/runs/<run_id>/pending_deployments -q 'length'
  • Build fails on an infra flake / cancellation → retry (gh run rerun <run_id> --failed, or a full gh run rerun <run_id> if a cancellation left partial artifacts).
  • A red linux-arm64 won't sink the RC: it is allow-failure: true, and the publisher skips a non-blocking target whose artifacts are missing. The RC just ships without that architecture — rerun the job if QA needs an arm64 build.
  • Build is wedged as a zombie after an outage → don't fight it: cut a fresh RC with just fixup-release (bumps rcN → rc(N+1)) from the release branch. (To run it you must git checkout release/sculptor-vX.Y.0 on a clean tree — preserve any stray working-copy work first, per the playbook.)
  • Build reaches the approval gate (pending_deployments ≥ 1, job release desktop (S3 publish + gh release) = waiting) → stop here.

Step 5 — Hand off at the gate

First check what will ship — allow-failure jobs report success to needs, so the gate can open with a red linux-arm64:

bash
gh run view <run_id> --json jobs -q '.jobs[] | .name + " -> " + (.conclusion // "—")'

Then report that the RC build is green and parked at the release environment approval gate, and do not approve it. Per the playbook's approval policy: surface it, show the user how to approve (UI Review deployments, or the gh api ... pending_deployments ... state=approved command with the env id from pending_deployments), and if they ask you to approve, gently push back once, then comply if they insist.

After they approve, the RC publishes (S3 + a prerelease GitHub release). Next in the release process: QA the RC, then promote-release (see the promote-release skill).

Before you finish

If this cut taught you anything the playbook didn't already cover — a new flake signature, a new recovery step, a sharper command — add it to docs/development/release_ci_playbook.md (Field notes) and commit it. You have write access; the next person cutting a release inherits what you write down.

© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/cut-release of imbue-ai/sculptor.

Open the folder on GitHubat commit f847102

Compare with similar skills

Cut Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cut Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cut Release this skillimbue-ai/sculptor238—~1.8kAutomated safety check: PassMIT
Obsidian Incident Runbookjeremylongshore/tons-of-skills-marketplace2.8k—~3.2kAutomated safety check: PassMIT
Windsurf Incident Runbookjeremylongshore/tons-of-skills-marketplace2.8k—~2kAutomated safety check: PassMIT
Security Setupluongnv89/skills131—~4.5kAutomated safety check: PassMIT
Code That Fits In Your HeadCodeAlive-AI/ai-driven-development159—~1.7kAutomated safety check: PassMIT
Repo Mirror Sourcesnetdata/netdata81k—~1.2kAutomated safety check: NotesGPL-3.0

Similar skills

  • Obsidian Incident Runbook

    jeremylongshore/tons-of-skills-marketplace

    Troubleshoot Obsidian plugin failures with systematic incident response.

    2.8k GitHub stars~3.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Windsurf Incident Runbook

    jeremylongshore/tons-of-skills-marketplace

    Execute Devin Desktop (formerly Windsurf) incident response when AI features fail or cause production issues.

    2.8k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Security Setup

    luongnv89/skills

    Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI.

    131 GitHub stars~4.5k tokensUpdated today
    SecurityAuto-check passed
  • Code That Fits In Your Head

    CodeAlive-AI/ai-driven-development

    Software-engineering heuristics based on Mark Seemann's Code That Fits in Your Head (2021), updated for agent-driven development.

    159 GitHub stars~1.7k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Repo Mirror Sources

    netdata/netdata

    Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.

    81k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • CI Failure Triage and Repair

    Chachamaru127/claude-code-harness

    Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.

    3.2k GitHub starsUsed in 1 repo~1.1k tokens
    DevOps & CloudAuto-check: notes

More from imbue-ai/sculptor

All 29 skills in this repo
  • Auto QA Iphone

    imbue-ai/sculptor

    QA the Sculptor mobile web UI on a real iOS Simulator, driven headlessly from a Mac.

    238 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Measure React Renders

    imbue-ai/sculptor

    Compare React component render counts between origin/main and the current branch during a user-defined UI scenario (e.g.

    238 GitHub stars~603 tokensUpdated today
    Auto-check passed
  • Post PR To Slack

    imbue-ai/sculptor

    Post a one-line PR announcement to a Slack channel, and mark it :merged: when the PR merges.

    238 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Batch Claude Runner

    imbue-ai/sculptor

    Run Claude programmatically against collections of files in the codebase.

    238 GitHub stars~308 tokensUpdated today
    Auto-check passed
  • Build Sculptor Extension

    imbue-ai/sculptor

    Build or modify a Sculptor extension — a runtime ESM module loaded into the Sculptor UI.

    238 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Code Review Checklist

    imbue-ai/sculptor

    Review a set of code changes against Sculptor's review categories and produce a markdown findings table.

    238 GitHub stars~3.6k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Cut Release

What does Cut Release do?

Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…. Cut Release is an agent skill from imbue-ai/sculptor.dev0), then land the version-bump PR and babysit the RC build up to its manual approval gate.

When should I use Cut Release?

Cut Release fits situations like: opens a PR bumping main to the next .dev0); then land the version-bump PR and babysit the RC build up to its manual approval gate; asked to cut a release; start a new Sculptor release.

How do I install Cut Release in Claude Code?

Run `npx skills add imbue-ai/sculptor --skill cut-release -a claude-code`. Or copy the skill folder (.claude/skills/cut-release in imbue-ai/sculptor) into .claude/skills/cut-release in your project. Claude Code loads it when a task matches its description.

How do I install Cut Release in Codex?

Run `npx skills add imbue-ai/sculptor --skill cut-release -a codex`. Or copy the skill folder (.claude/skills/cut-release in imbue-ai/sculptor) into .agents/skills/cut-release in your project. Codex loads it when a task matches its description.

Can I use Cut Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add imbue-ai/sculptor --skill cut-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cut-release, .gemini/skills/cut-release, .github/skills/cut-release and .opencode/skills/cut-release in your project.

What does Cut Release need to run?

Going by SKILL.md and its folder, Cut Release needs the command-line tools its instructions call (gh, git, just and python3). Our summary lists: Python 3.

Does Cut Release access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cut Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cut Release use?

Cut Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cut Release use?

About 1.8k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cut Release?

Skills that share tags, products or a category with Cut Release: Obsidian Incident Runbook (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Windsurf Incident Runbook (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Security Setup (luongnv89/skills, 131 stars) and Code That Fits In Your Head (CodeAlive-AI/ai-driven-development, 159 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cut Release?

imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 238 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.

Source: imbue-ai/sculptor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.