skills для AI-агентов -
Обзор gstack: /guard
Обзор gstack: /guard body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 1.6; margin: 0 auto; max-width: 900px; padding: 20px; color: #333; } h1, h2, h3 { c

Slash-команда /guard для Claude Code, часть экосистемы Agent Skills gstack, является мощным инструментом для обеспечения безопасности и контроля над действиями AI-агента. Она активирует "режим полной безопасности", объединяя функциональность двух других скиллов — /careful (предупреждения о деструктивных командах) и /freeze (ограничение редактирования файлов заданной директорией).
Кому полезен /guard?
Этот скилл будет чрезвычайно полезен для всех, кто работает с AI-агентами в среде разработки, особенно для разработчиков, QA-инженеров и техлидов. Он обеспечивает дополнительный уровень безопасности при взаимодействии агента с кодовой базой и файловой системой, предотвращая случайные или непреднамеренные изменения вне заданных границ.
Что делает команда /guard?
Команда /guard активирует две основные защитные функции:
- Предупреждения о деструктивных командах: Агент будет запрашивать подтверждение перед выполнением команд, которые потенциально могут привести к потере данных или необратимым изменениям (например,
rm -rf,DROP TABLE,git push --force). Это дает пользователю возможность перепроверить и одобрить или отклонить действие. - Ограничение области редактирования: Пользователь указывает конкретную директорию, и агент будет ограничен в редактировании файлов только в пределах этой директории. Любые попытки изменить файлы за пределами указанного пути будут заблокированы.
Для своей работы /guard требует установленных скиллов /careful и /freeze, которые обычно устанавливаются вместе с gstack.
Как /guard вписывается в цикл разработки Think→Plan→Build→Review→Test→Ship?
- Build (Разработка): Во время написания или модификации кода агентом
/guardзащищает от случайных изменений в несвязанных частях проекта. Если агент работает над конкретным модулем, можно ограничить его действия только этим модулем. - Test (Тестирование): При выполнении автоматизированных тестов или скриптов, которые могут включать операции с файловой системой или базой данных,
/guardобеспечивает, что эти действия останутся в пределах тестового окружения и не повлияют на критические части системы. Предупреждения о деструктивных командах особенно полезны при работе с тестовыми данными. - Review (Проверка): Если агент используется для рефакторинга или анализа кода, ограничение области редактирования гарантирует, что предложенные изменения будут строго в рамках заявленного scope, облегчая проверку.
- Общая безопасность: На всех этапах, где агент взаимодействует с системой,
/guardвыступает как щит от unintended consequences, повышая уверенность в контролируемости AI-помощника.
Типичный сценарий использования
Представьте, что вы используете Claude Code для рефакторинга большого проекта. Вам нужно, чтобы агент переименовал переменные и обновил импорты только в директории src/components/MyFeature/, не затрагивая ничего вне ее. Вы могли бы активировать /guard следующим образом:
- Вы запускаете команду
/guard. - Агент спрашивает: "Guard mode: which directory should edits be restricted to? Destructive command warnings are always on. Files outside the chosen path will be blocked from editing."
- Вы вводите
src/components/MyFeature/. - Агент подтверждает: "Guard mode active. Two protections are now running: Destructive command warnings — rm -rf, DROP TABLE, force-push, etc. will warn before executing (you can override). Edit boundary — file edits restricted to
src/components/MyFeature/. Edits outside this directory are blocked."
Теперь вы можете спокойно поручить агенту задачи по рефакторингу, зная, что все его изменения будут ограничены указанной директорией, и он запросит подтверждение перед любым потенциально опасным действием.
Детали /guard
| Параметр | Значение |
|---|---|
| Лицензия | MIT |
| Ссылка на файл | guard/SKILL.md |
| Репозиторий | garrytan/gstack |
| Название скилла | /guard |
Часто задаваемые вопросы (FAQ)
Что такое slash-команда /guard?
/guard — это команда для Claude Code, которая активирует "режим полной безопасности", комбинируя предупреждения о деструктивных командах (из /careful) и ограничение редактирования файлов заданной директорией (из /freeze).
Какие защитные функции включает /guard?
Она включает два основных уровня защиты: предупреждения перед выполнением потенциально опасных команд (таких как rm -rf) и строгую блокировку редактирования файлов вне указанной пользователем директории.
Как я могу указать, какую директорию должен охранять /guard?
После активации /guard агент автоматически запросит у вас путь к директории, в пределах которой разрешено редактирование.
Что произойдет, если агент попытается изменить файл вне заданной директории?
Попытка редактирования будет заблокирована, обеспечивая целостность файлов за пределами разрешенной области.
Как отключить режим ограничения редактирования, сохраняя при этом предупреждения о деструктивных командах?
Для снятия ограничения на редактирование файлов используйте команду /unfreeze. Чтобы полностью отключить все защиты, завершите текущую сессию с агентом.
Требует ли /guard установки каких-либо зависимостей?
Да, /guard полагается на хук-скрипты из скиллов /careful и /freeze. Они должны быть установлены (обычно устанавливаются вместе со скриптом установки gstack).
Дисклеймер: Представленный материал носит исключительно информационный характер. Актуальная и полная информация о скилле /guard всегда доступна в официальном репозитории gstack на GitHub.
Автор: Garry Tan (репозиторий gstack)
Лицензия: MIT
Текст skill для копирования (перевод на русский)
<!-- АВТОГЕНЕРИРОВАНО из SKILL.md.tmpl — не редактировать напрямую -->
<!-- Перегенерировать: bun run gen:skill-docs -->
# /guard — Режим полной безопасности
Активирует как предупреждения о деструктивных командах, так и ограничения на редактирование, привязанные к директории.
Это комбинация <code>/careful</code> + <code>/freeze</code> в одной команде.
**Примечание о зависимостях:** Этот скилл ссылается на хук-скрипты из родственных директорий скиллов <code>/careful</code>
и <code>/freeze</code>. Оба должны быть установлены (они устанавливаются вместе
с установочным скриптом gstack).
<code>
mkdir -p ~/.gstack/analytics
echo '{"skill":"guard","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
</code>
## Настройка
Спросите пользователя, в какой директории ограничить редактирование. Используйте AskUserQuestion:
- Вопрос: "Режим охраны: в какой директории следует ограничить редактирование? Предупреждения о деструктивных командах всегда включены. Файлы вне выбранного пути будут заблокированы от редактирования."
- Ввод текста (не множественный выбор) — пользователь вводит путь.
После того как пользователь предоставит путь к директории:
1. Разрешите его до абсолютного пути:
<code>
FREEZE_DIR=$(cd "<user-provided-path>" 2>/dev/null && pwd)
echo "$FREEZE_DIR"
</code>
2. Убедитесь в наличии завершающего слеша и сохраните в файл состояния заморозки:
<code>
FREEZE_DIR="${FREEZE_DIR%/}/"
STATE_DIR="${CLAUDE_PLUGIN_DATA:-$HOME/.gstack}"
mkdir -p "$STATE_DIR"
echo "$FREEZE_DIR" > "$STATE_DIR/freeze-dir.txt"
echo "Граница заморозки установлена: $FREEZE_DIR"
</code>
Сообщите пользователю:
- "**Режим охраны активен.** Теперь работают две защиты:"
- "1. **Предупреждения о деструктивных командах** — rm -rf, DROP TABLE, force-push и т.д. будут запрашивать подтверждение перед выполнением (вы можете переопределить)"
- "2. **Граница редактирования** — редактирование файлов ограничено <path>/. Редактирование вне этой директории заблокировано."
- "Чтобы снять границу редактирования, запустите <code>/unfreeze</code>. Чтобы деактивировать все, завершите сессию."
## Что защищено
См. <code>/careful</code> для полного списка шаблонов деструктивных команд и безопасных исключений.
См. <code>/freeze</code> для информации о том, как работает принудительное применение границ редактирования.