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

Обзор gstack: /unfreeze

Команда /unfreeze — это служебный навык в рамках экосистемы gstack , разработанной Гарри Таном. Она служит для управления ограничениями на редактирование файлов в репозитории, особенно полезными при работе с агентами искусственного интеллекта, такими как Claude Code. Краткий отве

Обзор gstack: /unfreeze

Команда /unfreeze — это служебный навык в рамках экосистемы gstack, разработанной Гарри Таном. Она служит для управления ограничениями на редактирование файлов в репозитории, особенно полезными при работе с агентами искусственного интеллекта, такими как Claude Code.

Краткий ответ

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

Команда /unfreeze снимает ограничение на редактирование файлов, ранее установленное командой /freeze, позволяя агенту ИИ или пользователю изменять любые директории в репозитории.

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

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

/unfreeze выполняет следующие действия:

  1. Записывает использование команды в аналитический лог-файл ~/.gstack/analytics/skill-usage.jsonl, фиксируя имя навыка, временную метку и имя репозитория.
  2. Проверяет наличие файла freeze-dir.txt в директории состояния (обычно $HOME/.gstack или $CLAUDE_PLUGIN_DATA). Этот файл содержит путь к директории, которая была "заморожена" командой /freeze.
  3. Если файл freeze-dir.txt найден, команда удаляет его, тем самым снимая ограничение на редактирование.
  4. Сообщает пользователю, какая директория была разморожена, или информирует, что граница заморозки не была установлена.

Таким образом, /unfreeze эффективно "отпускает" агента ИИ от работы только в одной ограниченной области, предоставляя ему полный доступ к файловой системе репозитория для редактирования. Хуки, созданные /freeze, остаются зарегистрированными в сессии, но поскольку файл состояния отсутствует, они больше не будут применять никаких ограничений.

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

Команда /unfreeze преимущественно задействуется на стадиях **Build** (сборка/разработка) и **Test** (тестирование), а также опосредованно влияет на **Plan** (планирование):

  • Plan (Планирование): Если на этапе планирования было решено, что агент ИИ должен сначала сфокусироваться на конкретной подзадаче в изолированной части проекта (с помощью /freeze), то по завершении этой подзадачи, новое планирование может потребовать более широкого доступа, что инициирует /unfreeze.
  • Build (Сборка/Разработка): Агент ИИ может использовать /freeze для безопасной разработки функциональности в одной директории. После успешного завершения этой части и, возможно, локального тестирования, /unfreeze позволяет агенту перейти к интеграции изменений, рефакторингу смежных модулей или добавлению глобальных конфигураций.
  • Test (Тестирование): Если для тестирования требовалось временно ограничить модификации только тестовой средой, а затем нужно было внести правки в основной код или подготовить другие файлы для дальнейших тестов, /unfreeze обеспечит необходимую гибкость.

/unfreeze является важным механизмом контроля и управления контекстом для агентов ИИ, позволяя разработчику или самому агенту (если он достаточно автономен) динамически регулировать область его воздействия на проект.

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

Представьте, что вы работаете над большим проектом, и ваш агент ИИ (например, Claude Code) получил задачу исправить ошибку в конкретном модуле.

  1. Вы используете команду /freeze path/to/module, чтобы убедиться, что агент сосредоточится только на файлах в этой директории и не внесет непреднамеренных изменений в другие части проекта.
  2. Агент работает, исправляет ошибку, и вы одобряете его изменения.
  3. Теперь вам нужно, чтобы агент обновил документацию, которая находится в корневом каталоге проекта, и добавил новый интеграционный тест в директории tests/. Эти директории находятся за пределами ранее "замороженного" path/to/module.
  4. Вы (или сам агент, если ему делегировано) вызываете команду /unfreeze.
  5. Команда /unfreeze удаляет ограничение. Теперь агент может свободно модифицировать файлы в любой части репозитория, чтобы выполнить новые задачи по обновлению документации и добавлению тестов.

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

Параметр Значение
Лицензия MIT
Ссылка на исходный файл unfreeze/SKILL.md
Репозиторий gstack
Автор Garry Tan

Часто задаваемые вопросы о /unfreeze

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

/unfreeze — это навык в репозитории gstack, предназначенный для снятия ограничений на редактирование файлов, ранее установленных командой /freeze. Он позволяет агентам ИИ или пользователям снова изменять любые директории в репозитории.

Для чего используется команда /unfreeze?

Команда используется для восстановления полного доступа к файловой системе репозитория после того, как область редактирования была ограничена (заморожена) до определенной директории. Это полезно, когда агент ИИ завершил работу над сфокусированной задачей и теперь ему требуется более широкий доступ для других изменений или интеграции.

Как /unfreeze связан с /freeze?

Команды /freeze и /unfreeze являются антагонистами. /freeze [путь] устанавливает ограничение на редактирование только внутри указанного пути, а /unfreeze отменяет это ограничение, удаляя соответствующий файл состояния.

Что происходит, если граница заморозки не была установлена при вызове /unfreeze?

Если файл freeze-dir.txt (индикатор установленной границы заморозки) не существует, команда /unfreeze просто сообщит, что "граница заморозки не была установлена" ("No freeze boundary was set."), и не предпримет никаких действий по удалению файла, поскольку его нет.

Какие данные логирует команда /unfreeze?

Команда логирует свое использование, записывая в файл ~/.gstack/analytics/skill-usage.jsonl JSON-объект, содержащий имя навыка (unfreeze), временную метку (ts) в формате UTC и имя репозитория (repo).

Может ли агент ИИ использовать /unfreeze?

Да, агенты ИИ, такие как Claude Code, которые интегрированы с gstack и имеют соответствующие разрешения, могут вызывать команду /unfreeze для динамического управления своей областью работы в зависимости от поставленных задач.

Важное замечание

Этот материал носит информационный характер. Актуальность и полнота функционала команды /unfreeze следует всегда проверять в оригинальном репозитории gstack на GitHub.

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

# /unfreeze — Снять границу заморозки

Снимает ограничение на редактирование, установленное командой `/freeze`, позволяя редактировать все директории.

bash
mkdir -p ~/.gstack/analytics
echo '{"skill":"unfreeze","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

## Снять границу

bash
STATE_DIR="${CLAUDE_PLUGIN_DATA:-$HOME/.gstack}"
if [ -f "$STATE_DIR/freeze-dir.txt" ]; then
  PREV=$(cat "$STATE_DIR/freeze-dir.txt")
  rm -f "$STATE_DIR/freeze-dir.txt"
  echo "Граница заморозки снята (была: $PREV). Редактирование теперь разрешено везде."
else
  echo "Граница заморозки не была установлена."
fi

Сообщить пользователю результат. Обратите внимание, что хуки `/freeze` по-прежнему зарегистрированы для сессии — они просто разрешат все действия, поскольку файл состояния больше не существует. Чтобы снова заморозить, запустите `/freeze` повторно.

Автор

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

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