APLICACION

Modulo 04: Automatizacion, hooks y agentes

ACTUALIZADO Q3 2026

Automatizacion inteligente: de repetir a delegar

Hay una diferencia fundamental entre automatizar y delegar. Automatizar es programar una secuencia fija: "cuando pase X, haz Y". Delegar es dar contexto a un agente y que decida como actuar.

graph LR
    A[Evento] --> B{Hook}
    B -->|PostToolUse| C[ESLint auto-fix]
    B -->|PreToolUse| D[Validar permisos]
    C --> E[Agente Custom]
    D --> E
    E --> F{Tipo tarea}
    F -->|Investigar| G[Explorer]
    F -->|Planificar| H[Plan Agent]
    F -->|Implementar| I[Builder]
    F -->|Revisar| J[Reviewer]

La mayoria de herramientas de automatizacion (Zapier, Make, IFTTT) operan en el primer nivel: triggers y acciones predefinidas. Son utiles, pero rigidas. Un agente de IA opera en el segundo nivel: recibe un objetivo, analiza el contexto y elige las acciones necesarias.

Clave: La automatizacion clasica repite. Los agentes deciden y actuan. Combinar ambos niveles es donde esta el verdadero poder.
  • Nivel 1 (Automatizacion): Reglas fijas, triggers, flujos lineales. Ideal para tareas repetitivas y predecibles.
  • Nivel 2 (Agentes): Objetivos, contexto, herramientas. Ideal para tareas que requieren juicio o adaptacion.
  • Nivel 3 (Orquestacion): Multiples agentes coordinados con un supervisor. Para flujos complejos multi-paso.

Hooks: automatizar acciones en tu editor

Los hooks en Claude Code permiten ejecutar comandos automaticamente antes o despues de que el agente use una herramienta. Son el puente entre la IA y tu flujo de desarrollo.

Existen dos tipos principales:

  • PreToolUse: Se ejecuta antes de que la herramienta actue. Util para validaciones, confirmaciones o transformaciones previas.
  • PostToolUse: Se ejecuta despues de que la herramienta termine. Perfecto para linting, formateo, tests o notificaciones.

Configuracion en .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "command": "npx eslint --fix $CLAUDE_FILE_PATH"
      },
      {
        "matcher": "Write",
        "command": "npx prettier --write $CLAUDE_FILE_PATH"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo 'Ejecutando comando bash...'"
      }
    ]
  }
}
Ejemplo practico: Cada vez que Claude edita un archivo TypeScript, el hook PostToolUse ejecuta ESLint para corregir errores de estilo automaticamente. Sin intervencion manual, sin olvidarse nunca.

Casos de uso avanzados para hooks:

  • Ejecutar tests unitarios cada vez que se modifica un archivo de codigo
  • Formatear archivos con Prettier al guardar
  • Validar tipos con tsc --noEmit tras ediciones en TypeScript
  • Enviar notificaciones a Slack cuando se completa una tarea larga
  • Generar documentacion automatica tras crear nuevas funciones

Agentes custom: tu equipo virtual

Claude Code permite crear agentes especializados que trabajan como un equipo. Cada agente tiene un rol definido, herramientas especificas y un ambito de actuacion limitado.

Tipos de agentes segun su funcion:

  • General-purpose: El agente por defecto. Puede hacer de todo, pero no esta optimizado para nada especifico.
  • Explore: Investiga el codebase, lee archivos, entiende la arquitectura. No modifica nada.
  • Plan: Analiza requisitos y genera un plan de implementacion detallado paso a paso.
  • Builder: Implementa codigo siguiendo un plan. Crea archivos, edita, ejecuta tests.
  • Investigator: Busca bugs, analiza logs, traza errores. Especialista en debugging.
  • Reviewer: Revisa codigo, busca problemas de seguridad, rendimiento y estilo.

Un pipeline tipico: Explore analiza el codebase, Plan genera la estrategia, Builder implementa el codigo, Reviewer valida el resultado. Cada paso alimenta al siguiente.

Ejemplo de pipeline multi-agente:

# 1. Investigar el estado actual
claude --agent explore "Analiza la estructura del modulo auth"

# 2. Planificar cambios
claude --agent plan "Anade soporte para OAuth2 al modulo auth"

# 3. Implementar
claude --agent builder "Implementa el plan de OAuth2"

# 4. Revisar
claude --agent reviewer "Revisa la implementacion de OAuth2"

Permisos y seguridad

Controlar que puede y que no puede hacer cada agente es critico. Claude Code ofrece control granular sobre las herramientas disponibles.

