Borrowing it
Nothing to install: this file belongs to Skyvern-AI/rustwright. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Skyvern-AI/rustwright/main/.claude/skills/version-upgrade/SKILL.mdgit clone --depth 1 https://github.com/Skyvern-AI/rustwrightWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/skyvern-ai/rustwright/version-upgrade)<a href="https://agentmods.dev/skills/skyvern-ai/rustwright/version-upgrade"><img src="https://agentmods.dev/badge/skills/skyvern-ai/rustwright/version-upgrade/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/skyvern-ai/rustwright/version-upgrade"><img src="https://agentmods.dev/badge/skills/skyvern-ai/rustwright/version-upgrade.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00058 | $0.02406 |
| Opus 5.5 | $0.00023 | $0.00962 |
| Sonnet 5.5 | $0.00012 | $0.00481 |
| Haiku 4.5 | $0.00006 | $0.00241 |
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 1mo 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.
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.1and prereleases in the shared Cargo/npm/PyPI subset:0.2.0-alpha.1,0.2.0-beta.1, or0.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, ordry runas 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, orfull releasein 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
- Read
AGENTS.mdanddocs/RELEASING.md; repository instructions and the current workflows override examples in this skill. - Require a clean worktree. Never discard local changes.
- Fetch
origin/mainand all tags. Start from the currentorigin/main, not a stale local branch. - Inspect
.github/workflows/release-pypi.ymland.github/workflows/release-npm.yml. Both must still publish from the samev<version>tag. - 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 represent0.2.0-alpha.1as the equivalent0.2.0a1. Compare npm versions with SemVer rules. - 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. - 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 onorigin/mainbut 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. - Before resuming any existing tag, validate its provenance. Require an
annotated
v<version>tag whose target commit is reachable from currentorigin/main, contains the same target in every version field, and matches theheadShaof 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.
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.
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.
- 1mo ago First seen · 198 lines · 58 tokens per session scan A 9e55f748a8e2
version-upgrade is a skill published in the GitHub repository Skyvern-AI/rustwright (935 stars, last pushed 11d ago), licensed MIT. It adds 58 tokens to every session and 2,406 once invoked, about $0.0002 per session on Opus 5.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.
Other skills, from other repositories
bxc-build
Build the bxc Rust bridge, Bun standalone binaries, and native MCP server when a bxc project needs a release or cross-platform artifact.
draft-release-notes
Author the committed release-notes file for a Prisma 8 release (stable or 8.0.0-rc.N) by enumerating the merged PRs since the previous release v tag (stable or -rc.N), resolving opaque TML-NNNN: titles via Linear context (never copied verbatim), triaging public-worthiness, and writing categorized notes — breaking…
publish-npm-version
Cuts the next release of Prisma 8: bumps the root package.json version (on the v8 RC line: 8.0.0-rc.N → rc.N+1), propagates it to every workspace package, and opens a PR titled "chore(release): bump to ". When the maintainer merges the PR, the Publish to npm workflow runs automatically and ships the new version to npm…
chrome-releases
Queries Chrome commit, version, release, and milestone metadata. Use when finding the first landed Chrome version of a commit, checking channel releases across platforms, inspecting milestone schedules and branch refs, or checking version containment.
github
Drive GitHub via the official gh CLI — repos, issues, pull requests, releases, gists, Actions runs, and raw REST through gh api. Use when the user asks to inspect or manage GitHub.
install
This skill should be used when the user asks to "install pikiclaw", "build and install", "deploy locally", "update local binary", "release", or "publish".