Marketing informe pdf
Skill victorperez22/marketing-claude-code/skills/marketing-informe-pdf
Suite de marketing IA para Claude Code. 14 skills con agentes paralelos en castellano.
npx -y skills add victorperez22/marketing-claude-code --skill marketing-informe-pdfAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
14.4 KB, as published. Nobody here has run it
Generador de Informe de Marketing en PDF
Proposito de la skill
Generar un informe de marketing profesional y visualmente cuidado en PDF usando el script Python scripts/generar_informe_pdf.py. La skill recoge toda la data disponible de auditorias, la estructura en el JSON esperado, invoca el script y produce un PDF con marca, medidores de score, barras, tablas comparativas, hallazgos y plan de accion priorizado.
Cuando usarla
- El usuario quiere version PDF del informe (no solo Markdown)
- El usuario prepara un entregable para presentacion a cliente
- El usuario pide un informe "pulido", "listo para cliente" o en PDF
- Se activa con
/marketing informe-pdfo/marketing informe-pdf <dominio>
Cuando usar PDF vs Markdown
| Formato | Mejor para | Pros | Contras |
|---|---|---|---|
| Presentaciones a cliente, adjunto en email, sales collateral | Aspecto profesional, formato consistente, graficos, printable | Mas dificil de editar, requiere script | |
| Markdown | Uso interno, referencia rapida, edicion iterativa, git | Facil de editar, legible en cualquier editor, git-friendly | Menos pulido visual, sin graficos |
Regla: si el informe va a cliente o prospecto, usa PDF. Para interno o edicion posterior, Markdown.
Como ejecutarla
Paso 1: Recoger toda la data disponible
Revisa archivos de skills previas en el directorio del proyecto:
Fuentes primarias:
AUDITORIA-MARKETING.md— auditoria globalLANDING-CRO.md— analisis CROAUDITORIA-SEO.md— hallazgos SEOVOZ-MARCA.md— analisis de voz de marcaINFORME-COMPETIDORES.md— comparativa competitivaANALISIS-FUNNEL.md— analisis de funnelCALENDARIO-REDES.md— auditoria de redesSECUENCIAS-EMAIL.md— auditoria de emailCAMPANAS-ADS.md— auditoria de ads
Si no hay data previa:
- Recomienda ejecutar antes
/marketing auditoria <url> - Si el usuario insiste, analiza la URL directamente y construye la data desde cero
- Usa
scripts/analizar_pagina.pypara recoger datos automaticos:python3 scripts/analizar_pagina.py <url>
Paso 2: Construir la estructura JSON
El script scripts/generar_informe_pdf.py espera un JSON con esta estructura exacta:
{
"url": "https://ejemplo.com",
"date": "1 de marzo de 2026",
"brand_name": "Ejemplo S.L.",
"overall_score": 62,
"executive_summary": "Resumen de 2-4 frases sobre salud de marketing, oportunidades clave e impacto estimado de implementar las recomendaciones.",
"categories": {
"Contenido y Mensaje": {
"score": 68,
"weight": "25%"
},
"Optimizacion de Conversion": {
"score": 52,
"weight": "25%"
},
"SEO y Descubrimiento": {
"score": 74,
"weight": "15%"
},
"Posicionamiento Competitivo": {
"score": 48,
"weight": "15%"
},
"Marca y Confianza": {
"score": 70,
"weight": "10%"
},
"Crecimiento y Estrategia": {
"score": 55,
"weight": "10%"
}
},
"findings": [
{
"severity": "Critico",
"finding": "Descripcion del hallazgo mas importante"
},
{
"severity": "Alto",
"finding": "Descripcion de hallazgo de alta prioridad"
},
{
"severity": "Medio",
"finding": "Descripcion de hallazgo de prioridad media"
},
{
"severity": "Bajo",
"finding": "Descripcion de hallazgo menor"
}
],
"quick_wins": ["Primer quick win", "Segundo quick win", "Tercer quick win"],
"medium_term": [
"Primera accion medio plazo",
"Segunda accion medio plazo",
"Tercera accion medio plazo"
],
"strategic": [
"Primera accion estrategica",
"Segunda accion estrategica",
"Tercera accion estrategica"
],
"competitors": [
{
"name": "Competidor A",
"positioning": "Posicion en el mercado",
"pricing": "Modelo de pricing",
"social_proof": "Senales de confianza",
"content": "Enfoque de contenido"
},
{
"name": "Competidor B",
"positioning": "Posicion en el mercado",
"pricing": "Modelo de pricing",
"social_proof": "Senales de confianza",
"content": "Enfoque de contenido"
}
]
}
Paso 3: Guia campo a campo
url (string, obligatorio)
URL completa con protocolo.
date (string, obligatorio)
Fecha de generacion. Formato: "DD de Mes de AAAA" (ej. "1 de marzo de 2026").
brand_name (string, obligatorio)
Nombre de la empresa/marca. Aparece en headers de la tabla competitiva.
overall_score (entero, 0-100, obligatorio)
Media ponderada de las 6 categorias. Calculo:
overall_score = (contenido * 0,25) + (conversion * 0,25) + (seo * 0,15) + (competitivo * 0,15) + (marca * 0,10) + (crecimiento * 0,10)
Justificacion de pesos: priorizamos conversion sobre SEO porque la mayoria de webs B2B en Espana viven de trafico de pago + outbound, no de SEO organico.
executive_summary (string, obligatorio)
2-4 frases cubriendo:
- Estado actual del marketing
- Top 1-2 hallazgos de mayor impacto
- Impacto estimado en ingresos de implementar
- Primer paso recomendado
Breve y potente. Aparece en portada debajo del gauge.
categories (object, obligatorio)
Exactamente 6 categorias:
| Categoria | Que mide | Guia de scoring |
|---|---|---|
| Contenido y Mensaje | Calidad de copy, value prop, claridad de headline, texto de CTAs, consistencia de voz de marca | 80+: claro, orientado a beneficio, especifico. 60-79: correcto pero generico. <60: vago, feature-focused |
| Optimizacion de Conversion | Social proof, formularios, ubicacion de CTAs, gestion de objeciones, urgencia | 80+: multiples pruebas, forms optimizados, CTAs claros. 60-79: algunos elementos. <60: faltan criticos |
| SEO y Descubrimiento | Titles, meta, headers, schema, linking interno, velocidad | 80+: optimizado. 60-79: presente con gaps. <60: issues mayores o ausencias |
| Posicionamiento Competitivo | Diferenciacion, transparencia de pricing, contenido comparativo, conciencia de mercado | 80+: posicion clara, comparativas. 60-79: algo de diferenciacion. <60: sin posicionamiento |
| Marca y Confianza | Calidad de diseno, trust badges, indicadores de seguridad, aspecto profesional | 80+: diseno moderno, senales de confianza. 60-79: diseno correcto. <60: desfasado |
| Crecimiento y Estrategia | Captura de leads, email marketing, estrategia de contenido, canales de adquisicion | 80+: estrategia multicanal. 60-79: algunos canales activos. <60: sin estrategia clara |
findings (array, obligatorio)
Array de hallazgos con severity y finding.
Niveles de severidad:
Critico— perdida directa de ingresos o clientes. Corregir ya.Alto— impacto significativo en crecimiento. 1-2 semanas.Medio— oportunidad relevante. 1 mes.Bajo— nice-to-have. Cuando haya tiempo.
Como escribir hallazgos efectivos:
- Concreto: "El headline de home dice 'Bienvenido a nuestra plataforma'" no "el headline necesita mejora"
- Cuantifica: "Faltan meta descriptions en 8 de 12 landings"
- Usa benchmarks: "Tiempo de carga 4,2s (benchmark: <2s)"
- Incluye evidencia: "Sin testimonios en home, pricing ni signup"
5-10 hallazgos. Ordena de mas a menos severo.
quick_wins (array, obligatorio)
3-5 acciones ejecutables en una semana con esfuerzo minimo. Cada una concreta y accionable.
Buen quick win: "Reescribir el headline de home de 'Bienvenido a nuestra plataforma' a 'Reduce tu tiempo de reporting un 75% — analytics automatico para equipos de growth'"
Mal quick win: "Mejorar el headline" (demasiado vago)
medium_term (array, obligatorio)
3-5 acciones de 1-3 meses.
strategic (array, obligatorio)
3-5 acciones de 3-6 meses. Cambios de fundacion.
competitors (array, opcional)
Hasta 3 competidores para la tabla comparativa. Si no hay data, omite el campo y el script se salta la seccion.
Paso 4: Guardar el JSON
Escribe la data en un fichero JSON temporal:
cat > /tmp/datos_informe.json << 'JSONEOF'
{
... JSON ensamblado ...
}
JSONEOF
Paso 5: Invocar el generador de PDF
Check de requisitos:
Verifica que reportlab esta instalado:
python3 -c "import reportlab" 2>/dev/null || pip3 install reportlab
Generar el informe:
python3 scripts/generar_informe_pdf.py /tmp/datos_informe.json "INFORME-MARKETING-<dominio>.pdf"
Sustituye <dominio> por el dominio del cliente (sin protocolo ni www), usando guiones en vez de puntos. Ejemplos:
ejemplo.com->INFORME-MARKETING-ejemplo-com.pdfmiapp.io->INFORME-MARKETING-miapp-io.pdf
Modo demo (sin argumentos): Ejecutar el script sin argumentos genera un informe de ejemplo con placeholders:
python3 scripts/generar_informe_pdf.py
# Genera: INFORME-MARKETING-ejemplo.pdf
Paso 6: Verificar el output
Comprueba que el PDF se genero:
ls -la "INFORME-MARKETING-<dominio>.pdf"
Reporta la ruta y el tamano al usuario.
Paso 7: Limpieza
Borra el JSON temporal:
rm /tmp/datos_informe.json
Contenido del PDF
El PDF generado incluye:
Pagina 1: Portada
- Titulo: "Informe de Auditoria de Marketing"
- URL objetivo
- Fecha de generacion
- Gauge con score global (visualizacion circular con color)
- Letra de calificacion (A+ hasta F)
- Parrafo de resumen ejecutivo
Pagina 2: Desglose de scores
- Barra horizontal con las 6 categorias y color
- Tabla con nombre, score, peso y estado
- Colores: verde (80+), azul (60-79), amarillo (40-59), rojo (<40)
Pagina 3: Hallazgos clave
- Tabla con severidad y descripcion
- Indicadores de severidad por color (Critico=rojo, Alto=naranja, Medio=amarillo, Bajo=azul)
- Ordenados de mas a menos severo
Pagina 4: Plan de accion priorizado
- Quick Wins (esta semana)
- Medio plazo (1-3 meses)
- Estrategicas (3-6 meses)
- Items numerados en cada tier
Pagina 5: Panorama competitivo (si hay data)
- Tabla comparativa cliente vs hasta 3 competidores
- Filas: Posicionamiento, Pricing, Social Proof, Contenido
Pagina final: Metodologia
- Explicacion de scoring
- Pesos y criterios
- Footer: "Generado con Marketing Claude Code"
Paleta de colores
Paleta profesional del PDF:
| Elemento | Color | Hex |
|---|---|---|
| Primario (headers, titulos) | Azul oscuro | #1B2A4A |
| Acento (enlaces, highlights) | Azul | #2D5BFF |
| Highlight (atencion) | Naranja | #FF6B35 |
| Exito (scores altos) | Verde | #00C853 |
| Advertencia (scores medios) | Ambar | #FFB300 |
| Danger (scores bajos, critico) | Rojo | #FF1744 |
| Fondo claro | Gris claro | #F5F7FA |
| Texto body | Gris oscuro | #2C3E50 |
| Texto secundario | Gris medio | #7F8C9B |
| Bordes | Borde claro | #E0E6ED |
Mapeo score-color
- 80-100: Verde (#00C853) — performance solida
- 60-79: Azul (#2D5BFF) — correcta con margen
- 40-59: Ambar (#FFB300) — requiere atencion
- 0-39: Rojo (#FF1744) — critico
Troubleshooting
| Issue | Solucion |
|---|---|
ModuleNotFoundError: No module named 'reportlab' | pip3 install reportlab |
| Script genera PDF vacio | Revisa que el JSON tiene todos los campos obligatorios |
| Gauge no renderiza | overall_score debe ser un numero 0-100 |
| Tabla de competidores ausente | Asegura que competitors tiene name, positioning, pricing, social_proof, content |
| PDF de una sola pagina | Revisa errores de parseo JSON: python3 -c "import json; json.load(open('/tmp/datos_informe.json'))" |
| Fuentes raras | El script usa Helvetica (nativa de reportlab). Sin fuentes custom. |
Integracion con otras skills
Mejor workflow combinado:
/marketing auditoria <url>— data de auditoria completa/marketing competidores <url>— data comparativa/marketing seo <url>— hallazgos SEO detallados/marketing landing <url>— analisis CRO/marketing informe-pdf <url>— compila todo en PDF
La skill del PDF busca automaticamente los outputs de estas skills e incorpora la data al JSON.
Output
- Archivo:
INFORME-MARKETING-<dominio>.pdf - Ubicacion: raiz del proyecto
- Tamano tipico: 200-500 KB segun contenido
- Paginas: 5-7 segun datos de competidores y extras
Principios clave
- El PDF es el entregable mas orientado a cliente del toolkit. La calidad importa.
- Verifica que el JSON esta completo y correcto antes de generar. Basura dentro, basura fuera.
- Usa el PDF para primeras impresiones y conversaciones de venta. El Markdown va despues para detalles.
- Todo score debe ser justificable. Si el cliente pregunta "por que saco 52 en Conversion", los hallazgos tienen que explicarlo.
- Redondea a enteros. Los decimales fingen precision.
- Resumen ejecutivo ajustado: 2-4 frases maximo. Los decisores solo escanean.
- Si es para prospecto, el informe es herramienta de venta. Oportunidades compelling, plan alcanzable.