Install
$ agentstack add skill-stealth-engine-skills-resolve-merge-conflicts ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Resolve merge conflicts (non-destructively)
Resolve git conflicts so that both sides' intent survives, verify the result, and stop and ask a human the moment a safe resolution isn't obvious. The git mechanics are the easy part; the danger is silently dropping someone's work — a blind "take theirs," a clean-looking textual merge that's logically broken, or a force-push over a teammate's commits.
Command recipes live in [reference/playbook.md](./reference/playbook.md) (load on demand). This body is the decision rules.
First: rebase or merge?
You update a feature/PR branch against its base one of two ways. Either is fine — pick by context, not dogma:
| | git rebase origin/main | git merge origin/main | | --- | --- | --- | | History | linear (replays your commits) | adds a merge commit | | Conflicts | may re-hit the same conflict per replayed commit (turn on rerere) | resolve once | | Push after | --force-with-lease (rewrites your branch) | normal push | | Best for | your own unshared PR branch | a branch others also commit to |
In a squash-merge repo (see [git-trunk-branch-and-pr-automation](../git-trunk-branch-and-pr-automation/SKILL.md)) the feature branch's history is flattened at merge anyway, so a merge commit on the branch is harmless — when a rebase keeps re-conflicting, merge instead and resolve once. Never rebase a branch other people are actively committing to.
The non-negotiable safety rules
- Never blind-resolve a whole side.
-X ours/-X theirs(strategy options)
and git checkout --ours/--theirs take one side wholesale and throw the other away silently. They're only correct for files you will regenerate (e.g. lockfiles) or a file that genuinely should be one side entirely — never as a "make the markers go away" shortcut.
- Resolve hunk-by-hunk, preserving both intents. A conflict means both sides
changed the same region. The correct result is usually neither side verbatim but a combination. Turn on diff3/zdiff3 so you can see the common ancestor and reason about what each side changed from (recipe in the playbook).
- Know the rebase ours/theirs inversion. During
git merge,ours=your branch,
theirs=incoming. During git rebase, it's flipped: ours=the branch you're replaying onto (e.g. main), theirs=your commits. Acting on the wrong one discards exactly the work you meant to keep.
- Keep the escape hatch ready.
git merge --abort/git rebase --abort/
git cherry-pick --abort returns you to a clean pre-conflict state. If unsure, abort and reassess rather than push a half-resolved tree. git reflog + ORIG_HEAD recover from a bad finish.
- Force-push only
--force-with-lease, only your own PR branch. Plain
--force clobbers teammate commits pushed since your last fetch; --with-lease refuses if the remote moved.
- Never commit conflict markers. Run
git diff --checkand
git diff --cached --check (staged markers won't show in the unstaged diff after git add), plus a grep for `,
- GitHub PR mergeability fields (
mergeable,mergeStateStatus=DIRTYon
conflict):
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: stealth-engine
- Source: stealth-engine/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.