Files
unibots/skills/communication/daily-report/SKILL.md
T
agent fc644ecd6e feat: import agents_and_robots platform as unibots (Matrix-out, unibus transport)
Reemplaza el scaffold del echobot por la plataforma completa de bots traida
desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out:
los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms +
E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client).

- go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths
  relativos reajustados a la nueva ubicacion dentro de fn_registry).
- app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales.
- modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports).

agents_and_robots queda archivado como museo de la era Matrix.
2026-06-07 11:50:13 +02:00

3.7 KiB

name, description
name description
daily-report Genera y envia un reporte diario con metricas de servicios, estado de salud, incidentes recientes y tareas pendientes. Puede enviarse via Matrix a un room especifico o guardarse como archivo.

Daily Report Skill

Esta skill genera reportes diarios automaticos consolidando informacion de multiples fuentes.

Proposito

  • Proveer visibilidad diaria del estado de servicios
  • Consolidar metricas de diferentes fuentes
  • Alertar sobre anomalias o degradacion
  • Tracking de incidentes y resoluciones

Fuentes de datos

El reporte puede incluir datos de:

  • Estado de servicios (via SSH + systemctl)
  • Metricas HTTP (via health endpoints)
  • Analisis de logs (via log-analyzer skill)
  • Uso de recursos (CPU, memoria, disco via SSH)
  • Incidentes recientes (desde base de datos o API)

Estructura del reporte

# Daily Report - <date>

## Services Status

| Service | Host | Status | Uptime |
|---------|------|--------|--------|
| myapp   | prod-01 | running | 15d 3h |
| worker  | prod-02 | running | 2d 8h  |

## Health Metrics

- Total requests: <N>
- Error rate: <percentage>%
- Avg response time: <N>ms
- P99 latency: <N>ms

## Incidents

- [RESOLVED] Database connection timeout - 14:30 - Fixed by restarting pool
- [OPEN] High memory usage on worker - Since 18:00

## Warnings

- Service X disk usage: 85%
- Service Y error rate: 3.2% (threshold: 2%)

## System Resources

| Host | CPU | Memory | Disk |
|------|-----|--------|------|
| prod-01 | 45% | 62% | 71% |
| prod-02 | 23% | 48% | 55% |

## Recommendations

- Investigate memory leak in worker service
- Plan disk cleanup on prod-01

---
Generated by <agent-name> at <timestamp>

Proceso de generacion

1. Recopilar datos de servicios

Para cada servicio configurado:

systemctl status <service> --no-pager

Extrae: estado, uptime, ultimos logs

2. Verificar health endpoints

Si el servicio expone /health o /metrics:

http_get http://<host>:<port>/health

3. Analizar logs recientes

Usa log-analyzer skill para cada servicio:

  • Ultimas 24h de logs
  • Conteo de errores/warnings
  • Errores criticos

4. Obtener metricas de sistema

# CPU y memoria
top -bn1 | head -20

# Disco
df -h

5. Consolidar y formatear

  • Genera el markdown del reporte
  • Aplica template si existe (templates/daily-report.md)
  • Incluye timestamp y firma del agente

6. Enviar reporte

Opciones:

  • Enviar a Matrix room (via send_message)
  • Guardar como archivo (via file_write)
  • Enviar via email (si hay tool de email)

Configuracion

El agente debe tener configurado:

  • Lista de servicios a monitorear
  • Hosts donde corren
  • Health endpoints (opcional)
  • Destination room o file path para el reporte

Ejemplo de config (en el agent config YAML):

daily_report:
  services:
    - name: myapp
      host: prod-01
      health_url: http://localhost:8080/health
    - name: worker
      host: prod-02
  destination:
    type: matrix
    room_id: "!reportroom:matrix.org"
  schedule: "0 9 * * *"  # 9am diario

Parametros

Parametros opcionales al ejecutar manualmente:

  • date: fecha del reporte (default: today)
  • services: lista de servicios a incluir (default: todos configurados)
  • destination: override del destino (room_id o file_path)
  • include_recommendations: true/false (default: true)

Ejemplo de uso

Usuario: "Genera el reporte diario"

Agente:

  1. skill_search("daily report")
  2. skill_load("daily-report")
  3. Recopilar datos de todos los servicios configurados
  4. Generar markdown del reporte
  5. Enviar al room configurado o mostrar al usuario

Automatizacion

Esta skill esta disenada para ejecutarse via cron. Ver crons/daily-report/ para la configuracion de la automatizacion.