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>
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
---
|
||||
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"
|
||||
Reference in New Issue
Block a user