From odh-ai-helpers
Syncs code from an upstream GitHub repository into a target fork. Detects remotes, fetches upstream, merges into a sync branch, resolves conflicts, and opens a PR.
How this skill is triggered — by the user, by Claude, or both
Slash command
/odh-ai-helpers:github-sync-upstream [commit-sha][commit-sha]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Merge upstream commits into a sync branch on the user's fork and open a
Merge upstream commits into a sync branch on the user's fork and open a
PR to the target repo. See references/workflow.md for exact script
invocations, exit-code handling, and the summary template.
Commit SHA (optional): $ARGUMENTS
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || REPO_ROOT=""
If REPO_ROOT is non-empty, run scripts/detect-remotes.sh --repo "${REPO_ROOT}"
and ask via AskUserQuestion whether this is the correct repo.
If yes → Step 2A. If no or not in a repo → Step 2B.
Pre-fill upstream/target from detect-remotes output. Ask via
AskUserQuestion to confirm: upstream repo, target repo, branches
(default main). Run scripts/setup-remotes.sh, parse UPSTREAM_REMOTE and
TARGET_REMOTE. Save ORIGINAL_BRANCH from current HEAD.
Ask for upstream repo, target repo, and branches. If the user has a
local clone, use its path and continue as Step 2A. If not, ask if they
have a GitHub fork — run scripts/clone-fork.sh then scripts/setup-remotes.sh. If
no fork exists, ask them to create one and re-run. Stop.
Save ORIGINAL_BRANCH from current HEAD.
Protected files keep the target version, discarding upstream changes.
Ask via AskUserQuestion for glob patterns to protect (or none).
Suggest common examples: OWNERS*, .tekton/*.yaml,
Dockerfile*konflux.
Verify origin does not point to upstream or target. If it does, tell
the user to set origin to their personal fork and stop.
Run scripts/sync-merge.sh. Handle exit codes 0 (success), 1 (conflicts), and
3 (duplicate branch) as described in references/workflow.md.
Show PR summary and ask via AskUserQuestion: open a PR or just push?
If confirmed, run scripts/open-pr.sh.
Check out ORIGINAL_BRANCH. For Path B clones, inform the user of the
temp directory. Display the summary per references/workflow.md.
npx claudepluginhub opendatahub-io/skills-registry --plugin odh-ai-helpersManages forked repositories by syncing with upstream, detecting divergence, and preparing commits for contribution via git and GitHub CLI.
Updates Git branch by fetching and merging upstream changes, with intelligent conflict resolution using context from commits and files. Use for syncing branches, pulling latest from main, or resolving PR conflicts.
Merges current branch into a target branch, pushes if remote exists, then returns to original branch. Useful for syncing work branches without staying on target.