Из вирусных шортсов — в производство: 4 скилла контент-завода
Последние недели в ленте штормит: «Claude ведёт ваш YouTube-канал», «ИИ-агент ищет клиентов за тебя», «Клод убил трейдеров». Под каждым таким роликом — воронка «напиши слово в комментарии, пришлю курс». Мы разобрали три этих ролика подряд и в каждом обнаружили одну и ту же картину: блогер пересказывает чужой бесплатный репозиторий, не добавляя ни строчки.
Поэтому вместо пересказа мы сделали то, что умеем: забрали исходники и поставили их в собственное производство. Ниже — мануал по четырём скиллам, которые теперь работают в конвейере Automata. Статья написана как рабочая памятка: команды настоящие, выводы — из боевых прогонов этой недели.
Первоисточники (обоим авторам — уважение за инженерную культуру и честные дисклеймеры):
- youtube-agent-skill и instagram-agent-skill — Jakeschincariol, MIT;
- Harvey (пайплайн продаж) — ethanplusai, MIT.
Карта: что стоит в конвейере
| Скилл | Задача | Ядро |
|---|---|---|
hook-formulas | первая строка любого текста | 47 формул хуков + скорер |
viral-radar | «что сейчас взлетает в нише» | ранжирование по медиане самого канала |
lead-pipeline | ниша → лиды → черновик письма | OSM-поиск + CMS-фингерпринт + HITL-гейты |
script-doctor | качество текста и сценария | анти-нейрослоп RU/EN + тайминг beats |
Все четыре живут в ~/.agents/skills/ и запускаются из любой сессии с агентом —
формат скилла это просто Markdown-инструкция плюс Python-скрипты без зависимостей.
1. hook-formulas: банк из 47 формул хука
Хук — это первые 15 секунд видео или первая строка поста. У него три работы: подтвердить клик по заголовку, поднять вопрос, который читатель не может закрыть, и доказать, что обещанное существует. Хук, который делает только третью работу — это конспект, и он течёт.
Пять правил поверх всех формул (жёсткие):
- Подтверди заголовок в первой фразе — хук, игнорирующий свой заголовок, теряет читателя на восьмой секунде.
- Одна идея. Хук с двумя обещаниями не держит ни одного.
- Конкретика бьёт масштаб: «с 400 до 200 000 за семь месяцев» сильнее «массивного роста».
- Обещал артефакт — покажи в первые 20 секунд.
- Никогда не открывай с «кто я». Питч подписки ещё не заработан.
Практика: перед любым зацепом генерируем пять кандидатов по разным формулам (не по одной!), выбираем сильнейший и сверяемся с разделом «как умирает» — у каждой формулы он свой.
Банк собран из двух файлов: hooks.json (21 формула YouTube-пака: Statistic,
Contrarian Flip, The Receipt, I Tried It…) и ig-hooks.json (26 формул
Instagram-пака, из них 19 уникальных: Cold Open Demo, The Flop Record, The Objection,
Cost Confession, Mid-Sentence Start, Time Collapse…).
Для английских текстов работает скорер — он оценивает хук по пяти свойствам и выдаёт вердикт, в котором 40% веса несёт слабейшее звено (среднее скрывает дыру, а хук течёт именно в ней):
python3 ~/.agents/skills/hook-formulas/hookscore.py \
--hook "97% of day traders lose money. Here is what the other 3% do differently."
Реальный вывод из нашего прогона:
SPECIFICITY 84
ADDRESS 26 ← say 'you' in the first six words
STAKES 62
CURIOSITY 41
BREVITY 100
VERDICT 48 WEAK
Хук с цифрой на 84 — и всё равно WEAK, потому что не называет адресата в первых шести словах. Скорер честен: он ловит плохие хуки, но не выбирает победителей (AUC 0.83 против 0.56 у автора калибровки) — его работа «убить очевидно слабое до съёмки».
Русские тексты скорер-регексы не разбирают — формулы применяются вручную по
shape/example из банка. Для наших каруселей чаще всего работают The Teardown
(«вытащил девять самых залетевших видео месяца и разобрал, что общего в заголовках»),
Direct Address («если у вас интернет-магазин на Битриксе — это про вас») и
The Mistake («ваши первые 30 секунд — причина, почему досматривают мало»).
2. viral-radar: идея — это не просмотры
Сырые просмотры ранжируют размер канала, а не силу идеи. 400 тысяч просмотров на канале с медианой 2 млн — обычный вторник. 400 тысяч на канале с медианой 30 тысяч — то, что надо изучать. Поэтому каждый ролик оценивается как кратность собственной медианы канала, и на канал нужно минимум 4 ролика, иначе медианы нет — инструмент честно пропускает такой канал, а не ранжирует шум.
Сбор — только публичные страницы, без логинов:
yt-dlp --flat-playlist -J "https://www.youtube.com/@канал/videos" > ch1.json
Собираем несколько каналов в один JSON (channel/title/views/url/duration), дальше:
python3 ~/.agents/skills/viral-radar/swipe.py collected.json --min 2.0
Порог 2.0 = «вдвое выше собственной нормы». Наш тестовый прогон на восьми ролках двух каналов сразу отделил зерно:
5.88x 50 000 vs 8 500 median «97% разработчиков бросают блог до 30-го поста»
3.90x 410 000 vs 105 000 median «Почему ваши первые 30 секунд — причина оттока»
Чтение результата — три шага: топ-5 с кратностями и формулой хука каждого; ОДНА структурная общность топа (не пять); и главная строка — что из этого мы можем сделать на этой неделе, своим кейсом, своим голосом. Формула в выдаче — суждение о словах заголовка, а не доказательство «почему взлетело».
Правило этики: копипаста запрещена, только адаптация со кредитом источника. Тот же
вход работает для Telegram-радара: channel = канал, views = просмотры поста,
title = первая строка.
3. lead-pipeline: ниша → лиды → черновик, и ничего без «да»
Самый большой скилл — адаптация Harvey под наш стек. Философия оригинала сохранена: стадии связаны запросом к базе, а не передачей списков — каждая стадия спрашивает «кого я ещё не смотрел или что протухло» (сайт перечитывается через 90 дней — так видно, когда клиент сменил движок или агентство), и любой прогон переживает рестарт.
Три стадии, каждая — команда:
# DISCOVER: физический бизнес по региону через OpenStreetMap (бесплатно)
python3 ~/.agents/skills/lead-pipeline/discover.py "Саратов" --cat furniture --limit 15
# PROFILE: снимок сайта + CMS-фингерпринт
python3 ~/.agents/skills/lead-pipeline/profile.py --limit 11
# ENRICH: ЛПР, email, MX
python3 ~/.agents/skills/lead-pipeline/enrich.py --limit 4
Боевой прогон этой недели: Саратов, мебельные магазины → 11 компаний с сайтами из одного OSM-запроса. Профайлер разложил их по движкам: два магазина на 1С-Битриксе (кухни на заказ, интернет-магазин мебели), WordPress, Nuxt, федеральные сети легли как «недоступны» (анти-бот; они и не наши клиенты).
CMS-фингерпринт — это сердцевина: мы не просто «нашли компании», мы знаем, на чём стоит их сайт, и оффер рождается автоматически:
| Сигнал profile.py | Оффер |
|---|---|
| Битрикс (+Aspro) | синхронизация сайт ↔ Битрикс24, ускорение, SEO |
| Tilda/uKit/Nethouse + магазин | миграция с конструктора на полноценный магазин |
| WooCommerce | миграция на 1С-Битрикс, интеграции |
| Сайт недоступен / без HTTPS | аварийный контур: «ваш сайт не открывается с половины устройств» |
ENRICH честно ранжирует контакты: listed (email прямо на сайте) лучше pattern
(info@/sale@ при живом MX — рискованно) лучше guess; нет MX — не существует.
Если на сайте есть Telegram — канал первый: для нашего рынка TG/MAX живее холодной
почты.
Гейты — главное отличие от «полной автоматизации» из роликов:
- Ничего не отправляется само. Черновики пишутся в outbox и ждут команды «отправляй N» от владельца.
- Лимиты: ≤20 первых касаний в день, с отдельного прогретого ящика, никогда — с основного домена.
- Opt-out в первом же письме — и мгновенно в вечный стоп-лист.
- На вопрос «ты ИИ?» агент отвечает правду.
- LinkedIn-автоматизация и автодозвон — выключены принципиально (баны аккаунтов).
Это не перестраховка, а скопированный у Harvey паттерн «два „да” от человека + один PASS от риск-правил» — перед любым необратимым действием. Ровно этот же паттерн стоит применять каждому, чей агент трогает прод или деньги.
4. script-doctor: анти-нейрослоп и тайминг
Последний скилл — про то, чем мы отличаемся от пересказчиков: наш текст не должен пахнуть тем же конвейером, который мы критикуем. Два инструмента.
detect.py: пять метрик вместо «мне кажется»
python3 ~/.agents/skills/script-doctor/detect.py draft.txt
- BURSTINESS — люди рвут длину предложений, модели пишут ровно;
- SPECIFICITY — числа, имена, ₽: цель 4+ маркера на 100 слов;
- SLOP DENSITY — попадания словаря штампов;
- FINGERPRINT — невидимые символы, машинная типографика;
- VOICE — местоимения и структурные теллы.
Тот же прогон на двух текстах дал ровно то, зачем ставили. Типичный ИИ-пост («В современном мире инновационные технологии играют ключевую роль…») — 11 из 100, FLAGGED: девять слоп-попаданий, ноль конкретики, пойман структурный телл «не просто X, а Y». Живой кейс («Сайт клиента открывался 9 секунд. Мы сократили до 1,4 — конверсия выросла на 19% за месяц») — 55 из 100: ноль слопа, пять маркеров конкретики.
Словарь — наш, пополняемый: 116 слов и 73 фразы с заменами (канцелярит
«данный→этот», «осуществляет→делает»; хайп «инновационный→новый»; филлеры «важно
отметить, что → в никуда»; рекламу «не упустите возможность→успейте») плюс 19
структурных теллов. Замены humanize.py намеренно грубые — финал всегда глазами.
beats.py: тайминг сценария до съёмки
python3 ~/.agents/skills/script-doctor/beats.py script.txt --target 20
Скрипт раскладывается по таймкодам (~165 слов в минуту) и флагует четыре убийцы шортса. На нашем тестовом сценарии 20 секунд он поднял все: хук длился 5,8 секунды (за красной чертой в 3 секунды — палец уже решил), три бита длиннее 4 секунд без смены кадра, финал не перекликался с первой строкой (нет лупа — нет пересмотра). Поймали и мелочь: числа, написанные прописью («девять секунд»), конкретикой не считаются — в сценариях пишем цифрами.
Сквозные маршруты
Пост от идеи до публикации:
идея → 5 хуков (hook-formulas) + hookscore
→ сценарий → beats.py (тайминг, хук ≤3с)
→ detect.py / humanize.py (SLOP < 15, ноль невидимых)
→ публикация → через 90 дней сайт-кандидат снова в profile
Ниша → лиды:
viral-radar (что взлетает у конкурентов)
→ hook-formulas (зацеп для первого касания)
→ lead-pipeline discover → profile → enrich
→ сегмент-оффер по CMS → черновик в outbox
→ «отправляй N» → ручная отправка по каналу (email/TG/MAX)
Памятка: грабли, уже зарытые в код
- Overpass (OSM) капризен: тело запроса — только form-encoded; при 502 — бэкофф 4/8/16 секунд по трём попыткам и зеркала. Не паникуйте, просто подождите.
- Tarpit-серверы (соединение принято, ответа нет) рвут наивные HTTP-таймауты:
fetch в потоке с жёстким
join(timeout), авто-редиректы выключены, только HTTPS. - Скоры detect.py калиброваны на английском корпусе: для русских текстов число — ориентир, решают попадания SLOP/FINGERPRINT (они почти языконезависимы).
- Скоринг хуков не выбирает победителей — только отсеивает слабых. Победителя выбирает ваш голос и ваш кейс.
- В viral-radar короткие каналы (меньше 4 роликов) пропускаются — это не ошибка.
Почему мы выкладываем это публично
Потому что барьер — не секретность, а дисциплина. Тот же код лежит в открытых репозиториях; воронки продают его пересказ за «слово в комментарии». Разница между пересказом и производством — в гейтах, словарях и готовности каждое утро прогонять тексты через детектор, включая собственные. Если после статьи захотите такой же конвейер под свою нишу — напишите нам, поставим и настроим.
📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale · 🌐 automata.sale
ИП Урядов Евгений Евгеньевич · ИНН 645112058391 · ОГРНИП 312645301900058 Работаем по России, Беларуси и Казахстану
Частые вопросы
Что такое agent skills и причём тут Claude?
Agent skills — папки с инструкциями (SKILL.md) и скриптами, которые ИИ-агент подхватывает как режимы работы. Формат подняла Anthropic для Claude Code, но это просто Markdown + Python: те же скиллы работают в любом агенте, включая наш стек. Вирусные «паки» скиллов — youtube-agent-skill, day-trader-skill, instagram-agent-skill — бесплатны и лежат на GitHub под MIT.
Сколько стоит этот набор?
Ноль рублей сверх имеющегося. Поиск лидов — OpenStreetMap и открытые HTTP-запросы к сайтам, анализ ниши — публичные страницы, проверка текста — локальные скрипты без сети и зависимостей. Единственные платные опции (поисковые ранги через DataForSEO) включаются только явным решением.
Что-нибудь отправляется автоматически?
Нет, и это принцип. Лид-пайплайн пишет черновики в outbox и ждёт человеческого «отправляй N». Посты и письма уходят только с явного решения владельца. Лимит первых касаний — 20 в день с одного прогретого ящика, и никогда с основного домена.
Это не копипаст чужого контента?
Код — open source под MIT, с указанием авторства (Jakeschincariol, ethanplusai). Контент — нет: радар находит чужие взлёты, но правило скилла — адаптация своими кейсами с кредитом источника, копипаста запрещена. Проверить текст на «слоп» перед публикацией — как раз задача script-doctor.
Работаю удалённо — цены и условия для вашего города: