Touch The Grass

v1.0.1

Skill de reconexión personal para semanas agobiantes de trabajo. Úsala cuando el usuario mencione que está estresado, agotado, quemado, necesita descansar, q...

0· 166· 2 versions· 0 current· 0 all-time· Updated 8h ago· MIT-0
byAlan Estrada@alannetwork

Install

openclaw skills install touch-the-grass

Touch the Grass 🌿

Skill de reconexión personal. Ayuda al usuario a planear y completar actividades que bajan la dopamina y reconectan con el mundo analógico después de semanas intensas de trabajo.

Archivos de referencia

  • {baseDir}/activities.json — catálogo completo de actividades con puntuación
  • El estado del usuario (score, streak, actividades completadas) se guarda en la memoria del agente

Flujos principales

1. Inicio / Activación manual

Cuando el usuario mencione estrés, agotamiento o quiera reconectarse:

  1. Salúdalo con empatía, sin drama. Algo como: "Llevas un buen rato dándole duro. Hora de tocar el pasto 🌿"
  2. Pregúntale su estado de ánimo actual del 1 al 5 (1=agotado, 5=bien)
  3. Lee {baseDir}/activities.json para cargar el catálogo
  4. Sugiere 3 actividades concretas según la hora del día:
    • Mañana (6-12h): prioriza outdoor y mindful
    • Tarde (12-18h): outdoor, analógico, social
    • Noche (18-23h): analógico, pasivo con intención, mindful
  5. Pregunta cuáles quiere agendar y para cuándo
  6. Crea los eventos en Google Calendar con:
    • Título: emoji + nombre de la actividad (ej: 🌿 Caminar 15 min sin teléfono)
    • Descripción: "Touch the Grass — tiempo para ti. Sin pantallas."
    • Recordatorio: 10 minutos antes
  7. Confirma con el usuario y dile su score actual + streak

2. Heartbeat diario (recordatorio proactivo)

Este flujo corre una vez al día en la mañana (configurar en cron a las 9:00 AM hora local).

Revisa en memoria si el usuario tiene actividades Touch the Grass pendientes para hoy:

Si tiene actividades agendadas hoy:

"Buenos días ☀️ Tienes [actividad] agendada para hoy a las [hora]. ¿Listo para tocar el pasto?"

Si no tiene actividades agendadas:

"Hey 👋 ¿Ya planeaste tu momento Touch the Grass para hoy? Tu mente lo necesita. ¿Te ayudo a agendar algo rápido?"

Si lleva 3+ días sin completar ninguna actividad:

"Llevás [N] días sin tocar el pasto 🥀 No te estoy juzgando, pero sí te recuerdo que existe. ¿Qué tal 15 minutos hoy?"

No seas insistente si el usuario ya respondió ese día.

3. Registro y verificación de actividad completada

Cuando el usuario diga que completó una actividad:

Paso 1 — Verificación

Pregunta cómo quiere confirmarla:

"¡Genial! ¿Cómo lo confirmamos?"

  • 💬 Solo texto → +1 punto
  • 📸 Foto → +2 puntos (el agente analiza la imagen)
  • 🌐 Post en redes → +3 puntos

Paso 2 — Si envía FOTO (verificación con visión)

Analiza la imagen recibida. Verifica que sea plausible para la actividad declarada:

Criterios de validación visual:

  • ¿La imagen muestra un contexto exterior, naturaleza, o entorno relacionado con la actividad?
  • ¿Hay elementos consistentes con la actividad (libro, comida cocinada, parque, persona caminando)?
  • ¿La imagen parece genuina (no stock photo, no captura de pantalla)?

Si la imagen es válida: otorga +2 puntos, confirma con entusiasmo moderado Si la imagen no es clara o no corresponde: pide amablemente otra foto o acepta texto como respaldo (+1 punto)

Nunca seas condescendiente si la foto no es perfecta. El objetivo es motivar, no policiar.

Paso 3 — Si comparte POST de redes

Acepta la URL o captura de pantalla del post. Si hay URL, confirma que existe. Otorga +3 puntos.

Paso 4 — Actualiza estado en memoria

Guarda en memoria del agente:

touch_the_grass_state: {
  score: N,
  streak_days: N,
  last_activity_date: "YYYY-MM-DD",
  completed_today: ["activity_id"],
  mood_checkins: [{"date": "...", "before": N, "after": N}]
}

Paso 5 — Feedback post-actividad

Pregunta: "Del 1 al 5, ¿cómo te sientes ahora vs antes?" Guarda el delta en memoria. Si el delta es positivo, menciónalo brevemente.

4. Ver progreso / score

Cuando el usuario pida ver su progreso:

Muestra un resumen:

🌿 Touch the Grass — Tu progreso

⭐ Score total: [N] puntos
🔥 Racha actual: [N] días
📅 Actividades esta semana: [N]
😊 Delta de ánimo promedio: +[N]

Bonos de racha:
  3 días → +5 pts [conseguido ✅ / falta N días]
  7 días → +15 pts
  14 días → +30 pts

Última actividad: [nombre] — hace [N] días

Reglas generales

  • Tono: cálido, directo, sin sermones. Ni coach de vida ni robot. Como un amigo que te conoce.
  • No insistir: si el usuario dice que no puede hoy, acéptalo sin culpa. Registra que ya respondió.
  • Honestidad sobre el scoring: si el usuario pregunta por qué se da más puntos por foto, explícalo naturalmente — la idea es que haya evidencia real del momento, no competencia.
  • Privacidad: las fotos se analizan solo para verificar la actividad. No se describen en detalle ni se comentan aspectos personales de la imagen.
  • Google Calendar: siempre confirma la zona horaria antes de crear eventos si hay duda. El usuario está en Guadalajara / Ciudad de México (America/Mexico_City, UTC-6).

Setup al instalar (una sola vez)

Cuando el usuario instale la skill o diga "configura touch the grass", ofrécele estas dos opciones:

Opción A — Cron dedicado ✅ recomendado (hora exacta)

Ejecuta este comando y confirma que quedó registrado:

openclaw cron add \
  --name "touch-the-grass-daily" \
  --cron "0 9 * * *" \
  --tz "America/Mexico_City" \
  --session isolated \
  --message "Heartbeat Touch the Grass: revisa si el usuario tiene actividades TTG planeadas para hoy. Si no tiene, recuérdaselo con amabilidad. Si lleva 3+ días sin completar ninguna, menciónalo. Sigue las instrucciones del skill touch-the-grass para el tono correcto." \
  --announce

Verifica con openclaw cron list — si muestra jobs: 0, repite el comando.

Opción B — Heartbeat (sin comandos extra)

Si el usuario prefiere no configurar un cron, dile que agregue esto a su ~/.openclaw/workspace/HEARTBEAT.md:

- Touch the Grass: una vez al día en la mañana, revisa si el usuario tiene actividades planeadas.
  Si no las tiene y aún no le preguntaste hoy, hazlo con amabilidad.
  Si lleva 3+ días sin actividad completada, menciónalo brevemente.

Menos puntual en horario, pero cero comandos adicionales.


Ejemplos de activación

  • "llevo 3 semanas sin parar, estoy quemado"
  • "touch the grass"
  • "necesito desconectarme"
  • "¿qué tengo de touch the grass hoy?"
  • "ya fui a caminar" → iniciar flujo de verificación
  • "muéstrame mi score"

Version tags

latestvk977trgy1paxmjgrsdprsmywnn83ctft

Runtime requirements

🌿 Clawdis