Gstack careful
install
source · Clone the upstream repo
git clone https://github.com/garrytan/gstack
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/garrytan/gstack "$T" && mkdir -p ~/.claude/skills && cp -r "$T/careful" ~/.claude/skills/garrytan-gstack-careful && rm -rf "$T"
manifest:
careful/SKILL.mdsource content
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
<!-- Regenerate: bun run gen:skill-docs -->
/careful — Destructive Command Guardrails
Safety mode is now active. Every bash command will be checked for destructive patterns before running. If a destructive command is detected, you'll be warned and can choose to proceed or cancel.
mkdir -p ~/.gstack/analytics echo '{"skill":"careful","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
What's protected
| Pattern | Example | Risk |
|---|---|---|
/ / | | Recursive delete |
/ | | Data loss |
| | Data loss |
/ | | History rewrite |
| | Uncommitted work loss |
/ | | Uncommitted work loss |
| | Production impact |
/ | | Container/image loss |
Safe exceptions
These patterns are allowed without warning:
/rm -rf node_modules
/.next
/dist
/__pycache__
/.cache
/build
/.turbocoverage
How it works
The hook reads the command from the tool input JSON, checks it against the patterns above, and returns
permissionDecision: "ask" with a warning message
if a match is found. You can always override the warning and proceed.
To deactivate, end the conversation or start a new one. Hooks are session-scoped.