Agent skill

Release Crate

by r3bl-org in r3bl-org/r3bl-open-core

Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release.

Apache-2.0Auto-check passedDevelopment

Install Release Crate

skills CLI
$ npx skills add r3bl-org/r3bl-open-core --skill release-crate -a claude-code

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

GitHub CLI
$ gh skill install r3bl-org/r3bl-open-core release-crate --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/r3bl-org/r3bl-open-core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-crate .claude/skills/release-crate && 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
release-crate
GitHub stars
485
Token cost
~2.4k tokens
SKILL.md length
632 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release.

  • Works in 12 steps: Create Standalone Release Notes in… → Update docs/release-guide.md → Run Build, Test, Docs, Clippy, Fmt → …
  • Releasing a new version of any workspace crate
  • SKILL.md covers When to Use, Prerequisites, Standardized Discoverability… and Checklist Summary, plus 1 more section
  • Calls cargo, git and gh

What it does

Release Crate is an agent skill from r3bl-org/r3bl-open-core. Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release. Use when releasing a new version of any workspace crate.

Its SKILL.md is about 2.4k 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 Development, covering Changelog and release notes. It works with GitHub, Rust, Git and Model Context Protocol. The repository describes itself as: TUI framework and developer productivity apps in Rust 🦀. The licence is Apache-2.0.

When your agent uses it

  • Releasing a new version of any workspace crate
  • Tasks that involve Changelog and release notes

Example prompts

  • “/release-crate”

Workflow steps

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

  1. Create Standalone Release Notes in docs/release-notes//vX.Y.Z.md
  2. Update docs/release-guide.md
  3. Run Build, Test, Docs, Clippy, Fmt
  4. Generate README
  5. Dry-Run Publish
  6. Ask User Permission Before Publishing
  7. Git Commit and Tag
  8. Publish to crates.io
  9. Verify Crates.io Registry Index (For Multi-Crate Releases)
  10. Push to Remote
  11. Create GitHub Release via --notes-file
  12. Install Binary Locally (Binary Crates Only)

What it can do on your machine

Read from SKILL.md and the folder at commit 89db352. 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:

    • cargo
    • git
    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use git and gh, 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

Release Crate loads about 2.4k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 632 words of instructions outside code blocks.

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

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 r3bl-org/r3bl-open-core at commit 89db352, republished under its Apache-2.0 licence (© r3bl-org). 632 words, ~2,361 tokens.

