$ sudo teach IT

Прошлый урок показал ограничение /loop: задача работает только при открытой сессии и живёт максимум семь дней. Для опроса во время работы этого хватает, но ночной разбор бэклога не должен зависеть от открытого терминала.

Claude Code предлагает два уровня выше: локальные Desktop-задачи и облачные routines на инфраструктуре Anthropic. После этого урока вы сможете выбрать подходящий уровень и создать routine из CLI.

Что уже умеем / что добавим

Мы разобрали /loop — самый лёгкий уровень. Теперь достроим картину: сравним три способа планирования, разберём команду /schedule, три типа триггеров routine, вопрос доступа к локальным файлам и ограничения по частоте запуска.

Что вы узнаете в рамках статьи

  • Чем три уровня планирования отличаются по требованиям и возможностям
  • Как создать облачную routine командой /schedule прямо из сессии
  • Какие бывают триггеры routine, кроме расписания
  • Почему облачная routine не видит файлы на вашей машине
  • Какие ограничения по частоте и объёму запусков действуют

Ключевые термины

  • Routine — сохранённая конфигурация Claude Code (промпт, репозитории, коннекторы), выполняемая автоматически в облаке.
  • /schedule — команда создания и управления routines из CLI, псевдоним /routines.
  • Триггер — условие запуска routine: расписание, HTTP-вызов или событие GitHub.
  • Desktop scheduled task — локальная задача по расписанию на вашей машине.
  • Cloud environment — окружение облачной сессии: сетевой доступ, переменные, скрипт установки.

Три уровня: таблица, которую стоит запомнить

Разница между уровнями видна по критериям документации:

  Cloud (routines) Desktop /loop
Где выполняется В облаке, по умолчанию у Anthropic На вашей машине На вашей машине
Нужна включённая машина Нет Да Да
Нужна открытая сессия Нет Нет Да
Переживает перезапуск Да Да Восстанавливается при --resume, если не истекла
Доступ к локальным файлам Нет, свежий клон Да Да
Запросы разрешений Нет, работает автономно Настраивается Наследует от сессии
Минимальный интервал 1 час 1 минута 1 минута

Правило выбора из документации: cloud — для работы, которая должна выполняться независимо от вашей машины; Desktop — когда нужен доступ к локальным файлам; /loop — для быстрого опроса во время сессии.

Главные критерии выбора — доступ к локальным файлам и интервал запуска. Облачная routine работает со свежим клоном и не видит ваш диск; минимальный интервал у неё — час.

Создаём routine из CLI

Routine создаётся на странице claude.ai/code/routines, в десктопном приложении или из CLI. Все три способа используют один облачный аккаунт.

Из сессии всё делается разговором — командой /schedule без аргументов или сразу с описанием:

/schedule ежедневное ревью PR в 9 утра
/schedule через неделю убрать фичефлаг из платёжного модуля

Claude задаст уточняющие вопросы про расписание, репозитории и промпт, затем сохранит routine. У команды есть псевдоним /routines.

Признак успеха: старт выглядит как разговор. Если Claude сообщает, что нужна аутентификация, routine не создана.

Управление тоже из CLI:

/schedule list      — показать все routines
/schedule update    — изменить одну из них
/schedule run       — запустить немедленно

Можно просто спросить про историю: /schedule почему моё ночное ревью ничего не сделало сегодня утром? — Claude покажет недавние запуски со статусами и прочитает лог, объяснив, что произошло: ошибки инструментов, отказы в разрешениях, итоговый результат.

Из чего состоит routine

Форма создания собирает несколько вещей, и каждая влияет на возможности routine.

Промпт. Самая важная часть. Routine работает автономно, поэтому промпт должен быть самодостаточным и явным: что делать и как выглядит успех. Уточнить по ходу будет некому.

Репозитории. Один или несколько GitHub-репозиториев. Каждый клонируется в начале запуска, начиная с ветки по умолчанию. Свои изменения Claude кладёт в ветки с префиксом claude/.

Окружение. Cloud environment задаёт уровень сетевого доступа, переменные и скрипт установки зависимостей. Окружение Default использует доступ уровня Trusted: разрешён только список по умолчанию — реестры пакетов, API облачных провайдеров, реестры контейнеров и распространённые домены разработки.

Триггеры. Об этом ниже.

Коннекторы. По умолчанию включены все ваши подключённые MCP-коннекторы. Лишние стоит убрать: во время запуска Claude может использовать любой их инструмент, включая записывающие, и без запроса разрешения.

Принципиальный момент про идентичность: routine принадлежит вашему личному аккаунту claude.ai, не расшаривается с коллегами и расходует вашу квоту. Всё, что она делает через ваш GitHub и коннекторы, выглядит как ваши действия.

Три типа триггеров

Routine может иметь несколько триггеров.

