Claude Code, который работает ночью: скилл Brigadier теперь в открытом доступе
Прежде чем стать десктопным приложением, Brigadier был скиллом, которым я пользовался каждую ночь: даёшь Claude Code цель, ложишься спать, утром читаешь отчёт. Мы привели его в порядок и выпустили, чтобы им мог пользоваться кто угодно и в любом терминале.
Сегодня мы выпустили скилл Brigadier (откроется в новой вкладке) версии 0.1.0 с открытым исходным кодом под лицензией MIT. Это скилл для Claude Code, который продолжает работу, пока вы спите. Вечером вы даёте ему цель, а утром находите коммиты, проверенные фазы и отчёт.
Всё началось с моей личной настройки для ночной работы, и именно она построила немалую часть десктопного приложения Brigadier. Приложение, о котором я писал в заметке Оркестрация AI-агентов для программирования, — это полноценная десктопная версия, и оно ещё в разработке. Скилл — бесплатная версия для терминала, и работает он уже сейчас.
1. Что он делает
Вы пишете /brigadier и цель — обычно описание фазы из вашего плана, с её правилами и списком «done when» («готово, когда»). Ваша сессия становится бригадиром. Сам он код не пишет. Он руководит небольшой командой воркеров: отдельных полноценных сессий Claude Code, каждая в своей вкладке или окне терминала и со своим контекстом. Если у вас установлен Codex, часть воркеров может быть сессиями Codex.
Бригадир даёт каждому воркеру задачу и отвечает на его вопросы так, как ответили бы вы, опираясь на план, CLAUDE.md и правила цели. Каждый ответ попадает в журнал запуска в раздел «Decided on your behalf» («решено за вас»), так что утром видно, что было решено в ваше отсутствие. Когда работа закончена или действительно упёрлась в стену, он пишет отчёт.
2. Любой терминал, ваша подписка
Скилл работает везде, где работает Claude Code. В cmux воркеры открываются вкладками, в tmux — окнами. Из обычного терминала (Terminal.app, iTerm, VS Code, SSH-сессия) он запускает tmux в фоне и подсказывает одну строку, чтобы подключиться и наблюдать.
Каждый воркер — обычная сессия Claude Code в вашем аккаунте, запущенная через ваш собственный, ничем не изменённый claude. Ничего не проксируется, никакого сервера нет. Состояние запуска хранится в ~/.claude/brigadier/ на вашей машине. Ночь работы расходует лимиты вашего тарифа так же, как день, поэтому бригадир следит за 5-часовым окном и перестаёт запускать воркеров Claude, когда оно почти исчерпано.
Codex необязателен. С ним у вас появляется второй ревьюер, воркеры для чётко очерченных задач и запасной вариант, когда окно Claude заканчивается: у Codex своя квота.
3. Скилл и около 1000 строк bash
Никакого фреймворка под ним нет. SKILL.md — это инструкция для бригадира. Около 1000 строк bash — утилита brig и два небольших бэкенда для терминалов — берут на себя всю механику: открывают вкладки, печатают в них, читают экраны и хранят состояние запуска в обычных файлах. Вся думающая часть — на Claude Code.
Надёжным его делают хуки. Каждый воркер запускается со своим файлом настроек, в котором есть Stop-хук и скрипт строки состояния. Бригадир точно знает, когда воркер закончил ход и насколько заполнен его контекст, и ему не приходится гадать по тому, что на экране.
4. Ожидание должно быть дешёвым
Большая часть ночи — это ожидание. Если бы координирующая сессия постоянно опрашивала воркеров, она тратила бы свой контекст и квоту впустую.
Поэтому бригадир запускает brig wait фоновой командой и завершает ход. Claude Code будит его, когда приходит событие: воркер закончил ход, контекст перешёл порог, появился запрос разрешения, воркер завис или лимит использования близок. Спокойный час почти ничего не стоит.
5. Передача дел вместо сжатия контекста
Это тот же урок, что и в приложении. Когда контекст воркера переходит порог (по умолчанию 70% или 300 000 токенов), бригадир просит его написать записку для передачи дел: что сделано, с хешами коммитов, что в работе, следующие шаги, уже принятые решения и подводные камни, на которые он наткнулся. С этой записки продолжает новая сессия.
Преемственность так получилась гораздо лучше, чем когда длинная сессия сжимает собственный контекст. Бригадир передаёт дела самому себе точно так же, и новый бригадир подтверждает, что принял работу, прежде чем старый завершится.
6. У каждой фазы есть второе мнение
Фаза не заканчивается, когда воркер говорит, что всё готово. Новый верификатор проводит ревью диффа фазы, проверяет каждый пункт «done when», действительно запуская его, и исправляет то, что найдёт. Ревью делает Codex, если он установлен, а иначе — сессия Claude с доступом только на чтение. С планами то же самое: прежде чем одобрить набросок воркера, бригадир отдаёт его на ревью.
Второй вендор ловит другие баги. Ревью от Codex находили реальные проблемы, которые пропускали собственные ревью Claude, и наоборот. Поэтому, когда Codex доступен, ревью по умолчанию делает он.
7. Реальные инциденты стали правилами
Однажды ночью воркер выполнил pkill -f vite -U <uid>, чтобы остановить дев-сервер. На macOS pkill перестаёт читать опции после первого шаблона, поэтому всё остальное он принял за дополнительные шаблоны. Команда убила все фоновые шеллы Claude Code на машине, и запуск несколько часов простоял. Теперь в протоколе воркеров написано: никогда не убивать процессы по имени, только PID, которые ты запустил сам. По той же причине временные пути содержат имя запуска, чтобы уборка одного запуска не задела файлы другого.
Другие правила были с самого начала. Воркеры никогда не делают push, не публикуют, не деплоят, не тратят деньги, нигде не регистрируются и ни с кем не связываются. Если задаче нужен один из этих шагов, воркер ставит заглушку, а отчёт вносит его в раздел «Waiting on you» («ждёт вас»).
8. Правила — это не песочница
Чтобы работать без присмотра, воркеры по умолчанию запускаются с отключёнными проверками разрешений, то есть воркер может выполнить любую команду, доступную вашей учётной записи. Правила выше — это инструкции, которым следуют сессии. При отключённых разрешениях технически ничто не остановит воркера, который их проигнорирует.
В README это сказано прямо, и мы скажем так же. Используйте его на тех репозиториях и машинах, где это приемлемо. Если нужно строже, одна настройка переводит воркеров в режим, где запросы разрешений приходят бригадиру, а он одобряет только то, что позволяют его правила. И не давайте машине уснуть: спящий ноутбук останавливает запуск.
Попробуйте
Через skills.sh (откроется в новой вкладке):
npx skills add syncra-studio/brigadier-skill -g -a claude-codeИли как плагин Claude Code:
/plugin marketplace add syncra-studio/brigadier-skill
/plugin install brigadier-skill@brigadier-skillЗатем выполните /brigadier doctor. Он проверит терминал, claude, jq, git и необязательный codex и покажет, как именно исправить то, чего не хватает. Попробуйте маленькую цель в тестовом репозитории, прежде чем доверить ему целую ночь настоящей работы.
Большую часть скилла написали воркеры Claude Code, работавшие под его более ранней версией, и это была хорошая проверка на прочность. Но для чужих настроек он пока новый, поэтому баг-репорты и идеи очень ждём на GitHub (откроется в новой вкладке).