El pipeline de contenido con IA de un desarrollador: de la idea al post programado, sin tocar cinco apps

La mayoría de los sistemas de "automatización de contenido" resuelven un solo paso: generan texto, o programan publicaciones, o hacen research de tendencias. Robin Sadeghpour construyó los cuatro pasos como un único pipeline con Claude Code, publicó el repositorio completo en abierto (content-workflow en GitHub), y lo corre él mismo todas las mañanas para producir contenido en LinkedIn, TikTok (inglés y alemán) e Instagram.
Lo interesante no es que use IA para escribir — eso ya lo hace todo el mundo. Es que el sistema cierra el círculo: detecta qué está funcionando, decide qué vale la pena convertir en contenido, lo genera y adapta por plataforma, y usa el rendimiento real de lo publicado para ajustar qué va a priorizar la próxima vez. Todo con un humano aprobando antes de que algo salga a producción.
Los cuatro comandos que arman el día
El pipeline corre como cuatro skills de Claude Code, en orden, la mayoría en un solo batch matutino:
/pulse— corre solo a las 6 AM (hora de Berlín) vía un cron-daemon en Node. Scrapea YouTube, X/Twitter, TikTok y los changelogs de Anthropic buscando temas de IA/tech en tendencia, les asigna un puntaje, elimina duplicados, y para los videos, descarga la transcripción. Todo queda en una base SQLite (data/content.db) y en un archivo de revisión fechado./review— un pase manual donde Robin marca cada idea como KEEP, SKIP o STAR directamente en la terminal./generate-content— por cada idea marcada KEEP, genera un borrador para TikTok EN, TikTok DE, Instagram y LinkedIn. Aplica el perfil de voz de Robin, corre un paso "humanizador" para que no suene a IA, y un agente crítico le pone nota a cada borrador antes de mostrarlo./approve— revisión final: muestra el diff antes/después del humanizador y el puntaje de voz por plataforma. Ahí se aprueba, se rechaza, o se edita a mano. Solo lo aprobado se programa.

El detalle que hace que esto no sea "otro bot que publica solo"
Cada paso queda registrado como estado en una tabla drafts, con transiciones explícitas: generated → critic_approved → user-approved → scheduled → published → tracked. Ningún borrador salta un paso — el código literalmente rechaza una transición inválida (por ejemplo, no se puede programar algo que el crítico no aprobó primero). Es una máquina de estados simple, pero es lo que evita que "automatizado" termine significando "publica lo que sea sin que nadie lo vea".

El circuito que se retroalimenta solo
Todos los días a las 20:00 (Berlín), un job de fin de día llamado perf-check recorre los posts programados o publicados en las últimas 24 horas, trae sus métricas reales, y actualiza un archivo de "pesos de rendimiento" (data/performance-weights.json) que pondera por tema y por formato. La siguiente corrida de /pulse usa esos pesos para decidir qué priorizar en el descubrimiento. Robin no toca nada — el circuito se cierra solo, con datos reales de qué contenido convirtió, no con una corazonada.
Un dashboard local para no vivir en la terminal
Todo el pipeline también tiene una interfaz web local (node scripts/dashboard/server.js, en localhost:3456) con cuatro vistas: Feed (una idea a la vez, tipo swipe), Backlog (tabla filtrable de todo lo que scrapeó /pulse), Pipeline (el kanban de arriba) y un drawer de detalle que muestra el preview nativo de cada slide antes de aprobar.


Cómo se ve la parte de programación con PosteAhora
El repositorio usa una API de programación de redes sociales por línea de comandos para el último paso: cuando un borrador se aprueba, el script arma el contenido, resuelve el ID de la cuenta destino desde un archivo de configuración, y dispara la creación del post programado — devolviendo un ID que queda guardado junto al borrador para poder consultar sus métricas después. Es exactamente la forma en la que un agente debería hablar con una API de programación: sin credenciales sueltas por el código, con una cuenta de destino explícita, y con el ID de vuelta para hacer seguimiento.
Ese mismo patrón se arma hoy con PosteAhora sin escribir un cliente HTTP propio:
list_accountspara resolver elaccountIdreal de la cuenta de destino (TikTok, LinkedIn, Instagram, lo que corresponda) — igual que el paso de "resolver ID desde config" del pipeline.create_postoschedule_postcon elaccountId, elcaptionya generado y humanizado, ymediaUrlsapuntando a las imágenes ya subidas — constatus: "draft"mientras el crítico o el humano todavía no aprobó, y programado una vez que sí.get_analyticspara el mismo trabajo que haceperf-check: traer el rendimiento real de lo publicado y usarlo para decidir qué priorizar la próxima vez.
La diferencia frente a levantar esto desde cero es que las tres piezas —cuentas, creación de posts, analítica— ya están expuestas en un único MCP, así que un agente (el que ya usás para research o generación de contenido) puede hablar con PosteAhora directamente en vez de mantener su propio wrapper de CLI para cada plataforma.
Lo que vale la pena copiar aunque no repliques todo el sistema
No hace falta construir las cuatro etapas para sacar algo de esto. Las ideas más portables:
- Un paso de "humanización" separado de la generación. Generar y pulir la voz son tareas distintas; tratarlas como un solo prompt gigante da resultados peores que encadenar dos pasos con un objetivo claro cada uno.
- Una máquina de estados explícita para los borradores, aunque sea simple. Evita que algo se publique por accidente antes de tiempo.
- Cerrar el círculo con datos reales. Si tu sistema genera contenido pero nunca vuelve a mirar qué funcionó, está adivinando para siempre.
Por qué esto importa para equipos en LATAM
El pipeline de Robin está en inglés/alemán, pero la arquitectura es completamente reutilizable para una marca o agencia operando en español o portugués: el mismo research de tendencias, el mismo paso de aprobación humana, el mismo circuito de retroalimentación — apuntado a las plataformas y el idioma que le importan a tu audiencia en LATAM. Lo único que cambia es a qué API le hablás al final, y ahí es donde PosteAhora reemplaza directamente la pieza de programación del pipeline sin que tengas que reconstruir el resto.
¿Tu equipo ya tiene un research o generación de contenido con IA, pero programa todo a mano al final? Conectá PosteAhora y dejá que el mismo agente que genera el contenido lo programe también.
Sistema y repositorio originales de Robin Sadeghpour — código completo en github.com/robinsadeghpour/content-workflow.


