El Evaluator-Optimizer es uno de los cinco patrones de workflow que Anthropic define en Building Effective Agents: un LLM genera, otro evalúa y da feedback en bucle. Claude Code no tiene ese bucle automático — pero puedes construirlo como una inline skill que se invoca bajo demanda.
La clave del patrón: cada claim del output anterior se contrasta contra evidencia real — código fuente, documentación oficial, archivos de configuración. No opiniones. Hechos verificables.
Resultado:
/evaluate # 1 pasada de evaluación
/evaluate 2 # 2 pasadas (la segunda evalúa la propia evaluación)
Por qué una skill y no un sub-agente
El evaluador necesita ver lo que se acaba de producir. Un sub-agente o una skill con context: fork pierde el contexto de la conversación — tendría que redescubrir todo desde cero.
flowchart TD
A["¿El evaluador necesita ver\nel output previo?"] -->|Sí| B["Skill inline"]
A -->|No| C["¿Necesita aislamiento?"]
C -->|Sí| D[Sub-agente]
C -->|No| E["Skill con context: fork"]
La documentación oficial lo respalda: "Consider Skills instead when you want reusable prompts or workflows that run in the main conversation context rather than isolated subagent context."
La skill
---
name: evaluate
description: Evaluator-Optimizer pattern. Critically evaluates every claim,
decision, and assertion from the previous output against verifiable evidence
from code, documentation, configuration, and other sources.
disable-model-invocation: true
argument-hint: [passes]
allowed-tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
---
disable-model-invocation: true— tú decides cuándo evaluar, no Claudeallowed-tools— el evaluador necesita leer y buscar para contrastar claims$ARGUMENTS—/evaluate 2ejecuta dos pasadas; sin argumento, una
El sistema de veredictos
| Veredicto | Significado |
|---|---|
VERIFIED |
Evidencia directa lo respalda |
PARTIALLY CORRECT |
La idea central es correcta pero los detalles no |
UNVERIFIED |
No se encontró evidencia para confirmar ni negar |
INCORRECT |
La evidencia lo contradice directamente |
OUTDATED |
Fue correcto en algún momento pero ya no |
Regla: todo veredicto cita una fuente específica — ruta de archivo con línea, URL, output de comando. "Creo que" no es evidencia. Sin fuente = UNVERIFIED.
En la práctica
Usé /evaluate sobre el propio análisis que produjo la skill. Resultado: 21 claims, 18 verificados, 3 parcialmente correctos. Ninguno incorrecto — pero tres asunciones sólidas tenían matices que no habría detectado sin el patrón. El artículo completo cubre el proceso de principio a fin: Evaluator-Optimizer en Claude Code: de patrón a skill.
Official docs: Skills · Building Effective Agents — Anthropic