cote.log
003
runningsoftware#agentes#hermes#garmin#mcp#running

Cómo un runner promedio carga sus entrenamientos

Ver la imagen, cambiar de pantalla, acordarme del ritmo, repetir. Lo cambié por un agente, una skill y una conexión a Garmin.

Mi entrenador manda el plan de la semana como una imagen. Cada día trae algo así: 10 min de trote a R/Corazoniano + 1 k a R/Maratón + 6 fartlek de 2 x 2 min a 5 a 7 seg más lento que el R/VT2 + 2 k a R/Maratón.

Imagen difuminada del cronograma semanal del entrenador, de martes a lunes, con la tarea de cada día
Fig. 1El plan de una semana, tal como llega. Va difuminado porque es del equipo.

Para que el reloj me guíe mientras corro, cada sesión hay que crearla en Garmin. Y ahí empieza la rutina: ver la imagen, cambiar de pantalla en el celular para ir a Garmin, acordarme de lo que decía, configurar ese bloque, volver a la imagen. Y así con cada intervalo o parte del entrenamiento: calentamiento, bloque, recuperación, otro bloque.

Es bien mecánico. Así que, ¿por qué no automatizarlo?

Tres piezas

  1. Un agente. Se llama Helm y corre en Hermes Agent, en un servidor que tengo en mi casa. Le hablo por Discord, desde el computador o el celular.
  2. Una skill para leer el entrenamiento. Es un archivo con las instrucciones: qué significa cada término de mi equipo (R/Corazoniano, R/Maratón, VT2, VAM), cómo armar los bloques y qué preguntar si algo no se entiende. Los ritmos no van escritos ahí, porque cambian según la etapa de la temporada. Se los paso aparte.
  3. Una conexión a Garmin. Un servidor MCP de código abierto, garmin_mcp, que le da al agente herramientas para leer mis datos y crear entrenamientos.

Cómo se ve

Le mando la foto del plan a Helm. La lee y me responde con un resumen: un día por línea, con el ritmo que va a usar en cada bloque. Al final pregunta: “¿Lo cargo en Garmin?”.

Si digo que sí, revisa que esos entrenamientos no estén cargados, crea cada uno y lo agenda en su día. Después me dice qué quedó cargado, solo con lo que Garmin confirmó.

Conversación en Discord: respondo 'Sí, cárgalo!' y Helm lista los tres entrenamientos cargados con su fecha e id
Fig. 2Mi confirmación y la respuesta de Helm: tres entrenamientos creados y agendados.

Unos segundos después, ya están en la app de Garmin y en el reloj. Abajo se ve cómo lo hacía antes: copiar un entrenamiento parecido y editarlo a mano.

Lista de sesiones de entrenamiento en la app de Garmin: tres creadas por Helm y debajo una 'Copia de Farlek' editada a mano
Fig. 3Arriba, los tres que cargó Helm. Abajo, la copia que yo editaba a mano cada semana.

Lo que no era obvio

Garmin no guarda el ritmo en minutos por kilómetro, sino como velocidad en metros por segundo. Y en un rango, el límite rápido va primero. Lo confirmé leyendo entrenamientos reales de mi cuenta antes de dejar que Helm escribiera algo.

v = 1000 / t

(1)
donde
v
velocidad, en m/s
t
ritmo, en segundos por kilómetro

Por ejemplo, un rango de 3:50 a 3:58 por kilómetro son 230 y 238 segundos, o sea 4,35 y 4,20 m/s. El 4,35 va primero.

Y una regla que no negocio: Helm no carga nada sin mi “sí”. La conexión a Garmin trae 122 herramientas; Helm ve 96, y solo 2 escriben: crear y agendar un entrenamiento. No puede borrar ni editar nada.

Desde acá, crecer

Lo que tenía era una tarea mecánica, y lo que la resolvió fue simple: un agente, una skill y una conexión. Lo bueno es que ya están las piezas. Desde acá puedo ir agrandándolo y mejorándolo: pedirle dashboards personalizados, análisis de mis datos, de la carga de entrenamiento, y mucho más. Mismo agente, más skills.

← volver al log