mcpField
G
git-merge-expert-worktree

git-merge-expert-worktree

github.com/ulpi-ioDevelopment5159 installsUpdated 10w ago
Repository

About git-merge-expert-worktree

git-merge-expert-worktree is a skill for carrying out Git merges and conflict work in isolated worktrees. It emphasizes checking repository state first, validating results, and handling cleanup without deleting user branches automatically.

Key features

  1. 01Inspects existing worktrees and branch context
  2. 02Performs merge work in an isolated worktree
  3. 03Guides conflict resolution and recovery
  4. 04Validates results before integration
  5. 05Safely removes worktrees and ephemeral branches

Use cases

  1. 01Merging branches without working in the main tree
  2. 02Resolving conflicts in an isolated workspace
  3. 03Validating a worktree merge before integration
  4. 04Cleaning up completed or stale worktrees

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ulpi-io/skills --skill git-merge-expert-worktree

After installing, type/git-merge-expert-worktreein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
merge-playbook.md
worktree-conventions.md
worktree-expertise.md

Details

From the project README
This skill mutates git state and must stay disciplined.

Non-negotiable rules:

  1. Start by listing existing worktrees and identifying the current worktree context.
  2. Keep merge operations isolated from the main working tree whenever a worktree is being used.
  3. Use git worktree remove, not rm -rf, for normal cleanup.
  4. Never delete non-ephemeral branches automatically.
  5. Get explicit user confirmation before force-removing dirty worktrees or performing ambiguous branch cleanup.

Git Merge Expert — Worktree Specialist

Inputs

  • $request: Merge target, source branch, worktree name, cleanup task, or conflict-resolution goal

Goal

Perform safe worktree-based git operations by:

  • discovering existing worktrees and current context
  • creating or selecting the right isolated workspace
  • doing merge/conflict work in the worktree
  • validating the result before integration
  • cleaning up worktrees and ephemeral branches correctly

Step 0: Resolve the requested operation

Determine whether the user wants to:

  • create a worktree
  • perform a merge in a worktree
  • resolve merge conflicts in a worktree
  • validate an existing worktree merge
  • clean up stale or finished worktrees

If the requested source/target branches or cleanup scope are ambiguous, use AskUserQuestion before mutating git state.

Success criteria: The intended worktree action, branch scope, and cleanup expectations are explicit.

Step 1: Discover current worktree state

Before creating or removing anything, inspect:

  • git worktree list
  • current repository root
  • current branch and working tree state
  • whether the target branch is already checked out in another worktree

Load references/worktree-conventions.md for path, naming, and lifecycle rules.

Rules:

  • always list worktrees first
  • verify whether you are already inside a linked worktree or the main tree
  • do not attempt to check out the same branch in two worktrees

Success criteria: Existing worktrees, branch occupancy, and current context are known.

Step 2: Create or prepare the isolated worktree

Create or reuse the right worktree for the task.

Typical decisions:

  • managed worktree path vs sibling-path worktree
  • ephemeral session branch vs existing branch
  • setup needs such as dependency install, symlinks, or env-file propagation

Load references/worktree-conventions.md for path and branch conventions.

Rules:

  • prefer isolated worktrees over doing merge work in the main tree
  • verify creation with git worktree list
  • only run setup steps that make sense for the detected project

Success criteria: The worktree exists, is on the intended branch, and is ready for merge work.

Step 3: Perform the merge or conflict operation in the worktree

Inside the worktree:

  • create a backup tag when appropriate
  • run the merge, rebase, cherry-pick, or cleanup operation requested
  • resolve conflicts carefully without silently dropping either side

Load references/merge-playbook.md for:

  • conflict tiers
  • lockfile handling
  • abort-and-recreate recovery
  • stale-worktree cleanup patterns

Rules:

  • do not merge in the main tree if the user asked for worktree isolation
  • regenerate conflicted lockfiles rather than hand-editing them
  • abort and recreate the worktree when recovery is cleaner than patching a broken merge state

Success criteria: The git operation is complete in the worktree and the result is coherent.

Step 4: Validate before final integration

Validate the worktree result with the narrowest relevant checks:

  • git status
  • conflict-free state
  • project build/test/typecheck commands when appropriate
  • branch topology review when needed

Rules:

  • do not claim merge success if unresolved conflicts or failing validation remain
  • keep validation scoped to the project/tooling reality
  • if validation fails, stop or recover before cleanup/push

Success criteria: The worktree result is clean enough to integrate or push.

Step 5: Cleanup and verify the main tree remains untouched

When the operation is complete:

  • return to the main repository context if needed
  • remove the worktree with git worktree remove
  • delete only ephemeral session branches when appropriate
  • run git worktree prune
  • verify the remaining worktree list and main-tree state

Load references/merge-playbook.md for cleanup and recovery rules.

Rules:

  • never auto-delete non-session branches
  • warn before force-removing a dirty worktree
  • explicitly verify the main working tree was not unintentionally modified

Success criteria: The worktree lifecycle is closed cleanly and the user can see the final git state.

Guardrails

  • Do not let the model invoke this skill proactively; it mutates git and worktree state.
  • Do not add context: fork; this workflow already creates git isolation explicitly.
  • Do not add paths:; this is a generic git workflow skill.
  • Do not keep giant walkthroughs, command tables, or recovery encyclopedias inline in SKILL.md.
  • Do not use rm -rf for normal worktree cleanup.
  • Do not delete user branches unless the user explicitly asked.
  • Do not use force cleanup silently on dirty worktrees.

When To Load References

  • references/worktree-expertise.md Use at session start for role and domain expertise.

  • references/worktree-conventions.md Use for branch naming, path layout, lifecycle, setup conventions, and destroy safety.

  • references/merge-playbook.md Use for merge execution, conflict-resolution tiers, lockfile handling, stale-worktree cleanup, and abort-and-recreate recovery.

Output Contract

Report:

  1. the requested operation and resolved branch/worktree scope
  2. the worktrees created, reused, or removed
  3. the merge/conflict outcome and validation status
  4. any branches or tags created or deleted
  5. the final git worktree list and main-tree safety status

Comments

Markdown supported