agentleFS
Yeachan-HeoYeachan-Heo/oh-my-claude-sisyphus/skills/fix-merge-conflicts/SKILL.md

fix-merge-conflicts

Skill41k starsChanged 4 days agoMITView on GitHub

Resolve merge conflicts non-interactively: start the integration, read both sides' intent from their commits, preserve both intents, validate on the resolved tree. Never force-pushes shared branches.

12 other projects use a version of this.

Trending

Quiet since January.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 3 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the Yeachan-Heo/oh-my-claude-sisyphus repository that our weekly crawl found: only 3 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Most recently taken up by

Used with

Projects with it also use check-compiler-errors, new-branch-and-pr and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • cogine-aiSkill

    check-compiler-errors

    Run compile and type-check commands and report failures

    Also in 3 projects that use this

  • cogine-aiSkill

    new-branch-and-pr

    Create a fresh branch, complete work, and open a pull request

    Also in 3 projects that use this

  • MicrosoftSkill

    run-smoke-tests

    Run smoke tests to verify extension functionality in a real VS Code environment. Use this when checking if basic features work after changes.

    Also in 3 projects that use this

  • ArthurMor4isSkill

    review-and-ship

    Implement changes, use `/review-bugbot` before pushing, fix critical issues, then handle the full Git + GitHub workflow — branch, commit, push, PR. Use when the user wants to ship with validation, says "review and ship", "ship after review", "run bugbot then push", "review before PR", or asks to implement a feature/fix and submit it only after a Bugbot pass. Prefer this over `ship` when code quality review is expected before the PR goes up.

    Also in 3 projects that use this

  • learnerLjSkill

    verify-this

    Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.

    Also in 3 projects that use this

  • +1 more from cogine-ai

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 11 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Validate: run the project's checks (build/test/lint at minimum) on the resolved tree.

    line 49
  2. Distinctive:

    If intent analysis, resolution, or validation cannot complete after a merge starts, run git merge --abort.

    line 52
  3. Distinctive:

    Never resolve by "take ours/theirs" wholesale.

    line 67

“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Fix Merge Conflicts

A conflict is two intents meeting in one file. Resolution that flattens either intent is a bug with a clean git status.

Workflow

  1. Establish ownership: you resolve conflicts on a branch you own, against a base others own. Conflicts on a shared branch get reported to the owner, not resolved unilaterally.
  2. Start the approved integration first: fetch the remote base (git fetch origin <base>) and merge the fetched SHA — git merge FETCH_HEAD (or the project's rebase convention, when the caller has not constrained it) — so the conflicts you inspect match what GitHub reported; a local base ref can be absent or behind origin/<base>, and git merge never refreshes it implicitly. A mergeable: conflicting answer from the remote, or a clean local branch, has no MERGE_HEAD — git log --merge before integrating exits 128.
  3. Read both intents: git log --merge -p -- <file> for each conflicted file once the merge is in progress — what did each side change and why (commit messages are evidence). Conflict markers show the what; the commits show the why. On the rebase path there is no MERGE_HEAD — git log --merge reads nothing there; read the topic side with git show REBASE_HEAD -- <file> (the dotted range REBASE_HEAD..HEAD excludes the topic commit itself, so it shows only the base side) and the base side with git log -p HEAD -- <file> until the rebase continues. When the caller forbids starting an integration at all (e.g. read-only inspection), compare explicit ranges instead: git log -p <base>...HEAD -- <file>.
  4. Resolve: the default is both-intent-preserving — base side's change and branch side's change both survive, composed. When the intents are genuinely incompatible, the base (upstream) intent wins on shared surfaces and the branch adapts, and the override is reported with its reason.
  5. Validate: run the project's checks (build/test/lint at minimum) on the resolved tree. A resolution that compiles but breaks a test took the wrong side somewhere. If intent analysis, resolution, or validation cannot complete after a merge starts, run git merge --abort; after a rebase starts, run git rebase --abort. If abort is unsafe or unavailable, stop and hand off the repository with the active MERGE_HEAD/REBASE_HEAD and conflict list explicitly reported.
  6. Finalize: for a rebase, stage each resolved file and run git rebase --continue repeatedly until git status shows no active rebase. Validate that final tree before pushing. Then commit the resolution with a message naming what each side wanted. No force-push to shared branches, ever; a rebased own-branch uses --force-with-lease — unless a caller (e.g. babysit) forbids rebase and force-push entirely, in which case merge-commit resolution is the only path.

Rules

  • Never resolve by "take ours/theirs" wholesale; that is choosing a winner, not resolving.
  • Generated files (lockfiles, snapshots) regenerate rather than hand-merge.
  • The resolution commit's message states the two intents it composed — the next archaeologist (why) will need it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.