git-guardrails-claude-code

Richte Claude Code-Hooks ein, um gefährliche Git-Befehle (push, reset --hard, clean, branch -D usw.) vor ihrer Ausführung zu blockieren. Verwende dies, wenn der Benutzer destruktive Git-Operationen verhindern, Git-Sicherheits-Hooks hinzufügen oder Git-Push/Reset in Claude Code blockieren möchte.

npx skills add https://github.com/mattpocock/skills --skill git-guardrails-claude-code

Setup Git Guardrails

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

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 access these commands.

Steps

1. Ask scope

Ask the user: install for this project only (.claude/settings.json) or all projects (~/.claude/settings.json)?

2. Copy the hook script

The bundled script is at: scripts/block-dangerous-git.sh

Copy it to the target location based on scope:

  • Project: .claude/hooks/block-dangerous-git.sh
  • Global: ~/.claude/hooks/block-dangerous-git.sh

Make it executable with chmod +x.

3. Add hook to settings

Add to the appropriate settings file:

Project (.claude/settings.json):

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-dangerous-git.sh"
          }
        ]
      }
    ]
  }
}

Global (~/.claude/settings.json):

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/block-dangerous-git.sh"
          }
        ]
      }
    ]
  }
}

If the settings file already exists, merge the hook into existing hooks.PreToolUse array — don't overwrite other settings.

4. Ask about customization

Ask if user wants to add or remove any patterns from the blocked list. Edit the copied script accordingly.

5. Verify

Run a quick test:

echo '{"tool_input":{"command":"git push origin main"}}' | <path-to-script>

Should exit with code 2 and print a BLOCKED message to stderr.

Mehr Skills von mattpocock

improve-codebase-architecture
mattpocock
Finde Möglichkeiten zur Vertiefung in einer Codebasis, informiert durch die Domänensprache in CONTEXT.md und die Entscheidungen in docs/adr/. Verwende dies, wenn der Benutzer die Architektur verbessern, Refactoring-Möglichkeiten finden, eng gekoppelte Module konsolidieren oder eine Codebasis testbarer und KI-navigierbarer machen möchte.
developmentcode-reviewapi
tdd
mattpocock
Testgetriebene Entwicklung mit dem Rot-Grün-Refaktor-Zyklus. Verwenden, wenn der Benutzer Funktionen entwickeln oder Fehler mit TDD beheben möchte, "Rot-Grün-Refaktor" erwähnt, Integrationstests wünscht oder nach testgetriebener Entwicklung fragt.
developmenttesting
handoff
mattpocock
Fasse das aktuelle Gespräch zu einem Übergabedokument für einen anderen Agenten zusammen.
communicationproject-managementdocument
prototype
mattpocock
Erstelle einen Wegwerf-Prototypen, um ein Design auszuarbeiten, bevor du dich darauf festlegst. Leitet zwischen zwei Zweigen weiter – einer ausführbaren Terminal-App für Fragen zu Zustand/Geschäftslogik oder mehreren radikal unterschiedlichen UI-Varianten, die von einem Zweig aus umschaltbar sind. Verwende dies, wenn der Benutzer prototypisieren, ein Datenmodell oder einen Zustandsautomaten auf Plausibilität prüfen, eine UI skizzieren, Designoptionen erkunden möchte oder sagt: „Prototypisiere das“, „Lass mich damit spielen“, „Probiere ein paar Designs aus“.
developmentdesigncreative
triage
mattpocock
Probleme durch einen Zustandsautomaten triagen, der von Triage-Rollen gesteuert wird. Verwenden, wenn der Benutzer ein Problem erstellen, Probleme triagen, eingehende Fehler oder Funktionsanfragen überprüfen, Probleme für einen AFK-Agenten vorbereiten oder den Problem-Workflow verwalten möchte.
developmentproject-managementcommunication
obsidian-vault
mattpocock
Notizen im Obsidian-Vault mit Wikilinks und Indexnotizen suchen, erstellen und verwalten. Verwenden, wenn der Benutzer Notizen in Obsidian finden, erstellen oder organisieren möchte.
productivitydocument
edit-article
mattpocock
Artikel bearbeiten und verbessern, indem Abschnitte umstrukturiert, die Klarheit erhöht und der Text gestrafft wird. Verwenden, wenn der Benutzer einen Artikelentwurf bearbeiten, überarbeiten oder verbessern möchte.
documentcreative
writing-great-skills
mattpocock
Referenz zum Schreiben und Bearbeiten von Skills — das Vokabular und die Prinzipien, die einen Skill vorhersagbar machen.
documentdevelopment