Conteúdo
Preencha um mês de conteúdo com as perguntas da sua audiência
Mapeie temas no Chat, encontre as perguntas da audiência no X, pegue um ângulo real de uma transcrição de vídeo e monte um calendário de quatro semanas em que cada linha nomeia sua evidência.
Copiar o prompt
Substitua os campos entre colchetes e cole no Claude Code, Codex ou qualquer IA com acesso ao terminal. Ela instala a skill da Felo, pergunta antes de gastar créditos e executa o fluxo.
Planeje quatro semanas de conteúdo sobre [tema] para [público]. Canal: [canal]. Formatos permitidos: [lista]. Dias de publicação: [dias]. Idioma: [idioma]. Vídeo de referência (opcional): [URL do YouTube ou ID do vídeo]. Janela de perguntas do público: últimos [90] dias. Produza uma tabela de calendário em Markdown com uma linha por ideia: | Data | Formato | Título de trabalho | Ângulo | Evidência | - Data: as próximas quatro semanas, nos dias permitidos. - Formato: um dos permitidos. - Título de trabalho: como a peça se chama. - Ângulo: a promessa feita ao público em uma frase. - Evidência: a pergunta, post, página ou timestamp do vídeo que justifica a ideia. Depois da tabela, adicione: 1. Os três temas que sustentam o mês. 2. Quais ideias vêm de perguntas do público, quais do vídeo de referência e quais são hipótese sua. 3. O que você precisaria pesquisar antes de escrever cada peça. 4. Uma lista de fontes com links e datas. Regras: - São ideias, não garantias. Nunca prometa alcance, cliques, posições ou crescimento. - Não invente tendências, volume de busca, números de engajamento ou citações. - Vincule cada pergunta do público a um post ou página com data. Se a evidência for fraca, rotule a ideia como hipótese. - Use o vídeo de referência apenas para ângulos que ele realmente cobre; cite brevemente com timestamps. - Antes de gastar créditos, mostre as buscas e extrações planejadas e aguarde minha aprovação. - Não agende posts, não crie rascunhos no CMS e não publique nada. - Grave o resultado em ./content-calendar.md e resuma no chat.
A cópia também inclui os passos de instalação e as regras de segurança.
O que você recebe
Saída de exemplo de uma execução. Não é geração ao vivo.
Calendário de conteúdo — mês de exemplo
Temas
- Tempo de limpeza é o custo escondido.
- Espaço na bancada decide a compra.
- Comprar para si vs. comprar de presente.
Calendário
| Data | Formato | Título de trabalho | Ângulo | Evidência |
|---|---|---|---|---|
| 2026-11-02 | Carrossel | O teste de limpeza em 5 minutos | Mostrar a etapa de limpeza que ninguém filma | @example_home, 2026-10-24 |
| 2026-11-04 | Vídeo curto | Espaço na bancada, medido | Comparar pegadas numa bancada real | Vídeo de referência — 42 s |
| 2026-11-09 | Newsletter | Por que a vedação falha | Explicar o modo de falha que compradores relatam | @example_buyer, 2026-10-19 |
De onde vêm as ideias
Duas linhas vêm de perguntas datadas da audiência e uma do vídeo de referência; uma linha de hipótese seria rotulada como tal.
O que pesquisar primeiro
Taxas de devolução e política de troca da vedação — nenhuma está coberta pelas fontes acima.
Fontes
- https://example.com/category-guide — 2026-10-12
- https://x.com/example_home/status/... — 2026-10-24
As chamadas exatas
Para desenvolvedores: o mesmo fluxo em código, na ordem de execução.
Mostrar as chamadas reais da API
Mapeie os temas no Chat
Pergunte ao Chat quais subtemas a audiência mais busca e guarde as fontes.
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);Saída de exemplo
{ "answer": "Beginners ask about cleanup, counter space, and grind size …", "sources": [ { "link": "https://example.com/guide", "title": "…", "snippet": "…" } ] }Encontre perguntas da audiência no X
Pesquise perguntas sobre o tema no X nos últimos 90 dias, guardando perfis e datas.
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;Saída de exemplo
{ "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/..." } ] } }Pegue uma transcrição de referência
Use o YouTube Subtitling para obter a transcrição de um vídeo e encontrar um ângulo real reutilizável.
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`, );Saída de exemplo
{ "title": "Example Video Title", "contents": [ { "text": "Subtitle text", "start": 42.3, "duration": 8.1 } ] }Monte o calendário de quatro semanas
Crie uma tabela Markdown com data, formato, título de trabalho, ângulo e evidência.
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);Saída de exemplo
| 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 |
Salve no LiveDoc
Salve o calendário e as fontes no LiveDoc para consultar no fechamento do mês.
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));Saída de exemplo
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
O que está incluído
- Mapa de temas do Chat
- Perguntas datadas da audiência no X
- Transcrição e ângulo de um vídeo de referência
- Calendário de quatro semanas
- LiveDoc com o plano e as fontes
O que não faz
- Não prevê desempenho nem garante tráfego
- Não lê sua analítica histórica
- Não escreve posts completos nem publica
- Sem vídeo de referência, o passo pode ser pulado
- O calendário é sugestão, não promessa
Perguntas
De onde vêm as ideias do calendário?
Do mapa de temas do Chat, das perguntas reais da audiência no X e do ângulo de um vídeo de referência. Cada item mantém link ou data de evidência.
Ele sabe o que funcionou antes?
Não. Ele não lê sua analítica; o histórico precisa ser adicionado por você.
Ele também escreve os posts?
Não. Ele entrega o calendário e os ângulos; a escrita fica com você ou seu agent de escrita.
E se eu não tiver vídeo de referência?
Pule esse passo; temas e perguntas do X ainda sustentam o calendário.
Posso agendar as publicações automaticamente?
Não. Ele cria um arquivo de plano; o agendamento fica na sua ferramenta.
Quanto custa um planejamento?
Chat, busca no X e transcrição de vídeo são cobrados por uso; as tarifas atuais estão na página de preços, e o prompt pede aprovação antes de gastar.
Fluxos relacionados
Transforme uma consulta de busca em briefing de conteúdo SEO
Veja quais páginas respondem à consulta hoje, leia-as como Markdown, mapeie as perguntas que respondem e as que ignoram e escreva um briefing do qual o redator possa tirar o esboço.
Abrir o fluxo de trabalhoConteúdoPublique um resumo diário de IA que a equipe realmente lê
Obtenha um resumo com fontes, adicione o que os praticantes publicam no X, pegue uma transcrição de vídeo, monte a edição em Markdown e arquive no LiveDoc.
Abrir o fluxo de trabalhoConteúdoTransforme conversas sociais em um briefing semanal de escuta
Pesquise os posts do X da última semana sobre sua marca e concorrentes, adicione contexto web com fontes, leia as páginas por trás e arquive cada edição para a próxima semana começar do que já se sabe.
Abrir o fluxo de trabalhoFaça do seu jeito
A mesma receita, adaptada ao seu processo real.
Só duas semanas
Comprima quatro semanas em duas para times que estão começando a publicar.
Divida por canal
Crie colunas para newsletter, X e YouTube com o mesmo tema em formatos diferentes.
Inclua o lançamento do produto
Coloque datas de lançamento e eventos como linhas fixas e preencha o conteúdo ao redor.
Continue
As páginas de referência por trás desta receita e para onde ir depois.