Communitygithub.com

roebi/agent-skills

Biblioteca de habilidades para agentes de IA que utilizan habilidades

¿Qué es agent-skills?

Este skill proporciona una referencia completa para trabajar en un terminal Linux, cubriendo desde comandos básicos de bash hasta la orquestación de contenedores y la ejecución de agentes de IA. Está diseñado para ayudar a agentes de IA (como Claude Code, Cursor o Codex) a ejecutar tareas de terminal de manera eficiente y segura, con patrones comunes, scripts y mejores prácticas. El skill está organizado en secciones temáticas que incluyen ejecución de comandos, manipulación de archivos, instalación de paquetes, manejo de variables de entorno y referencias detalladas para herramientas como Podman, kubectl, curl y agentes de IA como aider-chat y claude CLI. Los agentes pueden cargar archivos de referencia adicionales desde el directorio `references/` para obtener cobertura completa de comandos. Este skill es multiplataforma y funciona en cualquier agente de IA que soporte habilidades, mejorando la precisión y seguridad de las operaciones en terminal.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add roebi/agent-skills

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Habilidad de Terminal y CLI

Referencia para trabajar en un terminal Linux — cubriendo desde lo básico de bash hasta la orquestación de contenedores y la ejecución de agentes de IA.

Cómo usar esta habilidad

Este archivo cubre los patrones más comunes. Para referencias detalladas de comandos, carga el archivo relevante de references/ según sea necesario:

TemaArchivo de referencia
Núcleo de Bash: pipes, scripts, sistema de archivos, instalación, variables de entornoreferences/bash.md
Contenedores: Podman, Kubernetes (kubectl), Helmreferences/containers.md
Peticiones HTTP: curlreferences/curl.md
Agentes de IA: aider-chat, CLI de Claudereferences/agents.md

1. Ejecutar un comando bash

comando [opciones] [argumentos]

# Ejecutar secuencialmente — detenerse en el primer fallo
cmd1 && cmd2 && cmd3

# Ejecutar independientemente del fallo
cmd1; cmd2; cmd3

# Capturar salida en una variable
SALIDA=$(comando)

# Redirigir stdout / stderr / ambos
comando > salida.txt
comando 2> error.txt
comando &> todo.txt

# Descartar toda la salida
comando > /dev/null 2>&1

2. Verificar si una herramienta existe

type -a nombre_herramienta      # Todas las ubicaciones donde se encuentra la herramienta
apropos palabra_clave           # Buscar comandos que coincidan con una palabra clave
which nombre_herramienta        # Primer binario en el PATH
whereis nombre_herramienta      # Ubicación del binario, fuente y página man

3. Combinar con &&

# Continuar solo si el comando anterior tuvo éxito
sudo apt update && sudo apt upgrade -y

# Encadenar múltiples pasos de manera segura
mkdir -p build && cd build && cmake ..

4. Tuberías con |

# Pasar stdout de un comando como stdin al siguiente
cmd1 | cmd2 | cmd3

# Patrones comunes
ls -la | grep ".conf"
ps aux | grep nginx
journalctl -u miservicio | grep ERROR | tail -20
cat archivo.txt | wc -l

5. Leer contenido con cat

cat archivo.txt                   # Archivo completo a stdout
cat archivo1.txt archivo2.txt     # Concatenar múltiples archivos
head -n 20 archivo.txt            # Primeras 20 líneas
tail -n 20 archivo.txt            # Últimas 20 líneas
tail -f /var/log/app.log          # Seguir salida de registro en vivo
less archivo.txt                  # Vista paginada (q para salir)
grep "patrón" archivo.txt         # Líneas que coinciden con el patrón
grep -r "patrón" ./dir/           # Búsqueda recursiva en directorio
grep -n "patrón" archivo.txt      # Con números de línea
grep -i "patrón" archivo.txt      # Sin distinción de mayúsculas/minúsculas

6. Ordenar resultados

sort archivo.txt                  # Alfabético (ascendente)
sort -r archivo.txt               # Orden inverso
sort -n archivo.txt               # Orden numérico
sort -k2 archivo.txt              # Ordenar por columna 2
sort -t: -k3 -n /etc/passwd       # Delimitador personalizado (:), columna 3, numérico
ls -la | sort -k5 -n              # Ordenar salida de ls por tamaño de archivo (col 5)

