Rebase main
Shared AI agent skills
npx -y skills add flurdy/agent-skills --skill rebase-mainAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Rebase the current branch onto an updated main branch. Use when main has been updated and you need to incorporate those changes into your feature branch.
SKILL.md
2.5 KB, 554 tokens by cl100k_base, as published. Nobody here has run it
Rebase onto Main
Rebase the current feature branch onto the latest main branch.
Usage
/rebase-main
Instructions
1. Check Current State
# Get current branch
git branch --show-current
# Check for uncommitted changes
git status --porcelain
If there are uncommitted changes, ask the user whether to:
- Stash them before rebasing
- Commit them first
- Abort the rebase
2. Fetch Latest Main
git fetch origin main
3. Check if Rebase is Needed
# See how many commits main is ahead
git rev-list --count HEAD..origin/main
If main is not ahead, inform the user the branch is already up to date.
4. Perform Rebase
git rebase origin/main
5. Handle Conflicts
If conflicts occur:
-
List the conflicting files:
git diff --name-only --diff-filter=U -
For each conflicting file:
- Read the file to understand the conflict
- Resolve the conflict appropriately
- Stage the resolved file:
git add {file}
-
Continue the rebase:
git rebase --continue -
If conflicts are too complex, offer to abort:
git rebase --abort
6. Verify With Tests
After the rebase completes (especially if conflicts were resolved), run the project's tests to confirm nothing was broken by the rebase or the conflict resolution.
Try the project's standard test command in this order:
# Prefer Makefile target if present
make test
# Otherwise the project's package manager
npm test
# or
npx <test-runner>
# or
sbt test
If tests fail, stop and report to the user before pushing. Do not force-push a broken rebase. If the rebase was trivial (no conflicts) and the user wants to skip testing, they can say so — but default to running them.
7. Force Push (if branch was already pushed)
# Check if branch has upstream
git rev-parse --abbrev-ref @{upstream} 2>/dev/null
# If it does, force push with lease for safety
git push --force-with-lease
8. Report Result
Tell the user:
- How many commits were rebased
- Whether force push was needed
- Any conflicts that were resolved