--- name: daily-report description: > Genera y envia un reporte diario con el estado de servicios, metricas clave y eventos relevantes. Usa esta skill cuando el usuario pida un resumen del dia, estado general de los sistemas, o un reporte periodico. Tambien puede activarse automaticamente via schedule. --- # Reporte diario ## Prerequisitos - Tool `ssh_command` para consultar estado de servicios - Tool `http_get` para health checks - Tool `matrix_send` para enviar el reporte a una room ## Flujo ### 1. Recopilar datos Ejecutar en paralelo cuando sea posible: **Estado de servicios:** ```bash ssh_command: "systemctl list-units --type=service --state=running --no-pager | grep -E ''" ssh_command: "systemctl list-units --type=service --state=failed --no-pager" ``` **Uso de recursos:** ```bash ssh_command: "df -h / | tail -1" ssh_command: "free -h | grep Mem" ssh_command: "uptime" ``` **Errores recientes:** ```bash ssh_command: "journalctl --priority=err --since '24 hours ago' --no-pager | wc -l" ssh_command: "journalctl --priority=err --since '24 hours ago' --no-pager | tail -10" ``` **Health checks HTTP:** ``` http_get: "/health" para cada servicio con endpoint ``` ### 2. Formatear reporte Generar markdown con: ```markdown ## Reporte diario — ### Estado de servicios | Servicio | Estado | Uptime | |----------|--------|--------| | servicio-1 | OK | 5d 3h | | servicio-2 | FAILED | - | ### Recursos - **Disco**: 45% usado (55GB libres) - **Memoria**: 3.2GB / 8GB (40%) - **Load average**: 0.5, 0.3, 0.2 ### Errores (ultimas 24h) - Total: 15 errores - Mas frecuente: "connection timeout" (8 veces) ### Alertas - servicio-2 esta caido desde las 14:30 - Disco al 85% en /var/log (limpiar) ``` ### 3. Enviar Enviar el reporte formateado a la room configurada o a la room donde fue solicitado. ## Personalizacion El reporte puede adaptarse segun: - Lista de servicios a monitorear (del config del agente) - Servidores a consultar (de ssh.allowed_targets) - Umbrales de alerta (disco > 80%, memoria > 90%, etc.)