Agent skill

Chatbox Pro Cherry-Pick Sync

by chatboxai in 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.

GPL-3.0Auto-check passedDevelopment

Install Chatbox Pro Cherry-Pick Sync

skills CLI
$ npx skills add chatboxai/chatbox --skill cherry-pick-pro -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install chatboxai/chatbox cherry-pick-pro --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/cherry-pick-pro .claude/skills/cherry-pick-pro && rm -rf skills-src

Use ~/.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/

Facts

Skill name
cherry-pick-pro
GitHub stars
42k
Token cost
~1.2k tokens
SKILL.md length
488 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Cherry-picks commits from the chatbox-pro repo into the open chatbox repo, skipping mobile-only files and keeping the open package name.

  • Works in 8 steps: Sync remotes first → Identify commits to cherry-pick → Analyze each commit → …
  • Syncing new commits from chatbox-pro into the open chatbox repo
  • SKILL.md covers Usage, Workflow and Example
  • Calls git, pnpm and gh

What it does

The skill syncs a range of commits from the pro remote's main branch into the open repository. The command takes an optional from-commit (exclusive, and it must be a commit on pro/main) and an optional to-commit (inclusive, defaulting to the pro/main head). The workflow begins by fetching both remotes and warns that fetching pro also brings in its tags, which point at pro commits and must not be pushed as they are.

Because the two repos share no history, the last synced pro commit is found from the cherry picked from pro commit footer written into each open-repo commit, and a first-ever sync needs the from-commit passed explicitly. Each commit's files are checked against skip rules: the android and ios folders, capacitor.config.ts, .github, CLAUDE.md, AGENTS.md, .cursorrules and .claude are dropped on conflict. In package files the open package name xyz.chatboxapp.ce wins, and pro-only dependencies such as @playwright/test are removed if added.

When your agent uses it

  • Syncing new commits from chatbox-pro into the open chatbox repo
  • Resolving conflicts on mobile-only or pro-specific files during a cherry-pick
  • Finding the last synced pro commit before starting the next sync

Example prompts

  • “Cherry-pick everything new from pro/main into the open repo.”
  • “Run cherry-pick-pro for the first sync, passing the starting pro commit explicitly.”
  • “Resolve the package.json conflict from this cherry-pick and keep the open repo's package name.”

Requirements

  • Git remotes named pro and origin

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Sync remotes first
  2. Identify commits to cherry-pick
  3. Analyze each commit
  4. Cherry-pick rules
  5. Cherry-pick process
  6. Finalize
  7. Verify
  8. Release (if syncing a version release)

What it can do on your machine

Read from SKILL.md and the folder at commit 0ac6385. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • pnpm
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, pnpm 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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Chatbox Pro Cherry-Pick Sync loads about 1.2k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 488 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from chatboxai/chatbox at commit 0ac6385, republished under its GPL-3.0 licence (© chatboxai). 488 words, ~1,230 tokens.

Download SKILL.mdSave it as .claude/skills/cherry-pick-pro/SKILL.md (or your agent's skills folder).
name
cherry-pick-pro
description
Cherry-pick commits from chatbox-pro repo to the open chatbox repo, handling mobile-only files, package name differences, and other repo-specific exclusions.
user_invocable
true
read_when
Cherry-picking from pro to open repo, Syncing pro commits to open source repo, Releasing open source version

Cherry Pick Pro

Cherry-pick commits from the chatbox-pro repo (pro remote) to the open chatbox repo, filtering out mobile-only changes and adjusting for repo differences.

Usage

/cherry-pick-pro [from_commit] [to_commit]
  • from_commit: (optional) A pro/main commit hash to start from (exclusive). Must be a commit on pro/main, not an open-repo commit — see step 2. Defaults to auto-detecting the last synced pro commit.
  • to_commit: (optional) The commit hash to end at (inclusive). Defaults to pro/main HEAD.

Workflow

1. Sync remotes first
bash
git fetch pro
git fetch origin

⚠️ Tag pollution: git fetch pro also fetches pro's tags (e.g. vX.Y.Z created on pro's release branch). These local tags point at pro commits, not open repo commits. Never push them as-is — see step 8.

