## Hack de crecimiento #4 · Instala un funnel completo en tu app en diez minutos

**Para qué sirve:** Claude Code o Codex revisa tu app, agrega los cinco eventos del embudo pirata (registro, activación, regreso, invitación y pago) con PostHog, crea tu embudo, tu retención y un tablero, encuentra dónde se te va la gente y te propone tres experimentos. Si estás en el curso, usa el evento de activación que ya definiste y guarda el plan en tu campus.

**Requisitos**
- Una app web con código en tu repositorio (los ejemplos son para JavaScript o TypeScript; si usas otra librería de PostHog, el agente la adapta).
- Una cuenta de PostHog (el plan gratis incluye un millón de eventos al mes, sin tarjeta) y el token del proyecto.
- El servidor MCP de PostHog, que es remoto y se autentica en el navegador:
  - Claude Code: `claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user` (o `claude plugin install posthog`). Después ejecuta `/mcp` e inicia sesión.
  - Codex: `codex mcp add posthog --url https://mcp.posthog.com/mcp`. Inicia sesión cuando te lo pida.
  - O el asistente: `npx @posthog/wizard mcp add`.
- Opcional, para alumnos: el conector de Rizoma Academy (`rizoma-academy`), instalado desde rizoma.boutique/campus/conectar.

