This skill should be used when the user wants to clean up a feature branch's history using git-hex (squash/fixup commits, reorder/drop/split commits, or rebase a branch onto main) without using an interactive terminal. Trigger phrases include: "clean up my branch", "polish history", "squash these commits", "fixup commits", "rebase onto main", "rewrite commits".
View on GitHubyaniv-golan/git-hex
git-hex
skills/git-hex-branch-cleanup/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/yaniv-golan/git-hex/blob/main/skills/git-hex-branch-cleanup/SKILL.md -a claude-code --skill git-hex-branch-cleanupInstallation paths:
.claude/skills/git-hex-branch-cleanup/# Git-hex Branch Cleanup
## When to use this Skill
This skill should be used when:
- The user says they want to "clean up", "rewrite", "polish", or "squash" a git
history or feature branch.
- The user wants to rebase a branch onto another branch (e.g. `main`) and present
a clean, reviewable set of commits.
- The user wants to split, squash, or reword commits using git-hex tools instead
of manual interactive rebase.
Trigger phrases include: "clean up my commits", "squash fixups", "polish history",
"rewrite commits", "rebase onto main", "make this branch reviewable".
## Workflow
1. **Plan first**
- Call `git-hex-getRebasePlan` to inspect the commit range you would modify.
- Optionally call `git-hex-checkRebaseConflicts` to estimate whether the rebase
is likely to conflict.
2. **Prepare changes**
- For small edits to the last commit, prefer `git-hex-amendLastCommit`.
- For fixes to older commits, guide the user to edit and stage changes, then
use `git-hex-createFixup` targeting the original commit.
- For large or mixed commits, consider `git-hex-splitCommit` to separate files
into focused commits.
3. **Apply the rewrite**
- Use `git-hex-rebaseWithPlan` to reorder, drop, squash, or reword commits.
- Prefer `autoStash: true` and `autosquash: true` when the working tree is dirty,
following git-hex documentation.
- Never use git-hex on shared or protected branches; operate on feature branches
the user controls.
4. **Safety and recovery**
- If the result is not what the user wanted, call `git-hex-undoLast` to restore
the previous state using git-hex backup refs.
- If a rebase pauses with conflicts, hand off to the conflict resolution Skill.
## Tools to prefer
- Planning: `git-hex-getRebasePlan`, `git-hex-checkRebaseConflicts`
- History rewrite: `git-hex-rebaseWithPlan`, `git-hex-createFixup`,
`git-hex-amendLastCommit`, `git-hex-splitCommit`, `git-hex-cherryPickSingle`
- Recovery: `git-hex-undoLas