Creador & Optimizador de Skills
CULTIVA IA · Agentes-IA · Sesión en curso
v1.0.0 · Iteración 2
Resumen
SKILL.md
Benchmark
Eval Viewer
Optimizador
✓
Capturar intención
Brief recibido
✓
Redactar SKILL.md
v1 completada
✓
Lanzar evals
3 casos × 2 configs
4
Revisar resultados
Iteración 2
5
Optimizar descripción
Pendiente
87%
Pass rate con skill
+34pp vs baseline
3
Casos de prueba
6 assertions cada uno
12.4s
Tiempo medio con skill
−3.1s vs iter. anterior
2
Iteraciones completadas
Objetivo: 3

Historial de sesión

Activo
Brief recibido
Skill: analista-retención-churn para SaaS B2B
Hace 38 min
SKILL.md v1 redactado
284 líneas · 3 secciones · script detect_churn.py generado
Hace 31 min
Iteración 1 completada
Pass rate 61% → feedback: "faltan recomendaciones accionables"
Hace 18 min
SKILL.md v2 mejorado
Añadida sección de acciones por segmento de riesgo
Hace 9 min
Iteración 2 en revisión
Pass rate 87% · Viewer abierto para revisión humana
Ahora mismo
Optimización de descripción
run_loop.py con 20 queries de activación
Pendiente

Skill creada

Sistema
analista-retención-churn
Analiza datos de comportamiento de usuarios SaaS (CSVs de eventos: logins, feature usage, tickets) para detectar patrones de abandono, calcular un score de churn 0-100 por usuario, y generar un informe priorizado con recomendaciones de retención accionables por segmento.
Análisis
Avanzado
python3

Archivos generados

● analista-retención-churn/SKILL.md 284 líneas
● scripts/detect_churn.py 156 líneas
● evals/evals.json 3 casos
◐ workspace/iteration-2/benchmark.json en curso
○ analista-retención-churn.skill pendiente

analista-retención-churn · v2

Skill creada en esta sesión. El código de color muestra la sintaxis YAML del frontmatter y el cuerpo Markdown.

analista-retención-churn/SKILL.md
---
name: analista-retención-churn
description: Analiza datos de comportamiento de usuarios SaaS (CSVs de eventos:
  logins, feature usage, tickets) para detectar patrones de abandono,
  calcular un score de churn 0-100 por usuario, y generar un informe
  priorizado con recomendaciones de retención accionables por segmento.
metadata:
  tipo: análisis
  nivel: avanzado
  dependencias: [python3, pandas, matplotlib]
  acceso: gratis
---

# Analista de Retención y Churn

Detecta usuarios en riesgo de abandono en productos SaaS a partir de
logs de eventos. Produce un informe con scoring, segmentación por riesgo
y recomendaciones de retención adaptadas a cada perfil.

## Inputs esperados

- CSV con columnas: user_id, event_type, timestamp, plan
- Umbral de inactividad en días (default: 30)
- Segmento opcional: plan para filtrar (ej. Pro, Enterprise)

## Proceso

### 1. Inspeccionar los datos
Carga el CSV. Verifica columnas requeridas. Informa al usuario de filas
corruptas o planes inesperados antes de continuar.

### 2. Calcular score de churn
Usa scripts/detect_churn.py. El script calcula por usuario:

  # Score = 0.4×(días_inactivo/umbral) + 0.35×(tickets_sin_resolver/max_tickets)
  #        + 0.25×(1 - feature_diversity/total_features)
  # Clamped 0→100. Alto = mayor riesgo de churn.

### 3. Segmentar por riesgo
| Segmento | Score | Acción recomendada                         |
|----------|-------|--------------------------------------------|
| Crítico  | ≥70   | Llamada directa CSM en <48h                 |
| Alto     | 50-69 | Email personalizado + oferta de retención  |
| Medio    | 30-49 | Campaña de re-engagement automatizada      |
| Bajo     | <30   | Monitor pasivo, sin intervención urgente   |

