bundles/github/skills/fix-merge-conflicts/SKILL.md
Resolve git merge conflicts correctness-first, then prove the tree still builds. Use when a merge, rebase, cherry-pick, or stash pop leaves conflict markers, when git status shows unmerged paths, or when the user asks to fix conflicts, resolve a merge, or rebase onto the trunk and clear the conflicts.
npx skillsauth add shipshitdev/library fix-merge-conflictsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Resolve conflicts by understanding what each side meant and keeping the behavior both intended — not by blindly taking one side or concatenating both. After resolving, regenerate any derived files and confirm the tree still builds and tests pass before the merge/rebase is allowed to continue.
Inputs:
Outputs:
Creates/Modifies:
External Side Effects:
Confirmation Required:
git merge/rebase --abort) if the user might lose workDelegates To:
test-runner to verify the tree builds and tests pass after resolutionexecution-debugging when the post-resolution build or tests fail for a
non-obvious reasongit-safety if the history is tangled or a destructive recovery is being weighedgit merge / git rebase / git cherry-pick / git stash pop reported
conflicts and stoppedgit status shows "Unmerged paths" or files contain <<<<<<< markersHard rules:
git status -sb
git diff --name-only --diff-filter=U # unmerged paths
git log --oneline -1 MERGE_HEAD 2>/dev/null || true # what is being merged in
Identify the operation in flight (merge vs rebase vs cherry-pick — note that under a rebase "ours" and "theirs" are swapped relative to a merge) and group the conflicted files into code, configuration, and derived/generated artifacts.
For each conflicted file, inspect both sides and the common base:
git show :1:<file> # base (common ancestor)
git show :2:<file> # ours
git show :3:<file> # theirs
Reconcile by intent:
Remove every <<<<<<<, =======, >>>>>>> marker. Match the surrounding file's
style. After editing, confirm no markers remain:
git grep -nE '^(<<<<<<<|=======|>>>>>>>)' || echo "no markers left"
Do not hand-merge lockfiles or generated artifacts. Reconcile the source (e.g.
package.json) first, then regenerate:
# Bun lockfile (this repo uses bun.lock — never patch it by hand)
bun install
Apply the same principle to generated clients, schema snapshots, and build output: take the inputs from the correct side and re-run the generator.
Hand off to test-runner (or run the repo's own commands) to confirm the
resolution is buildable before continuing:
bunx tsc --noEmit # or the repo's type-check script
bun run test # scoped/related tests for the touched files
If the build or tests fail, treat it as part of the conflict — diagnose and fix the root cause; do not continue on red.
Stage the resolved files, show the resolution summary, and continue only after confirmation:
git add <resolved-files>
git status -sb
# then, after the user confirms:
git rebase --continue # or: git merge --continue / git cherry-pick --continue
Never pass a force flag and never continue while ambiguous conflicts are still flagged for a human.
Report each file's resolution and the reasoning, the regenerated artifacts, the build/test result, anything left for a human to decide, and whether the merge/rebase was continued or is paused awaiting confirmation.
development
TypeScript refactoring and modernization guidelines from a principal specialist perspective. This skill should be used when refactoring, reviewing, or modernizing TypeScript code to ensure type safety, compiler performance, and idiomatic patterns. Triggers on tasks involving TypeScript type architecture, narrowing, generics, error handling, or migration to modern TypeScript features.
tools
Resolves TypeScript and JavaScript problems across type-level programming, performance, monorepo management, migration, and modern tooling. Invoke when diagnosing "type instantiation excessively deep" errors, migrating JS to TS, configuring strict tsconfig, debugging module resolution, or choosing between Biome/ESLint/Turborepo/Nx.
tools
Turborepo monorepo build system guidance. Triggers on: `turbo.json`, task pipelines, `dependsOn`, caching, remote cache, the `turbo` CLI, `--filter`, `--affected`, CI optimization, environment variables, internal packages, monorepo structure, and package boundaries. Use when the user configures tasks or workflows, creates packages, sets up a monorepo, shares code between apps, runs changed packages, debugs cache behavior, or works in an `apps/` plus `packages/` workspace.
tools
Provides Tailwind CSS v4 performance optimization and best practices guidelines. Triggers when writing, reviewing, or refactoring Tailwind CSS v4 code; when working with Tailwind configuration, @theme directive, utility classes, responsive design, dark mode, container queries, or CSS generation optimization.