merge-3-way-splitlisted
Install: claude install-skill DazzleML/dazzle-claude-code-config
# merge-3-way-split — pre-merge 3-way diff review
## Target: "$ARGUMENTS"
Read-only analysis of an upcoming merge. Inform the integrator about
what's coming in -- per-file, side by side -- BEFORE `git merge` runs.
Use when: you're about to merge a non-trivial branch (parallel work,
multiple authors, multiple days/weeks of changes) and want to
understand the full scope of incoming changes before letting git's
default 3-way merge mutate files.
If no target is given, default to `main`.
## Steps
### 1. Identify branches and base
- Current branch: `git rev-parse --abbrev-ref HEAD`
- Target branch (from $ARGUMENTS or default `main`)
- Merge base: `git merge-base HEAD <target>`
- Quick stats: how many commits each side has since the base
(`git rev-list --count <base>..HEAD` and `<base>..<target>`)
- Summary line: "Merging N commits from <target> into M commits on
<branch> diverged at <base-short-sha>."
### 2. Classify file sets
Compute three sets relative to the merge base:
- **only-ours**: files modified on HEAD but untouched on target
(`git diff --name-only <base>..HEAD` MINUS
`git diff --name-only <base>..<target>`)
- **only-theirs**: files modified on target but untouched on HEAD
(the complement)
- **dual-touched**: files modified on both sides
(intersection of the two diff lists)
Report counts. Highlight that only-ours / only-theirs will auto-merge
trivially -- dual-touched is where attention is needed.
### 3. Per-file 3-way view (dual-touched only)
For