Генератор постов

Генератор постов

@post-generatormarketing

Генерация постов с учётом специфики платформ: форматирование, лимиты символов, хештег-стратегии и шаблоны CTA для Telegram, VK, Instagram и YouTube Shorts.

0 установокПубличный

SKILL.md

Генератор постов — контент с учётом специфики платформ

Генерируй посты для социальных сетей с правильным форматированием, тоном и структурой для каждой платформы.

Посты в Telegram-канал

Правила формата

  • Лимит: 4 096 символов на сообщение
  • Форматирование: Markdown — жирный **текст**, ссылки [текст](url), код
  • Структура: Заголовок → Тело → CTA
  • Визуал: Эмодзи как разделители секций (не как украшение)

Шаблон

📌 [ЗАГОЛОВОК]

[Открывающий хук — 1-2 предложения]

[Основной контент — абзацы разделены эмодзи]

📝 [Ключевой вывод или резюме]

👉 [CTA — подписка / комментарий / переход по ссылке]

Варианты тона

  • Экспертный: "Разбираем 5 ошибок, которые убивают ваши продажи..."
  • Дружелюбный: "Привет! Сегодня расскажу про секрет, который мне помог..."
  • Провокационный: "Спойлер: вы делаете SMM неправильно. Вот почему..."

Посты ВКонтакте

Правила формата

  • Органические посты: Нет жёсткого лимита символов
  • Рекламные записи: До 220 символов текст
  • PRO-реклама: Без эмодзи и хештегов
  • Алгоритм: Ценит удержание внимания, сохранения, репосты, длинные комментарии

Шаблон

[Хук — вопрос или смелое утверждение]

[История или полезный контент — разговорный стиль, как с другом]

[Призыв к взаимодействию — "А как у вас? Напишите в комментариях!"]

Специфика VK

  • Используй опросы для вовлечения (алгоритм поощряет)
  • VK Клипы (вертикальное видео 5-15 сек) — формат с максимальным охватом
  • Комьюнити-тон: тёплый, инклюзивный, «мы» вместо «я»
  • Отметка друзей: "Отметьте коллегу, которому это полезно"

Посты в Instagram

Правила формата

  • Подпись: до 2 200 символов
  • Зона хука: первые 125 символов (видны до кнопки «ещё»)
  • Хештеги: 5-12 (ротация каждые 2 недели)
  • Посты в ленте: Длинные подписи подходят для сторителлинга
  • Reels: Короткие подписи, CTA + краткое описание

Шаблон поста в ленту

[ХУК — первые 125 символов — чтобы захотелось читать дальше]

[История или полезный контент]

[Ключевой момент или урок]

[CTA: "Сохрани чтобы не потерять" / "Поделись с другом"]

#hashtag1 #hashtag2 #hashtag3 ... #hashtag8

Шаблон подписи для Reels

[Краткое описание — 1-2 строки]

[CTA]

#hashtag1 #hashtag2 #hashtag3

Стратегия хештегов

  • Микс размеров: 2-3 популярных (500K+), 3-4 средних (50K-500K), 2-3 нишевых (<50K)
  • Ротация каждые 2 недели
  • Естественно вплетай в подпись
  • Исследуй трендовые хештеги в нише еженедельно

YouTube Shorts

Правила формата

  • Название: до 40 символов, с ключевыми словами
  • Описание: ключевые слова, теги, 3-5 хештегов
  • Хук: первые 1-3 секунды критически важны (визуал + текст)

Паттерны названий

  • "Как [достичь результата] за [время]"
  • "3 ошибки в [тема], которые вы совершаете"
  • "[Тема]: секрет, о котором не говорят"
  • "Что я узнал(а) о [тема] за [опыт]"

Шаблон описания

[1-2 предложения с ключевыми словами]

#hashtag1 #hashtag2 #hashtag3

Адаптация под платформы

Одна и та же идея становится разными постами на каждой платформе:

ИдеяTelegramVKInstagramShorts
Совет о продуктеДлинный гайд с MarkdownРазговорная история с опросомКарусель с пошаговой инструкцией15 сек демонстрация
ЗакулисьеЭкспертный пост с деталямиКомьюнити-история, тег командыСерия Stories / ReelБыстрый BTS-ролик
Отзыв клиентаТекст + скриншотПост в комьюнити с комментариямиРепост + комментарийТекст + озвучка
Акция/предложениеВсе детали + CTA + ссылкаТёплое приглашение + опросВизуал + ссылка в профилеБыстрое объявление + CTA

Шаблоны CTA

ЦельCTA
Вовлечение"Напишите в комментариях: [вопрос]"
Сохранение/репост"Сохрани чтобы не потерять ❤️"
Переход"Читать подробнее: [ссылка]"
Подписка"Подпишись, чтобы не пропустить"
Личные сообщения"Напиши нам в личные сообщения"
Опрос"Голосуй в опросе ниже 👇"

Чек-лист качества

Перед отправкой каждого поста:

  • Вписывается в лимит символов платформы
  • Хук в видимой зоне (первая строка / первые 125 символов)
  • CTA включён
  • Форматирование соответствует платформе (Markdown для Telegram, без эмодзи в VK PRO, хештеги для Instagram)
  • Тон бренда соответствует пожеланиям клиента
  • Нет идентичного кросспостинга (контент адаптирован под платформу)

Инструкции по публикации (browser-use)

Telegram: отправка одним сообщением

⚠️ НЕ ИСПОЛЬЗУЙ browser-use input для постов с переносами строк! Команда input передаёт символы по одному, и \n интерпретируется как нажатие Enter — сообщение разбивается на множество отдельных.

Правильный метод:

  1. Найди поле ввода через document.querySelector('[contenteditable=true]')
  2. Вставь контент через eval:
    browser-use eval "var inp = document.querySelector('[contenteditable=true]'); inp.innerHTML = 'Строка 1<br><br>Строка 2'; inp.dispatchEvent(new InputEvent('input', {bubbles: true}));"
    
  3. Кликни кнопку отправки (крайний правый <button> внизу)
  4. Проверь: eval с проверкой inp.innerText === '' → пост отправлен

⚠️ Используй <br> вместо \n для переносов внутри одного сообщения.

Instagram: загрузка изображения для поста

⚠️ Instagram Web имеет несколько скрытых <input type=file> в shadow DOM. Только один корректно запускает flow создания поста.

Правильный метод:

  1. Кликни svg[aria-label="New post"]
  2. Загрузи изображение в ПЕРВЫЙ input[type=file][accept="image/jpeg"] (теневой DOM)
  3. Дождись экрана «New Photo Post» → Next
  4. Введи подпись в textarea[aria-label="Write a caption…"]
  5. Кликни Share
  6. Проверь: профиль показывает +1 пост

Требования к изображениям для Instagram

  • Формат: 1080×1080px (квадрат), JPEG или PNG
  • Безопасные отступы: ≥60px со всех сторон
  • Контент центрирован, важный текст не у краёв
  • Рендерить через Playwright, НЕ через browser-use screenshot

Рендеринг изображений

⚠️ browser-use --headed screenshot НЕ подходит — вьюпорт неконтролируем.

Используй Playwright для headless-рендеринга с точным viewport:

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page(viewport={'width': 1080, 'height': 1080})
    page.goto('http://localhost:8899/template.html', wait_until='networkidle')
    page.screenshot(path='output.png', full_page=False)
    browser.close()

Комментарии (0)

Войдите, чтобы оставить комментарий

Загрузка комментариев...

Генератор постов