Course
Каждая повторяющаяся задача Claude Code имеет одинаковую цену. Вспомните ночной обзор PR, еженедельный аудит зависимостей или проверку документации перед релизом. Для каждой из них вам приходится сидеть в терминале с открытой сессией и наблюдать за выполнением. Закройте ноутбук — и работа будет ждать вас.
Процедуры снимают эту нагрузку.
Процедура запускает Claude Code в облаке на инфраструктуре под управлением Anthropic, поэтому она продолжает работать, даже когда ваш ноутбук закрыт. Вы один раз описываете задачу, указываете репозитории, и она срабатывает по расписанию или событию без открытой сессии.
В этом руководстве вы создадите свою первую процедуру: настроите запуск по расписанию, посмотрите на выполнение, а затем расширите её область и возможности.
Если хотите углубиться, наш практический курс Claude Code in Action охватывает всё — от управления контекстом и режима планирования до пользовательских команд, серверов MCP, хуков и SDK.
Что такое процедуры Claude Code?
Процедура — это сохранённая конфигурация Claude Code: подсказка, один или несколько репозиториев и набор коннекторов. Вы упаковываете её один раз, и она автоматически выполняется на облачной инфраструктуре под управлением Anthropic.
У каждого из трёх компонентов своя роль:
- Подсказка. Главная часть, потому что процедура выполняется без вашего подтверждения на каждом шаге. Подсказка должна описывать всю задачу и критерии её завершения.
- Репозитории. Claude клонирует их в начале каждого запуска и работает внутри них.
- Коннекторы. Интеграции claude.ai в вашей учётной записи — например, Slack или Linear, — из которых процедура может читать и в которые может писать во время выполнения. Например, процедура для триажа поддержки может читать канал Slack и создавать задачи в Linear.
Коннекторы для процедур настраиваются на платформе claude.ai; то же относится к серверам MCP. Локальные конфиги не переносятся.

Процедуру можно запустить тремя способами: по расписанию, через вызов API или по событию GitHub. Одна процедура может сочетать все три.
Процедуры и /loop
Между /loop и /schedule есть разница, потому что они решают разные задачи.
Задача /loop живёт в текущей сессии. Она срабатывает только пока Claude Code запущен и бездействует на вашей машине; закрытие терминала её останавливает. Это удобно для опроса сборки, за которой вы следите прямо сейчас.
Подробнее о /loop и других важных командах читайте в нашем руководстве Claude Code Terminal.
Процедура выполняется в облаке и работает независимо от любой сессии:
|
|
Облачная процедура |
|
|
Где выполняется |
Облако Anthropic |
Ваша машина |
|
Требуется машина |
Нет |
Да |
|
Требуется сессия |
Нет |
Да |
|
Минимальный интервал |
1 час |
1 минута |
Есть и третий, локальный вариант. Запланированные задачи на рабочем столе выполняются на вашем компьютере — для работы, которой нужны локальные файлы и инструменты. Они запускаются только пока машина не спит, но не требуют открытого приложения Claude.
Процедура, которую мы построим
Ментальная модель определена. Теперь нужна задача для процедуры. Для этого руководства мы создали pr-review-demo, небольшой проект на Python с одним открытым pull request.
В нём есть пакет cartlib, который обрабатывает корзину: хранит цены в целых центах, применяет скидки для участников и за объём, добавляет налог штата и формирует итоговую сумму. Пакет в основной ветке работает корректно.
В открытом pull request добавляется купон на бесплатную доставку, и в нём есть реальная ошибка, намеренно внедрённая нами. Это несоответствие единиц между файлами: в одном файле всё выглядит нормально, а проблема проявляется только при трассировке значения через два файла. Так у процедуры появляется реальная работа на остальную часть руководства.
Сделайте форк репозитория, чтобы повторить шаги на своей копии. Это учебный проект, а паттерны применимы к любому репозиторию, на который вы направите процедуру.
Предварительные требования
Вам нужна учётная запись claude.ai в тарифе Pro, Max, Team или Enterprise с включённым Claude Code в вебе. Процедуры находятся по адресу claude.ai/code/routines.
Команда /schedule проходит аутентификацию через ваш логин подписки claude.ai, а не ключ Anthropic API или авторизацию Bedrock, Vertex или Foundry. Ей также нужен свежий CLI, поэтому выполните claude update, если у вас старая версия.
Также есть два отдельных требования для GitHub. Во-первых, /web-setup предоставляет доступ для клонирования, который требуется запланированной процедуре. Во-вторых, отдельно устанавливаемое приложение Claude GitHub включает триггер GitHub, о котором будет позже.
Создание процедур Claude Code с помощью /schedule
Имея целевой репозиторий, создайте процедуру из CLI. Запустите /schedule в любой сессии. Можно сразу передать описание:
/schedule daily PR review at 9 am
Затем Claude проведёт вас по тем же полям, что и веб-форма: имя, подсказка, репозиторий, среда, коннекторы и расписание. Он подтверждает расписание в вашем локальном часовом поясе и конвертирует его за вас, так что 9 am превратится в корректное выражение cron без вашего участия.

Если в вашей учётной записи ещё нет подключения к GitHub, Claude предложит запустить /web-setup. Выполните её, затем снова запустите /schedule, чтобы продолжить с места остановки.
Как написать подсказку, которая работает без вас
От подсказки зависит, будет ли процедура успешной.
Обычная сессия — это диалог, где вы можете корректировать Claude по ходу. У процедуры некому её корректировать. Она стартует «вхолодную», выполняется до конца и не может задать уточняющий вопрос. Подсказка должна назвать задачу, репозиторий и то, как выглядит завершённый запуск.
Сравните два варианта. Первый оставляет слишком много недосказанного:
Review the open PR.
В нём не указаны ни репозиторий, ни критерии ревью, нет места для комментариев и нет определения готовности. «Холодный» запуск не сможет восполнить эти пробелы. Второй вариант отвечает на всё это:
Review the open pull request in pr-review-demo. The cartlib package works entirely in integer cents. Read the checkout flow and the values it pulls from config.py, and check that every amount stays in cents end to end. If any value is mixed in using the wrong unit, leave an inline comment on that line explaining the error and its effect on the customer's total. Then, post a summary comment stating whether the PR is safe to merge.
Эта подсказка называет репозиторий и формулирует инвариант, которому должен соответствовать код: все суммы — в центах. Она указывает на два ключевых файла и определяет «готово» как инлайн-комментарий плюс вердикт о возможности слияния. Так у запуска появится цель, которую он сможет достигнуть самостоятельно. Вставьте её, когда /schedule спросит, что должен сделать агент.
По умолчанию включены все ваши коннекторы, так что новая процедура уже имеет доступ ко всем интеграциям вашей учётной записи. Пока это нормально; далее мы сократим список.
После завершения настройки Claude сохранит процедуру и подтвердит, что она активна, указав её репозиторий, расписание, модель и время следующего запуска.

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

Нажмите Запустить сейчас, чтобы запустить её немедленно, не дожидаясь 9:00.
Как читать запуск
Запуск начинается со свежего клона вашего репозитория, взятого из ветки по умолчанию. Всё, что вы закоммитили, там есть. Всё, что настроено только на вашей машине, — нет; процедура видит репозиторий так же, как его видят ваши коллеги.
После завершения в списке запусков появится зелёный статус. Он означает, что сессия отработала и завершилась без инфраструктурной ошибки. Но это не значит, что задача из вашей подсказки выполнена успешно. За зелёной галочкой могут скрываться три типа сбоев, которые видны только в расшифровке сессии:
- Сетевой запрос, заблокированный средой.
- Инструмент коннектора, которого процедура ожидала, но не смогла достичь.
- Сбой на уровне задачи, когда запуск завершился корректно, но сделал не то.

Поэтому откройте запуск и проверьте. Нажмите на любой запуск, чтобы прочитать его как полноценную сессию: посмотреть, что делал Claude, изучить diff, открыть pull request или продолжить разговор.
В демо-репозитории в стенограмме видно находку. Claude читает checkout.py и обнаруживает, что купону присвоено 5 вместо 500. Он объясняет, что это применяет $5 как 5 центов, завышая стоимость для клиента на $4,95 за заказ, и предлагает однострочное исправление. Затем публикует обзор в PR через коннектор GitHub.

