Git integrate
Three goblins in a trenchcoat pretending to be a senior developer. Claude Code config shaped by ADHD, friction, and spite.
npx -y skills add JasonWarrenUK/goblin-mode --skill git-integrateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 5 stars5 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
{{ 𝚫𝚫𝚫 }} Integrate a target branch into the current one by merge, rebase or squash
SKILL.md
2.2 KB, 413 tokens by cl100k_base, as published. Nobody here has run it
Integrate $target into the current branch
Replaces the former git-branch-merge / git-branch-rebase / git-branch-squash trio. The mechanical flow (fetch, integrate, state checks) lives in the script; you handle conflicts, the squash commit message, tests and the push.
$strategy is required (merge, rebase or squash); $target defaults to main when empty.
Steps
- Check the current branch name and confirm with the user before proceeding.
- Do NOT create a worktree — work in the current directory.
- Run
"$HOME"/.claude/library/scripts/git-integrate.sh $strategy $target(bare$strategywhen$targetis empty). Its exit codes:- 0 — integration done. For
squashthe branch's changes are staged as one unit: write a single descriptive commit message (conventional commits) and commit. - 2 — state error (dirty tree, detached HEAD, wrong branch, fetch failure). Report the script's message and stop; fix only what the user asks you to fix.
- 3 — conflicts, left in place. List them, resolve preserving our branch's intent, then
git commit(merge) orgit rebase --continueafter each (rebase/squash). Never resolve by discarding our changes wholesale.
- 0 — integration done. For
- Run the project's tests to verify the integration.
- Only when tests pass, push:
git pushafter a merge;git push --force-with-leaseafter a rebase or squash. Never plain--force.
Red flags
Never: push with failing tests; force-push without --with-lease; run the script on a dirty tree ("stash it yourself" is the user's call, not yours).
Always: confirm the branch first; keep conflict resolutions minimal and intent-preserving.