Контент
Заполните месяц контентом по вопросам вашей аудитории
Соберите темы в Chat, найдите вопросы аудитории в X, возьмите реальный угол из транскрипта видео и составьте календарь на четыре недели, где каждая строка имеет доказательство.
Скопировать промпт
Замените поля в квадратных скобках и вставьте в Claude Code, Codex или любой AI с доступом к терминалу. Он установит навык Felo, спросит перед списанием кредитов и выполнит процесс.
Спланируй четыре недели контента по теме [тема] для [аудитория]. Канал: [канал]. Разрешённые форматы: [список]. Дни публикации: [дни]. Язык: [язык]. Референсное видео (необязательно): [URL YouTube или ID видео]. Период вопросов аудитории: последние [90] дней. Подготовь Markdown-таблицу календаря, по одной строке на идею: | Дата | Формат | Рабочий заголовок | Угол | Доказательство | - Дата: следующие четыре недели в разрешённые дни. - Формат: один из разрешённых. - Рабочий заголовок: как называется материал. - Угол: обещание аудитории в одном предложении. - Доказательство: вопрос, пост, страница или таймкод видео, который оправдывает идею. После таблицы добавь: 1. Три темы, на которых держится месяц. 2. Какие идеи пришли из вопросов аудитории, какие из референсного видео, а какие — твоя гипотеза. 3. Что нужно исследовать перед написанием каждого материала. 4. Список источников со ссылками и датами. Правила: - Это идеи, а не гарантии. Никогда не обещай охват, клики, позиции или рост. - Не выдумывай тренды, объём поиска, метрики вовлечённости и цитаты. - Привязывай каждый вопрос аудитории к посту или странице с датой. Если доказательств мало, помечай идею как гипотезу. - Используй референсное видео только для тех углов, которые оно действительно покрывает; цитируй кратко с таймкодами. - Перед расходом кредитов покажи планируемые поиски и извлечения и дождись моего одобрения. - Не планируй посты, не создавай черновики в CMS и ничего не публикуй. - Запиши результат в ./content-calendar.md и кратко изложи его в чате.
В копию также входят шаги установки и правила безопасности.
Что получится
Пример вывода одного запуска. Не живая генерация.
Контент-календарь — пример месяца
Темы
- Время на чистку — скрытая стоимость.
- Место на столе решает покупку.
- Покупка для себя vs в подарок.
Календарь
| Дата | Формат | Рабочий заголовок | Угол | Доказательство |
|---|---|---|---|---|
| 2026-11-02 | Карусель | Тест чистки за 5 минут | Показать шаг чистки, который никто не снимает | @example_home, 2026-10-24 |
| 2026-11-04 | Короткое видео | Место на столе, измерено | Сравнить следы на реальном столе | Референсное видео — 42 с |
| 2026-11-09 | Рассылка | Почему ломается уплотнитель | Объяснить режим отказа, о котором сообщают покупатели | @example_buyer, 2026-10-19 |
Откуда идеи
Две строки — из датированных вопросов аудитории, одна — из референсного видео; строка-гипотеза была бы помечена.
Что изучить сначала
Процент возвратов и политику замены уплотнителя — ни то, ни другое не покрыто источниками выше.
Источники
- https://example.com/category-guide — 2026-10-12
- https://x.com/example_home/status/... — 2026-10-24
Реальные вызовы
Для разработчиков: тот же процесс в виде кода в порядке выполнения.
Показать реальные вызовы API
Соберите темы в Chat
Спросите Chat о подтемах, которые чаще всего интересуют аудиторию, и сохраните источники.
calendar.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const topic = "portable espresso makers"; const audience = "home espresso beginners"; const themes = await felo<ChatData>("/v2/chat", { query: `Themes, recurring questions, and content gaps around ${topic} for ${audience}`, }); const sources = themes.data.resources.slice(0, 5);Пример вывода
{ "answer": "Beginners ask about cleanup, counter space, and grind size …", "sources": [ { "link": "https://example.com/guide", "title": "…", "snippet": "…" } ] }Найдите вопросы аудитории в X
Ищите вопросы по теме в X за последние 90 дней, сохраняя аккаунты и даты.
calendar.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; url: string; }[]; }; }; const since = Math.floor((Date.now() - 90 * 24 * 60 * 60 * 1000) / 1000); const questions = await felo<XData>("/v2/x/tweet/search", { query: `"${topic}" (recommend OR beginner OR how)`, limit: 50, since_time: since, }); const asked = questions.data.tweets;Пример вывода
{ "data": { "tweets": [ { "content": "How do you clean one of these without taking it apart?", "author": { "username": "example_home" }, "created_at": "2026-10-24T11:30:00Z", "url": "https://x.com/example_home/status/..." } ] } }Загрузите транскрипт референсного видео
Через YouTube Subtitling получите транскрипт и найдите реальный угол для повторного использования.
calendar.ts type SubtitleData = { data: { title: string; contents: { text: string; start: number; duration: number }[]; }; }; const videoCode = "dQw4w9WgXcQ"; // replace with your reference video id const video = await felo<SubtitleData>( `/v2/youtube/subtitling?video_code=${videoCode}&language=en&with_time=true`, );Пример вывода
{ "title": "Example Video Title", "contents": [ { "text": "Subtitle text", "start": 42.3, "duration": 8.1 } ] }Составьте календарь на четыре недели
Сделайте Markdown-таблицу с датой, форматом, рабочим заголовком, углом и доказательством.
calendar.ts const start = new Date(); const day = (offset: number) => { const date = new Date(start); date.setDate(date.getDate() + offset); return date.toISOString().slice(0, 10); }; type Idea = { dayOffset: number; format: string; title: string; angle: string; evidence: string; }; // Rows come from the themes, the dated questions, and the transcript. const anchor = video.data.contents[0]; const ideas: Idea[] = [ { dayOffset: 1, format: "carousel", title: "The 5-minute cleanup test", angle: "Show the cleanup step nobody films", evidence: asked[0]?.url ?? "hypothesis", }, { dayOffset: 3, format: "short video", title: "Counter space, measured", angle: "Compare footprints on one real counter", evidence: anchor ? `${video.data.title} — ${Math.round(anchor.start)}s` : video.data.title, }, ]; const calendar = [ "| Date | Format | Working title | Angle | Evidence |", "| --- | --- | --- | --- | --- |", ...ideas.map( (idea) => `| ${day(idea.dayOffset)} | ${idea.format} | ${idea.title} | ${idea.angle} | ${idea.evidence} |`, ), ].join("\n"); console.log(calendar);Пример вывода
| Date | Format | Working title | Angle | Evidence | | --- | --- | --- | --- | --- | | 2026-11-02 | carousel | The 5-minute cleanup test | Show the cleanup step nobody films | https://x.com/example_home/status/... | | 2026-11-04 | short video | Counter space, measured | Compare footprints on one real counter | Example Video Title — 42s |
Сохраните в LiveDoc
Сохраните календарь и источники в LiveDoc, чтобы в конце месяца можно было искать план.
calendar.ts type LiveDocData = { data: { short_id: string } }; const plan = await felo<LiveDocData>("/v2/livedocs", { name: `Content calendar: ${topic}`, description: "Monthly plan with themes, calendar rows, and evidence", }); await felo(`/v2/livedocs/${plan.data.short_id}/resources/urls`, { urls: sources.map((source) => ({ url: source.link, title: source.title })), }); await felo(`/v2/livedocs/${plan.data.short_id}/resources/doc`, { title: `Content calendar — ${day(0).slice(0, 7)}`, content: calendar, }); type Retrieved = { data: { title: string; content: string; score: number }[] }; const lastMonth = await felo<Retrieved>( `/v2/livedocs/${plan.data.short_id}/resources/retrieve`, { query: "what did we plan last month" }, ).then((res) => res.data.filter((hit) => hit.score >= 0.7));Пример вывода
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Что входит
- Карта тем из Chat
- Датированные вопросы аудитории в X
- Транскрипт и угол референсного видео
- Контент-календарь на четыре недели
- LiveDoc с планом и источниками
Чего не делает
- Не предсказывает результаты и не гарантирует трафик
- Не читает вашу аналитику
- Не пишет посты целиком и не публикует
- Без референсного видео шаг можно пропустить
- Календарь — предложение, а не обещание
Вопросы
Откуда берутся идеи календаря?
Из карты тем Chat, реальных вопросов аудитории в X и угла референсного видео. Каждый пункт сохраняет ссылку или дату доказательства.
Он знает, что раньше сработало?
Нет. Он не читает аналитику; прошлые результаты нужно добавить самостоятельно.
Он также пишет посты?
Нет. Он выдаёт календарь и углы, а пишете вы или ваш писательский agent.
Что если нет референсного видео?
Пропустите этот шаг; темы и вопросы из X всё равно поддерживают календарь.
Можно планировать публикации автоматически?
Нет. Он создаёт файл плана; расписание публикаций настраивается в вашем инструменте.
Сколько стоит планирование?
Chat, поиск в X и транскрипт видео оплачиваются по факту использования; актуальные тарифы на странице цен, промпт просит одобрение до трат.
Связанные процессы
Превратите один поисковый запрос в SEO-бриф для контента
Посмотрите, какие страницы сейчас отвечают на запрос, прочитайте их как Markdown, сопоставьте вопросы, на которые они отвечают и которые пропускают, и напишите бриф, по которому автор сразу составит план.
Открыть рабочий процессКонтентВыпускайте ежедневный AI-дайджест, который команда действительно читает
Получите подборку новостей с источниками, добавьте обсуждения практиков в X, загрузите один транскрипт видео, соберите выпуск в Markdown и сохраните его в LiveDoc.
Открыть рабочий процессКонтентПревратите обсуждения в еженедельный бриф социального слушания
Ищите посты X о бренде и конкурентах за неделю, добавьте веб-контекст с источниками, прочитайте страницы за ним и сохраняйте каждый выпуск, чтобы следующая неделя начиналась с известного.
Открыть рабочий процессАдаптируйте под себя
Тот же рецепт, подстроенный под ваш реальный процесс.
Только две недели
Сожмите четыре недели в две для команды, которая только начинает выпускать контент.
Разделите по каналам
Сделайте колонки для рассылки, X и YouTube с одной темой в разных форматах.
Добавьте запуск продукта
Поставьте даты запуска и события фиксированными строками и заполните контент вокруг них.
Продолжить
Справочные страницы этого рецепта и куда двигаться дальше.