Use when you need to resolve an in-progress git merge/rebase conflict.
cd ~/.claude/skills
git clone https://github.com/mattpocock/skills.git skills mkdir -p ~/.claude/skills/resolving-merge-conflicts
curl -fsSL https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/resolving-merge-conflicts/SKILL.md \
-o ~/.claude/skills/resolving-merge-conflicts/SKILL.md See the current state of the merge/rebase. Check git history, and the conflicting files.
Find the primary sources for each conflict. Understand deeply why each change was made, and what the original intent was. Read the commit messages, check the PRs, check original issues/tickets.
Resolve each hunk. Preserve both intents where possible. Where incompatible, pick the one matching the merge’s stated goal and note the trade-off. Do not invent new behaviour. Always resolve; never --abort.
Discover the project’s automated checks and run them — typically typecheck, then tests, then format. Fix anything the merge broke.
Finish the merge/rebase. Stage everything and commit. If rebasing, continue the rebase process until all commits are rebased.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when executing implementation plans with independent tasks in the current session
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when implementing any feature or bugfix, before writing implementation code
Use when creating new skills, editing existing skills, or verifying skills work before deployment