Agent skill

Stack Rebase

by athola in athola/claude-night-market

Cascades a rebase through an entire PR stack after a base PR merges or upstream changes.

MITAuto-check passedDevelopment

Install Stack Rebase

skills CLI
$ npx skills add athola/claude-night-market --skill stack-rebase -a claude-code

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

GitHub CLI
$ gh skill install athola/claude-night-market stack-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/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sanctum/skills/stack-rebase .claude/skills/stack-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
stack-rebase
GitHub stars
342
Token cost
~1.6k tokens
SKILL.md length
659 words
Files
1
Skills in repo
159
Repo updated
First seen
Licence
MIT

At a glance

Cascades a rebase through an entire PR stack after a base PR merges or upstream changes.

  • Works in 6 steps: Fetch Remote State (fetch-complete) → Identify the Trigger (trigger-identified) → Run the Cascading Rebase (rebase-complete) → …
  • A stack needs to incorporate new base branch commits
  • SKILL.md covers When To Use, When NOT To Use, Prerequisites and Required Progress Tracking, plus 9 more sections
  • Calls git and gh

What it does

Stack Rebase is an agent skill from athola/claude-night-market. Cascades a rebase through an entire PR stack after a base PR merges or upstream changes. Use when a stack needs to incorporate new base branch commits.

Its SKILL.md is about 1.6k 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. It works with Git. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • A stack needs to incorporate new base branch commits
  • Tasks that involve Git workflow

Example prompts

  • “Use the stack-rebase skill to cascade a rebase through an entire PR stack after a base PR merges or upstream changes”
  • “/stack-rebase”

Workflow steps

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

  1. Fetch Remote State (fetch-complete)
  2. Identify the Trigger (trigger-identified)
  3. Run the Cascading Rebase (rebase-complete)
  4. Resolve Conflicts (conflicts-resolved)
  5. Force-Push Updated Branches (force-pushed)
  6. Update PR Bases (prs-updated)

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. 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
    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use git and gh, 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

Stack Rebase loads about 1.6k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 659 words of instructions outside code blocks.

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

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 athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 659 words, ~1,649 tokens.