Расписание. Пресеты: каждый час, ежедневно, по будням, еженедельно. Время вводится в вашем часовом поясе и конвертируется автоматически. Запуски могут начаться позже из-за разброса — сдвиг для routine постоянный.

Нестандартный интервал задаётся так: выбираете ближайший пресет в форме, потом через /schedule update ставите конкретное cron-выражение. Минимальный интервал — один час, более частые выражения отклоняются.

Разовый запуск создаётся из CLI на естественном языке:

/schedule завтра в 9 утра сделай сводку вчерашних merged PR

После срабатывания routine отключается и помечается в веб-интерфейсе как Ran. Разовые запуски не считаются в дневной лимит routines.

API. У routine появляется свой HTTP-эндпоинт: POST с bearer-токеном запускает новую сессию и возвращает ссылку на неё. Так Claude Code подключают к алертингу и деплой-пайплайнам. Токен показывается один раз. API-триггеры добавляются только через веб: CLI не умеет создавать и отзывать токены.

GitHub. Запуск по событию в подключённом репозитории. Две категории: pull request (открыт, закрыт, назначен, помечен, обновлён) и release (создан, опубликован, отредактирован, удалён). Для pull request есть фильтры: автор, заголовок, тело, базовая и головная ветка, метки, признак черновика и смерженности. Требуется установленное приложение Claude GitHub App.

Что нужно знать до того, как положиться

Доступ к локальным файлам. Routine работает со свежим клоном, не видя ваш диск. Поэтому скилл только в ~/.claude/skills/ routine не найдёт. Чтобы он был доступен, закоммитьте его в .claude/skills/ репозитория или поставьте плагин, объявленный в .claude/settings.json проекта. То же с MCP: серверы, добавленные локально через claude mcp add, в списке коннекторов не появятся — их нужно добавить как коннектор в аккаунте claude.ai или объявить в закоммиченном .mcp.json.

Разрешения. Routine работает как автономная облачная сессия: режим разрешений не выбирается, запросов подтверждения не будет. Возможности определяют репозитории, сетевой доступ и коннекторы — ограничивайте каждый пункт.

Ветки. Claude пушит в ветки с префиксом claude/ — они принимаются всегда. Push в другую ветку отклоняется, если она защищена, если из неё открыт чужой PR или если в ней есть чужие коммиты.

Лимиты. Routines расходуют квоту подписки как обычные сессии, плюс есть дневной лимит запусков. Доступны на Pro, Max, Team и Enterprise; владельцы Team и Enterprise могут отключить их.

Зелёный статус — не успех. Он означает лишь, что сессия стартовала и завершилась без инфраструктурной ошибки. Выполнилась ли задача — видно только внутри запуска: заблокированные сетевые запросы, отсутствующие инструменты коннекторов и провалы самой задачи в статус не попадают.

Частые ошибки

  • Ожидать, что routine увидит локальный скилл. Каждый запуск — свежий клон в облаке, и скилл из ~/.claude/skills/ недоступен. Коммитьте его в .claude/skills/ репозитория.
  • Ставить routine чаще раза в час. Минимальный интервал у облачных routines — час, более частые выражения отклоняются. Нужно чаще — это уровень Desktop или /loop.
  • Оставлять в routine все коннекторы. По умолчанию включены все подключённые, и Claude может использовать любой их инструмент, включая записывающие, без подтверждения.
  • Считать зелёный статус подтверждением результата. Он означает только, что сессия отработала без инфраструктурной ошибки. Открывайте запуск и читайте транскрипт.

Наиболее частые вопросы

  • Будет ли routine работать, если выключить ноутбук? — Да, она выполняется в облаке. Desktop-задачи и /loop от машины зависят.
  • Почему /schedule не находится? — Команда требует входа в аккаунт claude.ai; при входе по ключу Console или через облачного провайдера она скрыта. Её также отключает политика организации.
  • Можно ли задать своё cron-выражение? — Да: выберите ближайший пресет, затем поставьте нужное выражение через /schedule update. Интервал чаще часа не примут.
  • Считаются ли разовые запуски в дневной лимит? — Нет. Они расходуют обычную квоту подписки, но в дневной лимит routines не входят.
  • Как отдать routine коллеге? — Никак: routines принадлежат личному аккаунту claude.ai и не расшариваются.

Итоги

Отличная работа — картина планирования у вас полная. Вы различаете три уровня и понимаете, какой выбрать: /loop для опроса во время работы, Desktop-задачи там, где нужны локальные файлы, routines для того, что должно выполняться независимо от вашей машины. Вы умеете создавать routine из CLI разговором, знаете три типа триггеров и осознаёте главные ограничения: свежий клон вместо вашего диска, час как минимальный интервал, автономная работа без запросов разрешений.

Отдельно отметьте предупреждение про зелёный статус: это превращает «у меня всё настроено» в «у меня всё работает».

Следующий урок — про границы другого рода: песочницу /sandbox и команду /security-review.

На следующий урок