version-upgrade

A release procedure for publishing one Rustwright version to PyPI, the Python package registry, and npm, the Node.js package registry.

In plain words
What is it for?
Use it to prepare or verify a version bump, update release files, create a release pull request, run preview checks, tag releases, and publish the Python and Node.js packages.
Why use it?
It reduces mistakes when updating versions across two package ecosystems and supports checks before anything is published.

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/skyvern-ai/rustwright/version-upgrade
Any agent
npx skills add Skyvern-AI/rustwright --skill version-upgrade
Clone the repo
git clone --depth 1 https://github.com/Skyvern-AI/rustwright

Made for: Claude Code, Codex.

Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,406 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.00058 $0.02406
Opus 5 $0.00029 $0.01203
Sonnet 5 $0.00012 $0.00481
Haiku 4.5 $0.00006 $0.00241

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

Security

Grade A, and why

version-upgrade 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.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/bump_version.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/version-upgrade/SKILL.md · 198 lines

How it starts

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

Version Upgrade

Release one Rustwright version through the repository's existing PyPI and npm workflows. Treat "npm and Node.js" as one target: npm is the registry for the Node.js package. The two release targets are Python on PyPI and Node.js on npm. Do not publish rustwright-core to crates.io.

Arguments and mode

Read $ARGUMENTS for an exact SemVer version and an optional mode.

  • Accept stable versions such as 0.1.1 and prereleases in the shared Cargo/npm/PyPI subset: 0.2.0-alpha.1, 0.2.0-beta.1, or 0.2.0-rc.1. Reject other SemVer prerelease labels because PyPI may not accept or may ambiguously normalize them.
  • If the caller asks only to check, verify, or report a release or registry status, enter verify-only mode. Perform read-only GitHub, Git, PyPI, and npm queries and return the result without creating a branch, changing a file, dispatching a workflow, merging, tagging, or publishing.
  • If no version is supplied, use the helper's default: increment a stable patch version or the final numeric prerelease component.
  • Treat prepare, PR only, or dry run as prepare-only mode. Stop after the release PR and both successful preview artifact dry runs.
  • Enter full-release mode only when the caller explicitly says publish, release now, or full release in the current request. Invoking this skill, asking for a version bump, or omitting a mode never by itself authorizes an irreversible registry publication; default those cases to prepare-only mode.
  • Do not pause for choices that can be derived from the repository. Stop only for a dirty worktree, missing authorization or secret, failed validation, a required human review, or another condition that makes publishing unsafe.

1. Inspect current state

  1. Read AGENTS.md and docs/RELEASING.md; repository instructions and the current workflows override examples in this skill.
  2. Require a clean worktree. Never discard local changes.
  3. Fetch origin/main and all tags. Start from the current origin/main, not a stale local branch.
  4. Inspect .github/workflows/release-pypi.yml and .github/workflows/release-npm.yml. Both must still publish from the same v<version> tag.
  5. Search open and merged release PRs, Git tags, PyPI, and npm before deciding where to start. For PyPI, compare every release key after canonicalizing both sides with packaging.version.Version; for example, PyPI may represent 0.2.0-alpha.1 as the equivalent 0.2.0a1. Compare npm versions with SemVer rules.
  6. Require monotonic releases across all three histories. A new target must be strictly newer than every release version in Git tags, PyPI, and npm. A prepared or tagged target may equal the newest version, but must never be published if any newer release already exists in any history. Treat an invalid v* release tag as a blocker rather than silently ignoring it.
  7. Classify the target as new, on an open release PR, prepared on main, tagged or publishing, partially published, or fully published. Reuse an existing PR only after inspecting its complete commit history and diff. Its head must be in this repository, its base must be current main, every version field must equal the target, and its diff must contain only the expected version files. A filename allowlist is not sufficient: inspect every hunk and require changes only to the exact version fields plus the two local package entries regenerated in the lockfiles. Reject dependency changes, unrelated lines in an allowed file, mode changes, renames, binaries, or extra commit content. When uncertain, reproduce the bump from the PR base in a clean temporary worktree and compare the resulting patch. Rerun every check and preview against its current head. Treat an unexpected file, commit, base, or fork as a blocker rather than inheriting it. If the target is already consistent on origin/main but has no tag or registry publication, treat it as a prepared release and resume at the final merged-commit dry runs in section 4. If it is fully published, report success without mutation. Handle partial publication as described below. Never reuse an equivalent published version or move a release tag.
  8. Before resuming any existing tag, validate its provenance. Require an annotated v<version> tag whose target commit is reachable from current origin/main, contains the same target in every version field, and matches the headSha of its tag-triggered release runs. Stop on a lightweight tag, mismatched metadata or run SHA, unreachable commit, or unexpected tag target. Do not approve or rerun publication from an unverified tag.

Read the full file on GitHub · 198 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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 · 198 lines · 58 tokens per session scan A 9e55f748a8e2

Subscribe to this mod's changes

version-upgrade is a skill published in the GitHub repository Skyvern-AI/rustwright (863 stars, last pushed 7d ago), licensed MIT. It adds 58 tokens to every session and 2,406 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

chrome-agent

Local browser automation with structured, verified outcomes. Use for web navigation, scraping and extraction, form interaction, screenshots and downloads, network or console checks, responsive testing, or page-scoped device emulation.

sderosiaux/chrome-agent · 44 tokens

scrape-structured-data

Get the repeating records off a web page (product grids, search results, job listings, news feeds, tables) as JSON, without writing CSS selectors and without spending a model call to read the HTML. Works on sites with no API, including ones behind a login or bot protection. Runs locally, one binary, no API key. Use…

sderosiaux/chrome-agent · 111 tokens

project-release

Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work. Require a Prompt MCP-confirmed target version and stability, follow the repository's version, changelog, PR, GitHub Release, npm, Docker, MCP Registry, and docs process, and never tag, publish…

swimmwatch/cloakbrowser-mcp · 85 tokens

owb

Open Web Bridge (OWB) — drive the user's own real browser with the owb command. Read pages behind their existing logins, gather and cross-check information, fill forms, walk multi-step flows, debug their site, audit responsive/accessibility behavior, and capture or reverse-engineer network traffic. Use this whenever…

woniu9524/open-web-bridge · 143 tokens

nekoro-browser

浏览器自动化——打开网页、搜索、点击、截图、执行 JS、填表、上传文件、处理对话框。通过 Chrome 扩展的 chrome.debugger API 操控用户日常浏览器,保留登录态,不开调试端口。触发词:"浏览器"、"打开网页"、"搜索"、"截图"、"点击"、"填表"、"上传文件"、"自动化操作"。.

zeshuochen/nekoro-browser · 102 tokens

map

Per-site navigation memory for tandem's shared browser. Profiles that describe a site's skeleton (routes), its durable locators, navigation recipes, and gotchas, so you navigate KNOWING instead of re-deriving the DOM each time. Use it when you start operating a site (check whether a profile already exists), when you…

bgmacris/quimera-ai · 98 tokens