2. Identify commits to cherry-pick

⚠️ The range bound must be a pro/main commit. The open repo and pro/main share no history (cherry-picks create new SHAs), so an open-repo commit hash as the lower bound makes A..pro/main return all of pro's history, not the increment.

Find the last synced pro commit by reading the cherry picked from pro commit <hash> footer that step 5 writes into each open-repo commit, then list pro commits after it:

bash
# last synced pro commit (the lower bound)
last=$(git log --grep="cherry picked from pro commit" -1 --pretty=%B HEAD \
  | grep -oE 'pro commit [0-9a-f]+' | awk '{print $3}')
git log "$last"..pro/main --oneline --reverse  # commits to pick

If no footer is found (first-ever sync), pass from_commit explicitly.

3. Analyze each commit

For each commit, check the files it touches:

bash
git diff-tree --no-commit-id --name-only -r <commit>
4. Cherry-pick rules
Files/directories to SKIP (delete if conflict):
  • android/ - mobile-only, not in open repo
  • ios/ - mobile-only, not in open repo
  • capacitor.config.ts - mobile config
  • .github/ - open repo has no CI; workflow/config differs (see step 8)
  • CLAUDE.md, AGENTS.md - pro-specific AI config
  • .cursorrules - pro-specific
  • .claude/ - pro-specific skills/config (including this skill itself), never sync to open repo
Package name differences:
  • Pro uses: xyz.chatboxapp.app
  • Open uses: xyz.chatboxapp.ce
  • When resolving conflicts in package.json or release/app/package.json, always keep the open repo name (xyz.chatboxapp.ce)
Pro-only dependencies to remove if added:
  • @playwright/test - pro testing only
  • playwright - pro testing only
  • @ruguoapp/jk-analytics - pro analytics only
pnpm-lock.yaml:
  • Will almost always conflict. Accept either side, then run pnpm install --no-frozen-lockfile at the end to regenerate.
Show full SKILL.md (214 more words)Show less
5. Cherry-pick process

For each commit:

  1. Try git cherry-pick <hash> directly first
  2. If conflicts occur, use --no-commit and resolve:
    • Remove mobile-only files with git rm
    • Fix package name conflicts (keep ce)
    • Remove pro-only dependencies
    • Accept either side for pnpm-lock.yaml
  3. Commit with original message + (cherry picked from pro commit <hash>) note
6. Finalize

After all cherry-picks:

bash
pnpm install --no-frozen-lockfile  # regenerate lockfile
git add pnpm-lock.yaml
git commit -m "chore: regenerate pnpm-lock.yaml for open repo"
7. Verify
bash
git log --oneline <start>..HEAD  # review all new commits
pnpm install  # ensure deps resolve
8. Release (if syncing a version release)

The open repo has no CI workflows — releases are manual:

  1. Push the sync branch to origin/main
  2. Re-create the version tag on the open repo's commit. The local tag fetched from pro points at a pro commit — pushing it would leak pro's commit history into the open repo:
    bash
    git tag -d vX.Y.Z                 # delete pro's tag fetched in step 1
    git tag vX.Y.Z <open-repo-head>   # re-create on open repo commit
    git push origin vX.Y.Z
  3. Create the GitHub Release manually (no binary assets; notes = changelog + install links, copy format from the previous release):
    bash
    gh release view vX.Y.(Z-1) --json body --jq '.body'  # get template
    gh release create vX.Y.Z --title "vX.Y.Z" --latest --notes "..."

Version bump convention: only release/app/package.json gets the new version; root package.json stays 0.0.1 in the open repo.

Example

/cherry-pick-pro

This will auto-detect the last release on the current branch and cherry-pick all newer commits from pro/main.

© chatboxai, 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

Files

Just SKILL.md in .claude/skills/cherry-pick-pro of chatboxai/chatbox.