Управление процедурами Claude Code из CLI
Когда процедура создана, управляйте ей той же командой. Выполните /schedule list, чтобы увидеть все процедуры, /schedule update — чтобы изменить одну, и /schedule run — чтобы запустить немедленно.
Предустановленные расписания: почасовое, ежедневное, по будням и еженедельное. Для произвольного интервала, например каждые 2 часа или в первый день месяца, сначала выберите ближайшую предустановку. Затем выполните /schedule update и задайте выражение cron напрямую. Минимальный интервал — 1 час; более частые запуски отклоняются.
Процедуры также учитываются в вашем дневном лимите запусков, а в период исследовательского превью события GitHub имеют почасовые лимиты. События сверх лимита отбрасываются, а не ставятся в очередь. Текущие значения зависят от тарифа и отображаются на claude.ai/code/routines.
CLI создаёт только процедуры по расписанию. Чтобы добавить триггер GitHub или API, отредактируйте процедуру в веб-приложении.
Запуск процедур Claude Code из GitHub и по HTTP
Расписание запускает процедуру «по часам». Два других триггера позволяют GitHub или вашим системам запускать ту же процедуру. Процедура для обзора PR может работать по ночам, реагировать на каждый новый PR и стартовать из скрипта деплоя — одновременно.
Оба добавляются при редактировании процедуры на claude.ai/code/routines.
Реагирование на pull request с триггером GitHub
Для триггера GitHub требуется установленное в нужном репозитории приложение Claude GitHub App. Если его нет, мастер настройки триггера предложит установить. Обратите внимание: /web-setup из предыдущего шага предоставляет только доступ к клонированию. Оно не устанавливает приложение и не настраивает вебхуки, так что его выполнение не закрывает этот шаг.
После установки приложения добавьте триггер и выберите событие. События делятся на две категории: pull request и релизы; внутри выбирается конкретное действие. В UI представлены частые варианты как пресеты — PR открыт, PR слит, релиз опубликован, — а также «Пользовательский» для остальных.
Затем сузьте условиями. Для pull request можно фильтровать по автору, заголовку, телу, базовой ветке, исходной ветке, меткам, статусу черновика и факту слияния. Для срабатывания процедуры должны совпасть все условия.
Оператор matches regex проверяет всё поле, а не подстроку. Чтобы совпадал любой заголовок, содержащий hotfix, напишите .*hotfix.*. Обычное hotfix совпадает только с заголовком, который точно равен этому слову — и ничему другому.

Триггер GitHub настроен на срабатывание при новом pull request, отфильтрован по основной ветке и конкретному автору.
Для демо-репозитория установите событие «открытие pull request» и оставьте фильтры пустыми. Теперь каждый новый PR запускает написанный вами обзор без присутствия у терминала: процедура прослеживает единицы купона по файлам, оставляет инлайн-комментарий на строке с ошибкой и публикует вердикт по слиянию.
Каждое совпавшее событие запускает собственную сессию, поэтому два PR подряд дадут два независимых запуска.
Запуск процедуры по HTTP
Триггер API позволяет вашим инструментам запускать процедуру. Выберите API в селекторе триггеров и нажмите Generate token. Токен показывается один раз и не может быть восстановлен позже, поэтому сразу сохраните его в хранилище секретов вашего инструмента оповещений.
Затем выполните POST на endpoint запуска процедуры с токеном и телом text:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
Значение text передаётся как буквальная строка и не парсится — пишите обычным текстом, а не JSON. Структурированный ввод приходит как сырой текст, и процедура читает его дословно.
Заголовок anthropic-beta обязателен, а API носит экспериментальный характер, поэтому проверьте справочник API, прежде чем подключать его к CI. Оттуда инструмент мониторинга может вызывать этот endpoint по алерту и позволять процедуре самостоятельно открывать черновой PR с исправлением.
Ограничение доступа процедур Claude Code
Процедура работает автономно, поэтому, прежде чем направлять её на реальный репозиторий, ограничьте её доступ. В документации это описывается четырьмя контролями:
- От чьего имени действует процедура — через вашу личность GitHub и коннекторы.
- В какие ветки она может пушить.
- Какие коннекторы может использовать.
- К каким хостам среда позволяет обращаться по сети.
Ограничьте каждый пункт до реально необходимого.
Идентичность процедуры
Идентичность — в первую очередь потому, что это то, что заметит коллега в общем репозитории. Всё, что процедура делает через вашу личность GitHub или ваши коннекторы, выглядит как действия от вашего имени.
Коммиты и pull request содержат ваш пользовательский GitHub, а сообщения в Slack и тикеты в Linear — привязанные аккаунты. Коллеги увидят ваше имя на этих коммитах и PR, поэтому называйте ветки и заголовки так, чтобы было ясно, что их создала процедура.
Ветки, в которые может пушить процедура
Ветки — далее. Запуск — это полноценная облачная сессия без запросов разрешений, поэтому он никогда не остановится, чтобы спросить, прежде чем отредактировать файл или открыть pull request.
Ограничителем служит ветка, в которую можно писать. По умолчанию Claude пушит только в ветки с префиксом claude/, что удерживает его от защищённых или долгоживущих веток вроде main.
Параметр на уровне репозитория — Allow unrestricted branch pushes — снимает это ограничение. Включайте его осознанно и только там, где это необходимо.
Коннекторы, которые может использовать процедура
Коннекторы — самый рискованный из четырёх пунктов. По умолчанию включены все ваши коннекторы claude.ai, и Claude может использовать любые инструменты из каждого включённого коннектора, включая операции записи, без запросов во время запуска.
Поэтому сократите список до необходимого. Процедуре обзора PR нужен GitHub и почти ничего больше. Случайные коннекторы почты или календаря — лишний доступ, который процедуре не нужен, а инъекция подсказки, скрытая в PR, может обернуть этот доступ против вас.