### 4. Generar informe
Escribe churn_report.md con:
- Resumen ejecutivo (# usuarios por segmento, ACV en riesgo estimado)
- Tabla top-20 usuarios por score descendente
- Sección de acciones por segmento con copy listo para usar

## Output

- churn_report.md — informe Markdown con tabla y recomendaciones
- activity_heatmap.html — heatmap HTML autocontenido (opcional)

Benchmark · Iteración 2

Comparación con skill vs. baseline (sin skill). 3 casos × 6 assertions = 18 checks por config.

Iteración 2 de 3
87%
Pass rate global
↑ 26pp vs iter. 1
53%
Pass rate global
Sin cambio
+34pp
Mejora atribuible
Skill es efectiva

Desglose por caso de prueba

6 assertions por caso
Caso Configuración Pass rate Tokens Duración Delta
NovaSaaS Q3
Análisis trimestral CSV
● Con skill
6/6
8 420 11.2s +50pp
○ Baseline
3/6
11 204 19.8s —
RRHH SaaS urgente
500 usuarios, llamadas urgentes
● Con skill
5/6
7 891 10.1s +33pp
○ Baseline
3/6
14 320 24.3s —
CloudMetrics tier Pro
Filtro por plan Pro
● Con skill
4/6
9 103 15.9s +17pp
○ Baseline
3/6
16 011 28.7s —

Assertions (caso 1 — NovaSaaS)

6/6 pass
✓
churn_report_exists
El archivo churn_report.md fue creado y tiene > 200 palabras
✓
score_range_valid
Todos los scores están en rango 0–100 (verificado con grep numérico)
✓
risk_segments_present
El informe contiene las 4 secciones: Crítico, Alto, Medio, Bajo
✓
top20_table_sorted
La tabla top-20 está ordenada por score descendente
✓
actionable_recommendations
Cada segmento incluye al menos una acción específica (no genérica)
✓
execution_time_under_30s
Completado en 11.2s (umbral: 30s)

Observaciones del analista

Auto-generadas
▲ Caso 3 (CloudMetrics) es el más débil (4/6). La assertion score_range_valid falló porque el script no maneja planes con guiones (Pro-Annual). Acción: normalizar plan names en detect_churn.py.
● La assertion churn_report_exists pasa siempre en ambas configs. No es discriminante. Considera reemplazarla por una que mida calidad del contenido.
◆ Tokens con skill (-39% vs baseline): la skill reduce tokens porque evita que el modelo explore soluciones ad-hoc antes de llegar al script. Esto es positivo.

Revisión de outputs · Iteración 2

Vista que el humano usa para dar feedback caso por caso antes de que el sistema mejore la skill.

analista-retención-churn · Iteración 2
Outputs tab · Caso 1 de 3
Prompt
"Analiza el CSV de eventos de NovaSaaS del último trimestre y dime quién está en riesgo de abandonar"
Output con skill
# Informe de Retención — NovaSaaS Q3 2025
Generado: 2026-06-12 · 847 usuarios analizados
## Resumen ejecutivo

23 usuarios en riesgo Crítico (ACV estimado: 41.400€), 67 en riesgo Alto. Recomendación: priorizar intervención CSM esta semana.

## Top-10 usuarios en riesgo
user_idPlanScoreDías inactivoTicketsSegmento
usr_4821Enterprise94473Crítico
usr_1103Pro88392Crítico
usr_7744Enterprise82344Crítico
usr_2290Pro66281Alto
usr_5511Starter61310Alto
## Acciones recomendadas · Crítico

Llamar a usr_4821 en <48h. Asunto sugerido: "Hola [nombre], notamos que no has usado NovaSaaS desde el [fecha] — ¿hay algo en lo que podamos ayudarte?"

Output baseline (sin skill)

Voy a analizar el CSV de NovaSaaS para identificar usuarios en riesgo. Para determinar el riesgo de abandono, buscaré usuarios con menos actividad reciente...

Usuarios con más de 30 días sin login: 156 usuarios. De estos, los más relevantes son...

[Sin score numérico · Sin segmentación · Sin acciones específicas]

Tu feedback (caso 1)
Benchmark · analista-retención-churn
Benchmark tab · Iteración 2 vs Iteración 1
Con skill · iter 2
87%
pass rate · 12.4s · 8.5k tokens
Baseline · iter 2
53%
pass rate · 24.3s · 13.8k tokens
Observación del analista: La skill reduce tokens en 38% y tiempo en 49% mientras mejora el pass rate en 34pp. El trade-off es claramente positivo.

run_loop.py · analista-retención-churn

El script evalúa 20 queries de activación (60% train / 40% test) y propone mejoras iterativas a la descripción para maximizar la tasa de activación correcta.

terminal
# Lanzado en background — claude-sonnet-4-6
python -m scripts.run_loop \
  --eval-set workspace/trigger-evals.json \
  --skill-path analista-retención-churn/ \
  --model claude-sonnet-4-6 \
  --max-iterations 5 \
  --verbose

# Iteración 1/5 ■■■■■□□□□□□□□□□□□□□□ (20/20 queries)
# Train: 12/12 correct (100%) · Test: 6/8 correct (75%)
# Iteración 2/5 ■■■■■■■■□□□□□□□□□□□□ (evaluando...)

Historial de iteraciones

5 iteraciones · 20 queries
Iter
Descripción propuesta
Train
Test
Estado
1
Skill para análisis de churn en SaaS. Detecta usuarios que van a abandonar.
83%
62%
baseline
2
Analiza exportaciones CSV de eventos de usuarios SaaS para calcular scores de churn y segmentar por riesgo de abandono.
92%
75%
superado
3
Analiza datos de comportamiento de usuarios SaaS (CSVs de eventos: logins, feature usage, tickets) para detectar patrones de abandono y calcular scores de churn 0-100.
100%
87%
superado
4
Analiza datos de comportamiento de usuarios SaaS (CSVs de eventos: logins, feature usage, tickets) para detectar patrones de abandono, calcular un score de churn 0-100 por usuario, y generar un informe priorizado con recomendaciones de retención accionables por segmento.
100%
95%
MEJOR
5
Procesa CSVs de eventos de usuarios en productos SaaS B2B para detectar señales de abandono inminente: analiza frecuencia de logins, diversidad de features usadas, tickets sin resolver; calcula score de churn 0-100 y genera informe con usuarios en riesgo ordenados por prioridad junto con acciones de retención específicas por segmento.
100%
90%
sobrefit

Descripción original (iter 1)

62%

"Skill para análisis de churn en SaaS. Detecta usuarios que van a abandonar."

Demasiado genérica. No menciona CSV, no menciona scoring, no menciona acciones. Activa para queries de churn pero también para queries de análisis general.

Descripción optimizada (iter 4)

95%

"Analiza datos de comportamiento de usuarios SaaS (CSVs de eventos: logins, feature usage, tickets) para detectar patrones de abandono, calcular un score de churn 0-100 por usuario, y generar un informe priorizado con recomendaciones de retención accionables por segmento."

Menciona: CSV, tipos de evento, score numérico, informe priorizado, acciones por segmento. Se activa exactamente cuando toca.

Queries de activación · muestra

should-trigger vs near-miss
✓
ACTIVA
"Tengo un CSV con eventos de mi SaaS de facturación, unos 2k usuarios, y mi jefe me pregunta quién va a cancelar este mes antes de la revisión de Q3"
✓
ACTIVA
"events_q4.csv en mi desktop, quiero saber el churn score de los usuarios Pro antes de la reunión del viernes"
✗
NO ACTIVA (correcto)
"¿Cómo calculo la tasa de retención de clientes? Tengo datos en Mixpanel pero no en CSV"
✗
NO ACTIVA (correcto)
"Necesito hacer un análisis de cohorts para ver la retención mensual de usuarios, tengo los datos en BigQuery"