verygoodopensource/wingspan · Archived

rebase

Rebases the current feature branch onto the base branch (main/master/develop).

First seen Jun 16, 2026

Installation

$ npx skills add verygoodopensource/wingspan --skill rebase

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

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 verygoodopensource/wingspan · top by installs.

npx skills add verygoodopensource/wingspan

Browse all from verygoodopensource/wingspan

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 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 77
License LICENSE
Default branch main
Open issues 24
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

CompatibilityDesigned for Claude Code (or similar products with git access)
Allowed toolsBash(*/scripts/detect-base-branch.sh) Bash(git fetch *) Bash(git rebase *) Bash(git stash *)
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,154 B
  • docs SUMMARY.md 92 B

History

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

SKILL.md

Rebase onto base branch

Rebase the current feature branch onto the latest base branch to keep it up-to-date and prevent merge conflicts from accumulating.

Step 1: Validate preconditions

Run these checks in order. If any fail, inform the user and stop.

Detect current branch and base branch

git rev-parse --abbrev-ref HEAD

If the result is main, master, or develop — inform the user they're already on the base branch and stop.

Detect the base branch:

${CLAUDE_SKILL_DIR}/scripts/detect-base-branch.sh

If the script exits with an error, inform the user no base branch was found and stop.

Check for uncommitted changes

git status --porcelain

If there are uncommitted changes, use AskUserQuestion:

Question: "You have uncommitted changes. Rebase requires a clean working tree. What would you like to do?"

Options:

  1. Stash and rebase (Recommended) — git stash before rebasing, git stash pop after
  2. Cancel — stop without changes

Step 2: Fetch and check

git fetch origin <base-branch> --quiet

Compare the merge base with the remote base:

git merge-base HEAD origin/<base-branch>
git rev-parse origin/<base-branch>

If they match, the branch is already up-to-date. Inform the user and stop.

Step 3: Rebase

git rebase origin/<base-branch>

On success

Report how many commits ahead of the base branch:

git rev-list --count origin/<base-branch>..HEAD

On conflict

Abort the rebase:

git rebase --abort

If changes were stashed in Step 1, restore them with git stash pop.

Inform the user that the rebase had conflicts and suggest resolving manually:

Automatic rebase failed due to conflicts. To resolve manually, run: git rebase origin/<base-branch>

Gotchas

  • If the branch has already been pushed to a remote, rebasing rewrites history. The user will need to force-push (git push --force-with-lease) after a successful rebase — warn them.
  • git stash pop can itself cause conflicts if stashed changes overlap with rebased commits. If stash pop fails, inform the user and suggest git stash show to review the stashed changes.
  • Detached HEAD state (HEAD instead of a branch name) means the user is not on any branch. Inform them and stop — do not attempt to rebase.
  • If the base branch does not exist locally but does on the remote, git fetch in Step 2 will create the remote tracking ref. The rebase uses origin/<base-branch>, not the local branch.

Important

  • This skill only manages git state. Do not modify project files.
  • If changes were stashed, always restore them — even if the rebase fails.