safe-git-guard

from svenja-dev/claude-code-skills

Custom Claude Code CLI skills for B2B SaaS development: quality gates, TypeScript enforcement, multi-LLM advisor, and more

27 stars5 forksUpdated Jan 8, 2026
npx skills add https://github.com/svenja-dev/claude-code-skills --skill safe-git-guard

SKILL.md

Safe Git Guard

Skill to prevent destructive Git operations

Trigger

This skill activates automatically on these commands:

  • git reset --hard
  • git checkout -- <file>
  • git clean -fd
  • git rebase (without explicit confirmation)
  • git push --force

Rules

FORBIDDEN (never execute):

  1. git reset --hard - Deletes uncommitted changes irreversibly
  2. git push --force on main/master - Can destroy remote history
  3. git clean -fd - Deletes untracked files irreversibly

WARNING + BACKUP required:

  1. git checkout -- <file> - Overwrites local changes

    • BEFORE execution: Create backup
    • git stash push -m "backup-before-checkout-$(date +%s)"
  2. git reset HEAD~n - Resets commits

    • BEFORE execution: Create tag
    • git tag backup-before-reset-$(date +%s)
  3. git rebase - Modifies history

    • BEFORE execution: Create backup branch
    • git branch backup-before-rebase-$(date +%s)

Workflow for Destructive Operations

1. STOP - Don't execute immediately
2. BACKUP - Save current state (tag/branch/stash)
3. ASK - "Are you sure? What will be lost?"
4. CONFIRM - Explicit "Yes, I understand the risk"
5. EXECUTE - Only then run the command

Example Dialog

User: "Undo the last 3 commits"

Claude (with this skill):

WARNING: DESTRUCTIVE OPERATION DETECTED

You want to run `git reset HEAD~3`. This would:
- Remove 3 commits from history
- Changes become "unstaged" (--soft) or deleted (--hard)

Creating backup:
> git tag backup-YYYYMMDD-pre-reset

Should I proceed? (Answer with "Yes, proceed with reset")

Protected Branches

Configure in your project's CLAUDE.md:

protected_branches:
  - main      # Production branch, never force-push
  - master    # Legacy production branch
  - develop   # Development branch, PR only
  - release/* # Release branches, approval only

Integration with No-Touch Zones

This skill respects No-Touch Zones defined in CLAUDE.md. When changes affect protected files: Additional warning + Impact Analysis.

Configuration

Add to your CLAUDE.md:

### Git Safety Rules

Protected Branches:
- main, develop, release/*

No-Touch Zones (require explicit approval):
- src/auth/**
- src/core/**
- config/production.*

Origin

Originally developed for fabrikIQ - AI-powered manufacturing data analysis.

License

MIT - Free to use and modify

Repository Stats

Stars27
Forks5
LicenseOther