| name | merge-down |
| version | 1.0.0 |
| description | Use when the user is inside a parallel stream (worktree branch) and wants to bring that branch up to date with the LATEST of its parent branch — typically after one or more sibling streams have merged their work up into the parent (via /merge-up). Pulls the parent's accumulated commits down into the current branch with a true merge. Inverse of /merge-up; the parent is recorded by /parallel-work in git config (branch.<name>.exosuitParent). Read-only on the parent — safe to run while the parent worktree is busy. |
| trigger | manual |
| depends-on | [] |
| references | [] |
| disable-model-invocation | true |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Bash, AskUserQuestion |
| argument-hint | |
merge-down
Bring the current stream's branch up to date with the parent it was created
from. Use it after a round of /merge-ups have landed sibling streams' work on
the parent: each sibling still only has its OWN commits, so run this in each
stream to integrate everyone else's merged work.
This is the complement of /merge-up:
/merge-up — merge THIS branch into the parent (publish your work upward).
/merge-down — merge the parent into this branch (pull everyone's work downward).
Because all worktrees of a repository share one object store and one set of
branch refs, the parent ref already reflects every local /merge-up — no
network fetch is needed for local merges. A fetch is only relevant if merges
were pushed from another machine (Step 3 handles that optionally). This skill
never writes to the parent's working tree, so it is safe to run even while the
parent worktree is in use.
Step 1 — Identify branches
B="$(git rev-parse --abbrev-ref HEAD)"
echo "current branch: $B"
Step 2 — Pre-flight cleanliness (current worktree only)
git status --porcelain
- If dirty, STOP: merging the parent in could collide with uncommitted work. Tell
the user to commit or first, then re-run.