Cap 12: Ralph Wiggum Loop

Por: Artiko
claude-coderalph-wiggumautonomíaloopplugin

Qué es Ralph Wiggum Loop

Ralph Wiggum Loop es un plugin para Claude Code que permite ejecutar tareas autónomas de larga duración. En lugar de que Claude se detenga y espere aprobación en cada paso, el loop mantiene al agente trabajando continuamente hasta completar la tarea.

El nombre viene del meme de Ralph Wiggum: “I’m in danger” — el agente trabaja de forma autónoma sin supervisión constante.

Cuándo usar

Cuándo NO usar

Instalación

Ralph Wiggum se instala como plugin de Claude Code:

# Instalar el plugin
claude plugin add ralph-loop

# Verificar instalación
claude plugin list

Comandos disponibles

ComandoDescripción
/ralph-loopIniciar el loop autónomo
/cancel-ralphCancelar el loop activo
/ralph-loop:helpVer ayuda del plugin

Uso básico

claude
> /ralph-loop

# Claude te pedirá la tarea:
> "Migra todos los componentes de clase a functional components en src/components/"

# El loop comienza:
# 1. Claude analiza el scope
# 2. Crea un plan
# 3. Ejecuta paso a paso
# 4. Commitea cada cambio
# 5. Continúa hasta completar

Configuración

Sandbox recomendado

Para tareas autónomas, es recomendable limitar lo que Claude puede hacer:

{
  "permissions": {
    "allow": [
      "Read",
      "Edit(src/**)",
      "Write(src/**)",
      "Bash(bun test *)",
      "Bash(git add *)",
      "Bash(git commit *)",
      "Glob",
      "Grep"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push *)",
      "Bash(curl * | bash)"
    ]
  }
}

Límites de seguridad

# Limitar presupuesto
claude -p --max-budget-usd 10.00 "tarea..."

# Limitar turnos
claude -p --max-turns 50 "tarea..."

Flujo del loop

flowchart TD
    I([Inicio]) --> AP[Analizar tarea y crear plan]
    AP --> EJ[Ejecutar siguiente paso]
    EJ --> VR[Verificar resultado\ntests + lint]
    VR --> CM[Commitear cambio atómico]
    CM --> MP{¿Más pasos?}
    MP -->|Sí| EJ
    MP -->|No| RF([Resumen final])
    VR --> ER{¿Error?}
    ER -->|Sí| COR[Intentar corregir]
    COR --> VR
    ER -->|Irrecuperable| REP([Reportar al usuario])

Mejores prácticas

  1. Definir scope claro: “todos los archivos en src/components/” es mejor que “todos los componentes”
  2. Tests como verificación: asegurar que hay tests que validen el trabajo
  3. Commits atómicos: el loop commitea cada cambio, facilitando revert
  4. Revisar al final: siempre revisar los cambios después del loop
  5. Limitar presupuesto: establecer límites de gasto y turnos
  6. Branch separado: trabajar en un branch dedicado, no en main

Alternativa: Print mode con scripting

Si no quieres usar el plugin, puedes simular un loop con print mode:

# Script de loop básico
claude -p --max-turns 20 \
  "Migra los componentes de clase a functional components.
   Trabaja uno por uno. Commitea cada cambio.
   Ejecuta tests después de cada cambio."

Siguiente: CLI Flags y Startup