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 🌿"
- Pregúntale su estado de ánimo actual del 1 al 5 (1=agotado, 5=bien)
- Lee
{baseDir}/activities.json para cargar el catálogo - 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
- 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:
CODEBLOCK0
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"
Touch the Grass 🌿
个人重新连接技能。帮助用户规划并完成降低多巴胺的活动,在数周高强度工作后重新连接现实世界。
参考文件
- - {baseDir}/activities.json — 完整活动目录及评分
- 用户状态(分数、连续天数、已完成活动)保存在智能体记忆中
主要流程
1. 启动 / 手动激活
当用户提到压力、疲惫或想要重新连接时:
- 1. 用同理心问候,不要夸张。例如:你已经埋头苦干好一阵子了。该去摸摸草地了 🌿
- 询问他们当前心情状态(1-5分)(1=精疲力竭,5=状态良好)
- 读取 {baseDir}/activities.json 加载活动目录
- 根据时间段推荐3项具体活动:
-
早晨(6-12点):优先推荐户外和正念活动
-
下午(12-18点):户外、模拟、社交活动
-
晚上(18-23点):模拟、有意识的被动活动、正念活动
- 5. 询问他们想安排哪些活动以及何时进行
- 在Google日历中创建事件,包含:
- 标题:表情符号 + 活动名称(例如:🌿 不带手机散步15分钟)
- 描述:Touch the Grass — 属于你的时间。无屏幕。
- 提醒:提前10分钟
- 7. 向用户确认,并告知其当前分数 + 连续天数
2. 每日心跳(主动提醒)
此流程每天早晨运行一次(在cron中设置为当地时间上午9:00)。
检查记忆中用户今天是否有待完成的Touch the Grass活动:
如果今天有已安排的活动:
早上好 ☀️ 你今天 [时间] 安排了 [活动]。准备好去摸摸草地了吗?
如果今天没有已安排的活动:
嘿 👋 你今天计划好Touch the Grass的时间了吗?你的大脑需要它。需要我帮你快速安排一下吗?
如果已连续3天以上未完成任何活动:
你已经 [N] 天没去摸摸草地了 🥀 我不是在评判你,但我想提醒你它还存在。今天来15分钟怎么样?
如果用户当天已经回复过,不要坚持追问。
3. 已完成活动的记录与验证
当用户说完成了某项活动时:
第1步 — 验证
询问他们如何确认:
太棒了!我们怎么确认呢?
- - 💬 仅文字 → +1分
- 📸 照片 → +2分(智能体分析图片)
- 🌐 社交平台发帖 → +3分
第2步 — 如果发送照片(视觉验证)
分析收到的图片。验证其是否与所声明的活动相符:
视觉验证标准:
- - 图片是否显示户外环境、自然或与活动相关的场景?
- 是否有与活动一致的元素(书、烹饪的食物、公园、行走的人)?
- 图片是否看起来真实(非素材图片、非截图)?
如果图片有效:给予+2分,适度热情地确认
如果图片不清晰或不匹配:礼貌地请求另一张照片或接受文字作为备选(+1分)
如果照片不完美,切勿居高临下。 目标是激励,而非监管。
第3步 — 如果分享社交平台帖子
接受帖子的URL或截图。如果有URL,确认其存在。给予+3分。
第4步 — 更新记忆中的状态
保存在智能体记忆中:
touchthegrass_state: {
score: N,
streak_days: N,
lastactivitydate: YYYY-MM-DD,
completedtoday: [activityid],
mood_checkins: [{date: ..., before: N, after: N}]
}
第5步 — 活动后反馈
询问:
从1到5分,你现在感觉和之前相比如何?
将差值保存在记忆中。如果差值为正,简要提及。
4. 查看进度 / 分数
当用户要求查看进度时:
显示摘要:
🌿 Touch the Grass — 你的进度
⭐ 总分:[N] 分
🔥 当前连续天数:[N] 天
📅 本周活动:[N] 项
😊 平均心情变化:+[N]
连续天数奖励:
3天 → +5分 [已达成 ✅ / 还需N天]
7天 → +15分
14天 → +30分
最近活动:[活动名称] — [N] 天前
通用规则
- - 语气:温暖、直接、不说教。既不是人生导师也不是机器人。像一个了解你的朋友。
- 不坚持:如果用户说今天不行,接受而不责备。记录他们已回复。
- 评分透明度:如果用户问为什么照片得分更高,自然地解释——目的是有真实的时刻证据,而非竞争。
- 隐私:照片仅用于验证活动。不详细描述或评论图片中的个人内容。
- Google日历:如有疑问,在创建事件前始终确认时区。用户位于瓜达拉哈拉/墨西哥城(America/Mexico_City, UTC-6)。
安装设置(一次性)
当用户安装技能或说配置touch the grass时,提供以下两个选项:
选项A — 专用Cron ✅ 推荐(精确时间)
执行此命令并确认已注册:
openclaw cron add \
--name touch-the-grass-daily \
--cron 0 9 * \
--tz America/Mexico_City \
--session isolated \
--message Heartbeat Touch the Grass: 检查用户今天是否有TTG活动计划。如果没有,友好地提醒。如果已连续3天以上未完成任何活动,提及此事。按照touch-the-grass技能的指示使用正确的语气。 \
--announce
用 openclaw cron list 验证——如果显示 jobs: 0,重复命令。
选项B — 心跳(无需额外命令)
如果用户不想配置cron,告诉他们将其添加到 ~/.openclaw/workspace/HEARTBEAT.md:
- - Touch the Grass:每天早晨一次,检查用户是否有计划的活动。
如果没有且今天尚未询问,友好地询问。
如果已连续3天以上未完成活动,简要提及。
时间上不太精确,但无需额外命令。
激活示例
- - 我已经连续工作3周没停过,累坏了
- touch the grass
- 我需要断开连接
- 我今天有什么touch the grass活动?
- 我已经去散步了 → 启动验证流程
- 给我看看我的分数