Download SKILL.mdSave it as .claude/skills/stack-rebase/SKILL.md (or your agent's skills folder).
name
stack-rebase
description
Cascades a rebase through an entire PR stack after a base PR merges or upstream changes. Use when a stack needs to incorporate new base branch commits.
alwaysApply
false
category
workflow-automation
tags
git, stacked-diffs, rebase, pr, cascade
complexity
medium
model_hint
standard
estimated_tokens
900
dependencies
sanctum:stack-create, sanctum:stack-push, sanctum:git-workspace-review

Stack Rebase

Cascade a rebase through an entire PR stack after a base PR merges or the upstream base branch changes.

When To Use

Run stack-rebase in any of these situations:

  • The first PR in the stack merged into master; the second PR now needs to target master directly
  • master has moved forward and stack branches need to incorporate the new commits
  • A mid-stack PR was revised and descendants need to pick up the change

When NOT To Use

  • The stack has never been published (use sanctum:stack-push)
  • The stack does not exist yet (use sanctum:stack-create)

Prerequisites

  • All slice branches exist locally (git branch --list)
  • Remote is up to date (git fetch origin)
  • Working tree is clean (git status)
  • Git 2.38+ for --update-refs

Required Progress Tracking

Create TodoWrite items before starting:

  1. stack-rebase:fetch-complete
  2. stack-rebase:trigger-identified
  3. stack-rebase:rebase-complete
  4. stack-rebase:conflicts-resolved
  5. stack-rebase:force-pushed
  6. stack-rebase:prs-updated

Step 1: Fetch Remote State (fetch-complete)

bash
git fetch origin

If the merged PR's branch still exists on remote, note that GitHub retains the branch after merge. The merged branch itself is no longer a valid stack base.

Step 2: Identify the Trigger (trigger-identified)

Determine what changed:

Case A, Base PR merged into master: The slice that was the old "root" is now in master. All remaining slices need to rebase onto master.

bash
# Confirm the merged branch is now in master
git branch -r --merged origin/master | grep "${MERGED_BRANCH}"

Case B, Master moved forward: Slices are behind master but the stack topology is unchanged. Rebase the root slice onto master; --update-refs carries all descendants.

Case C, Mid-stack revision: A slice was amended. All descendant slices need to rebase onto it.

Step 3: Run the Cascading Rebase (rebase-complete)

Case A and B: Rebase root slice onto master
bash
STACK=stack/my-feature
BASE=master

# Check out the root slice
ROOT_SLICE=$(git branch --list "${STACK}/*" \
  | sed 's/^[* ]*//' | sort | head -1)

git checkout "${ROOT_SLICE}"

# Rebase with --update-refs rewrites all stack branches
git rebase --update-refs origin/${BASE}

--update-refs scans the reflog and updates every local branch ref that points to a commit being rebased. All slice branches in the stack are rewritten in one pass.

Case C: Rebase from a mid-stack slice
bash
# Check out the first slice BELOW the amended one
CHILD_SLICE=stack/my-feature/add-api  # example

git checkout "${CHILD_SLICE}"
git rebase --update-refs stack/my-feature/add-schema
jj Accelerator (if available)
bash
# jj rebases all descendants automatically on any change
# To rebase the whole stack onto master:
jj rebase -d master \
  -r "ancestors(${STACK}/add-ui) & !ancestors(master)"

Step 4: Resolve Conflicts (conflicts-resolved)

If the rebase pauses with conflicts:

bash
# See which file conflicts
git status

# After resolving each file:
git add <resolved-file>
git rebase --continue

Repeat until the rebase completes. If a conflict is too complex, abort and investigate:

bash
git rebase --abort

Then examine the diff between the conflicting commits before retrying.

Step 5: Force-Push Updated Branches (force-pushed)

After a successful rebase, push all slice branches. Use --force-with-lease to guard against remote changes made since the last fetch:

bash
for branch in $(git branch --list "${STACK}/*" \
    | sed 's/^[* ]*//' | sort); do
  git push --force-with-lease origin "${branch}"
  echo "force-pushed: ${branch}"
done

Never use --force (drops the remote-change guard).

jj Accelerator (if available)
bash
jj git push --all --allow-new
Show full SKILL.md (280 more words)Show less

Step 6: Update PR Bases (prs-updated)

Case A only: After the root slice merged and you rebased remaining slices onto master, the next PR in the stack now targets the wrong base. Update its base via the GitHub CLI:

bash
NEXT_PR=456   # PR number of the new stack root

gh pr edit "${NEXT_PR}" --base master

For PRs further down the stack, their bases remain the previous slice branch, which --update-refs already rewrote; no base edit is needed for them.

Verify the full stack is consistent:

bash
for branch in $(git branch --list "${STACK}/*" \
    | sed 's/^[* ]*//' | sort); do
  pr_num=$(gh pr list --head "${branch}" \
    --json number,baseRefName \
    --jq '.[0] | "#\(.number) base=\(.baseRefName)"')
  echo "${branch}: ${pr_num}"
done

Conflict Prevention Tips

  • Keep slices small: the smaller each PR, the less surface area for conflicts during rebase
  • Rebase frequently: rebasing onto a freshly merged master once a day is cheaper than resolving a week of drift
  • Avoid amending commits that are already under review; prefer a fixup commit and squash at merge time

Notes

  • git rebase --update-refs requires Git 2.38+; confirm with git version before running
  • If --update-refs is unavailable, manually check out and rebase each slice branch in order from root to tip
  • After force-pushing, GitHub automatically marks PR reviews as stale; remind reviewers to re-approve
  • The stack-push skill documents how to re-post the stack summary comment after a rebase changes PR SHAs

Exit Criteria

  • All 6 TodoWrite items (stack-rebase:fetch-complete through stack-rebase:prs-updated) are created before the rebase starts and marked complete in order
  • git fetch origin completes before the rebase trigger is identified and classified as Case A, B, or C
  • git rebase --update-refs completes without abort for Cases A and B; if conflicts occur, each is resolved before continuing
  • All slice branches force-pushed with --force-with-lease; plain --force is never used
  • For Case A only: gh pr edit <next-pr> --base master updates the new stack root's base target and the full stack topology verified with gh pr list output

© athola, 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 plugins/sanctum/skills/stack-rebase of athola/claude-night-market.

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Stack 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.

Stack Rebase compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Stack Rebase this skillathola/claude-night-market342—~1.6kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost55k—~3.8kAutomated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

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
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k 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
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated today
    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 Merge Conflict Resolver

    tailcallhq/forgecode

    Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.

    7.6k GitHub starsUsed in 1 repo~4.5k tokens
    DevelopmentAuto-check passed

More from athola/claude-night-market

All 159 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    342 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    342 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Stack Rebase

What does Stack Rebase do?

Cascades a rebase through an entire PR stack after a base PR merges or upstream changes. Stack Rebase is an agent skill from athola/claude-night-market. Cascades a rebase through an entire PR stack after a base PR merges or upstream changes.

When should I use Stack Rebase?

Stack Rebase fits situations like: A stack needs to incorporate new base branch commits; tasks that involve Git workflow.

How do I install Stack Rebase in Claude Code?

Run `npx skills add athola/claude-night-market --skill stack-rebase -a claude-code`. Or copy the skill folder (plugins/sanctum/skills/stack-rebase in athola/claude-night-market) into .claude/skills/stack-rebase in your project. Claude Code loads it when a task matches its description.

How do I install Stack Rebase in Codex?

Run `npx skills add athola/claude-night-market --skill stack-rebase -a codex`. Or copy the skill folder (plugins/sanctum/skills/stack-rebase in athola/claude-night-market) into .agents/skills/stack-rebase in your project. Codex loads it when a task matches its description.

Can I use Stack 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 athola/claude-night-market --skill stack-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/stack-rebase, .gemini/skills/stack-rebase, .github/skills/stack-rebase and .opencode/skills/stack-rebase in your project.

What does Stack Rebase need to run?

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

Does Stack Rebase access the network?

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

Is Stack 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 Stack Rebase use?

Stack 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 Stack Rebase use?

About 1.6k tokens (SKILL.md is roughly 6.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 Stack Rebase?

Skills that share tags, products or a category with Stack Rebase: Finishing a Development Branch (obra/superpowers, 296k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Stack Rebase?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 342 GitHub stars. The repository holds 159 skills in this directory. The repository was last updated on October 6, 2026.

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