Qué es y por qué importa
Una rutina es un prompt guardado que Claude Code ejecuta solo: a una hora fija o a intervalos regulares. Lo escribes una vez y luego arranca sin que tengas que abrir nada.
El problema que me resuelve es sencillo. Por la mañana abro el ordenador y no sé qué ha pasado durante la noche: cuántas personas se han registrado, si ha habido errores, si la web se ha caído. Buscarlo todo a mano lleva tiempo, y a menudo acabo por no hacerlo. Con dos rutinas, la respuesta ya me está esperando.
Una rutina puede funcionar en tres sitios distintos. La elección depende de dos cosas: con qué frecuencia tiene que arrancar y si tu ordenador puede quedarse encendido.
- En la nube: arranca aunque el ordenador esté apagado, pero como mucho una vez por hora.
- En la app de escritorio de Claude, como rutina Local: funciona en tu ordenador, incluso cada pocos minutos, pero solo con la app abierta y el ordenador despierto.
- Con /loop, dentro de una sesión de Claude Code: es la forma más rápida, pero solo vive mientras esa sesión siga abierta.
1. El resumen de las 7:30
Esta la pongo en la nube, así arranca a las 7:30 aunque el ordenador esté apagado o cerrado en la mochila.
- En Claude Code escribe /schedule (necesitas haber iniciado sesión con tu cuenta de claude.ai), o ve a claude.ai/code/routines y haz clic en New routine. Con /schedule es Claude quien te hace las preguntas y guarda la rutina por ti.
- Elige el proyecto. Tiene que estar en GitHub: cada vez que arranca, la rutina descarga una copia limpia y no ve los archivos de tu ordenador.
- Como horario elige todos los días a las 7:30. La pones en tu zona horaria y la conversión la hace sola.
- Conecta la base de datos y los logs de errores como conectores. Son las conexiones a servicios externos que tienes en tu cuenta de claude.ai.
- Pega el prompt de abajo y cambia [nombre] por el nombre de tu app.
Cada mañana revisa mi app [nombre] y escríbeme qué ha pasado desde anoche: - cuántas personas se han registrado (solo el número, nada de datos personales); - los errores en los logs: cuántos, cuáles, a qué hora, si alguno se repite; - un resumen de tres líneas: cómo ha ido la noche y qué miro primero. No modifiques nada: lee y escribe el resumen.
En el prompt solo pido el número de registros, nada de nombres ni correos. Con eso me basta para entender cómo ha ido la noche, y el resumen se queda guardado: mejor que no acaben dentro datos personales de nadie.
Dónde encuentras el resumen
Cada vez que arranca, la rutina crea una sesión nueva junto a las demás. La abres y encuentras lo que ha hecho y el resumen. Si alguna vez modificara el código, el trabajo acabaría en una rama que empieza por claude/, no en tu rama principal, salvo que el prompt pida otra cosa.
Ojo con el estado verde en la lista de ejecuciones: significa que la sesión ha arrancado y terminado sin problemas técnicos, no que la tarea haya salido bien. Las primeras veces abre la sesión y léela.
2. La comprobación cada 5 minutos
Las rutinas en la nube arrancan como mucho una vez por hora. Para una comprobación cada 5 minutos necesitas algo que funcione en tu ordenador, y aquí tienes dos caminos. El prompt es el mismo para los dos:
Abre [dirección de la web] y comprueba que responde y que la página carga. Escríbeme solo si cambia algo respecto a la comprobación anterior: "la web no responde" cuando se cae, "ha vuelto" cuando vuelve. Si todo está como antes, no escribas nada.
Cada 5 minutos significa unas 288 comprobaciones al día: mantenlo corto. El prompt de arriba hace una sola cosa y solo escribe cuando algo cambia.
Con /loop, en una sesión abierta
En la sesión de Claude Code escribe /loop 5m y justo después el texto. Cada 5 minutos Claude lo vuelve a ejecutar en la misma conversación, así que recuerda cómo estaba la web en la comprobación anterior.
Los límites: solo funciona mientras la sesión siga abierta y el ordenador encendido. Si cierras el terminal, se para. Y a los 7 días el loop se para solo: hace una última vuelta y se borra. Si todavía lo necesitas, lo vuelves a lanzar.
Con la app de escritorio de Claude, como rutina Local
- En la app de escritorio, en la pestaña Code, abre Routines, haz clic en New routine y elige Local.
- Ponle un nombre, elige la carpeta del proyecto y pega el mismo prompt.
- Entre los horarios predefinidos (Manual, Hourly, Daily, Weekdays, Weekly) no está «cada 5 minutos». Elige Hourly y guarda; luego, en una sesión de la app, pídele a Claude que la lance cada 5 minutos.
- Deja la app abierta y el ordenador despierto. Si el ordenador entra en reposo, las comprobaciones de ese rato se saltan.
Una diferencia importante: en la app de escritorio cada comprobación es una sesión nueva y no sabe nada de la anterior. Así que no puede decirte «ha vuelto». Al final del prompt añade esta línea, así sabe qué ha cambiado:
Guarda el resultado en estado-sitio.txt y vuelve a leerlo en la siguiente comprobación
Para que el ordenador no se duerma cuando está inactivo, en los ajustes de la app está la opción Keep computer awake. Cerrar la tapa del portátil, eso sí, lo pone en reposo igualmente.
3. Antes de dejarla ir sola
La pruebo a mano
La primera vez la lanzo yo con Run now, el botón que está tanto en claude.ai/code/routines como en la app de escritorio, y miro lo que hace antes de dejarla ir sola. En la app de escritorio también cuenta el modo de permisos: en Manual, una rutina local se bloquea en cada petición de permiso y se queda parada hasta que respondes. En la primera ejecución las apruebo ahí mismo eligiendo «always allow»: a partir de entonces esas herramientas funcionan sin preguntar.
Quito los conectores que no necesita
Cuando creas una rutina en la nube, todos los conectores de tu cuenta vienen incluidos por defecto. Y durante la ejecución Claude puede usar todas sus herramientas, también las que escriben, sin preguntarte nada. Una rutina que controla no debe poder cambiar nada: dejo solo la base de datos y los logs y, si el servicio lo permite, los conecto en solo lectura. El «No modifiques nada» del prompt ayuda, pero el límite de verdad es lo que la rutina puede tocar.
No me preocupa el retraso
Una rutina puede arrancar unos minutos más tarde de la hora prevista: es normal. En la nube pasa sobre todo si eliges una hora en punto, como las 7:00. En la app de escritorio cada rutina arranca siempre con el mismo pequeño retraso de unos minutos. Con /loop 5m, en cambio, la comprobación llega más o menos cada 5 minutos.
Errores comunes
- Poner en la nube la comprobación cada 5 minutos: allí el mínimo es una hora, así que usa /loop o una rutina Local.
- Dejar incluidos todos los conectores: quita los que no necesita, porque durante la rutina Claude los usa sin preguntar.
- Pedir nombres y correos de los registrados: pide solo el número, para entender cómo ha ido la noche no hacen falta datos personales.
- Olvidar que en la app de escritorio cada comprobación empieza de cero: añade la línea que guarda el resultado en estado-sitio.txt.
- Fiarse del estado verde: abre la sesión y lee lo que ha hecho de verdad.
- Contar con un /loop pasada una semana: caduca a los 7 días, así que apúntate cuándo relanzarlo o pasa a una rutina Local.
Lista de comprobación
- Proyecto en GitHub
- Resumen de las 7:30 como rutina en la nube
- Solo base de datos y logs entre los conectores
- Solo el número de registros, nada de datos personales
- Comprobación cada 5 minutos con /loop 5m o con una rutina Local
- Línea de estado-sitio.txt añadida, si usas la app de escritorio
- Primera vuelta lanzada a mano y leída
Preguntas frecuentes
¿El resumen de las 7:30 arranca aunque el ordenador esté apagado?
Sí, si es una rutina en la nube: funciona en los servidores de Anthropic, no en tu ordenador. La rutina Local y /loop, en cambio, necesitan el ordenador encendido.
Escribo /schedule y no pasa nada. ¿Por qué?
/schedule solo aparece si has iniciado sesión en Claude Code con tu cuenta de claude.ai, no con una clave de API. Aun así puedes crear la rutina desde la web, en claude.ai/code/routines, salvo que tu organización haya desactivado las rutinas.
¿La rutina en la nube puede modificar mi código?
Sí: funciona sola, sin pedirte permisos. Si cambia algo, lo pone en una rama que empieza por claude/. Por eso en el prompt le digo que no modifique nada y le quito los conectores que no necesita.