Routines
PremiumPrograma cualquier Skill para ejecutarse automáticamente con una expresión cron. Cinco presets, zonas horarias IANA, historial de auditoría completo por ejecución y una notificación en el dashboard en cada finalización.
¿Qué es una Routine?
Una Routine es una ejecución programada de un Skill. Almacena:
Skill
El Skill que se ejecutará. El Skill define la plantilla del prompt, el proveedor y el modelo.
Programación
Una expresión cron (p. ej. 0 9 * * *) más una zona horaria IANA (p. ej. America/Chicago).
Parámetros de entrada
Un objeto JSON que se pasa a la plantilla del Skill en cada disparo; tiene la misma estructura que usarías con Run now en el dashboard.
Indicador de activación
Pausa una Routine sin eliminarla. Las Routines pausadas son omitidas por el cron pero conservan su programación.
Presets de programación
Cinco presets integrados cubren los horarios más habituales. Elige Custom para escribir tu propia expresión cron.
| Preset | Cron | Se dispara |
|---|---|---|
| Hourly | 0 * * * * | Al inicio de cada hora |
| Daily | 0 9 * * * | Todos los días a las 09:00 en la zona horaria elegida |
| Weekly | 0 9 * * 1 | Los lunes a las 09:00 |
| Monthly | 0 9 1 * * | El día 1 de cada mes a las 09:00 |
| Custom | (cualquier cron de 5 campos) | p. ej. */15 * * * * cada 15 minutos |
El cron se ejecuta cada minuto, por lo que la programación mínima práctica es una vez por minuto. Las expresiones cron siguen la sintaxis estándar de 5 campos (min hora dom mes dow); los segundos y macros como @hourly no se admiten.
Zonas horarias
Cada Routine almacena una zona horaria junto a su expresión cron. El cron interpreta la programación en esa zona horaria, de modo que una Routine con 0 9 * * * y America/Chicago se dispara a las 09:00 Central todo el año, con el horario de verano gestionado de forma automática.
Usa cualquier cadena de zona horaria IANA (p. ej. UTC, Europe/Madrid, Asia/Tokyo). El formulario del dashboard usa de forma predeterminada la zona horaria detectada en tu navegador.
Crear una Routine
Las Routines se pueden crear desde el dashboard o directamente desde Claude a través del MCP. Ambos métodos requieren que exista al menos un Skill en el proyecto.
Desde el Dashboard
- 1. Abre un proyecto y haz clic en Routines en la cabecera.
- 2. Haz clic en New Routine.
- 3. Elige el Skill que quieres programar.
- 4. Dale un nombre a la Routine.
- 5. Elige un preset (o Custom y escribe tu propio cron), y confirma la zona horaria.
- 6. Proporciona un objeto JSON de Input params con la misma estructura que usarías al ejecutar el Skill manualmente.
- 7. Haz clic en Create Routine. La primera ejecución se disparará en el próximo tick coincidente.
Desde Claude (MCP)
# Pídele a Claude que programe un Skill
"Create a Routine called 'Daily LinkedIn post' that runs the 'Post draft' Skill every weekday at 8am Madrid time" "Schedule the 'Weekly digest' Skill to fire on Mondays at 9am Chicago, with topic = 'last week'"
Claude utilizará la herramienta MCP routines_create con el preset que mejor se ajuste a tu descripción.
Pausar, ejecutar ahora y eliminar
Pausar / Activar
En la página de detalle de la Routine, haz clic en ⏸ Pause para detener el cron sin perder la programación. ▶ Enable lo revierte. Las Routines pausadas conservan su next_run_at — al reactivarlas, el próximo disparo ocurre en ese momento.
Ejecutar ahora
Dispara el Skill de inmediato, antes de lo programado, usando los parámetros de entrada guardados en la Routine. Aparece una nueva fila en el historial de ejecuciones con trigger_type = scheduled. El campo next_run_at de la Routine no cambia: ejecutar ahora no reprograma.
Eliminar
La zona de peligro en la página de detalle de la Routine elimina permanentemente la programación. Las filas del historial de ejecuciones pasadas se conservan para no perder el rastro de auditoría.
Notificaciones e historial de ejecuciones
Cada ejecución programada se registra en el mismo historial de ejecuciones que las ejecuciones manuales de Skills, con dos extras:
- La fila de auditoría lleva la etiqueta
trigger_type = scheduledy elroutine_idpara que puedas filtrar por Routine. - Se envía una notificación en el dashboard (la campana 🔔) al creador de la Routine en cada disparo: palomita verde en caso de éxito, X roja en caso de fallo. Haz clic en la notificación para ir directamente a la página de detalle de la Routine.
Modos de fallo que pausan una Routine automáticamente: expresión cron inválida, clave BYOK ausente para el proveedor del Skill o clave de API del proyecto revocada. Recibirás una notificación routine_failed con el motivo.
Herramientas MCP
Se exponen siete herramientas relacionadas con Routines a Claude a través del cliente MCP:
| Herramienta | Propósito |
|---|---|
| routines_list | Lista todas las Routines de un proyecto |
| routines_get | Lee una Routine por id |
| routines_create | Crea una Routine (preset o cron personalizado) |
| routines_update | Renombra, cambia la programación o los parámetros de entrada |
| routines_toggle | Pausa o activa una Routine |
| routines_run_now | Dispara una Routine de inmediato, fuera de su programación |
| routines_delete | Elimina permanentemente una Routine |
Cómo funciona internamente
Un cron job de Vercel llama a /api/cron/trigger-routines cada minuto. Ese endpoint consulta la base de datos para encontrar cualquier Routine donde enabled = true y next_run_at <= now(), y para cada Routine pendiente:
- Actualiza
next_run_atantes de disparar, para que una ejecución lenta no bloquee el siguiente tick. - Llama a la misma función edge
skill-executeque usa el dashboard, pasandotrigger_type=scheduledy el id de la Routine. - Escribe la fila de auditoría, guarda opcionalmente la salida en un Space de conocimiento e inserta la notificación en el dashboard.
Todos los costos de ejecución se facturan a tu propia cuenta de Anthropic / OpenAI a través de las claves BYOK del proyecto, igual que las ejecuciones manuales de Skills. ContextForge no cobra por Routine.