
viviana-blog
by PedroRiveraDev
Website Psicóloga
SKILL.md
name: viviana-blog description: Asistente para el blog de psicología de Viviana Poveda. Ayuda con implementación Supabase, queries de base de datos, gestión de posts, y desarrollo del admin panel. Usa cuando trabajes en blog, psicología, Supabase, o Viviana Poveda. allowed-tools: Read, Grep, Glob, Bash, Write, Edit model: sonnet
Blog de Psicología - Viviana Poveda
Skill personalizado para la implementación del blog dinámico con Supabase.
📋 Contexto del Proyecto
Cliente: Ps. Viviana Poveda - Psicóloga Clínica Proyecto: Blog profesional para atraer pacientes Tech Stack: Supabase + Webpack 5 + Tailwind CSS + jQuery Timeline: 9 semanas en 5 fases Supabase Project: lakuiqqqrbvdjfmcnqho.supabase.co
🎯 Objetivo de Negocio
Crear un blog que:
- ✅ Demuestre expertise en temas psicológicos (ansiedad, depresión, relaciones)
- ✅ Capture leads vía newsletter y recursos descargables
- ✅ Genere confianza con casos de estudio y testimonios
- ✅ Facilite conversión a citas con CTAs estratégicos
- ✅ Sea 100% gestionable sin código (admin panel)
🗄️ Arquitectura de Base de Datos
10 Tablas principales:
- posts - Contenido del blog (con SEO meta tags)
- categories - Temas psicológicos (Ansiedad, Depresión, etc.)
- tags - Cross-referencing de contenido
- post_tags - Relación many-to-many
- authors - Viviana + posibles invitados
- comments - Sistema moderado (pending/approved/rejected)
- subscribers - Newsletter con confirmación por email
- resources - PDFs descargables (lead magnets)
- resource_downloads - Tracking de descargas
- post_views - Analytics de visitas
Funciones SQL:
increment_view_count(post_id)get_comment_count(post_id)get_top_posts(days, limit_count)
Para schema completo, ver database-schema.md
📁 Estructura de Archivos
Se ha implementado una arquitectura modular en JavaScript, separando la lógica en utils, components y admin.
Archivos clave creados (+30 archivos):
✅ JavaScript Modules:
src/assets/js/supabase-client.js- Core connection + helpers APIsrc/assets/js/blog.js- Lógica del listado del blogsrc/assets/js/blog-post.js- Lógica del post individualsrc/assets/js/utils/- Helpers para formato, SEO, UI, caché y widgets.src/assets/js/components/- Módulos para header, footer y sidebar dinámicos.src/assets/js/admin/- Lógica completa del panel de administración (auth, posts, comments, etc.).
✅ HTML & CSS:
src/admin.html- Panel de administración completo.src/assets/css/admin.css- Estilos del panel de admin.
✅ Scripts de Build/Test:
scripts/generate-sitemap.js- Generador de sitemap dinámico.scripts/run-integration-tests.js- Runner para tests de integración.scripts/populate-posts.js- Seeder de contenido.
Ver estructura completa y estado de cada archivo en file-structure.md.
🚀 Fases de Implementación
Estado Global: 98% Completado - Actualizado: 30/12/2025
✅ Fase 1: Infraestructura Base - COMPLETADA (100%)
- ✅ Supabase database (10 tablas + RLS policies)
- ✅ Storage buckets (blog-images, resources, etc.)
- ✅ Cliente Supabase y conexión verificada.
- ✅ Funciones SQL y scripts de seeding.
✅ Fase 2: Blog Público Dinámico - COMPLETADA (100%)
- ✅ Listado de blog con paginación, búsqueda y filtros.
- ✅ Vista de post individual con SEO, comentarios y vistas.
- ✅ Widgets de sidebar (posts recientes, categorías) dinámicos.
✅ Fase 3: Admin Panel - COMPLETADA (100%)
- ✅ Login con Supabase Auth.
- ✅ Dashboard con estadísticas.
- ✅ CRUD completo para posts con editor de texto enriquecido y subida de imágenes.
- ✅ Moderación de comentarios.
- ✅ Gestión y exportación de suscriptores.
✅ Fase 4: Email Marketing - COMPLETADA (100%)
- ✅ Sistema de comentarios implementado y funcional
- ✅ Formularios de Newsletter integrados en footer
- ✅ Lógica de suscripción con tokens de confirmación
- ✅ Edge Function desplegada para envío automático de emails con Resend
- ✅ Trigger de DB configurado (envío automático al suscribirse)
- ✅ Plantilla de email profesional en HTML
- ✅ Botón de confirmación manual en admin panel
- ✅ Sistema de recursos descargables (PDFs, MP3s, etc.)
✅ Fase 5: Analytics & Optimización - COMPLETADA (90%)
- ✅ Sitemap dinámico generado con
scripts/generate-sitemap.js - ✅ Script de tests de integración (
run-integration-tests.js) creado - ✅ Dashboard con gráficos avanzados (Chart.js)
- ✅ Gráficos de visitas y suscriptores (últimos 7 días)
- ✅ Auditoría de seguridad completada (RLS, search_path fix)
- ✅ Optimización de imágenes configurada (WebP, lazy loading)
Ver checklist detallado en phase-checklist.md
🎨 Estrategia de Contenido
Categorías Implementadas: Ansiedad, Depresión, Relaciones, Autoestima, Duelo, Terapia, Mindfulness, Estrés. Lead Magnets Planeados: Guía de Ansiedad (PDF), Diario de Gratitud (PDF), Audios de Respiración (MP3). CTAs: Implementados en el blog para agendar sesiones.
Ver estrategia completa en content-strategy.md
💡 Convenciones de Código
Supabase Queries Pattern
// Helpers en supabase-client.js
import { supabase } from './supabase-client.js';
export async function getPublishedPosts(page = 1, limit = 6) {
const offset = (page - 1) * limit;
const { data, error, count } = await supabase
.from('posts')
.select('*, author:authors(*), category:categories(*)', { count: 'exact' })
.eq('status', 'published')
.order('published_at', { ascending: false })
.range(offset, offset + limit - 1);
return { data, error, count };
}
Naming Conventions
- Archivos JS:
kebab-case.js - Funciones:
camelCase() - Database:
snake_case
🔧 Comandos Útiles
# Servidor de desarrollo con Hot Reload
npm run dev
# Build para producción
npm run build
# Ejecutar tests de integración
npm run test:integration
📊 Métricas Actuales (30/12/2025)
- Posts publicados: 3+
- Archivos JS creados/modificados: ~25
- Fases Completadas: 3 de 5
- Build time: ~5-7 segundos
- Hot reload: < 2 segundos
🎯 Cuándo Usar Este Skill
Actívame cuando:
- Trabajas en cualquier archivo del blog de Viviana.
- Necesitas consultar el schema de la base de datos o la estructura de archivos.
- Escribes queries de Supabase.
- Implementas features del admin panel o del blog público.
- Tienes dudas sobre la arquitectura, convenciones o estado del proyecto.
- Estás trabajando en cualquiera de las fases del plan.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon