Split messy uncommitted changes into clean, atomic commits.
A Claude Code skill that automatically organises your git changes into logical commits with conventional commit messages. No manual staging, no commit message writer's block. Just clean git history.
Stop committing everything at once. Git Commit Chunker analyses your uncommitted changes, groups them by logical purpose, and creates a series of atomic commits with proper conventional commit messages.
Before:
- 47 files changed, 1,203 insertions(+), 487 deletions(-)
- One massive "WIP" commit
After:
chore: remove deprecated auth module
feat: implement jwt authentication
refactor: extract validation helpers
test: add auth integration tests
docs: update api authentication guide
- Smart categorisation - Groups changes by purpose (docs, features, refactoring, tests)
- Conventional commits - Auto-generates proper
feat:,fix:,chore:messages - Logical ordering - Commits in dependency order (config before code, code before tests)
- Safety first - Shows you the plan, respects git hooks, handles errors gracefully
- Auto-push - Optionally pushes to remote after committing
- Create the skill directory:
mkdir -p ~/.claude/skills/git-commit-chunker- Download the skill:
curl -o ~/.claude/skills/git-commit-chunker/SKILL.md \
https://raw.githubusercontent.com/JacobDavidAlcock/git-commit-chunker/main/SKILL.mdOr clone this repo into your skills directory:
cd ~/.claude/skills
git clone https://github.com/JacobDavidAlcock/git-commit-chunker.git- Restart Claude Code or reload skills
Just tell Claude to chunk your commits:
chunk my commits
split my changes into logical commits
organise my git changes
clean up my uncommitted work
The skill will:
- Inspect your
git statusand diffs - Group changes into logical categories
- Create atomic commits in the right order
- Push to your current branch
Skip the push:
chunk my commits but don't push
Add commit descriptions:
chunk my commits and add descriptions
Add Claude co-author:
chunk my commits and add co-author
Manual grouping:
chunk my commits but squash the auth changes together
- Inspection - Runs
git status,git diff --cached,git diff - Categorisation - Groups files by purpose (docs, config, features, tests, etc.)
- Commit creation - Generates conventional commit messages and commits in logical order:
- Removals first
- Reorganisation (moves/renames)
- Configuration
- Core source code
- Dependencies
- Build output
- Tests last
- Push - Pushes to origin (unless you say "don't push")
MIT