# crons/ — Catálogo de automatizaciones Directorio central de automatizaciones nombradas para los agentes. Cada subdirectorio es una automatización reutilizable que puede aplicarse a uno o más agentes. ## Estructura de una automatización ``` crons// schedule.yaml # spec: descripción, cron por defecto, acción prompts/ message.md # plantilla de mensaje (send_message) prompt.md # prompt para el LLM (llm_prompt) ``` ## Convención de `schedule.yaml` ```yaml # Metadata name: nombre-de-la-automatizacion description: "Descripción breve" # Cron por defecto (el agente puede sobreescribir en su config.yaml) default_cron: "0 9 * * *" # Acción action: kind: send_message # send_message | llm_prompt template: prompts/message.md # relativo a la raíz del proyecto # Sala por defecto (opcional; el agente debe sobreescribir con output_room) default_output_room: "" ``` > **Nota**: `template` es relativo a la **raíz del proyecto**, no a la carpeta de la automatización. > Usa siempre la ruta completa desde la raíz: `crons//prompts/message.md`. ## Automatizaciones disponibles | Nombre | Tipo | Cron por defecto | Descripción | |--------|------|-----------------|-------------| | `good-morning` | `send_message` | `0 9 * * *` | Saludo de buenos días | | `daily-summary` | `llm_prompt` | `0 18 * * *` | Resumen diario del equipo | ## Scripts de gestión ```bash # Crear nueva automatización (interactivo) ./dev-scripts/cron/new.sh # Listar todas las automatizaciones con descripción ./dev-scripts/cron/list.sh # Aplicar automatización a un agente (parchea config.yaml) ./dev-scripts/cron/apply.sh ``` ## Cómo añadir manualmente a un agente En `agents//config.yaml`: ```yaml schedules: - name: good-morning cron: "0 9 * * *" output_room: "!TUROOM:matrix-af2f3d.organic-machine.com" action: kind: send_message template: "crons/good-morning/prompts/message.md" ``` Ajusta `output_room` con la sala real del agente. El campo `cron` puede sobreescribir el `default_cron` del catálogo.