К основному содержанию
скилл CX Codex

guard — скилл для Claude Code: что делает и как установить

Включает режим полной защиты: предупреждает об опасных командах в терминале и ограничивает редактирование файлов одной выбранной директорией.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add garrytan/gstack --skill guard -a claude-code
Открыть на GitHub

Что делает guard

Скилл объединяет возможности двух других инструментов набора gstack — /careful и /freeze. При запуске агент через AskUserQuestion запрашивает путь к рабочему каталогу. Скрипт freeze-state.sh фиксирует эту границу и блокирует операции Edit, Write и NotebookEdit для любых внешних файлов.

Перед вызовом Bash или PowerShell хук запускает проверку check-careful.sh. Опасные действия вроде DROP TABLE или git push --force потребуют подтверждения. Критические операции вроде удаления корня или домашней директории блокируются намертво. Без установленных рядом каталогов careful и freeze скилл работать не сможет, потому что его хуки обращаются напрямую к их скриптам. Снять ограничение на запись можно отдельной командой /unfreeze.

Какие задачи решает

  • Блокировать случайное удаление файлов командами вроде rm -rf
  • Ограничить правки кода рамками конкретной директории проекта
  • Предотвратить форс-пуш в основную ветку репозитория
  • Защитить базу данных от случайного выполнения DROP TABLE

Примеры запросов агенту

  • Включи режим полной безопасности и ограничь изменения папкой src
  • Защити проект от разрушительных команд в терминале
  • Запусти guard для текущего репозитория

Как установить guard

1Через Skills CLI (Vercel)

npx skills add garrytan/gstack --skill guard -a claude-code

2Вручную: положить файлы

~/.claude/skills/guard/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/guard/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о guard

Как установить guard в Claude Code?

Выполните в терминале команду npx skills add garrytan/gstack --skill guard -a claude-code.

Что делает скилл guard?

Он проверяет вызовы командной строки на деструктивные действия и блокирует любые изменения файлов за пределами указанной директории.

Какие зависимости нужны для работы guard?

Скиллу требуются скрипты из соседних модулей careful и freeze, входящих в репозиторий gstack. Без них проверки завершатся ошибкой.

Исходный текст

SKILL.md · MIT
---
name: guard
version: 0.1.0
description: "Full safety mode: destructive command warnings + directory-scoped edits. (gstack)"
triggers:
  - full safety mode
  - guard against mistakes
  - maximum safety
allowed-tools:
  - Bash
  - Read
  - AskUserQuestion
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: 'bash -c "exec bash \"$HOME/.claude/skills/gstack/careful/bin/check-careful.sh\""'
          statusMessage: "Checking for destructive commands..."
    - matcher: "PowerShell"
      hooks:
        - type: command
          command: 'bash -c "exec bash \"$HOME/.claude/skills/gstack/careful/bin/check-careful.sh\""'
          statusMessage: "Checking for destructive commands..."
    - matcher: "Edit"
      hooks:
        - type: command
          command: 'bash -c "exec bash \"$HOME/.claude/skills/gstack/freeze/bin/check-freeze.sh\""'
          statusMessage: "Checking freeze boundary..."
    - matcher: "Write"
      hooks:
        - type: command
          command: 'bash -c "exec bash \"$HOME/.claude/skills/gstack/freeze/bin/check-freeze.sh\""'
          statusMessage: "Checking freeze boundary..."
    - matcher: "NotebookEdit"
      hooks:
        - type: command
          command: 'bash -c "exec bash \"$HOME/.claude/skills/gstack/freeze/bin/check-freeze.sh\""'
          statusMessage: "Checking freeze boundary..."
---
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly -->
<!-- Regenerate: bun run gen:skill-docs -->

# /guard — Full Safety Mode

Activates both destructive command warnings and directory-scoped edit restrictions.
This is the combination of `/careful` + `/freeze` in a single command.

**Dependency note:** This skill references hook scripts from the sibling `/careful`
and `/freeze` skill directories. Both must be installed (they are installed together
by the gstack setup script).

```bash
GSTACK_STATE_ROOT=$(~/.claude/skills/gstack/bin/gstack-paths --get GSTACK_STATE_ROOT); : "${GSTACK_STATE_ROOT:?gstack-paths failed; reinstall with ./setup or /gstack-upgrade}"
mkdir -p "$GSTACK_STATE_ROOT"/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_STATE_ROOT"/analytics/skill-usage.jsonl 2>/dev/null || true
```

## Setup

Ask the user which directory to restrict edits to. Use AskUserQuestion:

- Question: "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."
- Text input (not multiple choice) — the user types a path.

Once the user provides a directory path:

Set the user-selected boundary with the shared writer, which resolves a physical absolute path and serializes replacement with investigation cleanup:
```bash
bash "$HOME/.claude/skills/gstack/freeze/bin/freeze-state.sh" set "<user-provided-path>"
```

On helper failure, do not claim the boundary is active. Preserve the state and report recovery; never bypass the shared writer with a direct write or deletion.

Tell the user:
- "**Guard mode active.** Two protections are now running:"
- "1. **Destructive command guard** — rm -rf, DROP TABLE, force-push, etc. warn before executing (overridable); catastrophic shapes (recursive delete of / or ~, force-push to the default branch) are hard-denied"
- "2. **Edit boundary** — file edits restricted to `<path>/`. Edits outside this directory are blocked."
- "To remove the persistent edit boundary, run `/unfreeze`. Ending the session stops its hooks but does not delete that boundary."

## What's protected

See `/careful` for the full list of destructive command patterns and safe exceptions.
See `/freeze` for how edit boundary enforcement works.

© garrytan · MIT · garrytan/gstack

Похожие скиллы

Все скиллы по теме «Безопасность» →
git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. CX Codex +1 57 000установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. CX Codex +1 45 400установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. CX Codex +1 54 800установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. CX Codex +1 70 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора14

cso Проверяет код и инфраструктуру на уязвимости, а в полном режиме добавляет воспроизведение и варианты исправления. Нужен для аудита проекта. CX Codex +1 405установок qa-only Находит и фиксирует баги в браузерных сценариях, API, CLI и воркерах без изменения кода. Пригодится для чистого тестирования перед релизом. CX Codex +1 397установок careful Скилл проверяет команды терминала перед запуском и блокирует опасные операции вроде удаления баз данных или сброса веток Git. Пригодится при выдаче агенту доступа к терминалу. CX Codex +1 375установок freeze Хук блокирует Edit, Write и NotebookEdit за пределами выбранной папки. Отказ, а не предупреждение. CX Codex +1 352установок plan-devex-review Интерактивное ревью плана: скилл смотрит, где споткнётся тот, кто впервые открывает проект, и задаёт вопросы до начала работы. CX Codex +1 347установок setup-browser-cookies Скилл переносит куки из настоящего браузера Chromium в сеанс headless-браузера. Нужен, чтобы тестировать сайты, на которых требуется авторизация, без ввода пароля каждый раз. CX Codex +1 342установок unfreeze Отменяет заморозку директорий, установленную командой /freeze, и разрешает редактировать все папки проекта. Нужен, если вы случайно заморозили нужную область или хотите вернуться к свободному редактированию. CX Codex +1 327установок open-gstack-browser Скилл запускает управляемый ИИ браузер Chromium с встроённым расширением GStack sidebar. Нужен, если вам требуется, чтобы агент открывал веб-страницы и взаимодействовал с ними во время работы. CX Codex +1 318установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой