Автопилот контент-фабрики
От поиска темы до публикации в несколько каналов
0 / 77 шагов 0%
🌱
Новичок
Разбираетесь, из чего состоит автопилот
⚙️
Это четвёртый чек-лист, а не первый
Он для тех, у кого фабрика уже стоит и уже выпустила несколько комплектов руками. Если ещё нет — сначала установка и пусконаладка.
0
Лестница автоматизации: с чего начинать
5 минут · читать
0/4
Четыре ступени, и они не равны по цене
Слово «автоматизация» скрывает четыре очень разные вещи. Разница между ними — не в качестве результата, а в том, кто нажимает кнопку и сколько это стоит.
1
Руками, по кнопке
Фабрика собирает комплект, вы смотрите и заливаете сами. Работает всегда и везде.
уже стоит
2
Публикация одной командой
Комплект уходит в несколько каналов сразу. Команду запускаете вы, посмотрев материал. Это блок 7.
$0 на старт
3
Расписание на вашей машине
Запускается само в назначенный час — но только пока компьютер включён и приложение открыто. Это блок 9.
бесплатно
4
Сервер 24/7
Работает, пока вы спите. Требует сервера и отдельного ключа Claude API — это второй кошелёк, подписка на нём не действует. Это блок 10.
сервер + оплата за вызовы
Большинство останавливается на второй ступени и ничего не теряет. Четвёртая нужна тем, у кого выпуск стал ежедневной рутиной, а не тем, кто хочет «чтобы было как у взрослых».
Главное правило: не автоматизируйте брак
Конвейер автоматизируют после пусконаладки, а не вместо неё. Пока вы не собрали руками 10–20 выпусков, вы не знаете, где у вашей линии брак — и автоматика будет штамповать этот брак быстрее и в бóльших количествах.
Это не теория. Нашу первую ферму на сервере мы выключили — она публиковала быстрее, чем кто-либо успевал посмотреть результат. Расписание работало отлично. Проблема была в том, что оно работало.
Признак, что пора: вы ловите себя на том, что делаете одно и то же движение третью неделю подряд и уже не думаете над ним. Вот это движение и автоматизируйте — не весь конвейер.
Две развилки на входе — выберите одну
Дальше в чек-листе два блока про то, откуда берётся тема. Они взаимозаменяемы, и в первый месяц их лучше не смешивать.
Что выбратьблоки 3 и 4
Развилка А — агент сам находит тему
  • Фабрика ищет виральные ролики в вашей нише, разбирает их драматургию и предлагает темы.
  • Кому: у кого своих материалов мало, а выпускать надо регулярно.
  • Риск: контент получается «по мотивам рынка», а не про ваш опыт. Лечится жёстким отбором тем.
Развилка Б — вы даёте материал
  • Вы кидаете видео, статью, голосовое или запись звонка — фабрика строит из этого выпуски.
  • Кому: у кого есть экспертиза и постоянно что-то происходит, но не доходят руки оформить.
  • Риск: без входящего материала конвейер встаёт. Лечится привычкой скидывать всё в одну папку.
Если сомневаетесь — начинайте с Б. Свой материал всегда сильнее пересказа чужого, и настраивается это проще.
Обновите фабрику — так, чтобы не потерять своё
Публикатор и поиск доноров появились в комплекте недавно. Если вы ставили фабрику раньше — обновитесь, иначе половина команд из этого чек-листа не найдётся.
Обновление — единственное место, где можно потерять свою настройку. Уроки, эталоны, кастинг под ваш рынок и дописанные стили лежат в тех же файлах, которые обновляем мы. Простой git pull в такой ситуации либо откажется идти, либо устроит конфликт. Промпт ниже написан именно под это: он сначала страхуется, потом обновляет, и в спорных местах оставляет ваше.
промпт в Claude · годится и для первой установки, и для любого обновления потом
Обнови контент-фабрику и НЕ потеряй мои настройки. Важно понимать до начала: мои правки могут лежать в тех же файлах, которые ты обновляешь — уроки, эталоны, кастинг под мой рынок, дописанные стили. Поэтому иди строго по шагам и не торопись. ШАГ 1. Разведка, ничего не меняя. - Убедись, что папка factory — git-репозиторий. Если нет — скажи прямо, что обновиться через git нельзя, и остановись. - Покажи git status и git log --oneline -3 внутри factory. - Отдельно перечисли: какие файлы изменил я и какие новые файлы появились (особенно в engine/knowledge/exemplars/ — это мои сохранённые эталоны). - Скажи одной фразой: есть ли у меня несохранённые изменения. ШАГ 2. Страховка. Скопируй РЯДОМ с factory (не внутрь!) папку backup-ГГГГ-ММ-ДД, а в неё: engine/knowledge/, engine/config/, engine/.env и engine/reference/_STYLES/. Покажи мне путь к копии. ШАГ 3. Зафиксируй мои правки локальным коммитом внутри factory (git add -A и git commit). Это ключевой шаг: после него git будет СЛИВАТЬ моё с вашим, а не затирать моё. - Если git ответит «Author identity unknown» или «unable to auto-detect email address» — это нормально на свежей машине, где git ещё никто не настраивал. Пропиши личность ТОЛЬКО для этой папки, без --global, и повтори коммит: git config user.name "Имя" и git config user.email "почта@пример". Глобальные настройки моего git не трогай. ШАГ 4. Обновись: git pull --no-rebase. ШАГ 5. Если появились конфликты — разбери их сам по этим правилам, не спрашивая меня про синтаксис: - engine/knowledge/lessons.jsonl и engine/knowledge/exemplars/index.jsonl — это списки строк. Оставь И мои, И новые, убери только точные дубли. Ничего не удаляй. - engine/config/casting.json — МОЁ значение важнее вашего дефолта. Оставь моё; из нового возьми только поля, которых у меня не было. - engine/config/models.json — возьми новую структуру, но верни в неё мои переопределения, если я что-то менял. - engine/reference/_STYLES/STYLES.md — если я дописывал свои стили, сохрани мои разделы целиком, остальное бери новое. - Файл, который я не трогал, — бери новый без вопросов. Про каждый конфликт скажи одной строкой, что решил и почему. ШАГ 6. Обнови скиллы — иначе новые возможности до меня не доедут: - если скиллы лежат копиями в .claude/skills/ — перекопируй их заново из factory/plugins/content-factory/skills/ (там могли появиться новые); - если фабрика стоит плагином — обнови плагин. - Скиллы считай по факту, число наизусть не помни. В обновлении от 2 августа появился новый скилл reels-styles — убедись, что он тоже скопировался. Скажи, какой вариант у меня и что именно ты сделал. ШАГ 7. Проверка. - Запусти node reels/check-deps.mjs из factory/engine и покажи вывод целиком. - Проверь, что на месте старое: publish/publish.mjs, reels/scout/ig-scout.mjs, lib/lessons.mjs, lib/corpus.mjs. - Запусти node reels/generative-run.mjs БЕЗ аргументов. Он должен напечатать подсказку и список стилей. Если вместо неё ошибка про модуль или про экспорт — обновление приехало НЕ полностью: покажи ошибку целиком и не делай вид, что всё хорошо. Эта проверка важнее любого списка файлов: она поднимает весь генеративный раннер и ловит недостающий кусок, даже тот, которого не существовало, когда писался этот чек-лист. - Так же запусти node reels/transcript-check.mjs без аргументов и node reels/debrief.mjs — они должны отвечать подсказкой, а не падать. - Чего-то из перечисленного нет — скажи прямо, что обновление приехало не полностью. - Запусти node lib/lessons.mjs list и назови число уроков и эталонов. Если их стало МЕНЬШЕ, чем было до обновления, — остановись и скажи мне немедленно. - Скажи мне отдельной строкой: с 16 августа генеративный монтаж не тратит кредиты, пока расшифровка не подписана. Это не поломка — команда для подписи печатается прямо в сообщении об отказе. ШАГ 8. Собери отчёт об установке: запусти node self-check.mjs из factory/engine. Он напишет файл otchet-ustanovki.md рядом. Покажи мне путь к нему и скажи, чем закончился итог — «ГОДНО» или «ЕСТЬ ПРОБЛЕМЫ». Значений моих ключей в файле нет и быть не должно, только имена переменных. ШАГ 9. Отчёт четырьмя строками: что нового приехало · что из моего сохранено · что требует моего решения · где лежит резервная копия. Ничего не устанавливай и не удаляй без моего согласия. Если на любом шаге что-то пошло не так — остановись и покажи, где именно, вместе с командой, которую запускал.
Ждём в конце: зелёные ffmpeg и ffprobe, файлы комплекта на месте, число уроков не уменьшилось и путь к резервной копии. Ключи на этом шаге могут быть серыми — их заводим дальше по чек-листу.
Если вы ставите фабрику впервые, терять нечего — промпт просто отработает вхолостую на шагах 1–3 и обновит всё. Один и тот же текст годится и в первый день, и через полгода.
1
Как работать в паре с Claude Code
6 минут · читать до всего остального
0/5
Инженер здесь — Claude. Вы — заказчик и глаза
Разделение простое и его лучше принять сразу:
Кто что делает
Claude CodeВы
Читает код, ставит программы, правит настройкиГоворите, какой результат нужен
Разбирает ошибку и объясняет причинуПоказываете, что видите на экране
Предлагает варианты и ценуРешаете, годится ли и стоит ли
Помнит синтаксис и флагиПомните, зачем это всё затевалось
Не пытайтесь понять код и не чините руками. Правка «наугад» в файле движка — самый быстрый способ сломать то, что работало, и потом полчаса искать, что именно изменилось. Ваш инструмент — не редактор, а формулировка задачи.
Скриншот вместо «не работает»
Claude не видит ваш экран. Фраза «не получается» не даёт ему ничего — он начнёт гадать и уведёт вас в сторону. Одна картинка экономит десять сообщений.
Как снять экрани что снимать
Windows
  • Win + Shift + S — выделить область, потом вставить в чат.
macOS
  • Cmd + Shift + 4 — выделить область, файл ляжет на рабочий стол.
Что попадает в кадр
  • Окно целиком, а не одна красная строка: причина часто выше ошибки.
  • Команда, которую вы запускали, — она должна быть видна.
  • Что вы ждали и что получили, одной фразой рядом со скриншотом.
Текст ошибки не замазывайте — он и есть диагноз. А вот ключи и токены замажьте: они иногда печатаются в сообщениях об ошибке целиком.
План до действия, а не после
Приучите Claude показывать план и ждать вашего «да». Особенно там, где тратятся деньги или что-то уходит в ленту.
фраза, которая экономит больше всего
Не делай сразу. Сначала расскажи план: что именно поменяешь, в каких файлах, что может сломаться и сколько это будет стоить. Я скажу «делай».
План стоит ноль. Отменённая генерация — уже нет. И развернуть публикацию обратно сложнее, чем не отправлять её.
Одна задача за раз и проверка после каждой
«Настрой мне автоматизацию» — плохая задача: слишком большая, и когда что-то не заработает, непонятно, где искать. Хорошая — «настрой публикацию в один канал и покажи, что пост вышел».
Правило: следующий шаг только после того, как предыдущий доказал, что работает. Не «наверное, получилось», а вы своими глазами увидели результат.
Пять-десять итераций на узел — это норма
Не признак того, что вы что-то делаете не так, и не признак плохого инструмента. Так выглядит настройка чего угодно, где встречаются четыре чужих сервиса. Ждите этого заранее — тогда пятая итерация не будет ощущаться провалом.
промпт входа в сессию по этому чек-листу
Я настраиваю автоматизацию контент-фабрики по чек-листу avtopilot.ikigaipromotion.kz. Я не программист — веди меня по шагам. Как я хочу работать: - Ты инженер, я заказчик. Ты читаешь код и чинишь, я смотрю на результат и решаю, годится ли. - Перед любым действием, которое тратит деньги или что-то публикует, — покажи план и дождись моего «да». - Одна задача за раз. Не переходи к следующей, пока я не подтвердил, что предыдущая работает. - Объясняй простыми словами, без жаргона. Если нужен термин — расшифруй один раз. - Когда я пришлю скриншот ошибки — сначала назови причину, потом предлагай починку. Сейчас я на блоке [номер] чек-листа. Задача: [впишите одной фразой].
2
Кто за что платит: карта сервисов
6 минут · читать и решать
0/6
Вся смета на одном экране
Ни один сервис здесь не «для галочки». Но обязательных — три, остальное включается по мере того, как вы доходите до соответствующей ступени лестницы.
СервисЧто делаетСколькоОбязателен
Claude Pro/MaxМозг фабрики: выбирает стиль, пишет сценарий, принимает работуот $20/месда
fal.aiКартинки топ-моделями: точный текст на макете, фотореализм$5–10 предоплатыда
Upload‑PostПубликация в 22 площадки одним API$0 → $24/месдля публикации
ApifyПоиск доноров в Instagram. YouTube и Shorts ищутся бесплатно и без него$0 (Free)для развилки А
HiggsfieldВидео, премиум-картинки, закадровый голосот $15/меснет
OpenAI APIПлатная расшифровка речи (~$0,006 за минуту)от $5нет
Claude APIМозг для сервера, когда рядом никого нетпоштучнодля сервера
VPSКомпьютер, который не выключается$5–20/месдля сервера
Минимум, чтобы дойти до публикации, — подписка Claude, ключ fal и бесплатный тариф Upload-Post. Всё остальное можно отложить. Обязательных к оплате позиций здесь ровно две: подписка и fal.
Запомните: подписка Claude ≠ ключ Claude API
Это два разных продукта с разными кошельками, и на этом спотыкаются чаще всего.
Разницаважно до покупок
Подписка (claude.ai)API-ключ (platform.claude.com)
Фиксированная сумма в месяцПлата за каждый вызов
Думает приложение, в котором вы работаетеДумает код, который вы запустили
Нужна всегдаНужен только для сервера (блок 10)
Пока вы не дошли до блока 10 — ключ Claude API вам не нужен. Не покупайте его «на всякий случай»: это шестой платёж за ту же модель, за которую вы уже платите подпиской.
Upload-Post: начинайте с бесплатного тарифа
Это посредник, через которого фабрика публикует. Бесплатный тариф даёт пройти всю цепочку до конца и понять, нужно ли вам это, ещё до первого платежа.
Тарифыupload-post.com
ТарифЦенаПубликацийПрофилейНюанс
Free$010 в месяц2карту не спрашивают, но без TikTok
Basic$24/месбез лимита5TikTok есть
Professional$50/месбез лимита25если ведёте много аккаунтов
TikTok на бесплатном тарифе не подключается. Если TikTok — ваш основной канал, бесплатная проверка цепочки на нём не получится: тестируйте на Instagram или Telegram.
Apify — и почему мы не берём RapidAPI
Apify нужен ровно для одного: искать доноров в Instagram. Он закрыт для анонимного доступа, и обойти это без чужих куки нельзя. YouTube и Shorts фабрика ищет бесплатно, безо всяких ключей.
Начинайте с бесплатного плана. Он даёт $5 в месяц и карту не спрашивает, а один реальный прогон на трёх результатах стоил у нас около цента — это сотни поисков. Тариф Starter $29/мес берите тогда, когда упрётесь в лимит, а не заранее.
Чего Apify в этой сборке не делает — не собирает метрики ваших опубликованных постов. Сборщика охватов в комплекте нет, и подписка его не добавит. Как с этим жить, честно разобрано в блоке «Поддержка».
RapidAPI мы сознательно не заводим. В чужих курсах это $15/мес за поиск плюс $2/мес за скачивание. У нас обе функции уже закрыты: поиск на YouTube — бесплатно через yt-dlp, Instagram — центами через Apify. Второй платный сервис ради того же результата — это расход без выгоды, а не выбор.
Сервер — только если дошли до четвёртой ступени
Сервер не делает контент лучше. Он делает его независимым от вашего ноутбука. Пока вы не уверены, что вам нужно именно это, — не покупайте.
Сколько брать: под расписание и публикацию хватает машины за $5–20 в месяц. Если на сервер переезжает ещё и монтаж видео — нужна мощнее, и в чек-листе покупки сервера рекомендована конфигурация под AI-офис целиком (около 7 700 ₽). Не берите её «на всякий случай»: разница в цене здесь пятикратная.
Решите, до какой ступени идёте — и остановитесь там
Отметьте этот шаг, когда честно ответите себе на вопрос: вам нужна публикация одной командой (ступень 2) или машина, которая работает ночью (ступень 4)? От ответа зависит, платите вы $0 или ещё за сервер и вызовы API.
Ошибиться в меньшую сторону дёшево: подняться на ступень выше можно в любой момент, чек-лист никуда не денется. Ошибиться в бóльшую — это оплаченный сервер, который месяц стоит без дела.
3
Развилка А: агент сам находит тему
10 минут · делать
0/6
Что такое поиск доноров и чего он не делает
Разведчик в фабрике находит ссылки и цифры, и всё. Он ничего не скачивает, не расшифровывает и не использует ваши личные куки от соцсетей. Это сделано намеренно: так им можно пользоваться, не рискуя аккаунтом.
Отдельные команды ниже приведены, чтобы вы понимали, что происходит. В работе достаточно сказать словами — «найди виралки по теме…» или «разбери этот ролик», — и Claude сам возьмётся за разведку.
Чужой ролик — это донор приёма, а не заготовка для копирования. Перенимают структуру: чем цепляет первая секунда, где стоят повороты, чем закрывается обещание. Пересказ чужого текста своими словами не работает — зритель уже видел оригинал.
Первый поиск — бесплатный, ключи не нужны
Движок по умолчанию ищет через yt-dlp в режиме листинга: это YouTube и Shorts, ноль стоимости, работает анонимно.
терминал, в папке factory/engine
node reels/scout/ig-scout.mjs "ваша тема" --limit=10 --days=30 --format=short
Ждём: список роликов со ссылками, просмотрами и датами. Денег не тратит.
Флаги, которые реально нужныостальные — по умолчанию
--limit=Nсколько находок вернуть
--days=Nсвежесть; 0 — не фильтровать по дате
--format=shortтолько короче 60 секунд
--min-views=Nпорог просмотров
--json=путьсохранить находки файлом — понадобится для разбора
Главный критерий отбора — не просмотры
Ролик с миллионом просмотров у блогера-миллионника — это норма, а не виралка. Значение имеет отрыв от собственной медианы автора: во сколько раз этот ролик обогнал остальные ролики того же человека.
Как читать отрывмедиана считается, если у автора ≥3 ролика в выдаче
  • — заметно. Что-то в ролике сработало, стоит посмотреть.
  • 3–5× — сильный донор. Приём вытащил ролик, а не тема и не аудитория.
  • 10× — редкий случай. Разбирать обязательно, но повторить такое «по формуле» не выйдет.
Виралка у чужого миллионника вам не воспроизводится: у неё другая стартовая аудитория. А приём, который поднял ролик в 4 раза выше обычного у автора вашего размера, — воспроизводится.
Instagram — только через Apify и только явным флагом
Instagram закрыт для анонимного доступа, и обойти это без чужих куки нельзя. Поэтому платный движок включается отдельным флагом, а не по умолчанию — случайно сжечь бюджет опечаткой в теме здесь невозможно.
сначала — узнать цену, ничего не запуская
node reels/scout/ig-scout.mjs "ваша тема" --engine=apify --dry-run
Ждём: готовый запрос и оценку стоимости. Запрос не выполняется. Убедились в цене — повторите ту же команду без --dry-run.
Токен кладётся в engine/.env строкой APIFY_TOKEN=. Берётся на apify.com → Settings → Integrations → API tokens. Если он у вас уже лежит в общем ~/.claude/.env — фабрика подхватит его оттуда, дублировать не нужно.
Разбор донора: где у него хук, биты и пэйофф
Скачайте выбранный ролик и прогоните разбор. Бесплатный слой считает арифметикой и ffmpeg: длину хука, паузы между смысловыми блоками, ритм склеек, есть ли закрытие обещания.
терминал
node reels/scout/breakdown.mjs ./донор.mp4 --hook-sec=3 --beat-gap=0.55
Ждём: карту ролика по секундам — где хук, где повороты, где провисает ритм, и четыре автовердикта.
Флаг --llm называет приёмы словами, но требует отдельного ключа Claude API и стоит денег. Без него всё работает — бесплатный слой даёт цифры, а назвать приём вы можете и сами, глядя на ролик.
Гейт: тему выбирает человек, а не первый результат выдачи
Заведите очередь тем — обычный файл, который пополняется по мере находок. Агент предлагает, вы выбираете.
промпт в Claude
Собери мне очередь тем на неделю. Прогони поиск доноров по моим темам (список ниже), отбери находки по отрыву от медианы автора, а не по сырым просмотрам, и разбери три лучших. Дальше предложи мне ПЯТЬ тем для моих выпусков. Для каждой темы напиши: - какой приём донора мы перенимаем (структура, а не текст), - почему это работает именно на мою аудиторию, - чем мой выпуск будет отличаться от донора по сути, а не по словам. Сложи это в файл calendar.md. Ничего не генерируй и не публикуй — я сам выберу одну тему из пяти. Мои темы для поиска: [впишите 2-3 темы]
Пять вариантов вместо одного — это и есть гейт. Агент, который сразу берётся делать первую найденную тему, через месяц выдаёт ленту, похожую на чужую.
4
Развилка Б: контент из ваших материалов
8 минут · делать
0/5
Что считается материалом
Практически всё, где есть ваша мысль. Оформлять не нужно — фабрика для этого и стоит.
Годится как входи что из этого получается
МатериалЧто фабрика из него сделает
Видео с вамиReels + карусель + сторис + баннер
Голосовое на 5 минуткарусель и текст постов
Статья или посткарусель, нарезка тезисов
Запись созвонанесколько тем разом — там обычно 3-4 сюжета
Переписка с клиентомреальные возражения = лучший контент
Самый недооценённый источник — вопросы клиентов. Если вопрос задали трижды, это готовый выпуск, и он точно попадёт в боль аудитории.
Заведите папку INBOX и правило «кинул и забыл»
Создайте внутри рабочей папки директорию INBOX. Всё, что может стать контентом, складывайте туда сразу — не сортируя, не переименовывая, не думая, «пойдёт или нет».
Папка INBOX и файл calendar.md — ваше соглашение с Claude, а не часть фабрики. В коде их нет, и сами по себе они ничего не делают: работают ровно потому, что вы каждый раз говорите, откуда брать и куда складывать. Назовёте иначе — тоже сработает, главное называйте одинаково.
Главный враг регулярности — не лень, а мысль «это надо сначала оформить». Правило одно: сортирует фабрика, а не вы. Ваше дело — донести файл до папки.
Разбор материала в контент-план
промпт в Claude
Разбери материалы из папки INBOX в контент-план. Порядок: 1. Посмотри, что там лежит. Видео и голосовые расшифруй бесплатно и локально (node reels/transcribe-local.mjs), платную расшифровку не используй без моего слова. 2. Из каждого материала вытащи ОТДЕЛЬНЫЕ мысли, а не пересказ целиком. В часовом созвоне обычно 3-4 самостоятельных сюжета — разними их. 3. Для каждой мысли скажи: кому она полезна, что человек сделает после, и почему это стоит выпускать сейчас. 4. Отметь, что из этого — польза, а что — продажа. Продающих должно быть не больше одного на шесть. 5. Сложи в calendar.md нумерованным списком, отсортировав по силе. У каждой темы: номер, заголовок одной строкой, кому полезно, польза или продажа. Ничего не генерируй. Сначала я посмотрю план.
Ждём: calendar.md со списком тем и пометками «польза/продажа». Генерации и трат на этом шаге нет.
Правило 5–7 : 1
На каждые 5–7 полезных выпусков — один продающий. Так площадка видит в аккаунте пользу, а не рекламу, и сама поднимает охваты. Жадность к продажам убивает алгоритмическую любовь быстрее, чем плохой дизайн.
Один материал — несколько выпусков
Не выжимайте часовой созвон в один пост. Три темы из него, разнесённые по неделе, дают втрое больше касаний и втрое больше шансов, что хоть одна попадёт.
Это и есть настоящая экономия автоматизации: не «делать быстрее», а получать из одного и того же материала больше выпусков, чем вы физически собрали бы руками.
5
Сценарий и текст под каждый канал
8 минут · делать
0/4
Одна тема — весь комплект сразу
Не заказывайте карусель, потом отдельно Reels, потом отдельно баннер: получится три разных мира. Просите комплект — тогда всё выйдет в одном визуальном стиле и с одной мыслью.
промпт в Claude
Сделай комплект по теме: [впишите тему словами]. Если тема лежит в моём calendar.md — возьми её оттуда, но сначала прочитай мне вслух, какую именно понял. Я не хочу узнать о расхождении уже на готовых картинках. Нужны: карусель, Reels, сторис и баннер — в одном визуальном стиле и с одной сквозной мыслью. Каналы, куда это пойдёт: [перечислите: Instagram, Telegram, LinkedIn, YouTube…] Сначала покажи мне план: какая мысль, какой стиль, что будет на каждом слайде, какие тексты под каждый канал. Генерацию картинок не запускай, пока я не скажу «делай» — я хочу видеть, за что плачу.
Ждём: план текстом. Денег ещё не потрачено. Генерация начнётся только после вашего подтверждения.
Голос бренда должен лежать файлом, а не в голове
Файл marketing-context.md — описание бизнеса, аудитории и того, как вы говорите. Есть он — фабрика пишет вашим голосом. Нет — пишет средним по интернету.
Кладите его РЯДОМ с папкой factory, а не внутрь неё. Внутри он ваш до первого обновления комплекта — и потом вы не поймёте, почему тексты вдруг стали чужими. Фабрика ищет файл рядом с собой и уровнем выше.
Готовый образец со всеми разделами лежит в комплекте: examples/marketing-context.example.md — скопируйте и заполните под себя.
Это домашка первого дня. Не сделали — сделайте сейчас: без неё автоматизация ускоряет производство обезличенного текста, и чем быстрее конвейер, тем заметнее это в ленте.
Лимиты подписей движок проверяет сам
При сборке пакета к выпуску тексты сверяются с потолками площадок. Превышение не обрезается молча — сборка скажет и отдельно перечислит проблемы.
Потолки, которые проверяютсязнать полезно, помнить не обязательно
ПлощадкаТекстХештеги
Instagram2200 знаков вместе с хештегамимаксимум 30
TikTok2200, отдельного поля под хештеги нетмаксимум 30
Telegram1024 в подписи к видео, 4096 обычным сообщениемдо 10
YouTubeзаголовок 100, описание 5000максимум 15
Две грабли, на которых ломаются регулярно: в Telegram подпись к видео — 1024 знака, а не 4096. И в Instagram больше 30 хештегов означает, что площадка проигнорирует все, а не только лишние. То же у YouTube с пятнадцатью.
Гейт перед тратой денег
Отметьте этот шаг, когда убедитесь: фабрика показывает вам план до генерации, а не после. Если она начинает рисовать сразу — остановите и переспросите план. Картинки стоят денег, план стоит ноль.
6
Визуал под формат каждого канала
8 минут · делать
0/4
Какому каналу какой кадр
Один и тот же макет в разных пропорциях выглядит по-разному: то, что читается в квадрате, в вертикали уезжает под интерфейс. Поэтому формат выбирается под канал, а не «один на всех».
Канал → форматрабочая матрица
ФорматКуда
4:5карусель и пост в Instagram — занимает максимум высоты в ленте
9:16Reels, Shorts, TikTok, сторис
1:1LinkedIn, Facebook, превью в мессенджерах
16:9обложка YouTube, шапка статьи, слайд презентации
Просто назовите каналы — форматы фабрика подберёт
Не нужно диктовать пропорции. Скажите, где будете публиковать, и попросите комплект под эти площадки — остальное фабрика знает.
промпт в Claude
Собери из этой темы набор под площадки: Instagram (карусель и Reels), Telegram, LinkedIn и YouTube. Всё в одном стиле. Форматы подбери сам под каждую площадку — я не хочу диктовать пропорции. Перед генерацией покажи, что и в каком формате получится, и сколько это будет стоить.
Safe-zone: где интерфейс площадки съест ваш текст
У вертикальных форматов часть кадра всегда закрыта кнопками и подписями. Проверять надо не на мониторе, а глядя, где именно у площадки интерфейс.
У Reels низ кадра ≈430 px, верх ≈200 px и правая полоса ≈150 px заняты интерфейсом. Ни текста, ни лица там быть не должно.
Кадры ролика для проверки раскладываются командой:
терминал
node reels/qa-frames.mjs ./ваш-ролик.mp4 --step=1.0
Ждём: папку с кадрами через каждую секунду. Пролистать их глазами быстрее, чем смотреть ролик целиком.
Приёмка глазами — на телефоне
Смотрите готовое на телефоне, а не на мониторе. Мелкий титр, который на большом экране читается, на телефоне превращается в шум. Это единственная проверка, которую нельзя переложить на код.
Автоматическая проверка ловит поля, кириллицу и палитру. Она не ловит «слайд формально правильный, но смотреть его незачем». Это видит только человек.
7
Публикация в несколько каналов
12 минут · делать
0/8
Почему посредник, а не «родные» приложения соцсетей
Публиковать напрямую в каждую площадку технически можно. Практически это означает: своё приложение-разработчика у каждой соцсети, ревью доступа к публикации, и живой токен, который надо чинить, когда он протухнет.
Мы на этом потеряли недели. Приложение Facebook отдельно ревьюит право публиковать. Токен LinkedIn протухает и без пары client_id/secret автоматически не обновляется. В какой-то момент стало очевидно: один платный посредник дешевле пяти интеграций, каждую из которых чинишь поодиночке.
Заведите аккаунт на upload-post.com
Регистрация обычная. Начинайте с бесплатного тарифа — 10 публикаций в месяц, карту не спрашивают. Этого достаточно, чтобы пройти весь блок.
Создайте профиль и подключите к нему соцсети
Профиль в Upload-Post — это связка ваших аккаунтов. Один профиль может держать Instagram, LinkedIn, YouTube и остальное разом. Подключение — через вход в каждую соцсеть у них в интерфейсе.
Запомните имя профиля — оно понадобится в настройках. Это не ваша почта и не логин от сайта, а отдельное короткое имя.
Пропишите ключ и профиль в настройках фабрики
Ключ берётся в Upload-Post: Settings → API Keys. Кладётся в файл engine/.env.
две строки в engine/.env
UPLOAD_POST_API_KEY=сюда-ключ-из-Settings-API-Keys UPLOAD_POST_USER=имя-вашего-профиля
Проверить, что фабрика их увидела:
терминал
node reels/check-deps.mjs
Ждём зелёную строку UPLOAD_POST_API_KEY. Если ключ есть, а профиля нет — проверка скажет об этом отдельно: половина настройки хуже, чем её отсутствие, потому что падает уже на публикации.
Соберите пакет к выпуску и посмотрите план публикации
Публикатор работает не с отдельными файлами, а с папкой пакета, которую собирает фабрика: там уже разложены медиа и тексты под каждую площадку. Без флага подтверждения он ничего не отправляет — только показывает план.
терминал · ничего не отправляет
node publish/publish.mjs tmp/release-ваша-тема
Ждём: список — какая папка в какой канал, тип медиа, размер файла и первые строки текста с числом знаков. Ничего не отправлено.
Пакеты, собранные до обновления фабрики, публикатор не примет: в них нет описи manifest.json. Пересоберите пакет — это бесплатно.
Первая настоящая публикация — один пост в один канал
Не начинайте с залпа во все каналы. Сначала убедитесь, что цепочка работает, на одной площадке — лучше на той, где ошибка вам обойдётся дешевле всего.
терминал · это уже публикует
node publish/publish.mjs tmp/release-ваша-тема --to=telegram --yes
Ждём: ✓ и ссылку на пост. Откройте её и посмотрите глазами — API рапортует, что файл принят, но не о том, что пост выглядит как задумано.
Мультиканал: весь пакет или одна папка в несколько сетей
Есть два разных сценария, и они делаются разными командами.
каждая папка уходит в свою родную площадку
node publish/publish.mjs tmp/release-ваша-тема --yes
одна папка — сразу в несколько сетей
node publish/publish.mjs tmp/release-ваша-тема/03-telegram --to=telegram,linkedin,facebook --yes
Во втором случае в LinkedIn и Facebook уедет текст, написанный под Telegram: со своими лимитами и тоном. Публикатор об этом предупредит — не проматывайте предупреждение, перечитайте текст.
Почему так: фабрика раскладывает пакет по четырём площадкам — Instagram (Reels и карусель), TikTok, Telegram, YouTube. Своих папок с отдельными текстами под LinkedIn, Facebook, X, Threads и Pinterest в пакете нет. Попасть туда можно, но только «занятым» текстом из соседней папки. Если эти каналы для вас основные — просите Claude написать под них отдельные подписи, а не переиспользуйте чужие.
Что какой канал принимаети есть ли у него своя папка в пакете
КаналВидеоФото-карусельТолько текстСвоя папка
InstagramReelsдо 10 слайдовнетда, две
TikTokдафото-постнетда
YouTubeShorts и обычныенетнетда
Telegramдададада
LinkedInдададанет
Facebookдададанет
X · Threadsдададанет
Pinterestдаданетнет
Предохранители, которые уже стоят
Публикатор специально устроен так, чтобы случайная команда не наделала беды.
Что он не даст сделать молчачасть останавливает, часть предупреждает
Останавливает
  • Публикацию без подтверждения. Без --yes — только план, и выход.
  • Больше 6 публикаций в сутки. Защита от сорвавшегося расписания, а не лимит площадки. Меняется в .env.
  • Фото тяжелее 8 МБ. Instagram такое не принимает — проверка идёт до отправки, а не на сороковой секунде.
