<< All versions

Skill v2.0.0

currentAutomated scan100/100
johpaz/hive/cron-manager

+3 new

──Details
PublishedOctober 27, 2026 at 03:07 AM
Content Hashsha256:ff336f1c6c5e8f4b...
Git SHA6041cdd74bd2
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 7.3 KB)
SKILL.md7.3 KBactive
SKILL.md · 199 lines · 7.3 KB

name: cron_manager description: "Manage Hive scheduled automations. Create, list, update, pause, resume, delete, trigger, and inspect recurring or one-shot jobs." version: 2.0.0 author: Hive Team icon: "⏰" category: cron permissions:

  • cron_manage

dependencies: [] tools: [cron.create, cron.list, cron.update, cron.delete, cron.pause, cron.resume, cron.trigger, cron.history]

Structured skill fields

triggers:

  • "programa una tarea"
  • "schedule task"
  • "crea un cron"
  • "create cron"
  • "edita el cron"
  • "edit cron"
  • "elimina el cron"
  • "remove cron"
  • "lista las tareas"
  • "list cron jobs"
  • "modifica el cron"
  • "modify cron"
  • "tarea recurrente"
  • "recurring task"
  • "todos los días"
  • "daily"
  • "cada semana"
  • "weekly"

preferred_agents: []

steps:

  • step: 1

action: clarify_task instruction: "Ask if task is one_shot (single execution) or recurring (repeats). Get specific time and task instruction." output: task_type

  • step: 2

action: build_cron_expression instruction: "For recurring: construct cron expression (minute hour day month weekday). For one_shot: get ISO datetime." output: cron_expression or fire_at

  • step: 3

action: cron.create instruction: "Create new cron job with required 'task' field (instruction for the agent)" params: name: "Short identifier (e.g., 'daily-report')" task: "REQUIRED - Natural language instruction the agent reads when triggered (e.g., 'Generate sales report and send to Telegram')" task_type: "'recurring' or 'one_shot'" cron_expression: "Cron expression for recurring (e.g., '0 9 *')" fire_at: "ISO datetime for one_shot (e.g., '2026-04-20T09:00:00')" channel: "Notification channel (telegram, discord, webchat)" start_at: "Optional ISO datetime - start of execution window" stop_at: "Optional ISO datetime - end of execution window" dom_and_dow: "0 = OR logic (default), 1 = AND logic for day-of-month + day-of-week" max_runs: "Optional max executions" output: cron_id

  • step: 4

action: cron.list instruction: "List all cron jobs with next execution times" output: cron_jobs

rules:

  • "ALWAYS use cron.* tools — never exec/terminal"
  • "The 'task' field is REQUIRED and contains the instruction the agent reads when triggered"
  • "Ask if one_shot or recurring before creating"
  • "For one_shot: use fire_at with ISO datetime"
  • "For daily: 'MM HH *'"
  • "For weekly: 'MM HH N' (N=0-6, 0=Sun)"
  • "For monthly: 'MM HH D ' (D=1-31)"
  • "Always show next 3 execution times after creating"
  • "Use start_at/stop_at to limit execution time window"
  • "Use dom_and_dow=1 to require BOTH day-of-month AND day-of-week"
  • "To edit: ALWAYS call cron.update with task_id (get from cron.list first)"

output_format: structure: markdown sections:

  • "job_name"
  • "task_instruction"
  • "cron_expression"
  • "next_executions"

max_length: "List all jobs"

examples:

  • user_input: "programa un recordatorio diario a las 9am"

expected_behavior: "cron.create({ name: 'daily-reminder', task: 'Send reminder message', task_type: 'recurring', cron_expression: '0 9 *', channel: 'telegram' })"

  • user_input: "lista las tareas programadas"

expected_behavior: "cron.list({})"

  • user_input: "edita el cron para que sea a las 10am"

expected_behavior: "cron.list() → get task_id → cron.update({ task_id: '<id>', cron_expression: '0 10 *' })"

  • user_input: "actualiza la instrucción del cron"

