Goblin-mode git-commit-batch-delta
{{ ๐ซ๐ซ๐ซ }} Split uncommitted changes into granular commits.
install
source ยท Clone the upstream repo
git clone https://github.com/JasonWarrenUK/goblin-mode
Claude Code ยท Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/JasonWarrenUK/goblin-mode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/git-commit-batch-delta" ~/.claude/skills/jasonwarrenuk-goblin-mode-git-commit-batch-delta && rm -rf "$T"
manifest:
skills/git-commit-batch-delta/SKILL.mdsource content
Steps
- Run
andgit diff --stat HEAD
to get a full picture of all changes.git status - Analyse the changes and group them into logical commit units โ each group should represent a single coherent change (e.g. one feature, one fix, one refactor).
- Present the proposed commit plan as a numbered list:
- Group name / files involved
- Suggested commit message (conventional commits format)
- Await approval โ stop here and do not proceed until the user responds:
- If approved, execute commits sequentially. For each group:
- Stage only the files listed for that group (
)git add <files> - Commit with the proposed message
- Confirm success before moving to the next group
- Stage only the files listed for that group (
- If changes requested, revise the plan and repeat from step 3.
- If approved, execute commits sequentially. For each group:
- After all commits, push to upstream.
Grouping Guidelines
- Prefer smaller, atomic commits over large ones
- Keep unrelated changes in separate commits even if they touch the same area
- Config/dependency changes separate from feature code
- Test changes alongside the code they test (same commit), unless the test is independent
- Generated files (lockfiles, build artefacts) get their own commit if significant