← ClaudeAtlas

resolve-conflictslisted

Integrate a moved target branch into a feature branch and resolve the conflicts — safely enough to run unattended. Merges the target in rather than rebasing, so the MR's existing review threads stay anchored and nothing needs a force-push. Classifies every conflicted file before touching it: lockfiles and generated artifacts are regenerated rather than hand-merged, migrations are renumbered rather than merged, additive lists are unioned, and logic conflicts are resolved by reading both sides' intent — never by picking a side. Then it proves the integration: no surviving markers, every hunk the target contributed still present in HEAD (the "took ours wholesale" check), full gates green, and the feature re-verified. Hard stops are the point: same-migration edits, unresolvable lockfiles, binaries, delete/rename conflicts, oversized conflict sets, and genuine guesswork all stop with the tree exactly as it was and a rollback anchor printed. Use when: an MR shows conflicts with its target, "resolve the conflicts",
ohyesgocool/feature-loop · ★ 0 · AI & Automation · score 70
Install: claude install-skill ohyesgocool/feature-loop
# Resolve Conflicts The target branch moved and the MR won't merge. Integrate the target into the feature branch, resolve what conflicts, and **prove** the result — then let the caller merge. `/ship-feature` calls this unconditionally from its merge gate, so **the no-conflict path must be free**: probe, find nothing, exit without creating a commit. > **Forge note.** Written for GitLab (`glab`). On GitHub: `gh pr view <n> --json > mergeable,mergeStateStatus,baseRefName` for the conflict state, `gh pr view <n> --json url` for > the link. The git work is identical. --- ## Strategy: merge the target in. Not rebase. This matters enough to state the reasoning, so nobody "optimizes" it back: 1. **Review threads are anchored to commits.** GitLab positions diff notes against `(base_sha, start_sha, head_sha)`. A rebase rewrites every commit, so after the force-push GitLab re-maps what it can and marks the rest **outdated** — those threads fall out of the diff view. In this loop that means `/address-review`'s own replies detach from the code they cite, and `/ship-feature`'s convergence check ("every thread replied to") starts reading a mangled thread set. 2. **`/mr-review`'s delta mode depends on sha ancestry.** It reads the `Reviewed: <sha>` footer and diffs from there. After a rebase that sha is no longer an ancestor of head, so the round silently falls back to a full review — correct, but it doubles reviewer cost for the rest of the loop. 3. **A bad mer