Сетевой доступ
Сетевой доступ — последний контроль. Среда Default использует доверенный сетевой доступ: есть встроенный разрешающий список реестров пакетов, API облачных провайдеров, реестров контейнеров и распространённых доменов разработки; остальное блокируется.
Заблокированный запрос завершается 403 и x-deny-reason: host_not_allowed. Расширяйте доступ только когда процедуре действительно нужно добраться до ваших сервисов. Иначе сбой получится «тихим»: он проявится в стенограмме, а не как очевидная ошибка.
Идеи процедур Claude Code для следующего шага
Вы умеете создавать, запускать и ограничивать процедуру. Эти примеры из официальной документации связывают задачу с подходящим триггером:
- Индивидуальный код-ревью. Триггер GitHub на открытие PR. Применяет чек-лист вашей команды, оставляет инлайн-комментарии по безопасности, производительности и стилю и добавляет сводку. Это демо, обобщённое до ваших реальных стандартов.
- Поддержка бэклога. Триггер по расписанию, каждый будний вечер. Читает задачи, открытые с момента прошлого запуска, проставляет метки, назначает ответственных по области кода и публикует сводку в Slack.
- Проверка деплоя. Триггер API из конвейера CD после каждого продакшен-деплоя. Запускает смоук-чек на новый билд, сканирует логи ошибок на регрессии и публикует go/no-go в канал релиза.
- Расхождение в документации. Триггер по расписанию, еженедельно. Сканирует слитые PR с прошлого запуска, помечает документы, ссылающиеся на изменённые API, и открывает PR на обновления в репозитории документации.
Процедуры подходят для работы, которая проходит без присмотра, повторяема и связана с чётким результатом. Если вы можете прописать критерии успеха в подсказке, как в обзоре PR, — задача подходит. Если требуется сиюминутное человеческое суждение — нет.
Заключение
Процедуры меняют то, как вы тратите время на повторяющуюся работу. Вместо того чтобы запускать каждую задачу в терминале, вы описываете её один раз и затем просматриваете уже выполненное. Настроенный вами обзор PR срабатывает при закрытом ноутбуке, а вы читаете вердикт, когда вам удобно.
Чтобы пойти дальше с Claude Code, эти руководства хорошо дополняют данное:
- Лучшие практики Claude Code — как получать больше от каждой сессии.
- Написание файла CLAUDE.md — чтобы дать вашим процедурам и сессиям общий контекст.
- Разработка на основе спецификаций — для задач, которые стоит описать перед автоматизацией.
- Авторежим и каналы — чтобы запускать Claude Code с меньшим присмотром.
Вопросы и ответы о процедурах Claude Code
Что такое процедура Claude Code?
Процедура — это сохранённая конфигурация Claude Code: подсказка, один или несколько репозиториев и набор коннекторов. Вы упаковываете её один раз, и она автоматически выполняется на облачной инфраструктуре под управлением Anthropic, запускаясь по расписанию, через вызов API или по событию GitHub.
Чем процедура отличается от /loop?
Задача /loop ограничена сессией. Она работает только пока Claude Code открыт и бездействует на вашей машине; закрытие терминала её останавливает. Процедура выполняется в облаке и существует независимо от любой сессии, поэтому продолжает работать при закрытом ноутбуке. Минимальный интервал — 1 час для процедуры и 1 минута для /loop.
Как создать процедуру?
Запустите команду /schedule в любой сессии Claude Code, например: /schedule daily PR review at 9 am. Claude пройдёт через те же поля, что и веб-форма (имя, подсказка, репозиторий, среда, коннекторы и расписание), затем сохранит процедуру в вашей учётной записи — она появится на claude.ai/code/routines.
Может ли процедура выполняться при закрытом ноутбуке?
Да. Процедуры выполняются на облачной инфраструктуре под управлением Anthropic, а не на вашей машине, поэтому запланированный или вызванный запуск завершится, даже если ваш ноутбук закрыт. Вы можете следить за запуском в вебе или изучить стенограмму позже.
Как контролировать доступ процедуры?
Ограничьте процедуру с помощью четырёх контролей: от чьего имени она действует, в какие ветки может пушить, какие коннекторы использовать и к каким хостам обращаться по сети. По умолчанию Claude пушит только в ветки с префиксом claude/, а все ваши коннекторы включены — сократите список коннекторов и расширяйте сетевой доступ только при реальной необходимости.