skills для AI-агентов -

Обзор gstack: /careful

Обзор gstack: /careful body { font-family: sans-serif; line-height: 1.6; margin: 0 auto; max-width: 900px; padding: 20px; color: #333; } h1, h2, h3 { color: #2c3e50; margin-top: 1.5em; margin-bottom: 0.8em; } h1 { font-size: 2.5em; } h2 { font-size: 1.8em; border-bottom: 1px soli

Обзор gstack: /careful

Обзор gstack: /careful

Команда /careful из репозитория gstack — это мощный инструмент для повышения безопасности при работе с bash-командами в среде разработки или агентских систем, таких как Claude Code. Она служит "защитным ограждением" для предотвращения случайного выполнения деструктивных действий, предупреждая пользователя перед тем, как опасная команда будет запущена.

Исходный файл

Что делает команда /careful?

Иллюстрация 1

/careful активирует режим безопасности, который перед выполнением проверяет каждую bash-команду на наличие потенциально деструктивных шаблонов. Если такая команда обнаружена, система предупреждает пользователя и предоставляет возможность либо продолжить выполнение, либо отменить его. Это предотвращает случайную потерю данных, повреждение репозитория или негативное влияние на производственные среды. Команда также включает сбор анонимной аналитики использования для улучшения инструмента.

Кому полезен: CEO, релиз, QA, дизайн и т.д.

Иллюстрация 2

Эта команда особенно полезна для:

  • Разработчиков (Build, Test): Предотвращает случайное удаление файлов, веток Git или данных во время локальной разработки и тестирования.
  • Инженеров DevOps (Ship, Test): Снижает риски при работе с инфраструктурными командами (например, kubectl delete, docker system prune), особенно в тестовых и продакшн-средах.
  • QA-инженеров (Test): Обеспечивает безопасное выполнение тестовых сценариев, где могут встречаться команды, потенциально влияющие на тестовые данные.
  • Менеджеров проектов и CEO: Уменьшает операционные риски, связанные с человеческими ошибками, что может привести к значительным задержкам или финансовым потерям.

Как /careful вписывается в цикл Think→Plan→Build→Review→Test→Ship

  • Think & Plan: На этапе планирования и обдумывания архитектуры, использование /careful может быть непрямым, но оно способствует формированию культуры безопасности.
  • Build (Разработка): На этом этапе разработчики активно пишут код и выполняют различные команды. /careful защищает от случайного удаления файлов, очистки модулей или контейнеров, что может привести к потере незавершенной работы.
  • Review (Ревью кода): Хотя /careful напрямую не участвует в процессе ревью кода, он обеспечивает безопасную среду для тестирования предложенных изменений или выполнения команд для проверки функциональности, не опасаясь непреднамеренных деструктивных действий.
  • Test (Тестирование): Во время тестирования разработчики и QA-инженеры часто манипулируют данными, сбрасывают состояния или запускают очистку среды. /careful гарантирует, что эти действия выполняются осознанно, предотвращая случайное удаление важных тестовых данных или инфраструктуры.
  • Ship (Развертывание): При развертывании в продакшн-среду риски особенно высоки. Команды kubectl delete, docker rm -f или подобные могут иметь катастрофические последствия. /careful служит последним рубежом обороны, требуя явного подтверждения для выполнения таких команд, тем самым снижая вероятность инцидентов.

Типичный сценарий использования

Представьте, что разработчик работает над новым функционалом. Он активно использует терминал для компиляции, запуска тестов, работы с Git. В спешке он мог бы случайно набрать rm -rf / вместо rm -rf build/. Если /careful активен, перед выполнением rm -rf / система выведет предупреждение: "Обнаружена потенциально деструктивная команда rm -rf /. Вы уверены, что хотите продолжить?". Разработчик мгновенно осознает свою ошибку и отменит команду, избежав потери всей файловой системы.

Другой сценарий: DevOps-инженер работает с кластером Kubernetes. Ему нужно удалить один под, но по ошибке он набирает команду, которая может удалить весь namespace или даже весь кластер. /careful перехватит команду kubectl delete ... и потребует подтверждения, давая инженеру шанс перепроверить свои действия.

Параметры и характеристики

Параметр Значение
Название команды /careful
Тип Slash-команда, Guardrail для bash
Лицензия MIT
Ссылка на файл careful/SKILL.md
Репозиторий gstack (Garry Tan)
Категория Безопасность, Инструменты разработки

Часто задаваемые вопросы (FAQ)

Что такое команда /careful?

Команда /careful — это защитное ограждение для bash-команд, которое активирует режим безопасности. В этом режиме каждая выполняемая команда проверяется на наличие деструктивных шаблонов (например, rm -rf, DROP TABLE, git push --force), и если таковые обнаруживаются, система выдает предупреждение, позволяя пользователю подтвердить или отменить действие.

Какие типы команд защищает /careful?

/careful защищает от широкого спектра деструктивных команд, включая: рекурсивное удаление файлов (rm -rf), потерю данных в базах данных (DROP TABLE, TRUNCATE), перезапись истории Git (git push --force, git reset --hard), потерю незафиксированных изменений (git checkout .), а также команды, влияющие на производственные среды (kubectl delete, docker rm -f, docker system prune).

Есть ли безопасные исключения из правил /careful?

Да, некоторые часто используемые команды удаления временных файлов и директорий, которые обычно не несут серьезных рисков, разрешены без предупреждения. К ним относятся rm -rf node_modules, .next, dist, __pycache__, .cache, build, .turbo и coverage.

Что происходит, если /careful обнаруживает деструктивную команду?

Если /careful обнаруживает деструктивный шаблон, он выводит предупреждающее сообщение. Пользователю предлагается сделать выбор: продолжить выполнение команды (если он уверен в своих действиях) или отменить ее. Это дает второй шанс избежать ошибки.

Как деактивировать режим безопасности /careful?

Режим безопасности, активируемый /careful, привязан к текущей сессии (в контексте агента или инструмента). Для деактивации достаточно завершить текущую беседу или начать новую.

Дисклеймер: Представленный материал носит исключительно информационный характер. Актуальность и полнота информации о команде /careful могут изменяться. Для получения самой свежей и точной информации всегда обращайтесь к исходному репозиторию gstack на GitHub.

Текст skill для копирования (перевод на русский)

# /careful — Защитные ограждения для деструктивных команд

Режим безопасности теперь **активен**. Каждая bash-команда будет проверяться на наличие деструктивных шаблонов перед выполнением. Если деструктивная команда обнаружена, вы будете предупреждены и сможете выбрать: продолжить или отменить.

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

## Что защищено

| Шаблон | Пример | Риск |
|---------|---------|------|
| `rm -rf` / `rm -r` / `rm --recursive` | `rm -rf /var/data` | Рекурсивное удаление |
| `DROP TABLE` / `DROP DATABASE` | `DROP TABLE users;` | Потеря данных |
| `TRUNCATE` | `TRUNCATE orders;` | Потеря данных |
| `git push --force` / `-f` | `git push -f origin main` | Перезапись истории |
| `git reset --hard` | `git reset --hard HEAD~3` | Потеря незафиксированной работы |
| `git checkout .` / `git restore .` | `git checkout .` | Потеря незафиксированной работы |
| `kubectl delete` | `kubectl delete pod` | Влияние на продакшн |
| `docker rm -f` / `docker system prune` | `docker system prune -a` | Потеря контейнеров/образов |

## Безопасные исключения

Эти шаблоны разрешены без предупреждения:
- `rm -rf node_modules` / `.next` / `dist` / `__pycache__` / `.cache` / `build` / `.turbo` / `coverage`

## Как это работает

Хук считывает команду из входного JSON инструмента, проверяет ее на соответствие вышеуказанным шаблонам и возвращает `permissionDecision: "ask"` с предупреждающим сообщением, если найдено совпадение. Вы всегда можете проигнорировать предупреждение и продолжить.

Для деактивации завершите беседу или начните новую. Хуки ограничены сессией.

Автор

Редакция проекта

Материал подготовлен редакционной командой проекта. Подробнее о проекте