Obsah
Naplňte měsíc obsahu otázkami publika
Zmapujte témata s Chat, najděte otázky publika na X, vezměte skutečný úhel z transkriptu videa a sestavte čtyřtýdenní kalendář, kde každý řádek uvádí svůj důkaz.
Zkopírovat prompt
Nahraďte pole v hranatých závorkách a vložte do Claude Code, Codex nebo AI s přístupem k terminálu. Nainstaluje skill Felo, zeptá se před utracením kreditů a spustí workflow.
Naplánuj čtyři týdny obsahu o [téma] pro [publikum]. Kanál: [kanál]. Povolené formáty: [seznam]. Dny publikace: [dny]. Jazyk: [jazyk]. Referenční video (volitelně): [URL YouTube nebo ID videa]. Období otázek publika: posledních [90] dní. Vytvoř Markdown kalendářní tabulku s jedním řádkem na nápad: | Datum | Formát | Pracovní titul | Úhel | Důkaz | - Datum: příští čtyři týdny v povolených dnech. - Formát: jeden z povolených. - Pracovní titul: jak se obsah jmenuje. - Úhel: slib publiku v jedné větě. - Důkaz: otázka, příspěvek, stránka nebo časové razítko videa, které nápad ospravedlňuje. Za tabulku přidej: 1. Tři témata, na kterých měsíc stojí. 2. Které nápady pocházejí z otázek publika, které z referenčního videa a které jsou tvoje hypotéza. 3. Co je potřeba prozkoumat před napsáním každého obsahu. 4. Seznam zdrojů s odkazy a daty. Pravidla: - Jsou to nápady, ne záruky. Nikdy neslibuj dosah, kliknutí, pozice ani růst. - Nevymýšlej trendy, objem vyhledávání, čísla engagementu ani citace. - Každou otázku publika připoj k datovanému příspěvku nebo stránce. Když jsou důkazy slabé, označ nápad jako hypotézu. - Referenční video používej jen pro úhly, které skutečně pokrývá; cituj krátce s časovými razítky. - Než utratíš kredity, ukaž plánovaná vyhledávání a extrakce a počkej na mé schválení. - Neplánuj příspěvky, nevytvářej koncepty v CMS a nic nezveřejňuj. - Výsledek zapiš do ./content-calendar.md a shrň ho v chatu.
Kopie obsahuje i instalační kroky a bezpečnostní pravidla.
Co dostanete
Ukázkový výstup jednoho běhu. Ne živé generování.
Obsahový kalendář — ukázkový měsíc
Témata
- Čas na čištění je skrytý náklad.
- Místo na pracovní desce rozhoduje o koupi.
- Koupě pro sebe vs. jako dárek.
Kalendář
| Datum | Formát | Pracovní titulek | Úhel | Důkaz |
|---|---|---|---|---|
| 2026-11-02 | Karusel | Test čištění za 5 minut | Ukázat krok čištění, který nikdo nefilmuje | @example_home, 2026-10-24 |
| 2026-11-04 | Krátké video | Místo na desce, změřeno | Porovnat stopu na skutečné desce | Referenční video — 42 s |
| 2026-11-09 | Newsletter | Proč těsnění selhává | Vysvětlit režim selhání, který kupující hlásí | @example_buyer, 2026-10-19 |
Odkud nápady jsou
Dva řádky z datovaných otázek publika, jeden z referenčního videa; řádek s hypotézou by byl označen.
Co nejdřív prozkoumat
Míru vrácení a politiku výměny těsnění — ani jedno zdroje výše nepokrývají.
Zdroje
- https://example.com/category-guide — 2026-10-12
- https://x.com/example_home/status/... — 2026-10-24
Přesná volání
Pro vývojáře: stejný workflow jako kód, v pořadí provádění.
Zobrazit skutečná API volání
Zmapujte témata s Chat
Zeptejte se Chat na podtémata nejvíc hledaná publikem a držte zdroje.
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);Ukázkový výstup
{ "answer": "Beginners ask about cleanup, counter space, and grind size …", "sources": [ { "link": "https://example.com/guide", "title": "…", "snippet": "…" } ] }Najděte otázky publika na X
Hledejte otázky k tématu na X za posledních 90 dní, držte účty a data.
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;Ukázkový výstup
{ "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/..." } ] } }Vezměte referenční transkript
Použijte YouTube Subtitling pro transkript a najděte znovupoužitelný skutečný úhel.
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`, );Ukázkový výstup
{ "title": "Example Video Title", "contents": [ { "text": "Subtitle text", "start": 42.3, "duration": 8.1 } ] }Sestavte čtyřtýdenní kalendář
Vytvořte Markdown tabulku s datem, formátem, pracovním názvem, úhlem a důkazem.
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);Ukázkový výstup
| 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 |
Uložte do LiveDoc
Uložte kalendář a zdroje do LiveDoc k revizi na konci měsíce.
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));Ukázkový výstup
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Co obsahuje
- Mapa témat z Chat
- Datované otázky publika na X
- Transkript a úhel referenčního videa
- Čtyřtýdenní obsahový kalendář
- LiveDoc s plánem a zdroji
Co nedělá
- Nepředpovídá výkon a negarantuje návštěvnost
- Nečte vaši historickou analytiku
- Nepíše celé posty a nepublikuje
- Bez referenčního videa lze krok vynechat
- Kalendář je návrh, ne slib
Otázky
Odkud nápady?
Z mapy témat Chat, skutečných otázek publika na X a úhlu referenčního videa. Každá položka drží odkaz nebo datum důkazu.
Ví, co fungovalo dřív?
Ne. Nečte analytiku; historické výsledky doplníte sami.
Píše i posty?
Ne. Dává kalendář a úhly; psaní je na vás nebo vašem psacím agentovi.
Bez referenčního videa?
Krok vynechejte; témata a otázky X kalendář unesou.
Lze plánovat publikace?
Ne. Tvoří plánovací soubor; plánování je ve vašem nástroji.
Kolik stojí jedno plánování?
Chat, X Search a transkript videa se účtují podle užití; aktuální sazby na stránce cen a prompt žádá schválení před útratou.
Související workflowy
Proměňte vyhledávací dotaz v SEO obsahový brief
Podívejte se, které stránky dnes odpovídají, přečtěte je jako Markdown, zmapujte pokryté a chybějící otázky a napište brief, ze kterého autor udělá osnovu.
Otevřít workflowObsahVydávejte denní AI digest, který tým opravdu čte
Získejte souhrn se zdroji, přidejte diskuse praktiků na X, vezměte transkript videa, sestavte vydání v Markdownu a archivujte v LiveDoc.
Otevřít workflowObsahProměňte sociální konverzace v týdenní brief naslouchání
Najděte posty X z tohoto týdne o značce a konkurentech, přidejte kontext webu se zdroji, přečtěte stránky za ním a archivujte každé vydání, aby další týden startoval od známého.
Otevřít workflowPřizpůsobte
Stejný recept, upravený podle toho, jak skutečně dodáváte.
Jen dva týdny
Zkraťte čtyři týdny na dva pro týmy, které začínají.
Rozdělte podle kanálu
Udělejte sloupce newsletter, X a YouTube se stejným tématem v jiných formátech.
Přidejte produktový launch
Nastavte data launchů jako pevné řádky a obsah vyplňte kolem.
Pokračujte
Referenční stránky za tímto receptem a další kroky.