Предупреждает, но пропускает — решаете вы
  • Два поста в один канал за прогон. Reels и карусель обе идут в Instagram и делят охват. Иногда это осознанно, поэтому он не блокирует.
  • Текст, написанный под другую площадку. Тон и лимиты там другие.
Что и когда ушло, видно в файлах publish/log/<дата>.jsonl — там же лежит сырой ответ площадки, если что-то не прошло.
8
Тюнинг: фабрика учится у вас
10 минут · делать
0/6
Этот блок стоит перед расписанием намеренно. Автоматика тиражирует то, что есть: настроите её до тюнинга — получите свой брак быстрее и в бóльших количествах. Сначала научите фабрику попадать в ваш вкус, потом ставьте на таймер.
Посмотрите, что фабрика уже знает
Она приезжает не пустой: наш опыт за месяц ежедневных выпусков лежит внутри с первого дня.
терминал, в папке factory/engine
node lib/corpus.mjs styles node lib/lessons.mjs list
Ждём: каталог из 38 стилей с пояснением «когда брать», и 27 уроков плюс 28 эталонов — то, чего фабрика уже не повторяет. Обе команды бесплатные и мгновенные: они читают файлы, а не спрашивают модель.
Заказывать стиль можно по имени: «сделай в стиле „тёмный люкс“». Пока вы не знаете, что там есть, вы пользуетесь десятой частью того, за что заплатили.
Забраковали — скажите почему, и это запомнится
Главная ручка тюнинга. Не «переделай», а «переделай, потому что вот это не так» — второе фабрика запоминает, первое нет.
терминал
node lib/lessons.mjs add "текст съехал за нижнее поле" --fix "заголовок короче 40 знаков" --tags слайд,текст
Ждём: «Урок записан. Следующая генерация его учтёт.»
Проще всего не набирать это руками, а сказать Claude словами: «вот это плохо, потому что подпись налезла на лицо — запиши урок». Он оформит команду сам.
Понравилось — сделайте эталоном
Уроки говорят, чего не повторять. Эталоны — какую планку держать. Второе работает сильнее: модель лучше понимает картинку, чем описание.
терминал
node lib/lessons.mjs keep ./out/slide-1.png --tags хук,тёмный-люкс
Ждём: «Эталон сохранён» и путь к файлу. Картинка копируется в хранилище фабрики — оригинал можно двигать.
Отмечайте эталоном только то, что реально хорошо, а не «сойдёт». Планка, собранная из «сойдёт», через месяц опустит всю ленту.
Как ваш опыт доезжает до генерации
Перед работой фабрика подмешивает накопленное в задание модели — и ваши уроки идут приоритетнее общих правил: корпус говорит, как принято вообще, уроки — как надо конкретно у вас.
посмотреть, что уйдёт в промпт
node lib/lessons.mjs brief "фото-натюрморт"
Ждём: блок «чего НЕ повторять» и список эталонов-планки. Ровно это увидит модель.
Веса модели при этом никто не трогает и ничего не «дообучается» в привычном смысле. Просто ваш опыт каждый раз возвращается в контекст — и та же ошибка больше не проходит.
Ручка под ваш рынок: кто изображён на картинках
Файл engine/config/casting.json добавляется к каждому промпту генерации. По умолчанию там внешность под Казахстан и Центральную Азию — потому что фабрику собирали мы. Под вашу аудиторию это надо поменять.
Готовые пресеты в файлескопировать в поле prompt
  • россия_снг — славянская внешность по умолчанию
  • европа — разнообразная европейская
  • без_ограничений — пустая строка, модель решает сама
Люди на визуале должны быть похожи на тех, кому вы продаёте. Это не про политкорректность, а про узнавание: чужое лицо в кадре читается как сток и снижает доверие к посту.
Ручка под бюджет: какими моделями рисовать
Файл engine/config/models.json — какая модель отвечает за какую задачу. Прайс лежит рядом, в engine/knowledge/fal-models-catalog.md: разброс от долей цента до $0,15 за кадр.
Не крутите это в первую неделю. Сначала научитесь получать результат, который нравится, и только потом ищите, где на нём можно сэкономить. Обратный порядок даёт дешёвый брак.
И отдельный документ, который стоит прочитать один раз целиком: CALIBRATION.md в корне комплекта — пять ручных проверок по семь минут, каждая устроена как «что сделать → что увидеть → какую ручку крутить». Это то, чего не поймает ни один скрипт.
9
Расписание: три уровня и правда про каждый
10 минут · читать и решать
0/5
Здесь чаще всего решают, что всё настроили — а оно не работает
Слово «расписание» есть у нескольких разных вещей, и они переживают закрытие ноутбука по-разному. Прочитайте этот блок целиком, прежде чем что-то настраивать.
Уровень 1 — по кнопке. Работает всегда
Вы сами говорите «собери выпуск» и сами запускаете публикацию. Никаких сюрпризов, ноль дополнительных расходов, полный контроль.
Для большинства это финальная точка, а не промежуточная. Регулярность даёт привычка садиться за выпуск по вторникам, а не таймер.
Уровень 2 — расписание в приложении Claude
В приложении Claude есть локальные задачи по расписанию. Они запускаются на вашей машине — а значит видят ваши файлы, ваш ffmpeg и ваши ключи. Для фабрики это единственный вид расписания, который работает без сервера.
Условие жёсткое: компьютер включён и приложение открыто. Закрыли ноутбук — в 9 утра ничего не произойдёт. Это не автопилот, это будильник.
Разумное применение: не «выпусти и опубликуй», а «собери черновики к утру, я посмотрю за кофе».
Два способа, которые фабрике не подходят — и почему
Оба выглядят как решение и оба им не являются. Знать это надо заранее, иначе потеряете вечер.
Не подойдётименно для контент-фабрики
Задачи внутри сессии Claude Code
  • Живут только в памяти открытой сессии. Ничего не пишется на диск: закрыли окно — задачи нет. Плюс срабатывают лишь тогда, когда сессия простаивает.