Open the folder on GitHubat commit 0ac6385

Compare with similar skills

Chatbox Pro Cherry-Pick Sync 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.

Chatbox Pro Cherry-Pick Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chatbox Pro Cherry-Pick Sync this skillchatboxai/chatbox42k—~1.2kAutomated safety check: PassGPL-3.0
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Ansible Backport Creatoransible/ansible71k—~1.2kAutomated safety check: PassGPL-3.0
Release Managementruby-git/ruby-git1.8k—~3.1kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone

Similar skills

  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.

    71k GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release Management

    ruby-git/ruby-git

    Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing.

    1.8k GitHub stars~3.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed

More from chatboxai/chatbox

  • Chatbox i18n Translator

    chatboxai/chatbox

    Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.

    42k GitHub stars~508 tokensUpdated 14 days ago
    Auto-check passed
  • Chatbox Session RAG Eval

    chatboxai/chatbox

    Runs and debugs evaluations of how Chatbox models answer questions about large attached files, using synthetic and real long-document fixtures.

    42k GitHub stars~758 tokensUpdated 14 days ago
    Auto-check passed

Works with

Categories

Questions about Chatbox Pro Cherry-Pick Sync

What does Chatbox Pro Cherry-Pick Sync do?

Cherry-picks commits from the chatbox-pro repo into the open chatbox repo, skipping mobile-only files and keeping the open package name. The skill syncs a range of commits from the pro remote's main branch into the open repository. The command takes an optional from-commit (exclusive, and it must be a commit on pro/main) and an optional to-commit (inclusive, defaulting to the pro/main head).

When should I use Chatbox Pro Cherry-Pick Sync?

Chatbox Pro Cherry-Pick Sync fits situations like: syncing new commits from chatbox-pro into the open chatbox repo; resolving conflicts on mobile-only or pro-specific files during a cherry-pick; finding the last synced pro commit before starting the next sync.

How do I install Chatbox Pro Cherry-Pick Sync in Claude Code?

Run `npx skills add chatboxai/chatbox --skill cherry-pick-pro -a claude-code`. Or copy the skill folder (.claude/skills/cherry-pick-pro in chatboxai/chatbox) into .claude/skills/cherry-pick-pro in your project. Claude Code loads it when a task matches its description.

How do I install Chatbox Pro Cherry-Pick Sync in Codex?

Run `npx skills add chatboxai/chatbox --skill cherry-pick-pro -a codex`. Or copy the skill folder (.claude/skills/cherry-pick-pro in chatboxai/chatbox) into .agents/skills/cherry-pick-pro in your project. Codex loads it when a task matches its description.

Can I use Chatbox Pro Cherry-Pick Sync in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chatboxai/chatbox --skill cherry-pick-pro -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-pro, .gemini/skills/cherry-pick-pro, .github/skills/cherry-pick-pro and .opencode/skills/cherry-pick-pro in your project.

What does Chatbox Pro Cherry-Pick Sync need to run?

Going by SKILL.md and its folder, Chatbox Pro Cherry-Pick Sync needs the command-line tools its instructions call (git, pnpm and gh). Our summary lists: Git remotes named pro and origin.

Does Chatbox Pro Cherry-Pick Sync access the network?

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.

Is Chatbox Pro Cherry-Pick Sync safe to install?

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.

What licence does Chatbox Pro Cherry-Pick Sync use?

Chatbox Pro Cherry-Pick Sync 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.

How many tokens does Chatbox Pro Cherry-Pick Sync use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Chatbox Pro Cherry-Pick Sync?

Skills that share tags, products or a category with Chatbox Pro Cherry-Pick Sync: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Ansible Backport Creator (ansible/ansible, 71k stars), Release Management (ruby-git/ruby-git, 1.8k stars) and Finishing a Development Branch (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chatbox Pro Cherry-Pick Sync?

chatboxai (a GitHub organization) maintains it in chatboxai/chatbox, which has 41,966 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 24, 2026.

Source: chatboxai/chatbox on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.