Продвинутые фишки
Автономная работа
Иногда хочется заставить Claude Code поработать автономно, без прерываний. Какие есть варианты?
claude --dangerously-skip-permissions -pи в описание задачи вставить что-то типа “не останавливайся, пока все пункты из плана или чек-листа не выполнены”Написать баш-скрипт с условиями или использовать команду
/loop, чтобы Claude Code каждый n минут проверял текущее состояние файла с планомИспользовать специализированные фреймворки:
Внимание: Обратите особое внимание на вопросы безопасности при использовании ИИ-агентов в автономном сценарии! Особенно если вы не используете тим-план Claude Code.
Перед автономным запуском
Перед запуском агентской петли (типа /goal) желательно задать агенту следующие ограничения:
- Критерий завершения — проходят конкретные тесты, создан ожидаемый артефакт или другое (желательно) измеримое состояние
- Ограничения — что нельзя менять ради достижения цели: тесты, контракты, зависимости, данные
- Лимиты — максимальное время, количество шагов, стоимость
- Внешнее состояние — план и прогресс сохраняются в файле или git, а не только в контексте сессии
- Обратимость — создаём отдельный worktree или ветку для лёгкого отката
- Точка останова — цикл останавливается после нескольких одинаковых ошибок, повторения одного и того же действия или отсутствия улучшений в целевой метрике
- Эскалация — при срабатывании стоп-критериев агент сохраняет отчёт и обращается к пользователю за уточнением
- Безопасный результат — например, по умолчанию агент готовит коммит или PR, но не деплоит сам
Команда /goal
Хочется написать “сделай это”, пойти спать и на утро уткнуться не в какой-то очередной уточняющий вопрос, а увидеть результат? Тут поможет команда /goal <условие>. Claude Code будет продолжать работу, пока условие не будет выполнено. После каждого шага отдельная модель изучает транскрипт сессии и решает, достигнуто ли заданное условие. Если нет — продолжаем работу.
/goal найдены все противоречивые факты в wiki/, сформулированы уточняющие вопросы для пользователя для разрешения противоречий
Чтобы проверить статус активной цели пишем /goal без аргументов (покажет условие, сколько ходов и токенов потрачено), чтобы остановиться досрочно — /goal clear.
Фактически это просто цикл while (условие не выполнено) { работай дальше }. Отсюда вылезают и все нюансы:
- Модель-оценщик читает только транскрипт. Она не запускает ничего и не открывает файлы сама, поэтому основной агент должен иметь возможность явно доказать, что условие выполнено
- Лучше формулировать измеримый результат. Не “улучши качество кода”, а “увеличь покрытие тестами до 90%”
- Явно прописываем ограничения. Модели склонны читерить, особенно если долго что-то не получается. Поэтому явно указывайте, какими способами нельзя достигать цель
- Лучше разбивать сложные задачи на последовательные цели. Чем сложнее цель и сложнее измерить статус её выполнения, тем хуже всё будет работать
Важно:
- В интерактивном режиме у команды нет явного лимита на токены или на количество шагов. Можно сочетать с
claude -pи опциями--max-turnsи--max-budget-usd /goalубирает уточнения и подтверждения между ходами (turns), но всё ещё требует нужных разрешений для запуска тулзов, команд. Поэтому её можно сочетать с авто-режимом
Код-ревью в CI/CD
При желании можно создать в своём проекте пайплайн, который по нажатию кнопки в PR будет делать код-ревью через Claude Code и добавлять комменты к коду.
Как примерно это может быть реализовано:
- На сервере поднят Claude Code и CI/CD агент
- Из общего репозитория подгружается шаблон с описанием задачи код-ревью, опционально подтягиваются проектные инструкции
- На вход Claude Code подаётся git diff, по желанию он может дополнительно читать файлы новой ветки
- Запускается
claude -p --max-turns 30— неинтерактивный режим - На выходе получаем JSON с комментариями, они могут быть либо общие, либо привязанные к конкретным строчкам любого файла
- Скрипт постит эти комментарии в CI/CD систему по API

