git-commit-splitlisted
Install: claude install-skill furedea/agent-harness
Mode argument from slash-command invocation (empty if none was passed): $ARGUMENTS
# `/git-commit-split` custom command
This command is for a dirty working tree that already contains multiple uncommitted intents. It inspects everything pending, proposes a split plan, waits for approval, then lands one commit per approved intent. Optionally each commit can be packaged into its own branch and PR.
Day-to-day implementation workflow belongs to `git-workflow`. Do not use this command as the default answer to a normal "implement/fix/refactor" request.
The work happens in four phases: **mode → inspect → plan → execute**. This file owns mode/inspect/plan and routes execute to a mode-specific reference. Show the plan and wait for explicit user approval before any branch or commit lands.
## Files in this command
- `references/hunk_split.md`: zero-context partial-apply technique — read whenever a commit splits one file's hunks across commits, in either mode.
- `references/direct_execute.md`: Phase 3 for `direct` mode.
- `references/pr_per_feature_execute.md`: Phase 3 for `pr-per-feature` mode (covers both `independent` and `stack`).
- `scripts/build_partial_patch.py`: filter a unified diff to a subset of hunks.
- `scripts/branch_name.py`: generate a kebab-case branch slug from a Conventional Commits subject, with optional collision avoidance against local + `origin`.
## Phase 0 — Mode selection
The first decision is _where_ the commits will live. There are exactly two delivery m