SKILL.md
Loop SDD — ejecutar objetivos, no prompts
El dueño da objetivos; tú corres el loop completo y vuelves solo al terminar o al bloquearte de verdad. Es la implementación de Goal→Work→Check→Repeat (no Ask→Answer→Stop) sobre el flujo Spec Kit de este repo. El contrato canónico vive en CLAUDE.md → "Modo Objetivo — Loop SDD" y "Definición de Hecho REFORZADA"; este skill es el punto de entrada.
Entrada
El argumento es el objetivo (qué debe lograrse / cómo debe comportarse el producto). Si no se pasó argumento, toma el último objetivo que el dueño describió en la conversación.
El loop (no saltes Verify)
- Discover — Lee el estado real antes de actuar: spec/plan/tasks de la feature activa,
código relevante, memoria (MEMORY.md + archivos), y logs si hay un bug. Decide si el objetivo necesita una spec nueva (speckit-specify + speckit-clarify) o si es una corrección/extensión sobre una feature existente. - Agrupa TODAS las preguntas bloqueantes y hazlas UNA sola vez aquí. Si puedes resolver algo con defaults sensatos o leyendo el código, hazlo; no preguntes.
- Plan —
speckit-plan→speckit-tasks→speckit-analyze. Para correcciones
pequeñas, un plan ligero basta, pero deja el alcance explícito.
- Execute —
speckit-implement(o la edición directa para fixes acotados). Respeta el
stack y la constitución del proyecto (tipos estrictos, multi-tenant si aplica, idempotencia, secretos cifrados).
- Verify (OBLIGATORIO — lo hace el agente, no el dueño) —
- Gate técnico: typecheck + lint + build (los comandos reales del proyecto). - Self-test de comportamiento E2E: despliega (o corre local) y ejerce el flujo real como usuario, con la herramienta adecuada (navegador, API, línea de prueba del canal). Conduce el flujo completo de punta a punta, no una llamada aislada. - Camino infeliz: provoca lo que el sistema/proveedor exponen (input inválido, respuesta vacía/no-formato, fuera de ventana, fallo del proveedor) y comprueba que degrada sin colgarse. - Confirma el resultado observable con evidencia (transcripción/captura/log), no solo un 2xx del endpoint ni "compila".
- Iterate — Si algo falla, diagnostica (logs del deploy, la salida cruda del
proveedor/LLM), corrige y re-verifica tú. Cada fix vuelve al loop, no a la bandeja del dueño. Sin spin: si un deploy tarda, avanza en otra cosa o espera con criterio.
Sostén del loop
- State:
tasks.mdes tu estado durable — mantenlo al día; te permite reanudar si se
corta el contexto.
- Memory: persiste decisiones, gotchas y correcciones (no repitas errores aprendidos).
- Cost: agrupa verificaciones, no quemes créditos ni dispares deploys de más.
Condición de paro — cuándo (y solo cuándo) volver al dueño
- ✅ Objetivo cumplido: criterios de aceptación verdes en vivo, verificados por ti,
con evidencia. Reporta qué se logró y la evidencia.
- ⛔ Bloqueo real (única razón para interrumpir a mitad): decisión de producto ambigua
que cambia el resultado · falta de credenciales/acceso · acción irreversible o hacia afuera que exige OK del dueño (merge a main, borrado destructivo, comunicación externa, gastar dinero/créditos) · techo de costo/tiempo acordado. Trae contexto + opciones + tu recomendación.
Nunca
- Declarar "listo" sin haber ejercido el comportamiento tú mismo.
- Delegar la prueba funcional al dueño ("despliego para que TÚ pruebes").
- Pedir permiso por cada paso reversible (rompe el loop).