Облачные задачи по расписанию
  • Выполняются в облаке, а не на вашей машине. У них нет доступа ни к вашим файлам, ни к ffmpeg, ни к ключам в .env. Для отчётов и напоминаний — отлично, для монтажа и публикации — не работает.
Типовая ошибка: человек ставит облачную задачу «каждое утро собирай Reels», видит, что она создалась, и считает автопилот настроенным. Ролики не появляются, потому что в облаке нет ни его видео, ни ffmpeg.
Уровень 3 — сервер. Единственный настоящий 24/7
Если нужно, чтобы работало, пока вы спите и с закрытым ноутбуком, — вариант ровно один: своя машина, которая не выключается. Это блок 10, и там своя цена.
Прежде чем идти дальше, ответьте: что именно должно происходить ночью? Если «собираться черновик» — хватит второго уровня. Если «выходить пост без меня» — сначала вернитесь к блоку 0 и правилу про брак.
10
Сервер 24/7: OpenClaw как дирижёр
12 минут · делать
0/6
Что такое OpenClaw и чем он отличается от n8n
OpenClaw — это агент, который живёт на сервере, умеет расписание и разговаривает с вами в мессенджере. n8n — визуальный конструктор связок между сервисами. Разница принципиальная: OpenClaw думает, n8n соединяет.
Для контент-фабрики нужен именно думающий: решение «эта тема годится, а эта нет» не рисуется стрелочками.
Публиковать в Instagram, TikTok, YouTube или LinkedIn сам OpenClaw не умеет — таких каналов у него нет. Он умеет мессенджеры: Telegram, Discord, Slack, WhatsApp. Публикация в соцсети всё равно идёт через публикатор из блока 7.
Поднимите сервер и AI-офис на нём
Установка сервера, брони на него, Claude Code и самого OpenClaw — это отдельный большой чек-лист. Он написан для человека без опыта администрирования.
Второй кошелёк: серверу нужен ключ Claude API
На сервере рядом с фабрикой никого нет — значит, думать должен код, а не приложение. Для этого нужен ключ с platform.claude.com: другой аккаунт, другой баланс, оплата за каждый вызов.
Подписка Claude на сервере не работает. Это самый частый и самый дорогой сюрприз этого блока: человек поднимает сервер, переносит фабрику, и обнаруживает, что мозг к ней надо докупать отдельно.
Заводите баланс небольшим и смотрите расход первую неделю. Сорвавшийся цикл на сервере тратит деньги молча.
Поставьте первую задачу по расписанию
Расписание в OpenClaw умеет не только запускать работу, но и писать вам в Telegram результат. Именно это делает его пригодным для гейта приёмки.
на сервере · пример утренней задачи
sudo -u openclaw openclaw cron add \ --name utrenniy-kontent \ --cron "0 7 * * *" --tz Asia/Almaty \ --session-key agent:main:cron-utrenniy-kontent \ --timeout-seconds 900 \ --announce --channel telegram --to ВАШ_CHAT_ID \ --message "Собери черновик выпуска по первой невыпущенной теме из calendar.md и пришли мне на приёмку. Если файла нет или темы кончились — напиши мне об этом и остановись. НЕ публикуй."
Ждём: задачу в списке openclaw cron list и сообщение в Telegram на следующее утро.
Три грабли расписания, каждая стоила нам времени
Проверено на себесверяйтесь до первого запуска
  • Изолированная сессия не доставит сообщение в Telegram. Задача отработает, а вы ничего не получите. Нужен общий или именованный ключ сессии — как в примере выше.
  • Всегда задавайте --timeout-seconds. Молчаливое значение по умолчанию — 600 секунд, и длинная задача обрывается на середине без внятного объяснения.
  • --message — это флаг, а не текст в конце строки. И флага --id не существует, хотя его подсказывают по аналогии.