7. Resultados únicos

# uniq solo elimina duplicados *consecutivos* — siempre ordenar primero
sort archivo.txt | uniq            # Eliminar duplicados
sort archivo.txt | uniq -c         # Contar ocurrencias
sort archivo.txt | uniq -d         # Mostrar solo duplicados
sort archivo.txt | uniq -u         # Mostrar solo líneas que aparecen una vez

# Pipeline típico: contar tipos de error en un registro
cat app.log | grep ERROR | sort | uniq -c | sort -rn

8. Escribir y ejecutar scripts con heredoc

# Crear un archivo de script en línea
cat << 'EOF' > miprograma.sh
#!/bin/bash
set -euo pipefail   # Salir en error, variable no definida o fallo de tubería

echo "Hoy: $(date +%Y-%m-%d)"

for i in 1 2 3; do
  echo "Paso $i"
done
EOF

chmod +x miprograma.sh
./miprograma.sh

# O ejecutar directamente sin crear un archivo
bash << 'EOF'
echo "Ejecución en línea"
ls -la /tmp
EOF

Mejores prácticas para scripts:

  • Siempre comenzar con #!/bin/bash
  • Usar set -euo pipefail para valores predeterminados seguros
  • Siempre entrecomillar las variables: "$VAR" no $VAR
  • Usar $(...) en lugar de comillas invertidas

9. Sistema de archivos — referencia rápida

# Navegar e inspeccionar
pwd && ls -lah              # ¿Dónde estoy? + ¿Qué hay aquí?
tree -L 2                   # Árbol de directorios (2 niveles de profundidad)
find /ruta -name "*.log"    # Buscar por nombre
du -sh /ruta                # Tamaño de un directorio
df -h                       # Uso de disco de todos los montajes

# Crear / copiar / mover / eliminar
mkdir -p /ruta/a/directorio # Crear con directorios padres
cp -r origen/ destino/      # Copiar directorio
mv origen destino           # Mover o renombrar
rm -rf dir/                 # Eliminar recursivamente (irreversible)

# Permisos y propiedad
chmod +x archivo            # Hacer ejecutable
chmod 644 archivo           # rw-r--r--
chown usuario:grupo archivo  # Cambiar propietario

# Enlaces
ln -s /destino /enlace      # Enlace simbólico
readlink -f /enlace         # Resolver enlace simbólico a ruta real

# Montajes
mount                       # Listar todos los montajes activos
lsblk                       # Árbol de dispositivos de bloque
findmnt                     # Árbol de puntos de montaje

→ Referencia completa del sistema de archivos: references/bash.md

10. Instalar y actualizar — referencia rápida

# APT
sudo apt update && sudo apt upgrade -y
sudo apt install -y nombre-paquete

# pip (Python)
pip install paquete --break-system-packages

# npm (Node.js)
npm install -g nombre-paquete

→ Referencia completa de instalación (snap, desde fuente, opciones de pip): references/bash.md

11. Obtener ayuda sobre un comando

comando --help              # Ayuda en línea (más rápido)
man comando                 # Página de manual completa
apropos palabra_clave       # Buscar resúmenes de páginas man
whatis comando              # Descripción de una línea
info comando                # Páginas info de GNU (para herramientas GNU)
help cd                     # Ayuda para builtins del shell

12. Variables de entorno — referencia rápida

export VAR="valor"          # Establecer para el shell actual y subprocesos
echo $VAR                   # Leer una variable
unset VAR                   # Eliminar una variable
env                         # Listar todas las variables de entorno
VAR=valor comando           # Establecer solo para un solo comando

→ Persistencia de variables, carga de archivos .env: references/bash.md


Referencias detalladas

Carga estos archivos cuando necesites cobertura completa de comandos:

  • references/bash.md — sistema de archivos completo, instalación/actualización, variables de entorno, patrones de scripting
  • references/containers.md — Podman, kubectl, Helm
  • references/curl.md — curl para peticiones HTTP
  • references/agents.md — aider-chat y CLI de Claude

Skills relacionados