home / skills / jmerta / codex-skills / rebase-assistant
This skill guides a safe git rebase of your current branch onto a target branch, with built-in conflict resolution guidance.
npx playbooks add skill jmerta/codex-skills --skill rebase-assistantReview the files below or copy the command above to add this skill to your agents.
---
name: rebase-assistant
description: Guide a safe git rebase of the current branch onto a target branch, including conflict triage and resolution steps. Use when asked to rebase, update a branch, or resolve rebase conflicts.
---
# Rebase assistant
## Goal
Rebase the current branch onto a target branch safely, with built-in conflict resolution guidance.
## Inputs to confirm (ask if missing)
- Target branch (explicit branch name or "default branch").
- Preferred conflict bias when ambiguous: keep ours, keep theirs, or manual merge.
- Protected paths or file types to avoid touching.
## Workflow
1) Identify the target branch
- If user says "default branch": discover via `git remote show origin` (read "HEAD branch").
- If ambiguous or no remote: ask the user which branch to use.
2) Preflight checks
- `git status -sb` (must be clean before rebase).
- `git fetch --prune` to sync remotes.
- Optional safety branch (ask before creating): `git branch backup/<current-branch>`.
3) Start the rebase
- `git rebase <target-branch>`
4) If conflicts occur, resolve (repeat per file)
- Inspect conflict list:
- `git status -sb`
- `git diff --name-only --diff-filter=U`
- Classify and inspect:
- Content conflicts: open file, resolve markers.
- Delete/modify or rename conflicts: decide keep vs delete explicitly.
- Binary conflicts: choose ours/theirs only.
- Show base/ours/theirs when useful:
- `git show :1:<path>`
- `git show :2:<path>`
- `git show :3:<path>`
- File-level choice when safe:
- `git checkout --ours <path>`
- `git checkout --theirs <path>`
- Stage resolved files: `git add <path>`
- Continue: `git rebase --continue`
5) Finish and verify
- Ensure no conflicts: `git status -sb`
- Suggest a fast test/build if available.
## Safety rules
- Never run `git reset --hard`, `git clean -fd`, or `git rebase --abort` unless the user explicitly requests it.
- Always show candidate commands before applying destructive changes.
## Deliverables
- The exact rebase command used and target branch.
- Conflict list grouped by type with per-file resolution guidance.
- Completion command and a short verification suggestion.
This skill guides a safe git rebase of the current branch onto a chosen target branch, with conflict triage and step-by-step resolution instructions. It focuses on preflight checks, clear candidate commands, and non-destructive conflict handling to protect work and history.
The assistant confirms the target branch and preferred conflict bias, runs preflight checks (clean status, fetch, optional backup branch) and provides the exact rebase command to run. If conflicts appear, it lists conflicted files, groups them by conflict type, and gives per-file resolution guidance including commands to inspect base/ours/theirs, safe checkout choices, staging, and how to continue the rebase. It finishes with verification and suggested quick tests.
What do you need before starting a rebase?
Confirm the target branch (or resolve default branch via remote), preferred conflict bias, and whether to create a backup branch. Ensure the working tree is clean and remotes are fetched.
Can you run destructive commands for me?
No. The skill will show candidate destructive commands (reset --hard, clean -fd, rebase --abort) but will not run them unless you explicitly request and confirm.