Agent skill

Rebase

by ruby-git in ruby-git/ruby-git

Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor.

MITAuto-check passedDevelopment

Install Rebase

skills CLI
$ npx skills add ruby-git/ruby-git --skill rebase -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruby-git/ruby-git rebase --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruby-git/ruby-git.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/rebase .claude/skills/rebase && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rebase
GitHub stars
1.8k
Token cost
~1.2k tokens
SKILL.md length
433 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor.

  • Works in 5 steps: Preflight checks and fetch → Start rebase on origin/main → Resolve conflicts and continue → …
  • Updating a feature branch from main
  • SKILL.md covers Contents, How to use this skill, Related skills and Prerequisites, plus 8 more sections
  • Calls git

What it does

Rebase is an agent skill from ruby-git/ruby-git. Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor. Use when updating a feature branch from main, handling rebase conflicts, or rewriting branch history before updating a pull request.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git workflow and Pull requests. It works with Git. The repository describes itself as: Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary. The licence is MIT.

When your agent uses it

  • Updating a feature branch from main
  • Handling rebase conflicts
  • Rewriting branch history before updating a pull request

Example prompts

  • “Use the rebase skill to rebase the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git…”
  • “/rebase”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Preflight checks and fetch
  2. Start rebase on origin/main
  3. Resolve conflicts and continue
  4. Verify the rebased branch
  5. Force-push with lease

What it can do on your machine

Read from SKILL.md and the folder at commit f3bf20f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rebase loads about 1.2k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 433 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruby-git/ruby-git at commit f3bf20f, republished under its MIT licence (© ruby-git). 433 words, ~1,152 tokens.