Гейт приёмки на сервере убирать нельзя
Правильная схема ночной работы: сервер собирает, вы утром принимаете, публикация идёт после вашего «да». Не «сервер публикует, а я потом посмотрю».
Именно на этом месте мы выключили свою первую ферму: у неё не было гейта, и она уверенно выкладывала посредственное. Расписание работало идеально — в этом и была проблема.
Автоматизируйте подготовку, а не решение. Решение «это годится» стоит секунду вашего времени и спасает репутацию аккаунта.
11
Отладка: когда что-то встало
10 минут · читать заранее
0/6
Прочитайте этот блок до того, как что-то сломается. В момент поломки читать инструкцию некогда и обидно.
Сначала изолируйте узел, потом чините
Цепочка — это пять узлов подряд, и ломается всегда один. Чинить наугад всю цепочку — самый долгий путь. Сначала выясните, на каком шаге встало.
Пять узлов и как проверить каждый отдельно
УзелПроверяетсяПризнак, что он в порядке
Окружениеnode reels/check-deps.mjsffmpeg и ffprobe зелёные
Тема и текстпопросить показать планплан читается и вам понятен
Картинкисгенерировать один кадрфайл появился в out/
Сборка пакетаnode reels/release.mjs«ГОТОВО — лимиты в норме»
Публикацияpublish.mjs без --yesплан показывает нужные каналы
Правило одной строкой: последний узел, который отработал правильно, — граница поиска. Всё, что до него, трогать не нужно.
Первая команда всегда одна и та же
терминал
node reels/check-deps.mjs
Три состояния и что каждое значит
  • «Всё на месте» — окружение ни при чём, ищем дальше по цепочке.
  • «Замечания (N)» — работать можно, но что-то из необязательного отсутствует. Смотрите, не оно ли нужно вашему шагу.
  • «СТОП: не хватает…» — дальше идти бессмысленно. Команда установки напечатана тут же.
Отдельное состояние, которое легко пропустить: ⚠ найден мимо PATH. Программа есть, но система её не видит там, где ищет — обычно лечится перезапуском приложения целиком, а не переустановкой.
Где какие следы искать
Фабрика оставляет мало логов, и это к лучшему — их не надо перебирать. Всего три места.
Куда смотреть
ФайлЧто там
publish/log/<дата>.jsonlчто и куда ушло, и сырой ответ площадки, если не прошло
ПРОБЛЕМЫ.txt в папке пакетапочему пакет не готов к выпуску: превышения лимитов и пустые тексты
вывод release.mjs в терминалеразмер кадра, длительность, посимвольный счёт по каждой площадке
Сырой ответ площадки в логе — самое ценное. Он часто прямо называет причину: не тот формат, не подключён аккаунт, кончился лимит. Не пересказывайте его Claude — покажите целиком.
Промпт «покажи, где встало»
Отдайте разбор Claude, но запретите чинить до объяснения причины. Иначе он начнёт править наугад, и вы потеряете рабочее состояние.
промпт в Claude
У меня не проходит публикация. Разберись, где именно встало, и НЕ переписывай ничего, пока не объяснишь причину. Что сделать: 1. Запусти node reels/check-deps.mjs и покажи вывод. 2. Запусти публикацию БЕЗ флага --yes и покажи план. 3. Открой последний файл в publish/log/ и покажи, что ответила площадка — целиком, не пересказом. 4. Скажи одной фразой, в чём причина, и что именно мне нужно сделать руками. Не выдумывай обходных путей и не предлагай публиковать через автоматизацию браузера — за это банят аккаунты.
Ждём: одну фразу с причиной и список того, что делаете вы. Если вместо этого начинается правка файлов — остановите и переспросите причину.
Пять мест, где ломается чаще всего
В девяти случаях из десяти дело в одном из этих пунктов, и все пять чинятся без кода.
Диагностика по частоте
  • Аккаунт не подключён к профилю в Upload-Post. Проверяется у них в интерфейсе за десять секунд.
  • Токен площадки просит переподключения. Соцсети отзывают доступ сами по себе — раз в несколько месяцев это норма.
  • Формат не тот. Карусель в YouTube не уйдёт, как ни настраивай.
  • Кончился лимит тарифа. На бесплатном — 10 публикаций в месяц, и они кончаются незаметно.
  • Ключ не там или с опечаткой. node reels/check-deps.mjs покажет за секунду.
Чего при отладке делать нельзя
Три запретакаждый стоил кому-то дорого
  • Публиковать через автоматизацию браузера. Площадки её ловят, и цена вопроса — аккаунт целиком, а не один пост.
  • «Попробуй ещё раз» без разбора причины. Если ошибка не случайная, повтор потратит деньги и вернёт то же самое.
  • Править файлы движка руками. Через неделю вы не вспомните, что меняли, а обновление комплекта затрёт правку — и поломка вернётся ниоткуда.
Если Claude предлагает обходной путь вместо починки причины — переспросите: «а что именно сломано и почему обход лучше?». Часто выясняется, что причина не найдена, а обход просто прячет симптом.
12
Поддержка: чтобы хозяйство не разваливалось
8 минут · читать
0/7
Десять минут раз в неделю
Автоматизация ломается тихо: вы узнаёте об этом не когда она сломалась, а когда заметили, что три недели ничего не выходило. Короткий регулярный осмотр дешевле разбирательства задним числом.
Недельный обход
  • node reels/check-deps.mjs — окружение цело?
  • Кабинет Upload-Post: сколько публикаций осталось на тарифе, все ли аккаунты подключены.
  • Баланс fal.ai — генерация встанет молча, когда он кончится.
  • Последние файлы в publish/log/ — всё ли уходило, что должно было.
  • Ваша лента глазами: посты действительно вышли и выглядят как задумано.
