Agent skill
monthly-content-report
Genera el informe mensual de correlación entre contenido publicado en X, visitas a /cursos/expert/ai en Umami y ventas de AI Expert. Cruza métricas para identificar qué contenido impulsa conversiones. Úsalo cuando Antonio pida el informe mensual, el análisis de ventas del mes, o quiera saber qué posts funcionan mejor para vender.
Install this agent skill to your Project
npx add-skill https://github.com/antoniolg/agent-kit/tree/main/skills/monthly-content-report
SKILL.md
Monthly Content Report — Correlación contenido → tráfico → ventas
Genera un informe mensual que cruza:
- Posts de X publicados en el período (via bird CLI)
- Tráfico a
/cursos/expert/aien Umami (pageviews diarios) - Ventas de AI Expert registradas en Google Sheets
El objetivo es entender qué contenido genera tráfico y conversiones reales.
Configuración requerida
Fichero ~/.config/skills/config.json bajo clave monthly_content_report:
{
"monthly_content_report": {
"umami_url": "<your-umami-url>",
"umami_user": "<umami-username>",
"umami_pass": "<umami-password>",
"umami_website_id": "<umami-website-id>",
"umami_path": "<path-to-track>",
"thrivecart_api_key": "<api_key>",
"thrivecart_product_id": 0
}
}
Fuentes de datos
1. Posts de X (bird CLI)
bird timeline --count 200 --since YYYY-MM-DD --until YYYY-MM-DD
Filtrar solo posts propios (no RTs), obtener: fecha, texto, likes, RTs, replies, impresiones.
2. Tráfico Umami
Script: scripts/umami-pageviews.js
node scripts/umami-pageviews.js --start YYYY-MM-DD --end YYYY-MM-DD
Autenticación: POST /api/auth/login → JWT
Pageviews: GET /api/websites/{id}/pageviews?startAt=&endAt=&unit=day&timezone=Europe/Madrid&path=eq.%2Fcursos%2Fexpert%2Fai
Salida: array [{date, pageviews, sessions}]
3. Ventas (ThriveCart API)
Script: scripts/thrivecart-sales.js
node scripts/thrivecart-sales.js --start YYYY-MM-DD --end YYYY-MM-DD --json
- Producto AI Expert: ID
9 - Filtrar
transaction_type == "charge"→ primera compra (único o primer plazo) - Ignorar
rebill(plazos posteriores) yfailed - Campo
related_to_recur: trueindica pago a plazos - Campos útiles:
date,customer.email,customer.name,amount_str,item_pricing_option_name
Workflow del agente
-
Determinar período: por defecto el mes anterior completo. Preguntar si quiere otro rango.
-
Obtener datos en paralelo:
- Posts de X del período
- Pageviews diarios de Umami
- Ventas del período del Sheet
-
Correlacionar:
- Para cada día con ventas: ¿qué posts se publicaron ese día o los 2-3 días anteriores?
- Para cada post: ¿cuánto subió el tráfico el día de publicación y los siguientes?
- Calcular correlación entre engagement de posts y picos de tráfico
- Identificar posts publicados dentro de los 7 días previos a cada venta
-
Generar informe con estructura:
## Resumen mes [MES YYYY] - Total ventas: X (€ total) - Total visitas /cursos/expert/ai: X - Posts publicados: X - Conversión estimada: X% ## Posts con mayor impacto en tráfico [tabla: fecha | texto (100 chars) | likes | RTs | pico tráfico siguiente día | variación %] ## Días de venta y contenido previo [para cada venta: fecha venta, posts publicados en los 7 días anteriores] ## Top posts del mes (por engagement) [top 5 por likes+RTs] ## Insights y recomendaciones [qué temáticas/formatos correlacionan mejor con ventas] -
Guardar en
~/Documents/aipal/reports/monthly-content-report/YYYY-MM.md -
Enviar resumen compacto por Telegram
Registro en el vault (paso final obligatorio)
Después de guardar el informe completo en ~/Documents/aipal/reports/monthly-content-report/YYYY-MM.md, añadir una entrada al fichero ~/Documents/aipal/10-areas/contenido/learnings.md. Si el fichero no existe, crearlo.
Formato del bloque a añadir (append, nunca truncar):
## YYYY-MM — Informe mensual
- **Ventas**: X unidades / €X.XXX
- **Visitas /cursos/expert/ai**: X pageviews
- **Posts publicados**: X
- **Top posts por correlación con ventas**: [títulos o fragmentos]
- **Patrón detectado**: [breve descripción del patrón contenido→ventas más claro del mes]
- **Temáticas con mejor rendimiento**: [lista]
- **Temáticas con peor rendimiento**: [lista]
- **Informe completo**: `reports/monthly-content-report/YYYY-MM.md`
Este registro permite que futuras sesiones (y otras skills como weekly-newsletter) conozcan qué contenido convierte sin necesidad de releer el informe completo.
Notas importantes
- Umami auth con
path=eq.%2Fcursos%2Fexpert%2Fai(formato URL de Umami v2+, NOurl=nifilters=) - Solo contar primera compra en ventas a plazos
- Los posts de X via bird son solo los propios, no RTs ni respuestas
- Correlación no es causalidad: señalar posibles relaciones, no afirmarlas
Scripts auxiliares
scripts/umami-pageviews.js— Obtiene pageviews de Umami por díascripts/correlate.js— Cruza datos y genera tabla de correlación
Ejecución manual
# Informe del mes anterior
node scripts/monthly-report.js
# Informe de un mes específico
node scripts/monthly-report.js --month 2026-01
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gen-pdf
Converts a Markdown file to a styled PDF with DevExpert branding (logo in bottom-right corner). Use when asked to generate a PDF from a Markdown document, or when any DevExpert proposal/document needs to be exported as PDF.
cloudflared-tunnel
Create temporary public URLs for localhost apps using Cloudflare Quick Tunnels with tmux-based process management. Use when you need to preview a local app externally (mobile device, remote collaborator, QA), including host-allowlist fixes when a dev server blocks external hosts.
Manage inbox email. Uses the inbox script and stores metadata (ids) to open or archive messages later.
whatsapp-evo
Manage WhatsApp via Evolution API (v2.x): list chats with unread messages and reply.
create-cli
Design command-line interface parameters and UX: arguments, flags, subcommands, help text, output formats, error messages, exit codes, prompts, config/env precedence, and safe/dry-run behavior. Use when you’re designing a CLI spec (before implementation) or refactoring an existing CLI’s surface area for consistency, composability, and discoverability.
academy-enrollments
Manage academy enrollments by appending rows to a Google Sheet (used by Zapier/n8n to grant LearnWorlds access).
Didn't find tool you were looking for?