Download SKILL.mdSave it as .claude/skills/release-crate/SKILL.md (or your agent's skills folder).
name
release-crate
description
Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release. Use when releasing a new version of any workspace crate.

Crate Release

When to Use

  • When the user says "release", "publish", or invokes /release <crate>
  • The argument is the crate directory name: build-infra, tui, cmdr, rust-analyzer-mcp-server, analytics_schema
    • The crate name begins with r3bl- prefix for binary crates and r3bl_ prefix for library crates - the prefix is applied to the folder name of the crate (e.g., r3bl_tui crate is in tui folder, r3bl-cmdr crate is in the cmdr folder, and r3bl-rust-analyzer-mcp-server is in the rust-analyzer-mcp-server folder).
    • Always check the Cargo.toml file of the crate to verify the crate name and current version before executing the release workflow.

Prerequisites

Before starting a release, verify:

  • All code changes are complete and tested
  • Local branch is main and working tree is clean
  • ./check.fish --full (or ./check.fish --check + ./check.fish --test) passes cleanly
  • You know the new version number (ask the user if not specified)

Standardized Discoverability Intro Blocks

Every release note must begin with a standardized introductory block to maximize discoverability across social and community channels (Hacker News, Reddit r/rust, LinkedIn, GitHub Releases):

r3bl_tui (Core Library)
markdown
> **r3bl_tui** is a fully async, immediate-mode TUI framework for Rust inspired by React, Elm, and web technologies. It features flexbox layouts, CSS-like styling, reactive state architecture, a custom Markdown renderer with syntax highlighting, gradient colors, emoji/grapheme clustering, modal dialogs, mouse support, async non-blocking readline, and diff-based rendering optimized for SSH. Built with zero-copy gap buffers, SIMD-friendly offscreen buffers (`Flat2DArray`), zero-allocation ANSI string generation, and VT100 PTY multiplexing primitives.

Add to `Cargo.toml`:
```toml
[dependencies]
r3bl_tui = "<version>"

### `r3bl-cmdr` (CLI & Productivity Apps)
```markdown
> **r3bl-cmdr** is a suite of fast, fully async TUI & CLI developer productivity tools built on `r3bl_tui`.
> 
> - 🌿 **`giti`**: Interactive Git CLI with visual branch selection and streamlined commit workflows.
> - 📝 **`edi`**: Terminal Markdown editor featuring syntax highlighting, gradient colors, emoji support, SSH-optimized diff-rendering, and a high-performance zero-copy gap buffer.
> - ⚡ **`env-source`**: Cross-platform environment loader that evaluates shell scripts across POSIX sh, Fish, PowerShell, and cmd.exe without blocking.

Install with:
```bash
cargo install r3bl-cmdr --force

### `r3bl-build-infra` (Tooling & Formatting)
```markdown
> **r3bl-build-infra** provides developer tools and utilities for Rust projects and documentation automation.
> 
> - 📐 **`cargo-rustdoc-fmt`**: CLI tool that formats Markdown tables and automatically converts inline code references into clean reference-style intra-doc links with technical term linking.

Install with:
```bash
cargo install r3bl-build-infra --force

### `r3bl-rust-analyzer-mcp-server` (AI Coding Agent MCP Server)
```markdown
> **r3bl-rust-analyzer-mcp-server** is a high-performance Model Context Protocol (MCP) server for `rust-analyzer`. Built with pure Rust standard library threads (no async runtime overhead) to provide lightning-fast AST code navigation, type hover, definition lookup, code actions, and compiler diagnostics directly to AI coding agents (Claude, Antigravity, Cursor, etc.).

Install with:
```bash
cargo install r3bl-rust-analyzer-mcp-server --force

---

## Release Workflow

Follow these steps in exact sequential order. Reference `docs/release-guide.md` for canonical examples.

### Step 1. Determine Crate and Version

- Identify the crate directory from the argument: `tui`, `build-infra`, `cmdr`, `rust-analyzer-mcp-server`, `analytics_schema`
- Read `<crate>/Cargo.toml` to find the current version
- Determine the new version (ask the user if not specified)
- Identify if this is a **binary crate** (`build-infra`, `cmdr`, `rust-analyzer-mcp-server`) or **library crate** (`tui`, `analytics_schema`)

### Step 2. Bump Version in `<crate>/Cargo.toml`

- Update the `version` field to the new version
- If releasing a dependent crate, update its internal dependency on other workspace crates (e.g., `r3bl_tui = { path = "../tui", version = "X.Y.Z" }`)

### Step 3. Update `CHANGELOG.md` with Bi-Directional Link

- Add the new version entry under the crate's section in `CHANGELOG.md` (before existing entries)
- Add the bi-directional link callout to the top of the version header pointing to the GitHub Release page:
  ```markdown
  ### vX.Y.Z (YYYY-MM-DD)
  > 🔗 **Release Notes & Migration Guide**: [vX.Y.Z-<crate>](https://github.com/r3bl-org/r3bl-open-core/releases/tag/vX.Y.Z-<crate>)
  • Document summary, Breaking Changes, Added, Fixed, and Performance sections
  • Update the Table of Contents at the top of CHANGELOG.md to include the new entry
Step 4. Create Standalone Release Notes in docs/release-notes/<crate>/vX.Y.Z.md
  • Ensure directory exists: mkdir -p docs/release-notes/<crate>
  • Create docs/release-notes/<crate>/vX.Y.Z.md containing:
    1. Standardized Discoverability Intro block (from above)
    2. Motivation and "Why" behind the release
    3. Migration Guide (for major breaking releases with before/after snippets)
    4. Performance & Benchmark Highlights (with developerlife.com article/video links if applicable)
    5. Bi-directional link back to CHANGELOG.md:
      markdown
      ## 📄 Full Changelog
      - [<crate> vX.Y.Z Changelog Entry](https://github.com/r3bl-org/r3bl-open-core/blob/vX.Y.Z-<crate>/CHANGELOG.md#anchor)
Step 5. Update docs/release-guide.md
  • Update the version number in the script block for the crate being released
  • Update the git commit and tag lines to reflect the new version
Step 6. Run Build, Test, Docs, Clippy, Fmt
bash
cargo update --workspace
./check.fish --fmt
./check.fish --clippy
./check.fish --quick-doc
./check.fish --test
Step 7. Generate README
bash
cd <crate> && cargo readme > README.md && cd ..

Note: Only run this for crates where src/lib.rs is the Single Source of Truth (SSOT) for README.md (tui, build-infra, cmdr). Do NOT run this for rust-analyzer-mcp-server where README.md is hand-crafted and maintained directly for crates.io.

Step 8. Dry-Run Publish
bash
cd <crate> && cargo publish --dry-run --allow-dirty --no-verify && cd ..

The --no-verify flag skips re-compilation of the packaged tarball, which fails with the wild linker configured in .cargo/config.toml. The build/test/clippy checks in Step 6 already verify correctness.

Verify that the dry-run succeeds before proceeding.

Show full SKILL.md (259 more words)Show less
Step 9. Ask User Permission Before Publishing

CRITICAL: Use AskUserQuestion (or request confirmation) before running cargo publish. This is a non-reversible action that publishes to crates.io.

Present:

  • The crate name and version being published
  • A summary of changes from the changelog entry
  • Ask: "Ready to publish to crates.io?"
Step 10. Git Commit and Tag

Stage only the modified files for this crate release explicitly (avoid blanket git add -A):

bash
git add <modified-crate-files>
git commit -m "vX.Y.Z-<crate>"
git tag -a vX.Y.Z-<crate> -m "vX.Y.Z-<crate>"

Note: Do NOT use -S for signing - follow the project's git workflow conventions.

Step 11. Publish to crates.io
bash
cd <crate> && cargo publish --no-verify --allow-dirty && cd ..
Step 12. Verify Crates.io Registry Index (For Multi-Crate Releases)

If downstream workspace crates depend on this newly published version:

  • Verify that cargo search <crate> reports the new version before proceeding to publish dependent crates.
Step 13. Push to Remote
bash
git push origin main && git push origin vX.Y.Z-<crate>
Step 14. Create GitHub Release via --notes-file
bash
gh release create vX.Y.Z-<crate> --title "vX.Y.Z-<crate>" --notes-file docs/release-notes/<crate>/vX.Y.Z.md
Step 15. Install Binary Locally (Binary Crates Only)

For binary crates (build-infra, cmdr, rust-analyzer-mcp-server):

bash
cargo install --path <crate> --force

Checklist Summary

  1. Version bumped in <crate>/Cargo.toml (and dependency versions updated)
  2. CHANGELOG.md updated (entry with tag-pinned release notes link + TOC)
  3. docs/release-notes/<crate>/vX.Y.Z.md created with intro, highlights, and changelog link
  4. docs/release-guide.md updated (version in script block)
  5. Build/test/docs/clippy/fmt pass cleanly
  6. README generated via cargo readme
  7. Dry-run publish succeeds
  8. User permission obtained for cargo publish
  9. Git commit + tag created (vX.Y.Z-<crate>)
  10. Published to crates.io
  11. Crates.io propagation verified (cargo search <crate>) if other crates depend on it
  12. Pushed to remote (main + tag)
  13. GitHub release created using --notes-file
  14. Binary installed locally via cargo install --path <crate> --force (if applicable)
  • /release - Explicitly invokes this skill

© r3bl-org, Apache-2.0. 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 .agents/skills/release-crate of r3bl-org/r3bl-open-core.

Open the folder on GitHubat commit 89db352

Compare with similar skills

Release Crate 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.

Release Crate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Crate this skillr3bl-org/r3bl-open-core485—~2.4kAutomated safety check: PassApache-2.0
Worktrunk Release Workflowmax-sixty/worktrunk9.1k—~6.9kAutomated safety check: PassCustom licence
Git Releasewesammustafa/opencode-primer398—~409Automated safety check: PassMIT
Release Managementtermide/termide172—~6.8kAutomated safety check: PassMIT
Release Changelog HarnessArenukvern/mcp_flutter386—~2.6kAutomated safety check: PassMIT
Release WorkflowGoldziher/spikard123—~909Automated safety check: PassMIT

Similar skills

  • Worktrunk Release Workflow

    max-sixty/worktrunk

    Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.

    9.1k GitHub stars~6.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Release

    wesammustafa/opencode-primer

    Draft release notes from merged PRs, propose a semver bump, and emit a copy-pasteable gh release create command.

    398 GitHub stars~409 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Release Management

    termide/termide

    Prepare and publish a project release with version updates, changelog generation, tagging, and validation

    172 GitHub stars~6.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Changelog Harness

    Arenukvern/mcp_flutter

    Chooses ecosystem-native release and changelog tooling (Changesets, Melos, release-plz) plus binary distribution (GitHub Release tarballs, install.sh) when the product is an executable.

    386 GitHub stars~2.6k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Release Workflow

    Goldziher/spikard

    Release/publish the spikard Rust core crate and CLI end-to-end.

    123 GitHub stars~909 tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from r3bl-org/r3bl-open-core

All 25 skills in this repo
  • Analyze Log Files

    r3bl-org/r3bl-open-core

    Analyze log files by stripping ANSI escape sequences first. An agent skill from r3bl-org/r3bl-open-core.

    485 GitHub stars~632 tokensUpdated today
    Auto-check: notes
  • Analyze Performance

    r3bl-org/r3bl-open-core

    Establish performance baselines and detect regressions using flamegraph analysis.

    485 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Check Bounds Safety

    r3bl-org/r3bl-open-core

    Apply type-safe bounds checking patterns using VPIndex/VPLength types instead of usize.

    485 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Organize Modules

    r3bl-org/r3bl-open-core

    Apply private modules with public re-exports (barrel export) pattern for clean API design.

    485 GitHub stars~5.8k tokensUpdated today
    Auto-check passed
  • Check Code Quality

    r3bl-org/r3bl-open-core

    Run comprehensive Rust code quality checks including compilation, linting, documentation, and tests.

    485 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Check Test Coverage

    r3bl-org/r3bl-open-core

    Audit and verify test coverage for a specific file or module, ensuring all custom logic branches, state transitions, and boundary conditions are covered while strictly eliminating dependency test…

    485 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Categories

Questions about Release Crate

What does Release Crate do?

Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release. Release Crate is an agent skill from r3bl-org/r3bl-open-core.io with changelog, standalone release notes, git tag, and GitHub release.

When should I use Release Crate?

Release Crate fits situations like: releasing a new version of any workspace crate; tasks that involve Changelog and release notes.

How do I install Release Crate in Claude Code?

Run `npx skills add r3bl-org/r3bl-open-core --skill release-crate -a claude-code`. Or copy the skill folder (.agents/skills/release-crate in r3bl-org/r3bl-open-core) into .claude/skills/release-crate in your project. Claude Code loads it when a task matches its description.

How do I install Release Crate in Codex?

Run `npx skills add r3bl-org/r3bl-open-core --skill release-crate -a codex`. Or copy the skill folder (.agents/skills/release-crate in r3bl-org/r3bl-open-core) into .agents/skills/release-crate in your project. Codex loads it when a task matches its description.

Can I use Release Crate 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 r3bl-org/r3bl-open-core --skill release-crate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-crate, .gemini/skills/release-crate, .github/skills/release-crate and .opencode/skills/release-crate in your project.

What does Release Crate need to run?

Going by SKILL.md and its folder, Release Crate needs the command-line tools its instructions call (cargo, git and gh).

Does Release Crate access the network?

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

Is Release Crate 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 Release Crate use?

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

How many tokens does Release Crate use?

About 2.4k tokens (SKILL.md is roughly 9.4k 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 Release Crate?

Skills that share tags, products or a category with Release Crate: Worktrunk Release Workflow (max-sixty/worktrunk, 9.1k stars), Git Release (wesammustafa/opencode-primer, 398 stars), Release Management (termide/termide, 172 stars) and Release Changelog Harness (Arenukvern/mcp_flutter, 386 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Crate?

r3bl-org (a GitHub organization) maintains it in r3bl-org/r3bl-open-core, which has 485 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 8, 2026.

Source: r3bl-org/r3bl-open-core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.