with one click
cherry-pick
// Cherry-pick a merged PR onto a release candidate branch and open a new PR. Use when asked to cherry-pick, backport, or port a PR to an rc-minor or rc-patch branch.
// Cherry-pick a merged PR onto a release candidate branch and open a new PR. Use when asked to cherry-pick, backport, or port a PR to an rc-minor or rc-patch branch.
Add a Fleet-maintained app (FMA) for macOS (Homebrew) and/or Windows (winget). Use when asked to "add X as a macOS/Windows FMA", "add a Fleet-maintained app", or to debug FMA validator failures. Emphasizes verifying installer metadata with real tools (msitools, plist) instead of guessing.
Analyze a PR to determine which files still need approval and from whom, based on CODEOWNERS and website/config/custom.js. Use when the user asks "who needs to approve", "why is the PR blocked", "who blocks this PR", or similar.
Format release retro notes for a Fleet working group into a Slack recap post and ~timebox GitHub issues. Use when asked to "post retro recap", "format retro notes", "create release retro", or after a retrospective when feedback needs to land in Slack and action items need to be tracked.
Open a new Fleet feature request GitHub issue using the official fleetdm/fleet feature-request template. Use this skill whenever someone says "new feature request", "submit a feature request", "open a feature request", "create a feature request", "I want to request a feature", "feature request for...", or any similar phrasing indicating they want to file a new feature idea or product improvement with the Fleet team. Always use this skill — never construct issue body text yourself or link to the template without a pre-filled title and body.
Cherry-pick a merged PR into the current RC branch. Use when asked to "cherry-pick", "cp into RC", or after merging a PR that needs to go into the current release.
Bump a database migration's timestamp to the current time. Required when a PR's migration is older than one already merged to main. Use when asked to "bump migration", "update migration timestamp", or when a migration ordering conflict is detected.
| name | cherry-pick |
| description | Cherry-pick a merged PR onto a release candidate branch and open a new PR. Use when asked to cherry-pick, backport, or port a PR to an rc-minor or rc-patch branch. |
Use only a single agent session for the entire cherry-pick. Multiple sessions for the same cherry-pick have caused duplicate PRs in the past.
This skill expects two arguments:
rc-minor-fleet-v4.83.0, rc-patch-fleet-v4.82.1)fleetdm/fleet repoFetch the latest remote state
git fetch origin
Identify the merge commit — find the merge commit SHA for the source PR on main.
gh pr view <PR> --json mergeCommit --jq '.mergeCommit.oid'
Create a working branch from the target release branch:
git checkout -b cherry-pick-<PR_NUMBER>-to-<target-branch> origin/<target-branch>
Cherry-pick the merge commit using -m 1 (mainline parent):
git cherry-pick -m 1 <merge-commit-sha>
-m 1.Push and open a PR against the target branch:
git push -u origin HEAD
gh pr create \
--base <target-branch> \
--title "Cherry-pick #<PR_NUMBER> onto <target-branch>" \
--body "Cherry-pick of https://github.com/fleetdm/fleet/pull/<PR_NUMBER> onto the <target-branch> release branch."
Follow the established pattern:
Cherry-pick #<PR_NUMBER> onto <target-branch>
Cherry-pick of https://github.com/fleetdm/fleet/pull/<PR_NUMBER> onto the
<target-branch> release branch.
If the original commit has a Co-authored-by trailer, preserve it.
cherry-pick-<PR_NUMBER>-to-<target-branch>
Example: cherry-pick-41914-to-rc-minor-fleet-v4.83.0
Never create a branch whose name matches a protected pattern. See
.kilocode/rules/protected-branches.md.
The cherry-pick branch name above is safe because it starts with cherry-pick-,
which does not match any protected pattern. Do not drop the cherry-pick-
prefix or rename the working branch to something starting with feature-,
patch-, minor-, fleet-v, rc-patch-, or rc-minor-.
git cherry-pick --continue.tools/release/backport-check.shThis file will grow as new patterns and constraints are established.