Хуки
Хук - это обязательное детерминированное действие, которое Claude Code должен сделать при определённом условии, например, при закрытии сессии пользователем или перед вызовом любого инструмента.
Hooks reference — Claude Code Docs
Примеры использования хуков
- Блокировка попадания секретов в контекст
- Автоматически пулить актуальный
CLAUDE.mdпри старте новой сессии - Блокировать опасные исполнения инструментов (например, запросы к БД по ключевым словам)
- Автоматически переименовывать сессии с помощью маленькой модельки
Управление контекстом
Хоть недавно и добавили Opus с миллионным контекстом, всё равно полезно знать некоторые аспекты управления контекстом:
/clear— полная очистка сессии/compact <instructions>— иногда лучше закомпактить заранее перед авто-компактизацией (80-90%). Можно попросить запомнить важные скрипты и их параметры, которые мы используем для дебаггинга, или другую важную информацию/btw— пока Claude Code думает, можно в отдельном одноразовом форке спросить его что-то/rewind— если Клод неверно понял запрос, лучше не корректировать его в новом сообщении, а откатиться назад и переформулировать запрос. Аналогично для каких-то сторонних временных дискуссий, которые внезапно появились в сессии, но не несут ценности для основной задачи- Вызов субагентов — очень хороший способ защиты контекста от ненужной информации
Claude Code в Телеграм
За своими сессиями можно следить из Телеграма, инструкция лежит тут. Из забавного — можно с помощью Claude Code реализовать и другие интеграции с мессенджерами — например, с Маттермостом.

Как заставить LSP-инструмент работать?
У Claude Code есть встроенный LSP-тул, который по умолчанию не работает. Он позволяет Claude точнее работать с кодом, а не грепать всё подряд.
Тут есть инструкция, как его включить, например, для Питона:
- Прописываем в настройках
"env": { "ENABLE_LSP_TOOL": "1" }(хотя на версии 2.1.88 работает и без этого) - Устанавливаем сервер, например в питоновском энве:
pip install python-lsp-serverи делаем симлинкln -sf ~/.virtualenvs/myenv/bin/pyright-langserver ~/.local/bin/pyright-langserver - Устанавливаем нужный плагин:
claude plugin marketplace update claude-plugins-officialиclaude plugin install pyright-lsp - Попросите Claude Code проверить, работает ли инструмент LSP. Некоторые возможные проблемы описаны по ссылке выше
Крон-джобы
Claude Code умеет создавать кроны — по сути запускать какой-то промпт в заданное время или через заданные интервалы. Можно использовать команду /loop или просто попросить Claude Code создать крону. Например, можно настроить ИИ-дежурного — подключить MCP к мессенджеру и Kubernetes, создать крону, которая мониторит алерты и автоматически перезапускает поды при ошибках.
Из минусов таких кронов — сессия должна быть активной.

Revdiff
Для тех, кто хочет глубже погрузиться в то, что пишет ИИ-агент — провести ревью, позадавать вопросы, есть прикольный инструмент — revdiff. Его можно использовать как плагин в Claude Code и прям в терминале аннотировать изменённые строчки или целые файлы. Каждая аннотация поступает на вход Claude Code, который решает, что с ней делать:
- Прокомментировать, например, ответить на вопрос
- Внести какое-нибудь изменение
- Пропустить

HTML вместо простыни в чате
Claude Code очень любит сыпать огромные тексты прям в чат или в md-файлы. Я постоянно напоминаю ему задавать мне вопросы или вываливать информацию по пункту за раз. Есть альтернатива, которая особенно хорошо подходит для крупных задач с большим количеством информации (обзор репозитория, план реализации фичи, таймлайн инцидента). Это HTML-файл, который можно открыть в браузере и не просто изучить, но и покликать, посворачивать секции, поискать по словам. Идея хорошо разобрана в посте Anthropic «The unreasonable effectiveness of HTML».
Плюсы:
- Удобство восприятия — таблицы, SVG-диаграммы, удобный layout страницы
- Можно шарить коллегам — достаточно переслать один файл или архив
- Кастомизируемость — можно попросить добавить любую функциональность - от фильтров до выгрузки отчётов в нужном формате

Следующая: Changelog
Предыдущая: Скиллы, плагины, субагенты