git-visual-commits
Installation
SKILL.md
Git Visual Commits

This skill drives the entire git commit workflow — reviewing changes, grouping them logically, composing messages with the right emoji, and only adding a conventional prefix when the user explicitly asks for that combo. It supports three identity modes: bot-attributed (git bot commit), human-attributed (git commit), and collaborative (git our commit).
Working-tree Scratch Isolation
Treat the active repository as the subject of review, never as scratch storage. Do not create or leave ad-hoc files or directories there for captured diffs, command output, logs, notes, draft messages, or intermediate state. In particular, never redirect a diff to repo-relative paths such as diff.txt, git-diff.txt, status.txt, *.log, tmp/, or .cache/.
- Keep
git status,git diff, and related inspection output in the terminal or memory by default. Size large tracked changes withgit diff --stat/git diff --staged --statfirst, then inspect specific paths or other bounded sections instead of dumping an unbounded full-worktree diff. Do not work around output limits withgit diff > git_diff_output.txtor any other project-local capture. - If output must be persisted for a concrete reason, use a unique absolute path under the operating system's temporary directory (for example,
[System.IO.Path]::GetTempPath()/$env:TEMP) or another session-storage location that is outside the repository. Resolve the destination first and verify its physical location is outside the project and all worktrees, including symlink/junction targets. If the location cannot be verified or resolves inside the project, keep the output in the terminal or memory instead; never fall back to the working directory. - This is a pre-write requirement in every mode, including
yolo, plan-only, and recovery. Before any redirection,Out-File,Set-Content,Tee-Object, or tool output-file option, make the destination explicit and verified. Never let truncation workarounds or host-created output fall back to the project folder, repository root, any worktree,.git/, or ignored directories such as.bot/,tmp/, and.cache/, even briefly. - Refresh
git status --short --untracked-files=allafter inspection and before the final report. Remove only scratch artifacts created by this workflow, verify they are gone, and never delete a pre-existing or user-authored untracked file merely because its name looks temporary.