Communitygithub.com

n8n: Habilidades para agentes de automatización e infraestructu…

17 habilidades para agentes e infraestructura de automatización: RAG, servidores MCP, ingeniería de prompts, n8n y tiempos de ejecución.

¿Qué es n8n: Habilidades para agentes de automatización e infraestructu…?

Este conjunto de habilidades proporciona a los agentes de IA y desarrolladores una guía completa para construir automatizaciones de flujos de trabajo de nivel productivo utilizando n8n. Incluye componentes para diseñar flujos de trabajo (desencadenadores webhook, por cron, formularios, correo entrante), manejo de errores con reintentos y flujos de error dedicados, y transformación de datos mediante expresiones, nodos de código (JavaScript/Python) y más. También cubre el desarrollo de nodos personalizados en TypeScript (declarativos vs. programáticos), gestión de credenciales cifradas, y el uso de la API REST de n8n para automatización programática. Es ideal para agentes como Claude Code, Cursor o Codex, ya que ofrece referencias detalladas y reglas críticas (cada flujo necesita un nodo desencadenador, los elementos son arreglos, las expresiones son preferibles a los nodos de código, los caminos de webhook deben ser únicos, y los datos binarios requieren manejo explícito). Soporta despliegues autogestionados (Docker) e instalación global con npm.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add poorvith-mp/skills-agents

Preguntar en tu IA favorita

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

Documentación

N8n

Eres un experto en construir automatizaciones de flujos de trabajo de nivel productivo, nodos personalizados e integraciones con n8n.

Lee los archivos de referencia detallados para patrones completos:

Lista de verificación de configuración

Autogestionado (Docker)

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Desarrollo de nodos personalizados

npx n8n-node-dev new        # crear un nuevo nodo
npm link                     # enlazar el nodo a n8n local
n8n start                   # iniciar con nodos personalizados cargados

npm (Global)

npm install n8n -g
n8n start

Patrones principales

Estructura JSON de un flujo

{
  "name": "Mi Flujo",
  "nodes": [
    {
      "parameters": {},
      "id": "id-unico",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [250, 300]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [[{ "node": "Siguiente Nodo", "type": "main", "index": 0 }]]
    }
  },
  "settings": { "executionOrder": "v1" }
}

Tipos de desencadenadores comunes

DesencadenadorCaso de uso
n8n-nodes-base.webhookSolicitudes HTTP, puntos finales de API
n8n-nodes-base.scheduleTriggerTareas recurrentes basadas en cron
n8n-nodes-base.formTriggerEnvíos de formularios de usuario
n8n-nodes-base.emailReadImapCorreos electrónicos entrantes
n8n-nodes-base.workflowTriggerLlamado por otros flujos

Sintaxis de expresiones

{{ $json.fieldName }}                    // datos del nodo actual
{{ $input.first().json.field }}          // primer elemento de entrada
{{ $('NodeName').first().json.field }}   // datos de un nodo específico
{{ $now.toFormat('yyyy-MM-dd') }}        // formato de fecha Luxon
{{ $if($json.age > 18, "adult", "minor") }}  // condicional
{{ $jmespath($json, "items[?price > `100`]") }}  // consulta JMESPath

Patrón de manejo de errores

{
  "nodes": [
    {
      "name": "Tarea Principal",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 1000
    }
  ]
}

Nodo de código (JavaScript)

// En un nodo de código — procesar todos los elementos
const results = [];
for (const item of $input.all()) {
  results.push({
    json: {
      processed: item.json.name.toUpperCase(),
      timestamp: new Date().toISOString(),
    }
  });
}
return results;

Nodo de código (Python)

# En un nodo de código — procesar todos los elementos
results = []
for item in _input.all():
    results.append({
        "json": {
            "processed": item.json["name"].upper(),
            "timestamp": str(datetime.now()),
        }
    })
return results

Reglas críticas

  1. Cada flujo necesita un nodo desencadenador — webhooks, schedules, formularios o desencadenadores de aplicación inician la ejecución
  2. Los elementos son arreglos — cada nodo recibe y envía arreglos de elementos; siempre maneja múltiples elementos
  3. Usa expresiones en lugar de nodos de código — las expresiones son más rápidas y fáciles de mantener; usa código solo para lógica compleja
  4. Establece executionOrder: "v1" — garantiza un orden de ejecución predecible de nodos en flujos nuevos
  5. Los flujos de error son separados — configura un flujo de error dedicado en la configuración del flujo para capturar fallos
  6. Las credenciales se cifran en reposo — nunca codifiques secretos en los parámetros del nodo; usa el sistema de credenciales de n8n
  7. Los caminos de webhook deben ser únicos — caminos duplicados causan conflictos de enrutamiento
  8. Los datos binarios requieren manejo explícito — usa el nodo "Mover datos binarios" para convertir entre binario y JSON
  9. Prueba con ejecución manual primero — siempre prueba los flujos manualmente antes de activarlos para producción
  10. Fija datos para desarrollo — usa datos fijados en nodos para probar lógica descendente sin volver a desencadenar
  11. Sub-flujos para reutilización — extrae lógica compartida en sub-flujos llamados mediante el nodo Ejecutar flujo
  12. Respeta los límites de tasa — usa el nodo DividirEnLotes y nodos de espera al llamar APIs con límite de tasa

Categorías clave de nodos

CategoríaNodos
FlujoSI, Interruptor, Fusionar, DividirEnLotes, Repetir sobre elementos
TransformarEstablecer, Código, Extraer HTML, Markdown, XML, Fecha y hora
DatosSolicitud HTTP, GraphQL, FTP, RSS, Leer/Escribir archivos
DesarrolladorWebhook, Ejecutar comando, Ejecutar flujo, Función
IAAgente IA, Clasificador de texto, Cadena de resumen, Almacén vectorial

Usa $ARGUMENTS para entender lo que el usuario quiere construir. Lee los archivos de referencia para patrones detallados antes de escribir código.


Formato de salida

  • Comienza con el resultado que el usuario solicitó.
  • Usa encabezados claros y listas con viñetas cuando sea útil.
  • Menciona suposiciones y preguntas abiertas al final.
  • Mantente específico al flujo de n8n; evita relleno genérico.

Lista de verificación de verificación y calidad

  • El código compila y todas las pruebas automatizadas y verificaciones de tipos pasan sin nuevas advertencias.
  • Los casos límite, condiciones fronterizas y estados de error se manejan explícitamente en lugar de asumirse.
  • No se introducen secretos codificados, credenciales o valores predeterminados inseguros.
  • Los cambios están cubiertos por una prueba que falla sin ellos.

Anti-patrones y restricciones

  • NUNCA debilites ni omitas una prueba que falla para que un cambio se implemente.
  • NUNCA tragues errores en silencio ni dejes rechazos no manejados en rutas de producción.
  • NUNCA introduzcas un cambio de API que rompa la compatibilidad sin un aumento de versión y una ruta de migración.

Skills relacionados