expected_behavior: "cron.list() → get task_id → cron.update({ task_id: '<id>', task: 'New instruction for agent' })"

  • user_input: "elimina el cron"

expected_behavior: "cron.list() → get task_id → cron.delete({ task_id: '<id>' })"


Cron Manager Skill

Cuándo se Activa

Para gestionar tareas programadas (cron jobs): crear, listar, actualizar, pausar, reanudar, eliminar, ejecutar y ver historial.

Herramientas Disponibles

ToolQué haceCuándo usarla
cron.createCrear cron jobNueva tarea
cron.listListar todosVer existentes
cron.updateActualizar existenteCambiar horario/instrucción
cron.pausePausar temporalmenteSin eliminar
cron.resumeReanudar pausadoContinuar ejecución
cron.deleteEliminar permanentementeCancelar para siempre
cron.triggerEjecutar ahoraForzar ejecución
cron.historyVer historialVer logs de ejecuciones

Campos Principales

CampoTipoDescripción
namestringIdentificador corto (e.g., 'daily-report')
taskstringREQUERIDO - Instrucciones para el agente al ejecutarse
task_typestring'recurring' (repite) o 'one_shot' (una vez)
cron_expressionstringExpresión cron (solo para recurring)
fire_atstringDatetime ISO (solo para one_shot)
channelstringCanal de notificación
start_atstringInicio de ventana opcional
stop_atstringFin de ventana opcional
dom_and_downumber0=OR (default), 1=AND (día mes + día semana)
max_runsnumberDeja de correr después de N corridas ("recuérdamelo 3 veces")
payloadobjectDatos que recibe el agente al ejecutarse
agent_idstringAgente concreto que debe ejecutarla. Si se omite, decide el coordinador
tool_namestringEjecutar una tool directamente, sin pasar por un agente
La zona horaria no se pasa acá: sale del perfil del usuario. No la
inventes ni la pidas — si el usuario dice "a las 9", son las 9 de su reloj.

Cron Expression Format

┌───────── segundos (0-59) ← opcional, sólo si hacen falta
│ ┌─────── minuto (0-59)
│ │ ┌───── hora (0-23)
│ │ │ ┌─── día del mes (1-31)
│ │ │ │ ┌─ mes (1-12 o JAN-DEC)
│ │ │ │ │ ┌ día de semana (0-7 o SUN-SAT, 0 y 7 = domingo)
* * * * * *

Cinco campos, o seis poniendo los segundos adelante. Acepta *, listas 1,15, rangos 1-5, pasos */2, y nombres de mes y de día.

Ejemplos Comunes

ExpresiónSignificado
0 9 * * *Diario 9:00 AM
0 7 * * 1-5Lun-Vie 7:00 AM
0 */2 * * *Cada 2 horas
0 0 * * 0Domingos medianoche
0 0 1 * *Día 1 de cada mes

Cómo Usar start_at / stop_at

  • start_at: La tarea no ejecuta antes de esta fecha
  • stop_at: La tarea no ejecuta después de esta fecha
  • Formato ISO: '2026-04-01T00:00:00'

Cómo Usar dom_and_dow

  • 0 (default): Se ejecuta si es el día del mes O el día de semana
  • 1: Se ejecuta solo si es EL MISMO día del mes Y el día de semana

Ejemplo: 0 9 15 * * con dom_and_dow=1 significa "los 15 de cada mes QUE SEA domingo"

Workflow para Crear

  1. Preguntar → ¿one_shot o recurring?
  2. Obtener → Hora y canal de notificación
  3. Crear → cron.create con campo task obligatorio
  4. Confirmar → cron.list mostrar next runs

Errores a Evitar

  • ❌ Olvidar el campo task — es obligatorio
  • ❌ Usar exec para tareas programadas
  • ❌ No preguntar si es one_shot o recurring
  • ❌ No mostrar próximos horarios al crear
  • ❌ Llamar cron.update sin task_id — siempre hacer cron.list primero
← v1.0.0All versions