git-visual-commits

Installation
SKILL.md

Git Visual Commits

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 with git diff --stat / git diff --staged --stat first, then inspect specific paths or other bounded sections instead of dumping an unbounded full-worktree diff. Do not work around output limits with git diff > git_diff_output.txt or 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=all after 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.

Critical Rules

Invocation Routing Lock

Installs
19
GitHub Stars
3
First Seen
Mar 15, 2026