From sanctum
Initializes a stacked branch set from an ordered plan, one branch per slice with parent-child links. Use when a plan has 2+ sequentially dependent changes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sanctum:stack-createThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize a stacked branch set from a multi-step plan.
Initialize a stacked branch set from a multi-step plan. Each logical slice of the plan becomes one branch targeting the previous slice's branch as its base.
Use stack-create when a plan produces 2 or more ordered
changes where each change depends on the previous one
completing (and merging) before it can land.
For independent changes, use parallel worktrees instead
(see egregore).
sanctum:stack-push)git version | awk '{print $3}' to check)gh CLI authenticateddo-issue or
attune:blueprint)git status)Create TodoWrite items before starting:
stack-create:git-version-checkedstack-create:slices-identifiedstack-create:branches-createdstack-create:stack-verifiedgit-version-checked)git version
Confirm the output is 2.38.0 or higher.
If not, the --update-refs flag is unavailable.
Warn the user and fall back to manual branch tracking.
Check for optional jj accelerator:
if command -v jj &>/dev/null && jj root &>/dev/null 2>&1; then
echo "jj available"
else
echo "using git --update-refs"
fi
slices-identified)Read the plan and extract ordered slices. Each slice must satisfy:
Example slices for a plan with three parts:
Slice 1: add-schema -- database schema changes
Slice 2: add-api -- API layer (depends on schema)
Slice 3: add-ui -- frontend (depends on API)
Record the slice list before creating branches.
branches-created)Starting from the base branch (usually master or main):
BASE=master
STACK=stack/my-feature
# Slice 1 branches from master
git checkout -b ${STACK}/add-schema ${BASE}
# Slice 2 branches from slice 1
git checkout -b ${STACK}/add-api ${STACK}/add-schema
# Slice 3 branches from slice 2
git checkout -b ${STACK}/add-ui ${STACK}/add-api
Convention: stack/<feature-name>/<slice-name>
Return to the first slice branch to begin work:
git checkout ${STACK}/add-schema
# jj creates an empty commit on each branch automatically
# Use jj new to move to a new change
jj new -m "stack: add-schema" --no-edit
stack-verified)Confirm the branch topology is correct:
git log --oneline --graph \
${BASE}..${STACK}/add-ui
Each slice branch should appear as a linear chain above the base.
If jj is available:
jj log --revisions \
"ancestors(${STACK}/add-ui, 10) & !ancestors(${BASE})"
stack-push to
open PRs, or work slice-by-slice and push when readystack-create:git-version-checked
through stack-create:stack-verified) are created before branch
creation starts and marked complete in orderstack/<feature-name>/<slice-name>git log --oneline --graph <base>..<tip> shows a linear chain
with each slice branch appearing in dependency ordernpx claudepluginhub athola/claude-night-market --plugin sanctumPushes all branches in a stacked diff workflow and opens or updates dependent PRs for each slice. Use after stack-create or after adding commits to update the remote.
Manages stacked pull requests by breaking features into dependent branches, creating/restacking/syncing PRs with correct base branches using git and GitHub gh CLI.
Builds, publishes, synchronizes, validates, merges, and cleans up stacked pull requests without corrupting branch topology.