Git resolve conflicts
Skill ainova-systems/intelligence-dev-packs/packs/core/skills/git-resolve-conflicts
Intelligence pack for software engineering based on Ainova Systems best practices
npx -y skills add ainova-systems/intelligence-dev-packs --skill git-resolve-conflictsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Resolve merge or rebase conflicts semantically, then re-verify the full gates
SKILL.md
1.5 KB, as published. Nobody here has run it
Resolve Conflicts
The result must preserve the intent of both sides, never just pick one. Invoke when git reports conflicts or a PR shows CONFLICTING.
Steps
git status- identify the operation (merge/rebase/cherry-pick) and the conflicted files.- For each file: read the whole conflict, then both sides' intent -
git log --oneline <ours>..<theirs> -- <file>and the reverse. Goals matter more than text. - Resolve by combining intents. Genuinely incompatible - STOP and present both intents with a recommendation; that call is the owner's.
- Generated files - regenerate with the owning tool, never hand-merge output. Lockfiles - resolve the manifest, regenerate the lockfile with the package manager.
- Check the unmarked overlap: when both branches touched the same feature, verify the merged behavior, not only the conflict-marked files.
- Re-run the full gates (
dev-run-tests) - a clean merge that fails tests is not resolved. - Complete the operation (standard merge message, or
git rebase --continue) and push fast-forward.
Verify
git grep -n '<<<<<<<'returns nothing; gates green; behavior from both branches survives.
Scope / hand-off
- Merge vs rebase policy - profile
update_strategy; the PR loop -git-finalize-pr.
CRITICAL
- Never resolve by discarding one side wholesale; never force-push the result to a shared branch.