git-guardrails-claude-code
Setup Git Guardrails
Sets up a PreToolUse hook that intercepts and blocks a fixed list of destructive git commands before Claude executes them.
Source: adapted from mattpocock/skills — misc/git-guardrails-claude-code, imported 2026-08-26. Upstream blocks every invocation of git push, including plain feature-branch pushes. This adaptation narrows that to force-push and direct pushes to protected branches only, because system-level/core.md's git workflow requires routine feature-branch pushes for the standard worktree → branch → push → PR flow — blocking all pushes would make this repo's own workflow unusable. The rest of upstream's blocked-command list (reset --hard, clean -f/-fd, branch -D, bare checkout/restore) is unchanged.
What Gets Blocked
git pushwith--force/--force-with-lease/-fgit pushdirectly tomain,master, orstaginggit reset --hardgit clean -f/git clean -fdgit branch -Dgit checkout ./git restore .(bare, discards uncommitted changes)
Routine git push origin <feature-branch> is not blocked.
When blocked, Claude sees a message telling it that it does not have authority to run the command.