raine/workmux

rebase

Rebase the current branch with smart conflict resolution.

First seen Mar 2, 2026

Installation

$ npx skills add raine/workmux --skill rebase

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from raine/workmux.

npx skills add raine/workmux

Browse all from raine/workmux

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 2.4K
License LICENSE
Default branch main
Open issues 30
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Bash, Glob, Grep

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,560 B
  • docs SUMMARY.md 71 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 33 installs

SKILL.md

<!-- Customize conflict resolution strategy to match your preferences. -->

Rebase the current branch.

Arguments: $ARGUMENTS

Behavior:

  • No arguments: rebase on the current branch's workmux base branch

(git config branch.<current>.workmux-base), falling back to local main when none is configured

  • "origin": fetch origin, rebase on origin/main
  • "origin/branch": fetch origin, rebase on origin/branch
  • "branch": rebase on local branch (use "main" to force a rebase on local main)

Steps:

  1. Check for local changes with git status --porcelain:

- If the working tree has staged, unstaged, or untracked changes, stash them with git stash push --include-untracked -m "workmux rebase". - Remember whether this command created a stash. Existing stash entries must remain untouched. - If stashing fails, stop before fetching or rebasing.

  1. Parse arguments:

- No args → target is the current branch's workmux base branch (git config --get branch.$(git branch --show-current).workmux-base); if that is empty, target is "main". No fetch. - Contains "/" (e.g., "origin/develop") → split into remote and branch, fetch remote, target is remote/branch - Just "origin" → fetch origin, target is "origin/main" - Anything else → target is that branch name, no fetch

  1. If fetching, run: git fetch <remote>. If fetching or target resolution

fails before the rebase begins, restore the stash created in step 1 before stopping.

  1. Run: git rebase <target>
  2. If conflicts occur, handle them carefully (see below)
  3. Continue until rebase is complete
  4. If step 1 created a stash, restore it with git stash pop --index:

- Restore the stash only after the rebase succeeds. - If restoration conflicts, preserve the stash, report the conflicts, and leave the affected files for manual resolution.

Handling conflicts:

  • BEFORE resolving any conflict, understand what changes were made to each

conflicting file in the target branch

  • For each conflicting file, run git log -p -n 3 <target> -- <file> to see

recent changes to that file in the target branch

  • The goal is to preserve BOTH the changes from the target branch AND our

branch's changes

  • After resolving each conflict, stage the file and continue with

git rebase --continue

  • If a conflict is too complex or unclear, ask for guidance before proceeding