Verdaccio Pull Request Workflow
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
Backport PRs already merged to main onto a release branch (26.9, …): cherry-pick each merge commit with -x, resolve conflicts by this repository's rules, verify, open the backport PR, and merge it…
$ npx skills add lablup/backend.ai-webui --skill cherry-pick-to-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lablup/backend.ai-webui cherry-pick-to-release --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/lablup/backend.ai-webui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .claude/skills/cherry-pick-to-release && 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 "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .claude/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-releaseType 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 lablup/backend.ai-webui --skill cherry-pick-to-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lablup/backend.ai-webui cherry-pick-to-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lablup/backend.ai-webui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .agents/skills/cherry-pick-to-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .agents/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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 lablup/backend.ai-webui --skill cherry-pick-to-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lablup/backend.ai-webui cherry-pick-to-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lablup/backend.ai-webui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .cursor/skills/cherry-pick-to-release && 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 "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .cursor/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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/lablup/backend.ai-webui.git --path .claude/skills/cherry-pick-to-release--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 lablup/backend.ai-webui --skill cherry-pick-to-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lablup/backend.ai-webui cherry-pick-to-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lablup/backend.ai-webui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .gemini/skills/cherry-pick-to-release && 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 "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .gemini/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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 lablup/backend.ai-webui cherry-pick-to-releaseInstalls 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 lablup/backend.ai-webui --skill cherry-pick-to-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lablup/backend.ai-webui.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .github/skills/cherry-pick-to-release && 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 "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .github/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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 lablup/backend.ai-webui --skill cherry-pick-to-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lablup/backend.ai-webui cherry-pick-to-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lablup/backend.ai-webui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/cherry-pick-to-release .opencode/skills/cherry-pick-to-release && 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 "cherry-pick-to-release" agent skill from https://github.com/lablup/backend.ai-webui/tree/main/.claude/skills/cherry-pick-to-release into .opencode/skills/cherry-pick-to-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-pick-to-release", 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.
cherry-pick-to-releaseBackport PRs already merged to main onto a release branch (26.9, …): cherry-pick each merge commit with -x, resolve conflicts by this repository's rules, verify, open the backport PR, and merge it…
Cherry Pick To Release is an agent skill from lablup/backend.ai-webui. Backport PRs already merged to main onto a release branch (26.9, …): cherry-pick each merge commit with -x, resolve conflicts by this repository's rules, verify, open the backport PR, and merge it when the pick was clean and CI is green. A pick whose conflicts had to be resolved is left open for a human to approve; a pick that needs a PR the release branch does not have stops and says which one. Trigger on "N 26.9에 체리픽해줘", "이 PR 26.9 브랜치에 넣어줘", "릴리스 브랜치에 백포트", "cherry-pick N into 26.9", "backport N"…
Its SKILL.md is about 1.7k 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 Backend & APIs. It works with GitHub, React, pnpm and Git. The repository describes itself as: Backend.AI Web UI for web / desktop app (Windows/Linux/macOS). Backend.AI Web UI provides a convenient environment for users, while allowing various commands to be executed… The licence is LGPL-3.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 77b1075. 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:
gitghpnpmbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, gh and pnpm, 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.
Cherry Pick To Release loads about 1.7k tokens when it runs. Until then it costs about 165 tokens; SKILL.md has 713 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 lablup/backend.ai-webui at commit 77b1075, republished under its LGPL-3.0 licence (© lablup). 713 words, ~1,700 tokens.
.claude/skills/cherry-pick-to-release/SKILL.md (or your agent's skills folder).$ARGUMENTS: one or more PR numbers (or URLs) merged to main.
--to <branch> — target release branch. Default: the highest origin/<major>.<minor> branch.--batch — one PR for all picks (chore/cherry-picks-<branch>) instead of one per PR. Use it for a pre-RC sweep.--no-merge — open the PR(s) but never merge, even when clean.The procedure takes no interactive input, so a CI job can run it unchanged. The only point where it waits for a person is the merge gate in §6.
For each PR:
gh pr view <N> --json number,title,state,mergeCommit,mergedAt,baseRefName,bodyMERGED into main. Otherwise report it and skip it.git log origin/<branch> --grep "cherry picked from commit <sha>"git cherry origin/<branch> <sha> <sha>~1: a line starting with - means an equivalent patch is already there.mergedAt, oldest first, so dependent fixes apply in the order they landed.Work in a worktree, never in the user's checkout. Branch from the release branch:
git fetch origin <branch> main
git switch -c chore/cherry-pick-<N>-<branch> origin/<branch> # --batch: chore/cherry-picks-<branch>git cherry-pick -x <mergeCommitSha>This repository squash- or rebase-merges, so mergeCommit is a single
non-merge commit. If it ever is a merge commit, pick the PR's own commits
(gh pr view <N> --json commits) instead of using -m.
Resolve by the rules below and record every resolution for §7. In a
cherry-pick, --ours is the release branch and --theirs is the pick.
| Conflict | Resolution |
|---|---|
Relay **/__generated__/** | Take either side, run pnpm relay, stage the output. |
react/src/generated/searchIndex.json | Take either side, run pnpm run search-index (.claude/rules/search-index-conflicts.md). |
pnpm-lock.yaml | git checkout --ours pnpm-lock.yaml, then pnpm install. The release branch's lockfile is the base here, not main's. |
resources/i18n/*.json, BUI locale/*.json | Keep both sides' keys; never drop the release branch's keys. |
| modify/delete: the pick edits a file that does not exist on the release branch | If the file belongs to a feature that is only on main (a test or story for it, its docs page), drop the hunk and record it. Otherwise treat it as missing-prerequisite. |
| Source conflict whose two sides express the same intent | Port the pick's change onto the release branch's version of the code. Do not import surrounding main-only refactors. |
| The pick calls an API, component, hook, or schema field the release branch lacks | Missing prerequisite, stop. Find the PR that introduced it (git log -S'<symbol>' origin/main, then gh pr list --search <sha> --state merged). Abort this pick (git cherry-pick --abort) and report the prerequisite PR. Never pull it in on your own initiative. |
A change of more than about 200 lines of hand-resolved source also stops at the merge gate, however clean it looks after the fix.
pnpm install --frozen-lockfile # a fresh worktree has no node_modules
VERIFY_BASE=origin/<branch> VERIFY_TESTS=1 bash scripts/verify.sh # must end in === ALL PASS ===
git range-diff <sha>~1..<sha> <picked>~1..<picked> # per pickrange-diff must show only the added (cherry picked from commit …) line
for a clean pick. For a resolved pick, every other hunk it shows must be one
of the resolutions you recorded. A failing verify.sh that also fails on
origin/<branch> without the pick is pre-existing; say so instead of fixing it.
Classify each pick:
git push -u origin <branch-name>
gh pr create --base <branch> --head <branch-name> --title "<title>" --body-file <body.md><original title> (<branch>), e.g. fix(FR-4143): keep the login-check session id for cookie-only logins (26.9).chore: cherry-pick <what> into <branch>.Merge gate:
| Outcome | Action |
|---|---|
all picks clean, CI green, no --no-merge | gh pr checks <PR> --watch, then gh pr merge <PR> --rebase. Use --admin only when the user authorized it in this session. |
| any pick resolved | Do not merge. Request review from the original PR authors (gh pr edit <PR> --add-reviewer <login>) and report the PR as waiting on a human. |
| CI fails | Do not merge. Report the failing check and its log excerpt. |
Never push to the release branch directly, never force-push, and never tag or release.
## Summary
Cherry-picks onto the **<branch>** release line (`cherry-pick -x`; each commit keeps its original PR number).
| PR | Jira | Change | Pick |
|---|---|---|---|
| #10120 | FR-4143 | <one line> | clean |
## Conflict resolutions (differ from the original commits)
- `<path>` — <what conflicted> → <what was kept and why>
## Not taken
- #N — needs #M (<what it introduces>), which is not on <branch>.
## Verification
- `VERIFY_BASE=origin/<branch> VERIFY_TESTS=1 bash scripts/verify.sh` → `=== ALL PASS ===`
- `git range-diff`: identical to the original except the cherry-pick trailer, or the resolutions listed aboveOmit the sections that are empty. Put no Claude attribution anywhere.
Report in this order:
Link every PR and Jira key.
© lablup, LGPL-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/cherry-pick-to-release of lablup/backend.ai-webui.
Open the folder on GitHubat commit 77b1075
Cherry Pick To Release 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 |
|---|---|---|---|---|---|---|
| Cherry Pick To Release this skilllablup/backend.ai-webui | 133 | — | ~1.7k | Automated safety check: Pass | LGPL-3.0 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Gh Release Notesreact-cosmos/react-cosmos | 8.7k | — | ~335 | Automated safety check: Pass | MIT | |
| Release Clawpatchopenclaw/clawpatch | 813 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Kanvibe Release Deployrookedsysc/kanvibe | 144 | — | ~12k | Automated safety check: Notes | AGPL-3.0 |
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
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.
react-cosmos/react-cosmos
Generate a clean list of commits between two git tags for GitHub release notes.
openclaw/clawpatch
clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.
rookedsysc/kanvibe
A skill your agent uses whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update…
jetstreamapp/jetstream
Post GitHub PR/issue comments, reviews, and review replies as the Jetstream bot account instead of the user's personal account.
lablup/backend.ai-webui
Mint a walkthrough for the PR this session just implemented: a set of numbered stops a reviewer opens in the live dev server, each one marking an element on screen with what changed and what to check.
lablup/backend.ai-webui
A skill your agent uses whenever the user mentions docs, the manual, documentation, terminology, translations, or screenshots — including indirect mentions like "이 PR 문서 영향 봐줘", "문서 점검", "용어 통일"…
lablup/backend.ai-webui
Expert guide for Backend.AI distributed computing platform. An agent skill from lablup/backend.ai-webui.
lablup/backend.ai-webui
Start the project's development server (pnpm dev for backend.ai-webui; discovered from README/package.json elsewhere), deriving the header color, app name, default backend endpoint and login…
lablup/backend.ai-webui
Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.
lablup/backend.ai-webui
A skill your agent uses when writing if (success) updateFetchKey(), an onRequestClose handler, or any refetch after a mutation; when a setting modal handles both create and update behind one…
Categories
Backport PRs already merged to main onto a release branch (26.9, …): cherry-pick each merge commit with -x, resolve conflicts by this repository's rules, verify, open the backport PR, and merge it…. ai-webui.9, …): cherry-pick each merge commit with -x, resolve conflicts by this repository's rules, verify, open the backport PR, and merge it when the pick was clean and CI is green.
Cherry Pick To Release fits situations like: 이 PR 26.9 브랜치에 넣어줘; cherry-pick N into 26.9; /cherry-pick-to-release <PR...
Run `npx skills add lablup/backend.ai-webui --skill cherry-pick-to-release -a claude-code`. Or copy the skill folder (.claude/skills/cherry-pick-to-release in lablup/backend.ai-webui) into .claude/skills/cherry-pick-to-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lablup/backend.ai-webui --skill cherry-pick-to-release -a codex`. Or copy the skill folder (.claude/skills/cherry-pick-to-release in lablup/backend.ai-webui) into .agents/skills/cherry-pick-to-release 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 lablup/backend.ai-webui --skill cherry-pick-to-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cherry-pick-to-release, .gemini/skills/cherry-pick-to-release, .github/skills/cherry-pick-to-release and .opencode/skills/cherry-pick-to-release in your project.
Going by SKILL.md and its folder, Cherry Pick To Release needs the command-line tools its instructions call (git, gh, pnpm and bash).
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.
Cherry Pick To Release is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.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 Cherry Pick To Release: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), Gh Release Notes (react-cosmos/react-cosmos, 8.7k stars) and Release Clawpatch (openclaw/clawpatch, 813 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lablup (a GitHub organization) maintains it in lablup/backend.ai-webui, which has 133 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 11, 2026.
Source: lablup/backend.ai-webui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.