agentsclimarketplace

Git guardrails

Skill DROOdotFOO/agent-skills/skills/git-guardrails

Agent skills, autonomous agents, and MCP-companions for programming

Install
npx -y skills add DROOdotFOO/agent-skills --skill git-guardrails

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Set up Claude Code hooks to block dangerous git commands before they execute. TRIGGER when: user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code. DO NOT TRIGGER when: user is asking about git workflow or branching strategy.

SKILL.md

2.3 KB, as published. Nobody here has run it

Git Guardrails

Sets up a PreToolUse hook that intercepts and blocks dangerous git commands before Claude executes them.

What You Get

  • PreToolUse hook blocking destructive git operations
  • Project-scoped or global installation
  • Customizable blocked command patterns
  • Verification test command

What Gets Blocked

  • git push (all variants including --force)
  • git reset --hard
  • git clean -f / git clean -fd
  • git branch -D
  • git checkout . / git restore .

When blocked, Claude sees a message telling it that it does not have authority to run these commands.

WRONG: no guardrails, Claude runs destructive commands silently

# Claude decides to "clean up" and runs:
git reset --hard HEAD~3   # 3 commits of work gone
git clean -fd             # untracked files deleted
git push --force          # rewrites shared history

CORRECT: hook blocks before execution

$ echo '{"tool_input":{"command":"git push --force"}}' | block-dangerous-git.sh
BLOCKED: git push is not allowed. Ask the user to run it manually.

Setup Steps

  1. Ask scope -- project (.claude/settings.json) or global (~/.claude/settings.json)?
  2. Copy hook script -- bundled at scripts/block-dangerous-git.sh. Copy to .claude/hooks/ (project) or ~/.claude/hooks/ (global). Make executable.
  3. Add to settings -- see settings-config.md for the JSON
  4. Customize -- ask if user wants to add/remove patterns from the blocked list
  5. Verify -- echo '{"tool_input":{"command":"git push origin main"}}' | <path-to-script> should exit code 2 with BLOCKED message

Reference

FileTopic
settings-config.mdProject and global settings JSON
scripts/block-dangerous-git.shThe hook script

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.