```
Vamos a instalar un embudo completo en mi app con PostHog y a encontrar dónde se me va la gente. Trabaja por pasos: al terminar cada uno, muéstrame el resultado y espera mi visto bueno antes de seguir. No hagas commit, no despliegues y no lances nada: yo decido.

PASO 0 · LO QUE YA DEFINÍ EN RIZOMA
Si tienes el conector rizoma-academy:
- Llama a rizoma_estado.
- Lee mis notas con rizoma_notas (sesion: "La etapa donde casi todos fallan: ¡haz que tu app haga clic!") y mis documentos con rizoma_documentos: metricas.md, activacion-retencion.md, medicion.md y brief-mvp.md, si existen.
- Dime en una frase cuál es mi evento de activación, con su umbral y su ventana (por ejemplo, «completa su primer entrenamiento en sus primeros 3 días»). Usa ese; no inventes otro.
Si no tengo el conector o no encuentras la definición, pregúntame: ¿cuál es la acción que cumple la promesa de mi app? Crear la cuenta no es activarse.

PASO 1 · REVISA MI CÓDIGO
Lee el repositorio y dime:
- Framework, dónde vive el registro, el inicio de sesión, la acción de activación, la función de invitar o compartir y el pago (si existen).
- Si PostHog ya está instalado y qué eventos ya se capturan (si el MCP de PostHog está conectado, usa read-data-schema para ver los eventos que ya llegan).
Para.

PASO 2 · PROPÓN LOS EVENTOS (AARRR)
Propón una tabla con: etapa, nombre del evento, archivo y función donde se dispara, propiedades y por qué.
- Registro: account_created.
- Activación: mi evento de activación (por ejemplo, workout_completed con is_first: true).
- Regreso: el mismo evento de valor en otro periodo (lo calcula la retención; no inventes un evento «returned»).
- Invitación o compartir: invite_sent o content_shared.
- Pago: subscription_started (mejor desde el servidor, en el webhook del pago).
Reglas de nombres: objeto_acción, en minúsculas, snake_case y en pasado. Un evento por momento; las variantes van en propiedades.
Reglas de privacidad: identifica con el id de mi base de datos (posthog.identify(user.id) después del login y posthog.reset() al cerrar sesión). Nunca correos, nombres, teléfonos, direcciones, tokens ni texto libre del usuario en eventos o propiedades. Si mi app tiene aviso de privacidad o consentimiento de cookies, respétalo.
Para. Espera a que apruebe la tabla.

PASO 3 · AGREGA LOS EVENTOS
- Instala posthog-js (y posthog-node solo si hace falta para eventos del servidor).
- Inicializa con el token desde variables de entorno (por ejemplo, NEXT_PUBLIC_POSTHOG_KEY y NEXT_PUBLIC_POSTHOG_HOST en .env.local) y agrega las claves vacías a .env.example. Nunca escribas el token en el código ni me lo pidas en el chat.
- Muéstrame el diff completo, archivo por archivo, y espera mi aprobación antes de escribir.
- Dime cómo probarlo: qué hago en mi app y dónde veo llegar cada evento (con el MCP, confírmalo con read-data-schema o execute-sql).
Para.

PASO 4 · EMBUDO, RETENCIÓN Y TABLERO (con el MCP de PostHog)
- Crea con insight-create un embudo: account_created → activación → invite_sent → subscription_started, con ventana de conversión de 14 días (ajústala si mi ciclo es otro).
- Crea con insight-create una retención semanal: evento de inicio = mi activación (primera vez), evento de retorno = el mismo evento de valor, últimas 8 semanas.
- Crea con dashboard-create el tablero «Embudo AARRR» y agrega las dos gráficas.
- Dame los enlaces. Si todavía no hay datos suficientes, dilo y no inventes números.

PASO 5 · ¿DÓNDE SE ME VA LA GENTE?
- Con query-funnel, query-retention o execute-sql, dime la conversión de cada paso, el tamaño de cada grupo y la caída más grande, con fechas.
- Si hay menos de 100 personas en el primer paso, dilo: son señales, no conclusiones.
- Propón tres experimentos para la caída más grande, ordenados por impacto y esfuerzo (ICE del 1 al 10). Para cada uno: hipótesis («si cambio X, la conversión de A a B sube porque…»), el cambio exacto en mi código, la métrica principal, la métrica que no debe empeorar, el tamaño de muestra o la duración mínima y cuándo lo declaramos ganador o perdedor.
- Si quiero, deja el primero como borrador con su feature flag (experiment-create). No uses experiment-launch ni actives flags sin mi permiso explícito.
Para.

PASO 6 · GUÁRDALO EN RIZOMA
Si tienes el conector rizoma-academy:
- Escribe docs/rizoma/funnel-posthog.md con: el evento de activación, la tabla de eventos, los enlaces del embudo, la retención y el tablero, los números observados con fechas (o «sin datos todavía») y los tres experimentos.
- Guárdalo con rizoma_guardar_documento (documento: "funnel-posthog.md", sesion: "Hack #4: instala tu funnel completo en diez minutos", revisar_el: dentro de 7 días, en formato AAAA-MM-DD).
- Agrega un resumen de tres líneas con rizoma_guardar_nota en esa misma clase (sesion: "Hack #4: instala tu funnel completo en diez minutos").
- Si los datos sirven para mi entregable del módulo, propónme el texto para activacion-retencion.md, pero no lo sobrescribas sin mi aprobación.
Si no tengo el conector, dame el Markdown completo y no digas que lo guardaste.

REGLAS QUE NO SE ROMPEN
1. Las llaves viven en .env (y .env en .gitignore). Nunca me las pidas en el chat ni las escribas en el código.
2. Nada de datos personales en analytics.
3. Me muestras cada diff y espero tu aprobación cambio por cambio; nada de commits, despliegues, lanzamientos de experimentos ni flags activados por tu cuenta.
4. Nunca inventes números: si no hay datos, se dice.
```

**Nota de seguridad:** las llaves y el token de PostHog van en `.env` (o `.env.local`), nunca en el chat ni en el código. PostHog y Rizoma Academy se conectan por inicio de sesión en el navegador, así que no tienes que pegar ninguna llave. Revisa y aprueba cada cambio antes de que el agente escriba, y no dejes que lance experimentos ni active flags sin tu permiso. Algunas herramientas del MCP de PostHog usan modelos internamente y cuentan para el gasto de PostHog AI; solo funcionan si activas el procesamiento de datos con IA en tu organización.
