# Careful > Barreras de seguridad para comandos destructivos (gstack). Fuente: https://skillsagentes.com/skills/garrytan/gstack/careful Markdown: https://skillsagentes.com/skills/garrytan/gstack/careful.md Repositorio: https://github.com/garrytan/gstack Autor: garrytan Licencia: MIT Actualizado: hace 5 días Coste de contexto: 13 tok instalada, 879 tok al activarse, 6.5k tok con todos los archivos del bundle Bundle: 4 archivos, 25 KB Permisos que pide: bash, read ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add garrytan/gstack --skill careful --agent claude-code # Cursor npx -y skills add garrytan/gstack --skill careful --agent cursor # Codex npx -y skills add garrytan/gstack --skill careful --agent codex # Gemini CLI npx -y skills add garrytan/gstack --skill careful --agent gemini # Windsurf npx -y skills add garrytan/gstack --skill careful --agent windsurf # Cline npx -y skills add garrytan/gstack --skill careful --agent cline ``` ## Qué hace - Instala un hook PreToolUse en Bash que revisa cada comando antes de ejecutarlo - Avisa antes de rm -rf, DROP TABLE, force-push, git reset --hard, kubectl delete y patrones similares - Deniega directamente rm -r de /, ~ o $HOME y force-push a la rama por defecto (tier HIGH) - Permite excepciones seguras como rm -rf node_modules, dist, .next, __pycache__ sin advertencia - Permite añadir reglas propias en careful-patterns.txt, siempre de forma aditiva ## Cuándo usarla - Al tocar producción o depurar sistemas en vivo - Al trabajar en un entorno compartido - Cuando se pide 'be careful', 'safety mode', 'prod mode' o 'careful mode' ## Qué la activa - "Activa el modo careful antes de tocar producción" - "Ponte en modo seguro, voy a hacer cambios en la base de datos" - "Avísame antes de ejecutar comandos destructivos" ## Antes de instalar - Requiere el hook check-careful.sh en $HOME/.claude/skills/gstack/careful/bin/ y es válido solo durante la sesión actual. - Necesita en el PATH: git - runs shell commands ## Archivos - SKILL.md — 3 KB - SKILL.md.tmpl — 3 KB - bin/check-careful.sh — 14 KB - bin/hook-extract.sh — 4 KB ## SKILL.md Reproducido tal cual desde garrytan/gstack bajo MIT. Esta sección es el documento original y está en inglés. ## When to invoke this skill Warns before rm -rf, DROP TABLE, force-push, git reset --hard, kubectl delete, and similar destructive operations. User can override each warning. Use when touching prod, debugging live systems, or working in a shared environment. Use when asked to "be careful", "safety mode", "prod mode", or "careful mode". # /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. ```bash 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 | |---------|---------|------| | `rm -rf` / `rm -r` / `rm --recursive` | `rm -rf /var/data` | Recursive delete | | `DROP TABLE` / `DROP DATABASE` | `DROP TABLE users;` | Data loss | | `TRUNCATE` | `TRUNCATE orders;` | Data loss | | `git push --force` / `-f` | `git push -f origin main` | History rewrite | | `git reset --hard` | `git reset --hard HEAD~3` | Uncommitted work loss | | `git checkout .` / `git restore .` | `git checkout .` | Uncommitted work loss | | `kubectl delete` | `kubectl delete pod` | Production impact | | `docker rm -f` / `docker system prune` | `docker system prune -a` | Container/image loss | ## Safe exceptions These patterns are allowed without warning: - `rm -rf node_modules` / `.next` / `dist` / `__pycache__` / `.cache` / `build` / `.turbo` / `coverage` ## How it works The hook reads the command from the tool input JSON, checks it against the patterns above, and returns a `hookSpecificOutput` payload with `permissionDecision: "ask"` and a warning reason if a match is found (the decision must be nested under `hookSpecificOutput` — Claude Code ignores a top-level `permissionDecision`). You can always override a MEDIUM warning and proceed. ## HIGH tier (hard deny) Two catastrophic shapes are **denied**, not asked: `rm -r`/`-R` of exactly `/`, `~`, or `$HOME`, and force-push to the repo's **default branch**. SIMPLE commands only (no `;`, `&&`, `||`, `|`, newline) — compound shapes fall through to the MEDIUM ask; `--force-with-lease` is never HIGH. A best-effort advisory hard-stop, not a policy boundary: the escape hatch is ending the opt-in, session-scoped /careful session. ## Project patterns (additive only) Add warn rules — one POSIX ERE per line, `#` comments OK — in `~/.gstack/careful-patterns.txt` (global) or `~/.gstack/projects//careful-patterns.txt` (per-project). Consulted after the built-in families, so config can only ADD rules, never suppress a baseline warning. Invalid regex lines are skipped. To deactivate, end the conversation or start a new one. Hooks are session-scoped. ## Dónde encaja - Categoría: [Seguridad](https://skillsagentes.com/categorias/seguridad.md) — Auditorías, revisión de dependencias, manejo de secretos y modelado de amenazas. - Creador: [garrytan](https://skillsagentes.com/creators/garrytan.md) — 134 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Browse](https://skillsagentes.com/skills/garrytan/gstack/browse.md): Navegador headless rápido para QA testing y dogfooding de sitios (gstack). - [Ship](https://skillsagentes.com/skills/garrytan/gstack/ship.md): Flujo de ship: detecta y fusiona la rama base, corre tests, revisa el diff, sube VERSION, actualiza CHANGELOG, hace commit, push y crea el PR (gstack). - [Ios Qa](https://skillsagentes.com/skills/garrytan/gstack/ios-qa.md): QA en dispositivo iOS real para apps SwiftUI, con bucle de agente guiado por visión sobre USB (gstack). - [Plan Design Review](https://skillsagentes.com/skills/garrytan/gstack/plan-design-review.md): Revisión de planes con ojo de diseñador — interactiva, al estilo de las revisiones de CEO e Ingeniería. (gstack) - [Plan Eng Review](https://skillsagentes.com/skills/garrytan/gstack/plan-eng-review.md): Revisión de plan en modo gerente de ingeniería: arquitectura, flujo de datos, diagramas, casos límite, cobertura de pruebas y rendimiento. (gstack) ## Skills relacionadas - [Cso](https://skillsagentes.com/skills/garrytan/gstack/cso.md): Modo Chief Security Officer: auditoría de seguridad centrada en infraestructura, con OWASP Top 10, modelado de amenazas STRIDE y verificación activa. - [Guard](https://skillsagentes.com/skills/garrytan/gstack/guard.md): Modo de máxima seguridad: avisos ante comandos destructivos más restricción de ediciones a un directorio concreto (gstack). - [Security And Hardening](https://skillsagentes.com/skills/addyosmani/agent-skills/security-and-hardening.md): Endurece el código contra vulnerabilidades. Úsalo al manejar entrada de usuario, autenticación, almacenamiento de datos, integraciones externas o datos personales (GDPR, CCPA). - [Solidity Security](https://skillsagentes.com/skills/wshobson/agents/solidity-security.md): Domina las mejores prácticas de seguridad en smart contracts para prevenir vulnerabilidades comunes e implementar patrones seguros en Solidity. - [Review Agent Setup](https://skillsagentes.com/skills/wshobson/agents/review-agent-setup.md): Configura un gating humano para las acciones de revisión de agentes IA en Claude Code, con un rastro de aprobación auditable criptográficamente y gates aplicados con Cedar. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)