| name | commit-push-by-category |
| allowed-tools | Bash(git:*), Skill |
| description | Group unstaged changes by category, commit each group via /commit, then push via /commit-push |
Group all changed files by logical category → run /commit per category → push via /commit-push.
Steps:
- Run
git status + git diff to see all changed/untracked files
- Infer categories dynamically from file paths:
- Top-level directory → use dir name as scope (e.g.
src/auth/ → auth)
- File type / concern → e.g. all
*.md → docs, all *_test.* / *_spec.* / *.test.* → test
- Root config files → group by tool name (e.g.
.zshrc → zsh, Brewfile → brew)
- Catch-all → files that don't fit any group →
misc
- Feature + test files together: if a feature file and its test file are clearly paired (same name, same directory scope), keep them in the same commit — do not split into separate
feature and test commits
- For each non-empty category:
git add <files in this category>
- Use /commit skill to create the commit (with scope set to the category name)
- After all categories are committed, use /commit-push skill to push
- Report all commit hashes and push result