| name | cron_manager |
| description | Complete management of cron jobs with cron expressions. Create, list, update, pause, resume, delete, trigger, and view history. Use for reminders, automated reports, periodic checks. |
| 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"] |
| triggers | ["programá una tarea","schedule task","creá un cron","create cron","editá el cron","edit cron","eliminá el cron","remove cron","lista las tareas","list cron jobs","modificá 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 (Croner startAt)","stop_at":"Optional ISO datetime - end of execution window (Croner stopAt)","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":"programá 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":"editá 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":"actualizá 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>' })"}] |