Последний пункт — не формальность. API рапортует об успешной загрузке, но не о том, что пост читается. Единственная проверка этого — ваши глаза в приложении.
Что ломается само по себе, без вашего участия
Ожидаемые поломкиэто не ваша вина
ЧтоКак частоЧто делать
Токен соцсети отозванраз в несколько месяцевпереподключить аккаунт в Upload-Post
Кончился лимит тарифак середине месяца на Freeподождать сброса или перейти на Basic
Кончился баланс falпо расходупополнить, генерация встаёт без предупреждения
Обновилась площадкаредкообновить комплект, посмотреть, что изменилось
Расходы: счётчика внутри фабрики нет
Скажу прямо: фабрика не считает, сколько вы потратили. Внутри нет ни журнала генераций, ни месячного итога. Следить нужно снаружи — в трёх кабинетах.
Где смотреть
  • fal.ai — основной расход, картинки и музыка.
  • Apify — только если пользуетесь Instagram-поиском.
  • Upload-Post — счётчик публикаций на тарифе.
Единственная предварительная смета, которая есть в комплекте, — у разведки: --dry-run печатает цену запроса и ничего не запускает. Всё остальное узнаётся по факту, поэтому держите привычку смотреть баланс раз в неделю.
Ориентиры для сверки: карусель — порядка $2–3, монтаж Reels — бесплатно, поиск доноров на YouTube — бесплатно, один прогон Instagram-поиска — около цента.
Обновление комплекта: что переживёт, а что нет
Обновляйтесь тем же промптом из блока 0 — он написан так, чтобы ваша настройка пережила обновление. Не заменяйте его на короткое «сделай git pull»: этим можно потерять уроки и кастинг.
Где что живёти почему это важно знать
Не в git — переживает обновление само
  • engine/.env — ваши ключи
  • marketing-context.md, CLAUDE.md, .claude/skills/если лежат рядом с папкой фабрики, а не внутри
  • лог публикаций и скачанные модели распознавания
В git — требует аккуратности при обновлении
  • knowledge/lessons.jsonl и exemplars/ — ваши уроки и эталоны
  • config/casting.json и config/models.json — ваши ручки
  • reference/_STYLES/STYLES.md — если вы дописывали стили
Вторая группа — это то, ради чего промпт из блока 0 делает резервную копию и локальный коммит. Ваши правки живут в тех же файлах, что и наши обновления, и без этих двух шагов git либо откажется обновляться, либо потребует разрулить конфликт.
И отдельно: скиллы обновление git не трогает, если они лежат копиями в .claude/skills/. Их надо перекопировать заново — иначе новые возможности фабрики до вас не доедут, а вы будете думать, что обновились.
Пакеты выпусков, собранные до обновления, публикатор может не принять — в них нет описи, которую он читает. Пересоберите пакет: это бесплатно и занимает секунды.
Когда двигаться по лестнице вверх — и когда вниз
Ступень автоматизации — не звание, её меняют в обе стороны.
Признаки
Пора выше
  • третью неделю делаете одно и то же движение и уже не думаете над ним
  • выпуски выходят стабильно и вы перестали браковать
Пора вниз
  • чините автоматизацию чаще, чем выпускаете контент
  • ловите себя на том, что публикуете не глядя, потому что «оно же само»
  • перестали узнавать собственную ленту
Спуститься на ступень — нормальное решение, а не поражение. Работающая вторая ступень полезнее сломанной четвёртой.
Границы: чего эта сборка не умеет
Три вещи, в которые вы упрётесь сами. Лучше знать заранее, чем считать, что что-то настроили неправильно.
Честный список
  • Метрики опубликованных постов не собираются. Охваты, сохранения и реакции в фабрику не возвращаются — петля обучения замкнута на ваш вкус, а не на реакцию аудитории. Смотреть цифры придётся в самих приложениях.
  • Перегенерировать один слайд из восьми нечем. Задание, по которому рисовалась серия, не сохраняется — при повторе стиль поедет. Практический обход: браковать сразу всю серию и переделывать целиком, либо мириться с одним неидеальным кадром.
  • Двух вариантов одного слайда рядом не показать. Сравнивать придётся, открывая файлы вручную.
Это не список недоделок, а осознанные границы комплекта: каждая из этих вещей тянет за собой отдельный платный ключ или заметно больше настройки. Мы решили не класть их в коробку, а сказать о них прямо.
Заведите свой журнал — он заменит половину недостающего
Раз в неделю пишите пять строк в обычный файл: что выпустили, что зашло, что забраковали и почему. Это самая дешёвая замена аналитике и самый надёжный источник уроков для фабрики.
промпт в Claude
Давай подведём неделю. Посмотри, что уходило в публикацию (publish/log за последние 7 дней), и спроси меня по каждому выпуску: как зашёл и что бы я поменял. Из моих ответов: 1. Запиши уроки в фабрику через lessons.mjs add — своими словами, без моего участия в синтаксисе. 2. Что понравилось — предложи сохранить эталоном. 3. Допиши итог недели в мой файл journal.md пятью строками.
Через месяц этот файл будет отвечать на вопрос «что у нас работает» лучше любого дашборда — потому что в нём ваши формулировки, а не чужие метрики.
13
Нужен ли n8n — честный ответ
4 минуты · читать
0/3
Нет. Для контент-фабрики он не нужен
Вся цепочка этого чек-листа — от поиска темы до публикации в десяток каналов — собирается без n8n. У нас самих его в рабочем контуре нет: фабрика работает на Claude Code, ffmpeg, fal и публикаторе.
Это не «мы не осилили». Мы пробовали и убрали: лишний слой между вами и результатом, который надо отдельно поднимать, отдельно чинить и отдельно обновлять.
Когда он действительно оправдан
У n8n есть свои сильные сценарии — просто это не про производство контента.
Берите n8n, если
  • надо связать пять и больше чужих сервисов между собой без кода — CRM, почта, таблицы, платежи;
  • управлять этой связкой должен не вы, а сотрудник, которому нужны кнопки и стрелочки;
  • нужно ловить вебхуки из внешних систем — событие произошло, реакция запустилась.
Если всё же решили — он разобран в чек-листе AI-офиса
Ставится в Docker на тот же сервер. Отдельно ради него сервер брать не нужно.
14
Не получилось — куда идти
3 минуты · читать
0/2
Не получилось за два захода — это нормально
Автоматизация — та часть, где спотыкается большинство, и дело обычно не в способностях, а в том, что здесь впервые встречаются четыре чужих сервиса сразу. Есть два выхода, и оба рабочие.
И всё-таки: работающая вторая ступень лучше сломанной четвёртой
Если автопилот не сложился — вы ничего не потеряли. Фабрика, которая собирает комплект за десять минут и публикует его одной командой, уже даёт больше, чем ежедневный ручной труд. Сервер к этому ничего не добавляет по качеству — только по времени суток.
Регулярность даёт результат. Автоматизация даёт регулярность дешевле. Но если регулярность у вас есть и без неё — вам не нужен сервер, вам нужен следующий выпуск.
🚀
Автопилот собран
Теперь главное — не забыть, где у него гейт. Человек, который смотрит на результат перед публикацией, дороже любого расписания.
📦
Остальные чек-листы фабрики