Saltar al contenido principal

Hábitos

Un hábito es una práctica que quieres sostener en el tiempo. A diferencia de una tarea (que se completa y desaparece) o de un evento (que tiene una fecha específica), un hábito se registra día a día y lo que importa es la constancia, la racha y la tendencia.

Le dices al agente "quiero crear un hábito de leer cada día" y queda creado con la frecuencia que definas.

Crear un hábito​

El agente Administración y productividad tiene la tool create_habit. Define:

  • Título — qué quieres hacer ("Meditar", "Correr", "Aprender inglés")
  • Emoji — ícono visual para el dashboard
  • Descripción — texto libre, opcional
  • Tipo de actividad — clasificación (ejercicio, meditación, lectura, idioma, etc.) — afecta el color y las estadísticas agregadas
  • Frecuencia (frequency_type) — tres modos: diario, semanal o personalizado
  • Días objetivo (target_days) — qué días de la semana cuentan, como números del 0 al 6 (0 = domingo, 1 = lunes, …, 6 = sábado). Por defecto los siete. target_days=[1, 3, 5] es lunes, miércoles y viernes
  • Veces por período (target_times_per_period) — cuántas veces hay que completarlo en cada período. Por defecto 1
  • Recordatorio — un push diario opcional, con hora (08:00)

La pareja frecuencia + veces por período es la que da sentido a todo, y es la parte que más se malinterpreta. "Semanal" por sí solo no significa una vez por semana: significa N veces por semana, y ese N lo pone target_times_per_period.

FrecuenciaVeces por períodoSignifica
daily1Una vez al día
weekly3Tres veces por semana
customNN veces dentro de los días objetivo

Así, "quiero ir al gimnasio 3 veces por semana" es frequency_type="weekly" con target_times_per_period=3 — no un hábito diario que vas a incumplir cuatro días de cada siete.

También puedes crear y configurar hábitos desde la pestaña Hábitos en la UI.

Registrar completado​

El agente tiene log_habit para marcar un hábito como cumplido en un día específico. Desde la UI tienes dos caminos:

  • Rápido — tocas el checkbox del card en el dashboard y queda registrado para hoy
  • Detallado — abres el diálogo de registro y agregas duración (con selector de horas/minutos) y notas opcionales. Útil si quieres saber no solo si meditaste, sino cuánto tiempo

La duración es una propiedad del registro, no del hábito. No defines "45 minutos esperados" al crearlo; anotas los minutos que dedicaste al momento de registrar la sesión ("hice 45 minutos de ejercicio"). El hábito responde si lo hiciste; el registro responde cuánto.

También puedes registrar días pasados tocando la celda correspondiente en el grid de contribución.

El grid de contribución​

La pantalla de detalle de un hábito muestra un grid estilo GitHub donde cada celda es un día. El estado es binario — hiciste el hábito o no lo hiciste:

  • Verde — completaste ese día
  • Neutro — no lo completaste (o el día aún no llega)

Puedes cambiar la escala entre semana, mes, trimestre y año para ver la tendencia a diferentes resoluciones.

En el chat, el grid que devuelve read_habit_calendar distingue además los días que no te tocaban: ■ es un día cumplido, □ un día objetivo que fallaste, y · un día que ni siquiera estaba programado. Fallar un día que no era tuyo no cuenta como fallar.

Rachas y estadísticas​

La tool read_habit_stats (y la UI de detalle) muestran:

  • Racha actual — cuántos días consecutivos llevas cumpliendo
  • Mejor racha — récord histórico
  • Tasa de cumplimiento — porcentaje de días objetivo cumplidos en los últimos 30 días por defecto. La ventana es configurable: puedes pedirle al agente "¿cómo voy con el gimnasio en los últimos 90 días?" y la ajusta
  • Total de completados — todas las veces que has completado el hábito

read_habit_calendar devuelve una representación textual del grid — útil cuando le preguntas al chat "¿cómo va mi hábito de meditación?". Su ventana también es configurable: 90 días por defecto, hasta un máximo de un año.

Pausa y archivado​

Si necesitas pausar un hábito temporalmente — vacaciones, enfermedad, lo que sea — edit_habit lo pone en estado paused. No se borran las estadísticas ni se rompe la racha acumulada. Cuando lo reactivas (status=active), retoma desde donde estaba sin romper el historial.

El estado archived lo saca del dashboard sin borrarlo, por si más adelante quieres revisar el histórico.

delete_habit es soft-delete: marca un deleted_at pero conserva la fila por si la necesitas recuperar.

Resumen de tools​

ToolPara qué
read_habitsLista hábitos activos/pausados/archivados con su racha actual.
create_habitCrea un hábito nuevo con frecuencia, días objetivo, veces por período y tipo.
edit_habitRenombra, cambia frecuencia o estado (preserva streaks al pausar).
delete_habitSoft-delete.
log_habitMarca cumplimiento de un día, con duración y notas opcionales (requiere habit_id válido).
read_habit_statsStreak actual + mejor + tasa de cumplimiento (30 días por defecto).
read_habit_calendarGrid de contribución en texto (90 días por defecto, máximo un año).