merge-downlisted
Install: claude install-skill joris887/exosuit
______________________________________________________________________
## 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-up`s 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
```bash
B="$(git rev-parse --abbrev-ref HEAD)"
echo "current branch: $B"
```
- If `B` is `HEAD` (detached), STOP — tell the user to check out a branch.
- Resolve the parent `P`:
```bash
P="$(git config "branch.$B.exosuitParent" || true)"
```
- If empty, fall back to stripping the last `-<suffix>` (e.g. `sprint-3-a` →
`sprint-3`) and verify it exists: `git show-ref --verify --quiet refs/heads/<cand>`.
- If still unresolved or ambiguous, ASK the user w