yuliantoari

Foxel RmShield — Git skill for Claude Code

Git community

Foxel rmShield: a Claude Code mod that holds risky shell commands (rm -rf, git reset --hard, force push, migrations) and shows what they would change before they run.

How to install Foxel RmShield

This entry records only its repository, not the path inside it, so there is no exact command to give. Open yuliantoari/Foxel-rmShield and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Foxel RmShield does

Foxel rmShield: a Claude Code mod that holds risky shell commands (rm -rf, git reset --hard, force push, migrations) and shows what they would change before they run. Delete/Cancel buttons, fail-closed, themed card with an animated Foxel guard.

Alternatives in Git

  • Ws Reset — Reset the current branch to main, fetch upstream, and update submodules 38.1k ★
  • Destructive Command Guard — The Destructive Command Guard (dcg) is for blocking dangerous git and shell commands from being executed by ag 869 ★
  • Worktree Rm — Remove a git worktree and optionally delete its branch 387 ★

README

Foxel rmShield

A Claude Code mod that **holds a risky shell command** and shows you what it would change before it runs. Foxel stands guard with a shield while the command is held; you press **Delete** (run it) or **Cancel** (refuse it). Claude sees the refusal and the reason.

Held Held (dark)
Foxel rmShield holding rm -rf build Dark theme
Running Done
Foxel rmShield while the command runs Foxel rmShield after the command ran

The images show the card the mod draws. The **Delete N files** and **Cancel** buttons are native Claude Code buttons shown right under it and are not part of the images. The progress bar is an animation that marks the phases (Held, Deleting, Done); it does not count deleted files.

What it holds

When Claude calls the **Bash** tool with one of these, the call is stopped, measured, and shown:

Command What the card shows
rm -r, rm -R, rm -f, rm -rf (also --recursive, --force, -fr) The files it would delete, grouped by folder, with counts and sizes, and how many are tracked by git. Globs and ~ are expanded.
git reset --hard The files with uncommitted changes.
git checkout -- ., git restore . The files with unstaged changes.
git clean The untracked paths it would remove (from git clean -n).
git push --force, -f, +ref, --force-with-lease The remote commits your HEAD does not have, which the push would drop.
manage.py migrate, db:migrate, alembic upgrade, prisma migrate The pending migrations, from the tool's own status command.
any other migrate A note that the pending migrations cannot be listed.

It sees through `sudo`, `env`, `command`, `exec`, `nohup`, `time`, `nice`, `\rm`, `/bin/rm`, `cd dir &&`, `git -C dir`, ch