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,70 @@
|
||||
---
|
||||
name: log-analyzer
|
||||
description: >
|
||||
Analiza logs de servicios para encontrar errores, patrones y anomalias.
|
||||
Usa esta skill cuando el usuario pida revisar logs, buscar errores en un
|
||||
servicio, diagnosticar problemas, o entender que paso en un periodo de tiempo.
|
||||
Funciona con journalctl, archivos de log, y logs de Docker.
|
||||
---
|
||||
|
||||
# Analisis de logs
|
||||
|
||||
## Prerequisitos
|
||||
|
||||
- Tool `ssh_command` habilitada (para logs remotos)
|
||||
- Acceso al servidor donde estan los logs
|
||||
|
||||
## Flujo
|
||||
|
||||
### 1. Identificar fuente de logs
|
||||
|
||||
Preguntar o inferir del contexto:
|
||||
- **Servicio**: nombre del servicio o contenedor
|
||||
- **Periodo**: rango de tiempo a analizar (default: ultima hora)
|
||||
- **Servidor**: host donde corren los logs
|
||||
- **Tipo**: systemd (journalctl), archivo (/var/log/...), o Docker
|
||||
|
||||
### 2. Obtener logs
|
||||
|
||||
Segun el tipo de fuente:
|
||||
|
||||
**Systemd (journalctl):**
|
||||
```bash
|
||||
ssh_command: "journalctl -u <servicio> --since '<periodo>' --no-pager"
|
||||
```
|
||||
|
||||
**Archivo de log:**
|
||||
```bash
|
||||
ssh_command: "tail -n 500 /var/log/<servicio>/<archivo>.log"
|
||||
# o con filtro de tiempo:
|
||||
ssh_command: "awk '/2024-01-15 14:00/,/2024-01-15 15:00/' /var/log/<servicio>.log"
|
||||
```
|
||||
|
||||
**Docker:**
|
||||
```bash
|
||||
ssh_command: "docker logs --since <periodo> <contenedor> 2>&1 | tail -500"
|
||||
```
|
||||
|
||||
### 3. Analisis
|
||||
|
||||
Buscar en los logs:
|
||||
- **Errores**: lineas con ERROR, FATAL, panic, exception, traceback
|
||||
- **Warnings**: lineas con WARN, warning
|
||||
- **Patrones repetitivos**: errores que se repiten (agrupar por tipo)
|
||||
- **Timestamps**: cuando empezaron los problemas
|
||||
- **Correlaciones**: errores que ocurren juntos o en secuencia
|
||||
|
||||
### 4. Reporte
|
||||
|
||||
Presentar al usuario:
|
||||
1. **Resumen**: estado general (saludable / con problemas / critico)
|
||||
2. **Errores encontrados**: listado agrupado por tipo con conteo
|
||||
3. **Timeline**: cuando empezaron y si siguen ocurriendo
|
||||
4. **Causa probable**: si se puede inferir del contexto
|
||||
5. **Recomendacion**: accion sugerida (restart, fix config, escalar, etc.)
|
||||
|
||||
## Tips
|
||||
|
||||
- Si los logs son muy extensos, obtener primero un conteo de errores y luego los detalles de los mas frecuentes
|
||||
- Usar `grep -c` para contar antes de traer lineas completas
|
||||
- Para logs grandes, usar `tail` o rangos de tiempo acotados
|
||||
Reference in New Issue
Block a user