| name | session-end |
| description | Cierre de sesión — actualizar handoff + grabar experiencia + actualizar memoria |
| version | 1.0.0 |
| allowed-tools | ["Read","Write","Edit","Bash"] |
Session End — Workflow de Cierre
Trigger: exit signals ("eso es todo" / "ya terminé" / "me voy" / "hasta mañana" / "cerrando" / "cerrando ventana" / "seguimos después" / "listo por hoy" / "hasta luego" / "chau")
Pasos core (7 pasos + paso 8 opcional)
1. Grabación de experiencia
Revisar la sesión en busca de aprendizajes valiosos. Usar mem_save para cada uno.
Umbral de grabación (debe cumplir al menos uno):
- Reutilizable: La próxima vez que aparezca el mismo problema, se puede buscar directamente
- Contraintuitivo: Viola suposiciones comunes
- Alto costo: Llevó > 10 minutos acumulados
No grabar:
- Fixes pequeños de una sola vez
- Config temporal específica del proyecto
- Issues que ya están en memoria de Engram
2. Actualizar today.md
Agregar al final de workflow/memory/today.md:
### SN (HH:MM) [proyecto/tema] Descripción breve
- [1-2 oraciones de qué se hizo]
- [Decisiones / descubrimientos importantes]
- [Próximos pasos]
- [Experiencia grabada: sí/no — descripción breve]
3. Actualizar goals.md + projects.md
Identificar proyectos tocados en esta sesión (de today.md, archivos cambiados, conversación).
goals.md:
- Completado → Marcar con ✅ o remover (today.md ya tiene el registro)
- Progreso parcial → Actualizar descripción
- Ítem nuevo importante → Agregar a "Esta semana" (máx 5 ítems)
projects.md (solo filas de proyectos tocados):
- Cambios de métricas → Actualizar con fecha
- Cambios de estado → Actualizar
4. Actualizar active-tasks.json
Leer workflow/memory/active-tasks.json y actualizar según el trabajo de la sesión:
Reglas:
- Tareas con progreso → Actualizar
context / next_action / updated
- Tareas nuevas multi-sesión → Agregar entrada nueva
- Tareas completadas → Remover (today.md tiene el registro)
- Blocker resuelto → Cambiar
status de blocked a active
- Estancadas (> 14 días sin actualizar) → Avisar a Juan si sigue siendo necesaria
5. mem_session_summary
Llamar a mem_session_summary con el siguiente formato:
## Goal
[Qué estábamos trabajando esta sesión]
## Instructions
[Preferencias o restricciones del usuario descubiertas — omitir si ninguna]
## Discoveries
- [Hallazgos técnicos, gotchas, aprendizajes no obvios]
## Accomplished
- ✅ [Tareas completadas con detalles clave]
- 🔲 [Pendientes para próxima sesión]
## Next Steps
- [Qué queda por hacer — para la próxima sesión]
## Relevant Files
- path/to/file — [qué hace o qué cambió]
6. Git commit (si hay cambios)
Siempre pedir confirmación a Juan antes de commitear.
git add [archivos específicos]
git commit -m "[type]: [descripción]"
7. Experience Evolution
Invocar siempre experience-evolution al detectar exit signal (es observe-only: solo genera resumen, no modifica archivos). El skill propone qué guardar con mem_save; requiere confirmación de Juan antes de persistir.
Si no hubo comandos ejecutados ni bugs resueltos → el skill reporta "sin aprendizajes de sesión" y omite silenciosamente.
8. Content Mining (opcional)
Condición: today.md tiene ≥ 3 registros de sesión del día.
Escanear today.md en busca de 1-2 hallazgos con potencial de compartir (contraintuitivos / datos / pitfall-to-solution).
Output si se encuentra:
Material de contenido: N descubrimientos para compartir hoy
1. [Título] — [ángulo en una línea]
2. [Título] — [ángulo en una línea]
Sin hallazgos: Omitir silenciosamente.
Output format
Experiencia: [N ítems grabados / Ninguno necesario]
today.md actualizado
Registro de tareas: [+N nuevas / ~N actualizadas / -N completadas | Total N en vuelo]
mem_session_summary ejecutado
Commit: [pendiente confirmación de Juan / N archivos commiteados]
Material de contenido: [N ítems / ninguno (< 3 sesiones)]