Best for
- Manual invocation: When ready to release a new version
- After feature completion: Before tagging and publishing
- Before version bump: To automate the release checklist
rtk-ai/rtk/.claude/skills/ship/SKILL.md
Build, commit, push & version bump workflow - automates the complete release cycle
Decision brief
Systematic release workflow for RTK: build verification, version bump, changelog update, git tag, and push to trigger CI/CD.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/rtk-ai/rtk --skill ".claude/skills/ship"Inspect the Agent Skill "ship" from https://github.com/rtk-ai/rtk/blob/3044911b50bc59777d0dedbcd17eb513305c8de5/.claude/skills/ship/SKILL.md at commit 3044911b50bc59777d0dedbcd17eb513305c8de5. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Semantic Versioning (MAJOR.MINOR.PATCH): - MAJOR (v1.0.0): Breaking changes (rare for RTK) - MINOR (v0.X.0): New features, new filters, new commands - PATCH (v0.0.X): Bug fixes, performance improvements
Semantic Versioning (MAJOR.MINOR.PATCH): - MAJOR (v1.0.0): Breaking changes (rare for RTK) - MINOR (v0.X.0): New features, new filters, new commands - PATCH (v0.0.X): Bug fixes, performance improvements
Files to update: 1. Cargo.toml (line 3): version = "X.Y.Z" 2. README.md (if version mentioned)
Review the “Step 3: Build and Verify” section in the pinned source before continuing.
Review the “Step 4: Commit Version Bump” section in the pinned source before continuing.
Permission review
The documentation asks the agent to run terminal commands or scripts.
cargo fmt --all --check # Code formattedThe documentation asks the agent to run terminal commands or scripts.
cargo clippy --all-targets # Zero warningsThe documentation includes network, browsing, or remote request actions.
curl -sSL https://github.com/rtk-ai/rtk/releases/download/v0.17.0/rtk-macos-latest -o rtkEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 83/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 74,641 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Systematic release workflow for RTK: build verification, version bump, changelog update, git tag, and push to trigger CI/CD.
Before running /ship, verify:
cargo fmt --all --check # Code formatted
cargo clippy --all-targets # Zero warnings
cargo test --all # All tests pass
hyperfine 'target/release/rtk git status' --warmup 3
# Should show <10ms mean time
/usr/bin/time -l target/release/rtk git status
# Should show <5MB maximum resident set size
cargo install --path . --force # Install locally
cargo test --ignored # Run integration tests
git status # Should show "nothing to commit, working tree clean"
Semantic Versioning (MAJOR.MINOR.PATCH):
Examples:
rtk pytest) → MINOR bump (v0.16.0 → v0.17.0)git log filter → PATCH bump (v0.16.0 → v0.16.1)Files to update:
Cargo.toml (line 3): version = "X.Y.Z"README.md (if version mentioned)Note:
CHANGELOG.mdis auto-generated by release-please from conventional commit messages — do not edit manually.
Example:
# Cargo.toml (before)
[package]
name = "rtk"
version = "0.16.0" # Current version
# Cargo.toml (after - MINOR bump)
[package]
name = "rtk"
version = "0.17.0" # New version
CHANGELOG.md template:
## [0.17.0] - 2026-02-15
### Added
- `rtk pytest` command for Python test filtering (90% token reduction)
- Support for `pytest` JSON output parsing
- Integration with `uv` package manager auto-detection
### Fixed
- Shell escaping for PowerShell on Windows
- Memory leak in regex pattern caching
### Changed
- Updated `cargo test` filter to show test names in failures
# Clean build
cargo clean
cargo build --release
# Verify binary
target/release/rtk --version
# Should show new version
# Run full quality checks
cargo fmt --all --check
cargo clippy --all-targets
cargo test --all
# Benchmark performance
hyperfine 'target/release/rtk git status' --warmup 3
# Should still be <10ms
# Stage version files
git add Cargo.toml Cargo.lock README.md
# Commit with version tag
git commit -m "chore(release): bump version to v0.17.0
- Updated Cargo.toml version
- Verified all quality checks pass
- Benchmarked performance (<10ms startup)
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>"
# Create annotated tag with changelog excerpt
git tag -a v0.17.0 -m "Release v0.17.0
Added:
- rtk pytest command (90% token reduction)
- Support for uv package manager
Fixed:
- Shell escaping for PowerShell
- Memory leak in regex caching
Performance: <10ms startup, <5MB memory"
# Push commit and tags
git push origin main
git push origin v0.17.0
# Trigger GitHub Actions release workflow
# (CI/CD will build binaries, create GitHub release, publish to crates.io if configured)
After pushing, verify:
# Check GitHub Actions workflow status
gh run list --limit 1
# Watch latest run
gh run watch
# Check if release created
gh release view v0.17.0
# Should show:
# - Release notes from git tag
# - Binaries attached (macOS, Linux x86_64/ARM64, Windows)
# - Checksums for verification
# Test installation from release
curl -sSL https://github.com/rtk-ai/rtk/releases/download/v0.17.0/rtk-macos-latest -o rtk
chmod +x rtk
./rtk --version
# Should show v0.17.0
If release has critical issues:
# Fix issue in new branch
git checkout -b hotfix/v0.17.1
# Apply fix
cargo test --all
git commit -m "fix: critical issue in pytest filter"
# Release v0.17.1 (PATCH bump)
# Follow release workflow above
# Yank broken version from crates.io
cargo yank --vers 0.17.0
# Users can't download yanked version, but existing installs work
# Delete tag locally
git tag -d v0.17.0
# Delete tag on remote
git push origin :refs/tags/v0.17.0
# Delete GitHub release
gh release delete v0.17.0 --yes
# Revert commit
git revert HEAD
git push origin main
Save as scripts/ship.sh:
#!/bin/bash
set -euo pipefail
# Parse version argument
if [ $# -ne 1 ]; then
echo "Usage: $0 <version>"
echo "Example: $0 0.17.0"
exit 1
fi
NEW_VERSION=$1
echo "🚀 Starting release workflow for v$NEW_VERSION"
# 1. Quality checks
echo "📦 Running quality checks..."
cargo fmt --all --check
cargo clippy --all-targets
cargo test --all
# 2. Update version
echo "🔢 Updating version to $NEW_VERSION..."
sed -i '' "s/^version = .*/version = \"$NEW_VERSION\"/" Cargo.toml
# 3. Build
echo "🔨 Building release binary..."
cargo build --release
# 4. Verify version
echo "✅ Verifying version..."
target/release/rtk --version | grep "$NEW_VERSION"
# 5. Commit
echo "💾 Committing version bump..."
git add Cargo.toml Cargo.lock
git commit -m "chore(release): bump version to v$NEW_VERSION
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>"
# 6. Tag
echo "🏷️ Creating git tag..."
git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION"
# 7. Push
echo "🚢 Pushing to remote..."
git push origin main
git push origin "v$NEW_VERSION"
echo "✅ Release v$NEW_VERSION shipped!"
echo "Monitor CI/CD: gh run watch"
Usage:
chmod +x scripts/ship.sh
./scripts/ship.sh 0.17.0
Recommended cadence:
Check version history:
git tag -l "v*" # List all version tags
git log --oneline --tags # Show commits with tags
Example output:
v0.17.0 (HEAD -> main, tag: v0.17.0, origin/main)
v0.16.0
v0.15.1
v0.15.0
Symptom: GitHub Actions workflow fails on release build
Solution:
# Fix issue locally
git checkout main
# Apply fix
cargo test --all
git commit -m "fix: CI/CD build issue"
git push origin main
# Delete old tag
git tag -d v0.17.0
git push origin :refs/tags/v0.17.0
# Create new tag
git tag -a v0.17.0 -m "Release v0.17.0 (rebuild)"
git push origin v0.17.0
Symptom: rtk --version shows old version after bump
Solution:
# Cargo.lock might be out of sync
cargo update -p rtk
cargo build --release
# Verify
target/release/rtk --version
Symptom: CHANGELOG.md has conflicts after rebase
Solution: Do not edit CHANGELOG.md manually. It is auto-generated by release-please from conventional commit messages when merging to master.
Before releasing:
.env files committedcargo audit)Dependency audit:
cargo install cargo-audit
cargo audit
# Example output:
# Crate: some-crate
# Version: 0.1.0
# Warning: vulnerability found
# Advisory: CVE-2024-XXXXX
If vulnerabilities found:
# Update vulnerable dependency
cargo update some-crate
# Verify fix
cargo audit
# Re-run quality checks
cargo test --all
Alternatives
garrytan/gstack
Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. (gstack)
griffinwork40/agent-afk
Release pipeline for already-done local work. Dispatches /ground-state pre-flight, runs the project test suite, drafts a commit message, pushes, and opens a PR with a structured verification summary. Use when local changes are ready to hand off to review — e.g. 'ship this', 'push and open a PR', 'release this work'. Add --verify to trigger an adversarial verifier wave on the diff before a human reads the PR.
teng-lin/notebooklm-py
Complete API for Google NotebookLM - full programmatic access including features not in the web UI. Create notebooks, add sources, generate all artifact types, download in multiple formats. Activates on explicit /notebooklm or intent like "create a podcast about X"
TencentCloudBase/CloudBase-AI-Toolkit
Build production-ready AI agent backends using the CloudBase Agent Python SDK — create agents with LangGraph/CrewAI/LlamaIndex, serve them via FastAPI with AG-UI protocol streaming + OpenAI-compatible endpoints, add tools (bash, filesystem, MCP, code execution), memory (in-memory, TDAI, MySQL, MongoDB), observability (OpenTelemetry/Langfuse), and middleware (auth, logging). Use this skill when the user wants to create an AI agent server, build a chatbot backend, set up human-in-the-loop workflow