merge

Integrates work between Git branches using the merge strategy matching their branch types.

Updated Feb 12, 2026
One-click install
npx skills add https://github.com/kieranpotts/skills --skill merge-kieranpotts
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: merge
Source: https://github.com/kieranpotts/skills/tree/main/skills/merge
Command: npx skills add https://github.com/kieranpotts/skills --skill merge-kieranpotts

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Merging branches incorrectly — squashing short-lived branches, forcing non-fast-forward trunk promotions, or resolving conflicts at the wrong moment — corrupts history and loses rollback granularity. This Skill selects and executes the correct Git merge strategy based on the source and target branch types, then verifies the result before pushing. ## Core Features & Use Cases - Strategy selection by branch type: Applies rebase-then-fast-forward for short-lived branches, squash merges for long-lived branches, merge commits for trunk-to-epic integration, and fast-forward only for trunk promotions. - Conflict resolution discipline: Resolves conflicts where the work was done, detects semantic conflicts via build and test runs, and aborts and escalates when a conflict reveals a design disagreement. - Verification and cleanup: Runs the project's build and test commands on the merged result, checks history linearity, confirms no conflict markers remain, and deletes disposable branches locally and remotely. - Use Case: After finishing a feature on temp/482-idempotency, ask the agent to merge it into dev; it rebases the branch, fast-forwards the trunk, runs tests, pushes, and deletes the temporary branch. ## Quick Start Merge this branch into dev and verify the result before pushing.

Frequently Asked Questions about merge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I merge a feature branch into a trunk branch in Git?▼

Rebase the short-lived branch onto the latest target, then run git merge --ff-only from the target branch. This keeps trunk history linear and preserves the branch's atomic commits for per-step rollback.

When should I use squash merge vs rebase for Git branches?▼

Squash merge long-lived branches like epics onto a trunk so they land as one reviewed commit. Rebase and fast-forward short-lived branches instead, since squashing discards their per-commit rollback granularity.

Why does git merge --ff-only fail on a trunk promotion?▼

A failing fast-forward means the target trunk carries a commit the upstream trunk does not, which is a workflow violation. Fixes must originate upstream and flow forward; escalate rather than forcing a merge with --no-ff.

How do I detect semantic conflicts after a clean Git merge?▼

Run the project's type-checker, build, and test suite on the merged result, since both sides can apply textually clean while breaking combined behavior, such as a renamed symbol still called from the other side.

What should I do when a merge conflict reveals a design disagreement?▼

Abort the merge with git merge --abort or git rebase --abort, leaving both branches unchanged, and report the disagreement for the authors to settle. Do not encode a guessed design into the resolution.

Can this skill create branches or cut releases?▼

No. It only integrates existing branches and stops there. Creating branches, authoring ordinary commits, cutting releases, and bumping versions are separate responsibilities handled by other skills.