Contributor-First PR Merge
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing.
$ npx skills add ruby-git/ruby-git --skill release-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ruby-git/ruby-git release-management --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/ruby-git/ruby-git.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/release-management .claude/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .claude/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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/ruby-git/ruby-git/tree/main/.github/skills/release-managementType 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 ruby-git/ruby-git --skill release-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ruby-git/ruby-git release-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/release-management .agents/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .agents/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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 ruby-git/ruby-git --skill release-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ruby-git/ruby-git release-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/release-management .cursor/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .cursor/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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/ruby-git/ruby-git.git --path .github/skills/release-management--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 ruby-git/ruby-git --skill release-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ruby-git/ruby-git release-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/release-management .gemini/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .gemini/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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 ruby-git/ruby-git release-managementInstalls 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 ruby-git/ruby-git --skill release-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/release-management .github/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .github/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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 ruby-git/ruby-git --skill release-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ruby-git/ruby-git release-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/release-management .opencode/skills/release-management && 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-management" agent skill from https://github.com/ruby-git/ruby-git/tree/main/.github/skills/release-management into .opencode/skills/release-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-management", 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-managementPrepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing.
Release Management is an agent skill from ruby-git/ruby-git. Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing. Use when preparing a release or checking release readiness.
Its SKILL.md is about 3.1k 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 Open source maintenance, Feature launches and release readiness and Changelog and release notes. It works with Ruby and Git. The repository describes itself as: Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f3bf20f. 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:
gitbundlegemghrubyjqFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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 Management loads about 3.1k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,521 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 ruby-git/ruby-git at commit f3bf20f, republished under its MIT licence (© ruby-git). 1,521 words, ~3,107 tokens.
.claude/skills/release-management/SKILL.md (or your agent's skills folder).This workflow describes how releases are managed for the ruby-git gem.
Attach this file to your Copilot Chat context when preparing a release, verifying release readiness, or answering questions about versioning and publishing flow.
Releases are fully automated via
release-please and the
.github/workflows/release.yml workflow:
main for the next major, or a maintenance branch such as 5.x or
4.x for a patch or minor release of an earlier serieslib/git/version.rb and regenerates CHANGELOG.mdrubygems/release-gemKey config files:
| File | Purpose |
|---|---|
.release-please-config.json | Release-please settings (release type, changelog sections, versioning strategy) |
.release-please-manifest.json | Tracks the current released version |
lib/git/version.rb | Version constant (updated automatically by release-please) |
CHANGELOG.md | Release history (updated automatically by release-please) |
prerelease is false, so release-please never proposes a beta and every release is
a normal release. The config also sets bump-minor-pre-major: true and
bump-patch-for-minor-pre-major: true, which affect version bumps only while the major
version is 0.
The only thing developers need to do for releases is use conventional commit messages. release-please determines the version bump from commit types:
fix: → patch bumpfeat: → minor bumpfeat!: or BREAKING CHANGE: footer → major bumpEverything else (version bump, changelog, tag, gem push) is automated. Do not
manually edit lib/git/version.rb or CHANGELOG.md.
Before a maintainer merges a release PR:
Ensure CI passes on the release branch (main, 5.x, or 4.x):
bundle exec rake defaultReview unreleased changes since last tag:
git log $(git describe --tags --abbrev=0)..HEAD --onelineCheck for open blockers:
gh issue list --label "bug" --state openReview the release PR — verify the auto-generated changelog and version bump look correct.
Retire the release banner — if README.md opens with a banner announcing
this major's .0.0 release and the release PR is the major's first minor, merge
a docs PR that removes the banner before merging the release PR. The banner
announces the major; once the series has a minor, the dated announcement entry
carries the history.
main becomes the release line for the next major as soon as the first removal merges
(ADR-0007),
which can be long before that major ships. Cut the maintenance branch for the current
major at that point, not after the major release, so the series can keep releasing
while main is pinned to the next major.
The cut is two pull requests, one into each branch, because each branch runs its own
copy of the workflows. Both carry the same docs commit: write it once, cherry-pick it
onto the other branch, and cherry-pick it again whenever review changes it on either
side, so the two branches say the same thing. Merge the main PR first so the pin is
in place before anything else lands on main. Below, <N> is the major being cut,
<N+1> the major main will release next, and <M> the major of the maintenance
branch that already exists.
On main:
<N>.x release
comes from the new branch, and the next release from main is v<N+1>.0.0.README.md, replacing the release banner
if one is still there: main is unreleased v<N+1>.0.0 development, the current
release series is v<N>.x, released from the new branch, and the
"Upgrading to v<N+1>.x" section of UPGRADING.md says what changes. Name the
series, not a tag: later v<N>.x releases do not touch main, so a tag in the
note would go stale. This goes on a main-only commit, never on the shared docs
commit: the new branch keeps whatever README.md opened with at the branch
point.main to the next major with a Release-As: <N+1>.0.0
footer on the announcement commit. Without the pin, the first commit merged to
main after the cut has release-please open a release PR for the next v<N> patch
or minor from main, colliding with the release stream on the new branch.
release-please reads the footer from any commit since the last tag, so the pin
holds until the major ships and then expires on its own. The footer goes on a
main-only commit and never on the shared docs commit, which is cherry-picked
onto the new branch and would pin that branch's next release to the major too.
Do not use the release-as key in .release-please-config.json instead: it
applies to every release PR until someone remembers to remove it.On the new branch:
<N>.x from the latest tag of that major and protect it with a
ruleset named Release Branch (<N>.x), copied from Release Branch (default).
The copy requires the same status checks as main. Until the next item lands,
the only PR that can satisfy them is that item's own, whose head carries the
triggers.push trigger and the release job guard in release.yml,
to the pull_request triggers in continuous_integration.yml and
enforce_conventional_commits.yml, and to the push trigger in
warm_bundler_caches.yml, all under .github/workflows/. The workflow that
runs is the one on the branch pushed to or targeted, and a Bundler cache is
readable only from the ref that wrote it, its base ref, and the default branch,
so the copies on main need no change..release-please-config.json, so the
workflow and docs commits alone propose the next patch. Leave that release PR
open until the series has something worth releasing, or merge it.On both, in the shared docs commit:
.github/copilot-instructions.md and
CONTRIBUTING.md, the release support policy in README.md, the protected
branch list in .husky/pre-commit, and the skills that list the protected
branches. grep -rn '<M>\.x' .github .husky CONTRIBUTING.md README.md, with the
existing maintenance branch's major in place of <M>, finds them all.Before merging the release PR for a major version, run Checking Release Readiness, then confirm each item below. The per-PR removal gate lives in Breaking Change Analysis, Step 4 and is checked when each removal PR merges, not here.
required_ruby_version in
git.gemspec, TargetRubyVersion in .rubocop.yml, the CI workflow matrices
under .github/workflows/, Git::MINIMUM_GIT_VERSION in lib/git.rb, the
README "Ruby version support policy" and "Git version support policy"
subsections, and the Compatibility list in
Project Context. Include any RuboCop
cleanup a TargetRubyVersion bump triggers.@deprecated YARD tag,
and UPGRADING.md entry updated to name the major the roadmap decided for them,
or "a future major release" while that is undecided, and the horizon passed to
ActiveSupport::Deprecation.new in lib/git.rb is bumped to the next major.UPGRADING.md is complete.BREAKING CHANGE footer.README.md is replaced with a release banner
naming the new major and linking to UPGRADING.md and CHANGELOG.md, in a docs
PR merged before the release PR. README.md ships in the gem and on RubyDoc, so
a banner added after the release never reaches the major's own artifact. The
major's first minor release removes the banner; see
Checking Release Readiness.README.md). Retire it everywhere it is named. In the workflow
triggers and release job guard under .github/workflows/, replace it with the
newer maintenance branch, which the cutting step left out of the copies on
main. Everywhere else the newer branch is already listed, so remove the retired
one: the branch tables in .github/copilot-instructions.md and
CONTRIBUTING.md, the release support policy in README.md, the protected
branch list in .husky/pre-commit, and the skills that list the protected
branches. grep -rn '<M>\.x' .github .husky CONTRIBUTING.md README.md, with the
retired branch's major in place of <M>, finds them all.lib/git/version.rb — release-please does thisCHANGELOG.md — it is auto-generated from commitsgem push — the workflow handles publishing# View recent tags
git tag -l --sort=-v:refname | head -10
# List commits since last release
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Compare with previous release
git diff $(git describe --tags --abbrev=0)..HEAD
# Check current version
ruby -e "require_relative 'lib/git/version'; puts Git::VERSION"
# View release-please config
cat .release-please-config.json | jq .
# Build gem locally (for testing only)
bundle exec rake build
gem install pkg/git-*.gem© ruby-git, MIT. 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-management of ruby-git/ruby-git.
Open the folder on GitHubat commit f3bf20f
Release Management 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 Management this skillruby-git/ruby-git | 1.8k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 69k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| Chatbox Pro Cherry-Pick Syncchatboxai/chatbox | 42k | — | ~1.2k | Automated safety check: Pass | GPL-3.0 |
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
jamiepine/voicebox
Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
chatboxai/chatbox
Cherry-picks commits from the chatbox-pro repo into the open chatbox repo, skipping mobile-only files and keeping the open package name.
redis/go-redis
Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.
ruby-git/ruby-git
Addresses unresolved pull request review threads and suppressed (low-confidence) Copilot review comments on the current branch, folds each fix into the…
ruby-git/ruby-git
Assesses what an API change would break before it is made, finds every usage, documents the impact and plans a deprecation or migration path.
ruby-git/ruby-git
Diagnoses and fixes failing GitHub Actions runs by identifying the failure, fetching only the relevant logs, finding the root cause and reproducing it locally.
ruby-git/ruby-git
Scaffolds and reviews `Git::Commands::*` classes in the ruby-git library, with unit tests, integration tests and YARD docs, using the Base command architecture.
ruby-git/ruby-git
Workflow for updating gem dependencies and fixing CVEs in the ruby-git project: assess with bundle outdated and audit, edit the gemspec, test, then commit with conventional messages.
ruby-git/ruby-git
Migrates a direct command call in Ruby Git's Git::Lib to a Git::Commands class, as part of a Strangler Fig redesign, with a plan, legacy tests and a pull request.
Categories
Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing. Release Management is an agent skill from ruby-git/ruby-git. Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing.
Release Management fits situations like: preparing a release; checking release readiness.
Run `npx skills add ruby-git/ruby-git --skill release-management -a claude-code`. Or copy the skill folder (.github/skills/release-management in ruby-git/ruby-git) into .claude/skills/release-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ruby-git/ruby-git --skill release-management -a codex`. Or copy the skill folder (.github/skills/release-management in ruby-git/ruby-git) into .agents/skills/release-management 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 ruby-git/ruby-git --skill release-management -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-management, .gemini/skills/release-management, .github/skills/release-management and .opencode/skills/release-management in your project.
Going by SKILL.md and its folder, Release Management needs the command-line tools its instructions call (git, bundle, gem, gh, ruby and jq).
SKILL.md names 1 domain. As links in the text: github.com. 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 Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k 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 Management: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Mole Release Notes Publisher (tw93/Mole, 69k stars), Release Bump (jamiepine/voicebox, 57k stars) and Git Workflow and Versioning (addyosmani/agent-skills, 102k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ruby-git (a GitHub organization) maintains it in ruby-git/ruby-git, which has 1,799 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 2, 2026.
Source: ruby-git/ruby-git on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.