Download SKILL.mdSave it as .claude/skills/rebase/SKILL.md (or your agent's skills folder).
name
rebase
description
Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor. Use when updating a feature branch from main, handling rebase conflicts, or rewriting branch history before updating a pull request.

Rebase

Rebase the current branch on origin/main, resolve conflicts, and force-push the rewritten history without opening an editor.

Contents

How to use this skill

Attach this file to your Copilot Chat context, then invoke it when the current branch needs to be rebased onto origin/main and pushed.

Prerequisites

  • git is installed and authenticated for the remote.
  • The branch is a topic branch with an upstream on origin.
  • The working tree is clean before rebasing.

Safety rules

These rules are mandatory:

  • Never run this workflow on main, 5.x, or 4.x.
  • Always fetch origin immediately before rebasing.
  • Always run rebase commands with GIT_EDITOR=: and GIT_SEQUENCE_EDITOR=: so no editor opens.
  • Force-push only with --force-with-lease.

Workflow

  1. Preflight checks and fetch
  2. Start rebase on origin/main
  3. Resolve conflicts and continue
  4. Verify the rebased branch
  5. Force-push with lease

Step 1: Preflight checks and fetch

bash
git branch --show-current
git status --short --branch
git fetch --prune origin

If the current branch is main, 5.x, or 4.x, stop and ask the user to switch to a topic branch first.

If git status --short --branch shows uncommitted changes, stop and ask the user whether to commit or stash before continuing.

Step 2: Start rebase on origin/main

bash
GIT_EDITOR=: GIT_SEQUENCE_EDITOR=: git rebase origin/main

If the command succeeds, continue to Step 4. If it stops with conflicts, go to Step 3.

Show full SKILL.md (180 more words)Show less

Step 3: Resolve conflicts and continue

Repeat until the rebase completes:

  1. Inspect conflicted files:

    bash
    git status --short
  2. Edit conflicted files, remove conflict markers, and keep the intended final content.

  3. Stage resolved files:

    bash
    git add <resolved-path> [<resolved-path>...]
  4. Continue the rebase without opening an editor:

    bash
    GIT_EDITOR=: GIT_SEQUENCE_EDITOR=: git rebase --continue
  5. If Git reports an empty patch after conflict resolution, skip that commit:

    bash
    GIT_EDITOR=: GIT_SEQUENCE_EDITOR=: git rebase --skip

If the rebase cannot be completed safely, abort and report back:

bash
git rebase --abort

Step 4: Verify the rebased branch

bash
git status --short --branch
git merge-base --is-ancestor origin/main HEAD
git --no-pager log --oneline --decorate --max-count=15

git merge-base --is-ancestor origin/main HEAD must exit successfully.

Step 5: Force-push with lease

bash
git push --force-with-lease

If push is rejected, fetch and reconcile remote updates before retrying. Never replace this with plain --force.

Troubleshooting

IssueSolution
Rebase stops with conflictsResolve files, git add, then run GIT_EDITOR=: GIT_SEQUENCE_EDITOR=: git rebase --continue.
Rebase continue opens an editorRe-run with both GIT_EDITOR=: and GIT_SEQUENCE_EDITOR=: prefixes.
--force-with-lease push rejectedRun git fetch origin, inspect divergence, reconcile, and retry --force-with-lease.
Need to abandon rebasing attemptRun git rebase --abort and report the reason to the user.

© ruby-git, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/rebase of ruby-git/ruby-git.

Open the folder on GitHubat commit f3bf20f

Compare with similar skills

Rebase next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rebase compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rebase this skillruby-git/ruby-git1.8k—~1.2kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Git Branch Namingmakeplane/plane60k—~594Automated safety check: PassAGPL-3.0
Creating Description For Gh PRredis/jedis12k—~838Automated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Git Branch Naming

    makeplane/plane

    Names a new Git branch with a type prefix, the lowercased work item ID and a short kebab-case description, so the ID can be extracted later from the branch name.

    60k GitHub stars~594 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.

    12k GitHub stars~838 tokensUpdated today
    DevelopmentAuto-check passed
  • Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.

    60k GitHub stars~824 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from ruby-git/ruby-git

All 30 skills in this repo
  • Addresses unresolved pull request review threads and suppressed (low-confidence) Copilot review comments on the current branch, folds each fix into the…

    1.8k GitHub stars~657 tokensUpdated 5 days ago
    Auto-check passed
  • Breaking Change Analysis

    ruby-git/ruby-git

    Assesses what an API change would break before it is made, finds every usage, documents the impact and plans a deprecation or migration path.

    1.8k GitHub stars~1.7k tokensUpdated 5 days ago
    Auto-check passed
  • Diagnoses and fixes failing GitHub Actions runs by identifying the failure, fetching only the relevant logs, finding the root cause and reproducing it locally.

    1.8k GitHub stars~1.9k tokensUpdated 5 days ago
    Auto-check passed
  • Scaffolds and reviews `Git::Commands::*` classes in the ruby-git library, with unit tests, integration tests and YARD docs, using the Base command architecture.

    1.8k GitHub stars~3k tokensUpdated 5 days ago
    Auto-check passed
  • Gem Dependency Management

    ruby-git/ruby-git

    Workflow for updating gem dependencies and fixing CVEs in the ruby-git project: assess with bundle outdated and audit, edit the gemspec, test, then commit with conventional messages.

    1.8k GitHub stars~806 tokensUpdated 5 days ago
    Auto-check passed
  • Migrates a direct command call in Ruby Git's Git::Lib to a Git::Commands class, as part of a Strangler Fig redesign, with a plan, legacy tests and a pull request.

    1.8k GitHub stars~4.4k tokensUpdated 5 days ago
    Auto-check passed

Works with

Categories

Questions about Rebase

What does Rebase do?

Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor. Rebase is an agent skill from ruby-git/ruby-git. Rebases the current branch onto origin/main, resolves rebase conflicts, and force-pushes with lease using non-interactive Git commands that never open an editor.

When should I use Rebase?

Rebase fits situations like: updating a feature branch from main; handling rebase conflicts; rewriting branch history before updating a pull request.

How do I install Rebase in Claude Code?

Run `npx skills add ruby-git/ruby-git --skill rebase -a claude-code`. Or copy the skill folder (.github/skills/rebase in ruby-git/ruby-git) into .claude/skills/rebase in your project. Claude Code loads it when a task matches its description.

How do I install Rebase in Codex?

Run `npx skills add ruby-git/ruby-git --skill rebase -a codex`. Or copy the skill folder (.github/skills/rebase in ruby-git/ruby-git) into .agents/skills/rebase in your project. Codex loads it when a task matches its description.

Can I use Rebase in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruby-git/ruby-git --skill rebase -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rebase, .gemini/skills/rebase, .github/skills/rebase and .opencode/skills/rebase in your project.

What does Rebase need to run?

Going by SKILL.md and its folder, Rebase needs the command-line tools its instructions call (git).

Does Rebase access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Rebase safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rebase use?

Rebase is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rebase use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rebase?

Skills that share tags, products or a category with Rebase: Finishing a Development Branch (obra/superpowers, 296k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars) and Git Branch Naming (makeplane/plane, 60k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rebase?

ruby-git (a GitHub organization) maintains it in ruby-git/ruby-git, which has 1,799 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 2, 2026.

Source: ruby-git/ruby-git on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.