Cargando la bóveda…
Cargando la bóveda…
Anthropic lanzó /goal el 11 de mayo 2026. Seteás condición de completitud y Claude sigue trabajando turno tras turno hasta que un modelo evaluator (Haiku default) confirme que la condición se cumplió. Resuelve el dolor de que Claude pierde el hilo a mitad de tarea larga. Combo flagship con /plan.
Trabajás con Claude en migración o página entera. Le pasaste contexto bien al principio. A los 5 turnos ya está editando archivos que no le pediste, o se olvidó del archivo de tests, o se quedó esperando que vos lo guíes en cada paso.
El dolor no es que Claude sea malo planeando. Es que después de cada turno te devuelve el control y vos tenés que volver a empujarlo.
/goal#Vos seteás condición de completitud al principio:
"Todos los tests en test/auth pasan y el build sale verde"
Y Claude empieza a trabajar. Cuando termina cada turno, un modelo evaluator chico y rápido (Haiku por default) lee la conversación y decide:
¿Se cumplió la condición?
El control NO regresa a vos hasta que la meta esté lograda.
◎ /goal active visibleclaude --resume y --continue/loop (loop = por tiempo, goal = por condición)El evaluator es parte de hooks. El workspace tiene que estar marcado confiable. Primera vez te lo pregunta.
Si tenés hooks deshabilitados en config, /goal no funciona.
Claude Code reciente (post 11-mayo-2026).
/goal te avisa por qué en lugar de hacer nada silenciosamente.
/goal todos los tests en test/auth pasan y el build sale verdeClaude empieza, indicador ◎ /goal active aparece.
/goal --statusMuestra: condición + cuántos turnos lleva + última evaluación.
/goal --clearAborta el goal aunque no se haya cumplido.
claude --resumeEl goal sigue activo. Contador se resetea.
Los 3 ingredientes del docs oficial:
Algo que el evaluator pueda chequear leyendo el transcript.
❌ "El código está bien" ✅ "El comando npm test sale exitoso (exit code 0)"
Sin ambigüedad sobre cuándo se cumple.
❌ "Migrá la auth" ✅ "Todas las llamadas a authenticateUser() usan authV2 y tests/auth/* pasa"
No tan amplio que tarde días, no tan chico que sea trivial.
❌ "Refactoreá todo el código del backend" ✅ "Splitear src/handlers/orders.ts (1200 líneas) en archivos ≤300 líneas manteniendo tests verde"
/plan + /goal#1. /plan [tarea grande]
→ Plan Mode diseña approach
→ Vos auditás (ver Plan Mode)
→ Aprobás
2. /goal [condición del plan]
→ Claude ejecuta el plan
→ No suelta hasta cumplirPlan Mode diseña el camino. /goal lo ejecuta sin perder el hilo.
/goal La landing tiene hero + email signup form + footer.
Form valida formato de email, persiste en /api/signups y muestra
mensaje de confirmación. Build pasa sin warnings y npm test
pasa todos los tests./goal src/handlers/orders.ts está splitteado en archivos de máximo
300 líneas cada uno, todos los imports están actualizados, npm
test pasa, y npm run build sale verde./goal Todos los issues con label "tech-debt" en este repo están
o resueltos (PR mergeado) o cerrados con razón documentada.
La query "is:open label:tech-debt" devuelve 0 resultados./goal Cada función pública en src/lib/ tiene JSDoc con descripción
+ parámetros + ejemplo. El comando "npm run docs:check" pasa sin
errores./goal Todas las llamadas a authenticateWithSession() están
reemplazadas por authenticateWithJWT(). Los tests en
test/auth/jwt.test.ts pasan. El test "sessions still work for
existing users" sigue verde. npm run build sale OK.claude --auto --goal "[condición]"Claude trabaja sin pedir confirmación turno a turno. Solo para cuando se cumple el goal o si falla algo crítico.
Cuidado: combina con hooks de protección para que no haga daño.
claude -p#Para CI / cron jobs:
claude -p "/goal [condición]" --no-interactive --max-turns 30Útil para:
El evaluator es modelo chico y rápido (Haiku default). Lee el transcript de la conversación y responde:
{
"completed": true | false,
"reason": "razón corta"
}Si tu condición requiere "verificá X", asegurate que Claude muestre el resultado de la verificación en su turno.
/goal Tests pasan: corré `npm test` y mostrame output. Si exit
code es 0 y veo "All tests passed", está cumplido.Para evitar loops infinitos:
claude --max-turns 50Después de 50, Claude se detiene aunque no se cumpla la condición.
/goal Migración hecha. VERIFICACIÓN: al final, corré `grep -r
"authenticateWithSession" src/` y debe devolver 0 resultados.
Mostrame el comando + output en tu último turno.Le decís EXACTO cómo verificar.
/goal [tarea]. Si encontrás bloqueo técnico que no podés resolver
sin mi input, escribí EN TU TURNO: "BLOQUEO: [descripción]". El
evaluator verá eso y completará el goal como exitoso (vos me
das input después).Evita loops cuando legítimamente necesita tu input.
/goal --status te muestra razones. Revisalas periódicamente. Si el evaluator repite la misma razón 5 turnos, hay algo que Claude no está logrando.
"Hacé que esté bien" → evaluator no puede decidir. Loop infinito o termina mal.
"Los usuarios están satisfechos" → evaluator no puede ver eso. Imposible cumplir.
/goal con prompts vagos#/goal arreglá esto → vago + condición ambigua = catástrofe.
Auto + /goal + sin hooks = Claude puede borrar cosas críticas. Hooks PRIMERO.
--max-turns#Sin límite + condición mal escrita = Claude corre infinito hasta que vos lo matás. Siempre --max-turns.
Combo flagship: Plan Mode diseña → /goal ejecuta.
/loop#Diferencia clave:
/loop corre por tiempo (cada X minutos)/goal corre por condición (hasta cumplirse)Para tareas con criterio claro de éxito → /goal.
Para tareas recurrentes sin "final" → /loop.
Piloto automático + auto mode + /goal = autonomía total. Cuidado con permisos.