К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

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

Скилл проверяет команды терминала перед запуском и блокирует опасные операции вроде удаления баз данных или сброса веток Git. Пригодится при выдаче агенту доступа к терминалу.

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

Что делает careful

Хук PreToolUse перехватывает команды в Bash и PowerShell перед их запуском через проверочный скрипт check-careful.sh. Система сверяет текст вызова со списком опасных шаблонов: удаление таблиц в базах данных, сброс веток через git reset --hard, вызовы kubectl delete или rm -rf. При совпадении Claude Code запрашивает подтверждение разработчика. Очистка node_modules, dist, .cache и build считается безопасным исключением и проходит без лишних вопросов.

Скилл намертво блокирует две операции: удаление корня или домашнего каталога (/, ~, $HOME) и форс-пуш в основную ветку репозитория. Собственные регулярные выражения можно дописать в файл ~/.gstack/careful-patterns.txt.

Полагаться на инструмент как на абсолютный барьер в PowerShell нельзя, так как строковый поиск не увидит команду, составленную динамически прямо во время выполнения. На Windows для работы хука обязательно требуется Git Bash.

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

  • Блокировать случайное удаление каталогов через rm -rf в терминале
  • Останавливать опасные операции с базами данных вроде DROP TABLE и TRUNCATE
  • Предотвращать потерю коммитов от команд git reset --hard и git push --force
  • Защищать рабочие контейнеры и поды от запуска docker system prune и kubectl delete

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

  • Включи безопасный режим для терминала с помощью `/careful`
  • Предупреждай меня перед любыми деструктивными командами
  • Будь осторожен при удалении файлов и очистке веток

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

1Через Skills CLI (Vercel)

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

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

~/.claude/skills/careful/SKILL.md

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

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

Весь набор →
gstack garrytan Роутер по набору скиллов gstack: выбирает нужный скилл под задачу и запускает его. Пригодится, когда скиллов много и вы не помните, какой за что отвечает. Claude Code CX Codex Cursor +1 24 100установок plan-design-review garrytan Скилл для дизайн-ревью планов и черновиков перед началом разработки. Находит пробелы в UX и интерфейсных решениях и сразу вносит правки в план. Claude Code CX Codex Cursor +1 474установок qa garrytan Скилл для автоматизированного поиска и фиксации ошибок в браузере, API, CLI, джобах и вебхуках. Работает с Bash, поиском по файлам и вебом. Claude Code CX Codex Cursor +1 457установок cso garrytan Проверяет код и инфраструктуру на уязвимости, а в полном режиме добавляет воспроизведение и варианты исправления. Нужен для аудита проекта. Claude Code CX Codex Cursor +1 405установок qa-only garrytan Находит и фиксирует баги в браузерных сценариях, API, CLI и воркерах без изменения кода. Пригодится для чистого тестирования перед релизом. Claude Code CX Codex Cursor +1 395установок freeze garrytan Хук блокирует Edit, Write и NotebookEdit за пределами выбранной папки. Отказ, а не предупреждение. Claude Code CX Codex Cursor +1 352установок plan-devex-review garrytan Интерактивное ревью плана: скилл смотрит, где споткнётся тот, кто впервые открывает проект, и задаёт вопросы до начала работы. Claude Code CX Codex Cursor +1 347установок setup-browser-cookies garrytan Скилл переносит куки из настоящего браузера Chromium в сеанс headless-браузера. Нужен, чтобы тестировать сайты, на которых требуется авторизация, без ввода пароля каждый раз. Claude Code CX Codex Cursor +1 342установок

Похожие

differential-review trailofbits Проверяет изменения кода с упором на безопасность, историю Git и покрытие тестами. Нужен для разбора коммитов, различий и пул-реквестов с отчётом. Claude Code CX Codex Cursor +1 8 800установок kr-whois-lookup NomaDamas Скилл проверяет регистрационные данные доменов .kr, IP-адресов и номеров автономных систем через k-skill-proxy. Claude Code CX Codex Cursor +1 4 200установок fullstack-guardian https://github.com/Jeffallan Скилл помогает создавать веб-приложения со сквозной защитой от базы данных до интерфейса. Пригодится при сборке REST API с формами CRUD и сквозными потоками данных. Claude Code CX Codex Cursor +1 5 600установок cc-skill-security-review sickn33 Проводит ревью кода на уязвимости: SQL-инъекции, XSS, утечки секретов, ошибки авторизации. Нужен при работе с API, загрузкой файлов и аутентификацией. Claude Code CX Codex Cursor +1 2 100установок omni-github-skills cheaper-inference Ищет файлы навыков вроде SKILL.md и CLAUDE.md в репозиториях GitHub, проверяет их на вредоносный код и импортирует в окружение агента. Claude Code CX Codex Cursor +1 955установок sandbox-npm-install официальный github Скилл ставит npm-зависимости на локальной ext4-файловой системе Docker и возвращает node_modules в workspace через symlink. Нужен при virtiofs. GitHub Copilot 1 700установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. Claude Code 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. Claude Code CX Codex Cursor +1 56 300установок

Вопросы о careful

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

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

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

Он проверяет команды Bash и PowerShell перед запуском и запрашивает подтверждение, если команда способна удалить данные, стереть файлы или перезаписать историю Git.

Будет ли careful работать на Windows?

Да, но для запуска проверочного скрипта требуется Git Bash. Для надёжной блокировки команд PowerShell разработчики также советуют настроить правила deny в .claude/settings.json.

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

SKILL.md · MIT
---
name: careful
version: 0.1.0
description: Safety guardrails for destructive commands. (gstack)
triggers:
  - be careful
  - warn before destructive
  - safety mode
allowed-tools:
  - Bash
  - Read
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..."
---
<!-- 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 and PowerShell 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
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":"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_STATE_ROOT"/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 |

## PowerShell and cmd (Windows)

The hook also checks the PowerShell tool (Claude Code's main Windows shell)
and any `pwsh`/`powershell`/`cmd` launched from Bash. Matching ignores case,
covers aliases in command position, accepts parameter prefixes (`-r`, `-fo`)
and strips cmd `^` escapes. All rows above apply there too.

| Pattern | Example |
|---------|---------|
| `Remove-Item`/`rm`/`ri`/`del`/`erase`/`rd`/`rmdir` + `-Recurse` or `-Force` | `gci \| ri -r -fo` |
| cmd `rd /s`, `rmdir /s`, `del /s`, `erase /s` | `cmd /c rd /s /q C:\proj` |
| `Format-Volume`, `Clear-Disk`, `Clear-Content`, `[IO.Directory]::Delete`, `[IO.File]::Delete` | `Clear-Disk -Number 1` |
| `-EncodedCommand`, `iex`, `Start-Process` of a shell, `& $cmd` (can't be inspected) | `irm $url \| iex` |

**Best-effort on PowerShell.** String matching can't see a command built at
runtime. For a hard stop, add Claude Code permission deny rules, which parse
PowerShell and its aliases: `"deny": ["PowerShell(Remove-Item *)"]` in
`.claude/settings.json`. The hook runs through `bash`, so Windows needs Git Bash.

## 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 `tool_name` and 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/<slug>/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.

© garrytan · MIT · garrytan/gstack

Смотрите также

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

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