Release Skills
nexmoe/eve
Universal release workflow. An agent skill from nexmoe/eve.
Reviews and finalizes a release-plz "chore(release): prepare for publishing" PR for the IronRDP workspace.
$ npx skills add Devolutions/IronRDP --skill release-prep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Devolutions/IronRDP release-prep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/release-prep .claude/skills/release-prep && rm -rf skills-srcUse ~/.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/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .claude/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Devolutions/IronRDP --skill release-prep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Devolutions/IronRDP release-prep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/release-prep .agents/skills/release-prep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .agents/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Devolutions/IronRDP --skill release-prep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Devolutions/IronRDP release-prep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/release-prep .cursor/skills/release-prep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .cursor/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Devolutions/IronRDP.git --path .github/skills/release-prep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Devolutions/IronRDP --skill release-prep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Devolutions/IronRDP release-prep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/release-prep .gemini/skills/release-prep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .gemini/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Devolutions/IronRDP release-prepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Devolutions/IronRDP --skill release-prep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/release-prep .github/skills/release-prep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .github/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Devolutions/IronRDP --skill release-prep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Devolutions/IronRDP release-prep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/IronRDP.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/release-prep .opencode/skills/release-prep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-prep" agent skill from https://github.com/Devolutions/IronRDP/tree/master/.github/skills/release-prep into .opencode/skills/release-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-prep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-prepReviews and finalizes a release-plz "chore(release): prepare for publishing" PR for the IronRDP workspace.
Release Prep is an agent skill from Devolutions/IronRDP. Reviews and finalizes a release-plz "chore(release): prepare for publishing" PR for the IronRDP workspace. Use this skill whenever the user asks to review, fix, prepare, or finalize a release PR; mentions release-plz, version bumps, CHANGELOG cleanup, or "publishing crates"; or references a PR titled "chore(release): prepare for publishing". Invoke proactively any time work involves auditing or editing CHANGELOG.md / Cargo.toml version fields across multiple crates ahead of publishing to crates.io.
Its SKILL.md is about 2.2k 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 Rust. The repository describes itself as: Rust implementation of the Microsoft Remote Desktop Protocol (RDP). The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2c08bda. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
cargogitghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release Prep loads about 2.2k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 1,126 words of instructions outside code blocks.
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.
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.
The full file from Devolutions/IronRDP at commit 2c08bda, republished under its Apache-2.0 licence (© Devolutions). 1,126 words, ~2,165 tokens.
.claude/skills/release-prep/SKILL.md (or your agent's skills folder).release-plz does most of the mechanical work (computing bumps, generating changelog entries from conventional commits, updating dependency version requirements, refreshing Cargo.lock). This skill covers the human-in-the-loop pass that release-plz cannot do automatically: verifying bumps against the public-dependency rule, rewriting per-crate changelog entries, and deduplicating commits that collapse into a single net change.
All fixes go on the release-plz PR branch directly. Do not rewrite history on main for cosmetic changelog reasons; if real source/doc changes are needed, land them on main first and let release-plz regenerate the PR.
A dependency line in Cargo.toml annotated with # public means that the dependency's types appear in this crate's public API surface.
# public dependency ⇒ breaking change in the depending crate (minor bump pre-1.0, major bump post-1.0). The downstream changelog must reflect that it is breaking, even if the downstream's own code changes were trivial recompiles.# public dependency does not force any bump in downstream crates: workspace Cargo.toml files use "0.7"-style major.minor requirements only, so Cargo's resolver picks the new patch up automatically.# public marker is internal. A breaking change in it is just a patch for the depending crate (assuming the public API is unchanged).Enumerate public-dep edges with grep -n '# public' crates/*/Cargo.toml. The dep's bump kind is visible in the release-plz PR body's "New release" summary.
For each crate in the release, cross-check the proposed bump against (a) its own commits' conventional-commit signals (feat!, BREAKING CHANGE footer, etc.) and (b) the propagation rule above. When the bump is wrong, fix it on the PR branch: edit version = "..." in that crate's Cargo.toml, cascade to the version requirement in any consumer crate's Cargo.toml, and update the version-header line at the top of the corresponding CHANGELOG.md (## [[X.Y.Z](...)] - YYYY-MM-DD, including the vOLD...vNEW compare URL).
release-plz pulls each commit's subject + body into the changelog of every crate touched by that commit. Many IronRDP commits span multiple crates with very different semantics on each side — e.g. a breaking change in ironrdp-pdu that requires a mechanical call-site update in ironrdp-connector. The PDU-flavored description does not belong in the connector's changelog.
For each duplicated entry:
git show <sha> -- crates/<this-crate>/ to see only this crate's slice.Update <dep> dependency. There is a real code change (release-plz wouldn't have inserted an entry otherwise — at minimum the dep version requirement moved), so the changelog should still acknowledge it; just don't parrot the upstream description.cliff.toml, but recategorize if the rewritten entry fits a different bucket better.[**breaking**] prefix accordingly, and revert the breaking bump which was wrongly applied (minor bump pre-1.0, major bump post-1.0).Multiple commits in the release window often collapse into a single net change. Spend real effort on this — a clean changelog is one of the highest-leverage outputs of this pass. Common patterns:
When merging entries, preserve every relevant [#NNNN]/commit-SHA link so the historical trail stays navigable. The headline text should describe the final outcome, not the journey.
CHANGELOG.md content is generated by git-cliff using the template in cliff.toml. When hand-editing, preserve the generated format exactly:
<!-- N --> prefixes in commit_parsers (Security, Features, Improvements, Revert, Bug Fixes, Performance, Documentation, Build, Please Sort). Do not reorder sections, even if the result looks unbalanced.<!-- N --> prefix verbatim (e.g. ### <!-- 1 -->Features). Don't strip it.- {breaking?}{Message} ({commit_link}) followed, when there's a body, by a blank line and the indented body. Keep [**breaking**] exactly as rendered.[#1234](...)) and commits ([abcdef0123](...)). When merging or rewriting entries, keep these links intact rather than rewriting them by hand.commit_parsers mapping in cliff.toml. If a rewrite changes the appropriate category, move the entry into the correct existing section rather than inventing a new one.Only these files should be touched on the release-plz PR branch:
crates/<crate>/CHANGELOG.md — content rewrites, drops, breaking-tag fixes, version-header bumps.crates/<crate>/Cargo.toml — version = "..." corrections and cascading version-requirement updates in consumer crates.Cargo.lock — regenerated automatically by cargo check after any Cargo.toml version edit (see procedure step 6); never edited by hand.Do not touch source code, READMEs, MSRV, rust-toolchain.toml, or CI files here. Those belong on main.
git --no-pager diff origin/main -- '**/CHANGELOG.md' '**/Cargo.toml' for the substantive deltas, and read the PR body for the "New release" bump table (use gh pr view only if the body isn't already provided in context).# public dep edges and cross-check every proposed bump against the propagation rule and the originating commits' conventional-commit signals. Note mismatches.CHANGELOG.md section in the diff, classify entries as own change, public-dep ripple, or internal-dep ripple / unrelated. Rewrite or replace per the rules above. Then deduplicate across the release window.Cargo.toml version corrections from step 3, cascading to consumer crates' version requirements and the corresponding changelog version headers.Cargo.toml version, run cargo check --workspace (without --locked, so Cargo.lock can be regenerated) and commit the resulting lock delta. Then run cargo xtask check locks -v, which verifies no lock file is left uncommitted.chore(release): ...) so they don't pollute the next release window.© Devolutions, 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
Just SKILL.md in .github/skills/release-prep of Devolutions/IronRDP.
Open the folder on GitHubat commit 2c08bda
Release Prep 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release Prep this skillDevolutions/IronRDP | 3.2k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Release Skillsnexmoe/eve | 421 | 3 repos | ~3.3k | Automated safety check: Pass | None | |
| Aptos CLI Releaseaptos-labs/aptos-core | 6.4k | — | ~431 | Automated safety check: Pass | Custom licence | |
| Worktrunk Release Workflowmax-sixty/worktrunk | 8.9k | — | ~6.9k | Automated safety check: Pass | Custom licence | |
| Cut Releasedelexw/claude-code-trace | 376 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Releasexin2017338/lynx-proxy | 502 | — | ~1.1k | Automated safety check: Pass | MIT |
nexmoe/eve
Universal release workflow. An agent skill from nexmoe/eve.
aptos-labs/aptos-core
A skill your agent uses when cutting or preparing a new Aptos CLI release, bumping the aptos crate version, or editing crates/aptos/CHANGELOG.md for a release
max-sixty/worktrunk
Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.
delexw/claude-code-trace
Cuts a new versioned release of claude-code-trace end-to-end without asking any questions.
xin2017338/lynx-proxy
Publish a new release version of Lynx Proxy. An agent skill from xin2017338/lynx-proxy.
frozenlib/parse-display
Prepare parse-display release changes before publishing with a Rust Cargo script when nightly Cargo is available.
Devolutions/IronRDP
Derive and validate the canonical scope for IronRDP Conventional Commit and pull-request titles.
Devolutions/IronRDP
Test IronRDP ActiveX in the real mstsc.exe child launched by MsRdpEx, including the native credential bridge, shell behavior, resize handling, clipboard startup, and bounded UI stress.
Devolutions/IronRDP
Create and integrate a new Rust crate in the IronRDP workspace.
Devolutions/IronRDP
Add or change Rust crate dependencies while preserving IronRDP's public-dependency markers.
Devolutions/IronRDP
Review IronRDP pull requests and diffs using focused protocol, compression, prose, and skeptical passes.
Devolutions/IronRDP
Write or substantially revise a Rust crate's README.md as a concise, user-facing design document.
Works with
Categories
Reviews and finalizes a release-plz "chore(release): prepare for publishing" PR for the IronRDP workspace. Release Prep is an agent skill from Devolutions/IronRDP. Reviews and finalizes a release-plz "chore(release): prepare for publishing" PR for the IronRDP workspace.
Release Prep fits situations like: the user asks to review; finalize a release PR; mentions release-plz; CHANGELOG cleanup.
Run `npx skills add Devolutions/IronRDP --skill release-prep -a claude-code`. Or copy the skill folder (.github/skills/release-prep in Devolutions/IronRDP) into .claude/skills/release-prep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Devolutions/IronRDP --skill release-prep -a codex`. Or copy the skill folder (.github/skills/release-prep in Devolutions/IronRDP) into .agents/skills/release-prep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Devolutions/IronRDP --skill release-prep -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-prep, .gemini/skills/release-prep, .github/skills/release-prep and .opencode/skills/release-prep in your project.
Going by SKILL.md and its folder, Release Prep needs the command-line tools its instructions call (cargo, git and gh).
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.
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.
Release Prep 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.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release Prep: Release Skills (nexmoe/eve, 421 stars), Aptos CLI Release (aptos-labs/aptos-core, 6.4k stars), Worktrunk Release Workflow (max-sixty/worktrunk, 8.9k stars) and Cut Release (delexw/claude-code-trace, 376 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Devolutions (a GitHub organization) maintains it in Devolutions/IronRDP, which has 3,213 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.
Source: Devolutions/IronRDP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.