Files
agents_and_robots/skills/system/health-check/SKILL.md
T
egutierrez 6ae2e6be03 feat: scaffold del sistema de skills
Estructura inicial de skills organizadas por categoría (analysis, coding,
communication, devops, system). Incluye README con convenciones de formato
y directorio por skill con sus prompts. Las skills son plantillas de prompts
reutilizables que los agentes pueden invocar para tareas especializadas.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:16:52 +00:00

96 lines
2.4 KiB
Markdown

---
name: health-check
description: >
Verifica la salud de uno o varios servicios y servidores. Usa esta skill
cuando el usuario pregunte si algo esta funcionando, si un servicio esta
arriba, o pida un chequeo de salud general. Tambien util despues de un
deploy o un incidente.
---
# Health check de servicios
## Prerequisitos
- Tool `ssh_command` habilitada
- Tool `http_get` para endpoints HTTP
- Servidores en `ssh.allowed_targets`
## Flujo
### 1. Determinar alcance
Inferir del contexto del usuario:
- **Servicio especifico**: checkear solo ese servicio
- **Servidor especifico**: checkear todos los servicios en ese servidor
- **General**: checkear todos los servidores y servicios conocidos
### 2. Checks basicos por servidor
Para cada servidor:
```bash
# Conectividad
ssh_command: "echo OK"
# Uptime y load
ssh_command: "uptime"
# Disco
ssh_command: "df -h / /var /tmp 2>/dev/null | tail -n +2"
# Memoria
ssh_command: "free -m | grep -E 'Mem|Swap'"
# Procesos zombie o en estado D
ssh_command: "ps aux | awk '{if ($8 ~ /Z|D/) print}' | head -5"
```
### 3. Checks por servicio
Para cada servicio:
```bash
# Estado systemd
ssh_command: "systemctl is-active <servicio>"
# Tiempo activo
ssh_command: "systemctl show <servicio> --property=ActiveEnterTimestamp --value"
# Puertos abiertos
ssh_command: "ss -tlnp | grep <puerto>"
# Ultimos errores
ssh_command: "journalctl -u <servicio> --priority=err --since '1 hour ago' --no-pager | tail -5"
```
**Health check HTTP** (si tiene endpoint):
```
http_get: "http://<host>:<puerto>/health"
```
### 4. Evaluar y reportar
Clasificar cada componente:
| Estado | Criterio |
|--------|----------|
| OK | Servicio activo, sin errores recientes, recursos normales |
| WARNING | Servicio activo pero con errores recientes, o recursos > 80% |
| CRITICAL | Servicio caido, disco lleno, o memoria agotada |
Reportar al usuario con formato claro:
```
Health Check — <fecha hora>
[OK] servidor-1: load 0.3, disco 45%, mem 40%
[OK] servicio-a: activo (uptime 5d), 0 errores
[WARNING] servicio-b: activo, 3 errores en ultima hora
[CRITICAL] servidor-2: no responde SSH
```
### 5. Recomendaciones
Si hay problemas, sugerir acciones:
- Servicio caido → "Intentar restart: `systemctl restart <servicio>`"
- Disco lleno → "Limpiar logs antiguos o expandir disco"
- Memoria alta → "Revisar procesos con mayor consumo"
- Errores frecuentes → "Revisar logs con la skill log-analyzer"