Categorias de permisos:

  • Read: Leer archivos del proyecto
  • Edit: Modificar archivos existentes
  • Write: Crear archivos nuevos
  • Bash: Ejecutar comandos en terminal
  • MCP: Usar servidores MCP externos

Principio de minimo privilegio: cada agente solo debe tener acceso a las herramientas que necesita para su tarea.

{
  "permissions": {
    "allowedTools": ["Read", "Grep", "Glob"],
    "denyTools": ["Bash", "Write"],
    "autoApprove": ["Read"]
  }
}
Seguridad: En modo headless (CI/CD, scripts), usa allowedTools para restringir las herramientas disponibles. Un agente de revision no necesita poder escribir archivos. Un agente de analisis no necesita ejecutar bash.

Configuracion para ejecucion headless (sin intervencion humana):

claude --headless \
  --allowedTools "Read,Grep,Glob" \
  --prompt "Revisa el codigo del directorio src/ y genera un informe"

n8n y automatizacion visual

n8n es una plataforma de automatizacion visual open-source que complementa perfectamente a los hooks de codigo. Mientras los hooks actuan dentro de tu editor, n8n conecta servicios externos sin escribir codigo.

Cuando usar cada herramienta:

  • Hooks (codigo): Acciones dentro del flujo de desarrollo. Linting, tests, formateo.
  • n8n (visual): Conexiones entre servicios externos. Email, CRM, Slack, bases de datos.

Tres workflows practicos con n8n:

1. Email a clasificar a Slack:

Trigger: Email recibido (IMAP)
  -> Nodo IA: Clasificar urgencia (alta/media/baja)
  -> Condicional: Si urgencia == "alta"
    -> Slack: Enviar a #urgente con mencion @channel
    -> Si no: Guardar en base de datos para revision

2. Formulario a CRM:

Trigger: Webhook (formulario web)
  -> Nodo IA: Extraer datos estructurados del mensaje
  -> Supabase: Crear lead en tabla prospects
  -> Brevo: Anadir a lista de nurturing
  -> Slack: Notificar al equipo comercial

3. RSS a resumen diario:

Trigger: Cron (08:00 cada dia)
  -> RSS: Leer 5 feeds tecnologicos
  -> Nodo IA: Resumir las 10 noticias mas relevantes
  -> Email: Enviar digest al equipo
  -> Notion: Archivar en base de conocimiento

Comparativa de plataformas de automatizacion:

Criterio Zapier Make n8n
Precio Desde 19 USD/mes Desde 9 USD/mes Gratis (self-hosted)
Self-hosting No No Si (Docker)
Nodos IA Limitados Buenos Excelentes
Codigo custom Basico Medio Completo (JS/Python)
Soberania datos No (cloud US) No (cloud EU) Total (tu servidor)

Comandos reutilizables (Skills)

Los comandos personalizados en .claude/commands/ permiten crear atajos para tareas frecuentes. Cada archivo .md en esa carpeta se convierte en un comando invocable.

Estructura de un comando:

# .claude/commands/deploy.md

Ejecuta el proceso de deploy completo:
1. Ejecuta los tests con `npm test`
2. Si todos pasan, ejecuta `npm run build`
3. Verifica que el build no tiene errores
4. Ejecuta `npm run deploy`
5. Confirma que el deploy fue exitoso
6. Notifica el resultado

Mas ejemplos de comandos utiles:

# .claude/commands/review.md

Revisa el codigo del ultimo commit:
1. Lee los archivos modificados con `git diff HEAD~1`
2. Busca problemas de seguridad (inyecciones, secrets expuestos)
3. Verifica que no hay console.log en produccion
4. Comprueba que hay tests para las funciones nuevas
5. Genera un resumen con hallazgos y sugerencias
# .claude/commands/test.md

Ejecuta la suite de tests y analiza resultados:
1. Ejecuta `npm test -- --coverage`
2. Si hay tests fallidos, analiza la causa
3. Sugiere fixes para los tests rotos
4. Muestra un resumen de cobertura

Para invocar un comando, escribe /deploy, /review o /test en Claude Code. Los comandos se comparten con el equipo a traves del repositorio.

Tip: Combina hooks + comandos + agentes para crear flujos completos. Ejemplo: el comando /feature lanza un agente Plan, luego un Builder, con hooks de ESLint y tests automaticos en cada paso.

Pon a prueba tus conocimientos

Completa el quiz para verificar que dominas hooks, agentes y automatizacion.

Hacer quiz