Briefing Semanal para IA — TheFittClub
Cómo usar este fichero:
- Cada lunes copia el bloque “BRIEFING DE ESTA SEMANA” que genera Dataview abajo
- Abre Claude Projects — el contexto fijo ya está cargado (Buyer_Persona + Reglas_Copy_Marca)
- Pega el briefing y escribe: “Con estos datos, genera el plan de contenido para esta semana”
- Claude tiene todo el contexto para darte guiones listos para grabar
Briefing automático — copiar y pegar en Claude
// ── Top posts recientes ──
const recientes = dv.pages('"40_Contenido_Redes/Publicado_IG"')
.filter(p => p.alcance_total > 0)
.sort(p => -p.alcance_total)
.slice(0, 5);
// ── Backlog operativo por pipeline (idea/guion) ──
const backlog = dv.pages('"40_Contenido_Redes/Publicado_IG"')
.filter(p => {
const estado = (p.estado_pipeline || "idea").toString().toLowerCase();
return estado === "idea" || estado === "guion";
})
.array();
// ── Pain flags activos ──
const todasNotas = dv.pages('"40_Contenido_Redes/Publicado_IG"');
const flags = {};
for (const n of todasNotas) {
const lista = Array.isArray(n.pain_flags) ? n.pain_flags : [n.pain_flags];
for (const f of lista) {
const k = (f || "").trim().toLowerCase();
if (k && k !== "") flags[k] = (flags[k] || 0) + 1;
}
}
const topFlags = Object.entries(flags).sort((a,b) => b[1]-a[1]).slice(0,5);
// ── Qué categoría funciona mejor ──
const porCat = {};
for (const p of dv.pages('"40_Contenido_Redes/Publicado_IG"').filter(x => x.alcance_total > 0 && x.categoria)) {
if (!porCat[p.categoria]) porCat[p.categoria] = {posts: 0, alcance: 0, comp: 0};
porCat[p.categoria].posts++;
porCat[p.categoria].alcance += p.alcance_total || 0;
porCat[p.categoria].comp += p.compartidos || 0;
}
const topCat = Object.entries(porCat)
.map(([c,d]) => ({cat: c, med: Math.round(d.alcance/d.posts)}))
.sort((a,b) => b.med - a.med)[0];
// ── Scoring de prioridad semanal ──
// prioridad = dolor_demanda + impacto_negocio + facilidad_produccion
const scoreBacklog = backlog.map(p => {
const rawFlags = Array.isArray(p.pain_flags) ? p.pain_flags : [p.pain_flags];
const dolencias = rawFlags
.map(x => (x || "").toString().trim().toLowerCase())
.filter(Boolean);
const dolorDemanda = dolencias.reduce((acc, d) => acc + (flags[d] || 0), 0);
const impacto = Number(p.impacto_negocio_score || 0);
const facilidad = Number(p.facilidad_produccion_score || 0);
const prioridad = dolorDemanda + impacto + facilidad;
return {
titulo: (p.titulo || p.file.name || "").toString(),
estado: (p.estado_pipeline || "idea").toString(),
dolorDemanda,
impacto,
facilidad,
prioridad
};
}).sort((a, b) => b.prioridad - a.prioridad).slice(0, 7);
// ── Generar briefing ──
const hoy = dv.date("today").toFormat("dd/MM/yyyy");
let briefing = `---\n`;
briefing += `📋 BRIEFING THEFITTCLUB — ${hoy}\n`;
briefing += `---\n\n`;
briefing += `**CONTEXTO:** Soy Gala Calero, fundadora de TheFittClub. Divulgo sobre recuperación postparto desde un enfoque práctico, claro y responsable (contenido educativo, no clínico). Lanzamiento: 1 sept 2026. Ahora estoy reactivando Instagram (inicio junio 2026).\n\n`;
briefing += `**TOP 5 POSTS HISTÓRICOS (para replicar su patrón):**\n`;
for (const p of recientes) {
briefing += `- "${p.titulo?.slice(0,50)}" → ${p.alcance_total?.toLocaleString()} alcance · ${p.guardados} guardados · ${p.compartidos} compartidos\n`;
}
briefing += `\n**CATEGORÍA QUE MÁS ALCANCE GENERA:**\n`;
if (topCat) briefing += `- ${topCat.cat} (${topCat.med.toLocaleString()} alcance medio)\n`;
else briefing += `- (Rellena 'categoria' en las notas para activar este dato)\n`;
briefing += `\n**PAIN FLAGS — DOLENCIAS QUE MÁS PREGUNTA MI AUDIENCIA:**\n`;
if (topFlags.length > 0) {
for (const [f, n] of topFlags) briefing += `- ${f}: ${n} menciones\n`;
} else {
briefing += `- (Aún sin pain_flags registrados — añádelos en las notas tras leer comentarios)\n`;
}
briefing += `\n**BACKLOG PRIORIZADO (pipeline + score):**\n`;
if (scoreBacklog.length > 0) {
for (const item of scoreBacklog) {
briefing += `- [${item.estado}] ${item.titulo.slice(0, 60)} → prioridad ${item.prioridad} (dolor:${item.dolorDemanda} + negocio:${item.impacto} + facilidad:${item.facilidad})\n`;
}
} else {
briefing += `- (No hay piezas en estado idea/guion. Crea nuevas piezas o actualiza estado_pipeline)\n`;
}
briefing += `\n**SEMANA EN CURSO:**\n`;
briefing += `- Fase: [rellenar: dev / edición / reactivación IG / beta / post-lanzamiento]\n`;
briefing += `- Posts publicados esta semana: [N]\n`;
briefing += `- Engagement rate actual: [X]%\n`;
briefing += `- Objetivo semanal de contenido: [N posts]\n`;
briefing += `\n---\n`;
briefing += `**TAREA PARA LA IA:**\n`;
briefing += `Con este contexto y los patrones de mis top posts, genera [ELIGE: 3 guiones de reel / 1 carrusel de 6 slides / plan de contenido semanal] sobre [TEMA O PAIN FLAG].\n`;
briefing += `Sigue estrictamente las Reglas de Copy (tono Gala, vocabulario legal, estructura probada).\n`;
briefing += `Prioriza SIEMPRE las 3 piezas con mayor prioridad_score semanal y su siguiente acción de pipeline.\n`;
briefing += `---`;
dv.paragraph("```\n" + briefing + "\n```");Cómo cargar el contexto fijo en Claude Projects
Una sola vez (no repetir cada sesión):
- Ve a claude.ai/projects → “New Project”
- Nómbralo: TheFittClub — Gala
- En “Project Instructions” pega el contenido de
10_Contexto_Raiz/IDENTIDAD_DISCLAIMERS_MASTER.md+Buyer_Persona.md+Reglas_Copy_Marca.md - En “Project Files” sube (o pega) estos ficheros:
10_Contexto_Raiz/IDENTIDAD_DISCLAIMERS_MASTER.md10_Contexto_Raiz/Buyer_Persona.md10_Contexto_Raiz/Reglas_Copy_Marca.mdTheFittClub-Plan-Estrategico.md
Cada semana:
- Abre el proyecto → pega el briefing generado arriba → pide lo que necesitas
Prompts de alto valor para usar con el briefing
Generar 5 ideas de reel basadas en tus datos:
[PEGA EL BRIEFING]
Con estos datos, dame 5 ideas de reel para esta semana.
Para cada idea: hook (primeras 3 palabras que se ven/escuchan), categoría (rutina/explicacion/gancho_estetico), pain flag que resuelve, CTA sugerido.
Prioriza los pain flags más mencionados y los patrones de mis top posts.
Escribir guión completo de un reel:
[PEGA EL BRIEFING]
Escribe el guión completo de un reel sobre [TEMA].
Hook tipo: [dato_sorprendente / dolor_identificado / transformacion_visual]
Duración objetivo: 45 segundos.
Estructura: hook 3s / problema 15s / explicación biomecánica 20s / solución práctica 7s / CTA guardar.
Incluye las palabras exactas que digo, no solo la descripción.
Crear el plan de contenido del mes:
[PEGA EL BRIEFING]
Crea el calendario de contenido para [MES].
Frecuencia: [N] posts/semana.
Distribución: 40% gancho_estetico, 30% explicacion, 20% detras_camaras, 10% testimonial.
Cada post: fecha, categoría, tema, hook sugerido, pain flag que trabaja, producto objetivo (capsula_cero / ritual_trimestral).
Prioriza los temas con más pain flags y los ángulos con mayor alcance histórico.
Analizar por qué un post no funcionó:
[PEGA EL BRIEFING]
Este post tuvo mal rendimiento:
- Tema: [tema]
- Alcance: [N] (cuando mi media es [M])
- Guardados: [N]
- Hook usado: [hook]
¿Qué falló según mis patrones históricos? ¿Cómo lo reformularías?
Prompt: Transcripción → Blog post con voz Gala
[PEGA EL BRIEFING]
Contexto de estilo:
- Usa mi voz según 10_Contexto_Raiz/Estilo_Escritura.md
- Mantén tono cercano pero técnico, en primera persona
- No uses promesas absolutas ni lenguaje clínico de "cura/elimina"
Transcripción base del contenido:
[PEGA AQUI EL .srt LIMPIO O TEXTO TRANSCRITO]
Tarea:
Convierte esta transcripción en un artículo de blog para TheFittClub listo para publicar.
Formato obligatorio de salida:
1) Título SEO claro (sin clickbait)
2) Respuesta corta al inicio (2-4 líneas)
3) Desarrollo en H2/H3 (explicación + ejemplos prácticos)
4) Bloque "Qué hacer desde hoy" con pasos accionables
5) Cierre con CTA suave (guardar/compartir/programa)
6) Meta description (140-155 caracteres)
Si faltan datos para afirmar algo, dilo con honestidad y sugiere una siguiente acción.