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.
Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.
$ npx skills add ansible/ansible --skill creating-backports -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ansible/ansible creating-backports --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/ansible/ansible.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/creating-backports .claude/skills/creating-backports && 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 "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .claude/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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/ansible/ansible/tree/devel/.claude/skills/creating-backportsType 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 ansible/ansible --skill creating-backports -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ansible/ansible creating-backports --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/creating-backports .agents/skills/creating-backports && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .agents/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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 ansible/ansible --skill creating-backports -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ansible/ansible creating-backports --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/creating-backports .cursor/skills/creating-backports && 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 "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .cursor/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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/ansible/ansible.git --path .claude/skills/creating-backports--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 ansible/ansible --skill creating-backports -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ansible/ansible creating-backports --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/creating-backports .gemini/skills/creating-backports && 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 "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .gemini/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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 ansible/ansible creating-backportsInstalls 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 ansible/ansible --skill creating-backports -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/creating-backports .github/skills/creating-backports && 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 "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .github/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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 ansible/ansible --skill creating-backports -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ansible/ansible creating-backports --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/creating-backports .opencode/skills/creating-backports && 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 "creating-backports" agent skill from https://github.com/ansible/ansible/tree/devel/.claude/skills/creating-backports into .opencode/skills/creating-backports/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-backports", 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.
creating-backportsCreates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.
The workflow comes with a progress checklist. First the agent verifies with `gh pr view` that the PR is merged into devel and records the merge commit SHA, aborting if it is not merged or went to the wrong branch. It then finds the upstream remote, offering to create it when missing, and syncs the local devel branch with a fetch, checkout and `git pull --rebase`.
Target branches come from the backport policy in `context/contributing.md`: bug fixes go to the latest stable branch only, critical fixes to the latest and previous stable branches, and security issues are reported privately by email rather than through GitHub. The agent asks what kind of fix it is, confirms the branches and lists stable ones with `git ls-remote`. It then creates a backport branch per stable branch, cherry-picks the merge commit with `-x` and aborts the cherry-pick when conflicts appear.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5b1a96f. 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:
gitghFrom 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.
Ansible Backport Creator loads about 1.2k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 566 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 ansible/ansible at commit 5b1a96f, republished under its GPL-3.0 licence (© ansible). 566 words, ~1,190 tokens.
.claude/skills/creating-backports/SKILL.md (or your agent's skills folder).Backporting Progress:
- [ ] Step 1: Verify the referenced pull request
- [ ] Step 2: Identify the git remote for the upstream repository
- [ ] Step 3: Determine the stable branches for the backport
- [ ] Step 4: Create the backport branches
- [ ] Step 5: Create pull requests
- [ ] Step 6: Summarize the workUse gh pr view <number> to verify the PR is merged into devel and get the merge commit SHA:
gh pr view <number> --json mergeCommit -q .mergeCommit.oid
Abort if the PR is not merged or merged to wrong branch.
Identify the upstream remote (typically named upstream). If it doesn't exist, offer to create it.
Sync the local devel branch with the identified upstream remote:
git fetch <upstream_remote>git checkout develgit pull --rebase <upstream_remote> develRefer to the backport policy in context/contributing.md:
Ask the user what type of fix this is and confirm the target branches before proceeding.
To identify available stable branches, run: git ls-remote --heads <upstream_remote> 'refs/heads/stable-*'
Before creating backport branches, verify you're not on a branch you want to keep (the workflow will create and switch between multiple branches).
First, ensure stable branches are up to date:
git fetch <upstream_remote> to get latest stable branch refsThe backport process consists of these steps:
git checkout -b backport/VERSION/PR_NUMBER <upstream_remote>/STABLE_BRANCH
Example: git checkout -b backport/2.20/1234 upstream/stable-2.20 (if upstream remote is named upstream)-x option.
(The merge commit SHA was obtained in Step 1 with gh pr view)
Example: git cherry-pick -x <merge_commit_sha>
If merge conflicts are encountered:git cherry-pick --abort to abort the cherry-pickorigingit remote -v that it points to the user's fork, not upstreamorigin):
git push <fork_remote> backport/VERSION/PR_NUMBER
Example: git push origin backport/2.20/1234 (if fork remote is named origin)
Never push to the upstream remote - this would push directly to the upstream repository.Confirm with the user that they would like to create a pull request for each backport branch.
Use gh pr create for each branch:
--base STABLE_BRANCH_NAME (the stable branch being backported to)--title "[STABLE_BRANCH_NAME] ORIGINAL_PR_TITLE"--body "Backport of PR #XXXX\n\n(cherry picked from commit COMMIT_HASH)"Example: gh pr create --base stable-2.20 --title "[stable-2.20] Fix bug in module" --body "Backport of PR #1234\n\n(cherry picked from commit abc123)"
Give the user a summary of the backports that were created. The summary must provide a list of the URL links to all pull requests that were created.
If errors occur during the backport process:
© ansible, GPL-3.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 .claude/skills/creating-backports of ansible/ansible.
Open the folder on GitHubat commit 5b1a96f
Ansible Backport Creator 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 |
|---|---|---|---|---|---|---|
| Ansible Backport Creator this skillansible/ansible | 71k | — | ~1.2k | Automated safety check: Pass | GPL-3.0 | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Creating Description For Gh PRredis/jedis | 12k | — | ~838 | Automated safety check: Pass | MIT | |
| Create Pull Request with Work Item IDmakeplane/plane | 61k | — | ~824 | Automated safety check: Pass | AGPL-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.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
redis/jedis
Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.
makeplane/plane
Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
ansible/ansible
Load Ansible project development guidelines, testing conventions, PR review processes, and code structure reference into context
ansible/ansible
Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first.
ansible/ansible
Reviews an Ansible pull request by number, following the steps in the project's CLAUDE.md, with early checks for changelog fragments and tests.
Categories
Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches. The workflow comes with a progress checklist. First the agent verifies with `gh pr view` that the PR is merged into devel and records the merge commit SHA, aborting if it is not merged or went to the wrong branch.
Ansible Backport Creator fits situations like: backporting a merged devel PR to stable branches; working out which stable branches a bug fix should reach; cherry-picking a merge commit onto a stable branch.
Run `npx skills add ansible/ansible --skill creating-backports -a claude-code`. Or copy the skill folder (.claude/skills/creating-backports in ansible/ansible) into .claude/skills/creating-backports in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ansible/ansible --skill creating-backports -a codex`. Or copy the skill folder (.claude/skills/creating-backports in ansible/ansible) into .agents/skills/creating-backports 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 ansible/ansible --skill creating-backports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-backports, .gemini/skills/creating-backports, .github/skills/creating-backports and .opencode/skills/creating-backports in your project.
Going by SKILL.md and its folder, Ansible Backport Creator needs the command-line tools its instructions call (git and gh). Our summary lists: Git with an upstream remote for the ansible/ansible repository; The GitHub CLI (`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.
Ansible Backport Creator is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.8k 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 Ansible Backport Creator: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), Create Pull Request (cline/cline, 70k stars) and Creating Description For Gh PR (redis/jedis, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ansible (a GitHub organization) maintains it in ansible/ansible, which has 70,893 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 8, 2026.
Source: ansible/ansible on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.