CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

git-split

Split the most recent git commit into multiple logical commits without interactive rebase. Use when invoked as `$git-split` or when the user asks to split HEAD into smaller commits.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

git-split

Split HEAD into two or more logical commits by soft-resetting it into the working tree and recommitting groups.

Workflow

  1. Validate state:

    git rev-parse --abbrev-ref HEAD
    git status --porcelain=v1

    Stop if the working tree is dirty.

  2. Identify target:

    • Default target is HEAD.
    • If the user provides an older commit, stop. This skill does not use interactive rebase; ask the user to first move that commit to HEAD.
  3. Inspect target:

    git show --stat HEAD
    git show --name-only HEAD
  4. Propose logical groups before changing history. Ask for confirmation if grouping is ambiguous or if the commit appears already pushed.

  5. Soft reset:

    git reset HEAD~1
    git status --porcelain=v1
  6. For each confirmed group:

    git add <files>
    git commit -m "<type>(<scope>): <description>"

    Follow repo commit conventions and keep each commit to one coherent concern.

  7. Verify:

    git log --oneline -6
    git status --porcelain=v1
  8. Report the resulting commits. If the original commit was pushed, explain that a force-with-lease push is required.

Constraints: never use git rebase -i; never use git reset --hard.

Repository

phatblat/dotfiles

Path

.agents/skills/git-split/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.