🔄 El flujo invertido
A todos nos ha pasado: te enfrentas a un bug de CSS —una navbar que se superpone al contenido, un iframe de video cortado en el borde, un modal que funciona en desktop y se desarma en mobile. Le describes el problema al agente y él se sumerge directo en el código, edita tres archivos, ejecuta el build... y la corrección sale mal. Vuelves a describirlo, vuelve a editar, ejecuta el build otra vez, y ahora rompe otra cosa.
El flujo tradicional de IA es de de atrás hacia adelante: primero adivina los cambios de código y espera que el resultado quede bien. Así no trabaja un desarrollador. Un desarrollador abre el navegador, inspecciona el elemento, ajusta el CSS en vivo, ve el resultado al instante y solo entonces escribe el código permanente. El Vibe Coding hace que tu agente trabaje exactamente así.
Cada corrección se valida en pantalla antes de tocar el código.
Acaba el ciclo "editar → compilar → revertir → repetir".
Como un desarrollador con DevTools abierto al lado del tuyo.
Enfoque en el diseño y los errores visuales, no en el esquema de la base de datos.
📂 Confirmar el workspace
Antes de hacerlo cualquier trabajo, la skill obliga al agente a confirmar el repositorio activo. Detecta el directorio de trabajo actual y te pregunta claramente si es el proyecto correcto para la sesión. Nada de git, nada de browser, nada de edición hasta que confirmes. Es un paso sencillo que previene un daño costoso: modificar el proyecto equivocado.
📂 La verificación del repositorio
El agente detecta la ruta del workspace y te presenta la confirmación como una parada obligatoria. Algo así:
Si dices que el workspace está mal, él detente de inmediato y te indica que vuelvas a abrir el proyecto correcto antes de volver a activar el flujo.
🔌 Nota de portabilidad
La skill se diseñó originalmente para un entorno con una herramienta nativa de "hard stop" (que bloquea la ejecución mientras espera al usuario). En otros agentes, puede que esa herramienta no exista.
La lección también aplica: sustituye la llamada por una pregunta directa y detente de verdad — continúa solo después de la respuesta. El comportamiento ("detente y espera") importa más que el nombre de la tool.
Descubrir automáticamente el directorio activo.
Mostrar la ruta y esperar hasta recibir confirmación.
Si el repo es incorrecto, el flujo termina de inmediato.
Ninguna acción destructiva antes de este paso.
🌿 Branch-first y seguridad de git
Confirmado el workspace, el siguiente paso es crear el sandbox antes de cualquier
análisis. El agente verifica el git status; si hay
trabajo sin commit, se pausa y ofrece una copia de seguridad local. Con el árbol limpio, pide una descripción breve de la
tarea y inmediatamente crea y cambia a una rama local. Tú
experimentas sin miedo: la main nunca se toca.
# 1. Verifica se há trabalho não commitado git status # 2. (se sujo) oferece backup local antes de começar git add . && git commit -m "wip: backup antes do vibe" # 3. cria a sandbox ANTES de abrir o navegador git checkout -b vibe/fix-navbar-bleed
✓ Qué HACER
- ✓Crear la rama antes de inspeccionar o abrir el navegador.
- ✓Ofrecer una copia de seguridad del trabajo sin commit.
- ✓Nombra la branch según la tarea:
vibe/fix-modal-ratio. - ✓Una branch dedicada por corrección.
✗ Qué NO hacer
- ✗Editar en la
mainomasterdirectamente. - ✗Empezar a hacer cambios sin revisar el
git status. - ✗Revertir archivos en pánico si el linter se queja.
- ✗Reutilizar la misma branch para varias correcciones.
Estado del árbol antes de cualquier cosa.
El trabajo sin commit se convierte en un commit local.
Sandbox aislada, creada de inmediato.
Experimentar con libertad sin afectar main.
🌐 Navegador visible e inyección en vivo
Ahora viene la parte que le da nombre a la skill. El agente identifica la URL objetivo: puede ser un servidor de desarrollo local
(http://localhost:3000) o una URL alojada de staging/producción.
Si es local, levanta el servidor en segundo plano; si está alojada, omite este paso. Luego inicia un navegador
automatizado visible, NO headless, en tu pantalla: ves cómo
ocurre la automatización en vivo.
Con la página abierta, el agente inspecciona el DOM (ahorrándote copiar y pegar HTML) y inyecta CSS/JS en vivo para probar correcciones — sin editar ningún archivo del proyecto. Toma capturas de los ajustes y te las muestra. Como alternativa, genera un snippet de JavaScript puro para que lo pegues en la consola de tu propio navegador.
document.querySelector('.navbar')
.style.position = 'relative';
💡 Consejo práctico: recuperación de sesión
Si el navegador se vuelve a cargar (a propósito o por accidente) y se pierden las inyecciones en vivo, es simple: vuelve a inspeccionar el DOM y vuelve a aplicar el CSS/JS. Nada de archivos temporales ni registros de inyección complejos — el camino es mantener el proceso ligero.
localhost con servidor de desarrollo o URL de staging.
Ves la automatización en tu pantalla.
CSS/JS en la página en ejecución, cero archivos.
Prueba visual del ajuste, mostrada a ti.
⛔ Las detenciones obligatorias
Esta es el alma de la skill. Son cuatro puertas de aprobación obligatorias. El agente literalmente no puede saltarse pasos: se detiene y espera tu «adelante» en cada momento crítico. Tu código, tus reglas. Cada puerta tiene un límite claro y ninguna permite que la siguiente se abra por sí sola.
Aprobación visual
En el ciclo de troubleshooting
Después de inyectar la corrección, el agente se detiene y pregunta: "¿Cómo quedó? ¿Quieres iterar más en el diseño o estamos listos para pensar la estrategia de código?". La aprobación aquí solo permite pasar a la estrategia — no aplica código.
Aprobación de la estrategia
Antes de tocar el código
El agente busca en el repositorio dónde se definen los elementos y propone el enfoque más sólido (un _overrides.scss global? ¿un componente React anidado? ¿una utility de Tailwind?). Explica por qué y pide aprobación explícita.
Revisión del código
Después de guardar los archivos
Una vez aplicados los cambios en la rama local, el agente se detiene y pide: «Revisa el diff en el panel de Source Control y compruébalo en el navegador antes del push». Quien decide si el código está bien eres tú, comprobando localmente — no él.
Aprobación del push
Antes de cualquier comando git de envío
Solo entonces pregunta cuál es el remote de destino y confirma «¿listo para hacer commit y push?». Cada push va en una rama nueva y dedicada; nunca directamente en la main.
🚫 Regla anti-steamroll
É estrictamente prohibido combinar pasos en una sola respuesta. Frases como "voy a esbozar la estrategia y aplicarla de una vez" o "como lo aprobaste, ya voy aplicándola" son una violación del flujo.
Presentar la estrategia y aplicar el código en la misma respuesta rompe la regla. Cada paso requiere tu propia aprobación explícita. Si el agente está a punto de unir ambos, se detiene.
Visual · estrategia · código · push.
Aprobar un paso no habilita el siguiente.
Estrategia y aplicación, nunca juntas.
El usuario aprueba cada momento crítico.
✏️ Persistir, revisar y cerrar
Con la estrategia aprobada, el agente traduce la inyección temporal del navegador en código fuente limpio y permanente. Elimina las utility classes temporales, los console logs y los parches usados en la prueba en vivo. Fíjate en el cambio de vocabulario: es "persistir en la fuente", no "hardcodear". Solo la corrección final y perfecta se convierte en código: el historial de git queda limpio, sin una docena de intentos fallidos.
⛔ Durante la "persistencia": sin terminal, sin revertir
En este paso está prohibido que el agente ejecute cualquier comando de terminal — nada de npm, npx, y ningún comando git (ni git diff, ni git add). Solo edita los archivos y los guarda.
Y si un compilador en segundo plano se queja: no entres en pánico ni reviertas (git checkout -- file). Deja los archivos como están: el usuario se encarga de la compilación.
# Em PowerShell (Windows) NÃO encadeie com &&. # Rode um comando por vez: git add . git commit -m "Fix: navbar bleed-through on staging" git push origin vibe/fix-navbar-bleed
✅ Cierre de sesión (obligatorio)
Después del push exitoso, la sesión de vibe coding está completa. El agente avisa que terminó y te pide que abras un chat nuevo para la siguiente corrección.
¿Por qué? Para evitar context bleed entre tareas: un chat limpio previene conflictos de branch y confusiones con el contexto de la corrección anterior.
Límite de alcance: si pides una nueva arquitectura (p. ej., un esquema de base de datos) en medio de una sesión de vibe, te recuerda amablemente que Vibe Coding es para el diseño y los bugs visuales, y te recomienda un plan o una tarea estándar.
Código limpio, no "hardcode".
¿El linter se quejó? Deja que el usuario lo resuelva.
Compatible con PowerShell, sin &&.
La próxima corrección empieza desde cero.
Ejemplo de salida — una sesión completa
Mira cómo el agente corrige un iframe de video recortado dentro de un modal: desde la revisión del repo hasta el push, deteniéndose en cada punto de control.
git checkout -b vibe/fix-video-modallocalhost:3000/curso visible, inspecciona el .modal iframe, ve el corte en el borde inferiormax-width: 680px en el container con padding-bottom → screenshotVideoModal.jsx → propone ajustar el max-width del wrapper allívibe/fix-video-modal🛠️ Ejercicios prácticos
Ejercicio 1 — Mapea las puertas
Toma un error visual real de tu proyecto (navbar, modal, iframe). Escribe, en una línea cada uno, lo que diría el agente ante cada uno de los 4 hard stops. Esto entrena tu ojo para reconocer cuándo está a punto de pasarse de la raya.
Ejercicio 2 — Prompt de activación
Usa este prompt listo para copiar para abrir una sesión de programación por intuición en tu propio agente:
Ejercicio 3 — Crea un SKILL.md ejecutable
Escribe tu propia versión breve de la skill. Guárdala como vibe-coding/SKILL.md en la carpeta de skills de tu proyecto y actívala pidiendo una corrección visual. Adapta las herramientas de "hard stop" y "navegador" a los equivalentes nativos de tu agente.
🎯 Resumen del módulo
vibe/ creada de inmediato; main queda intacta.Siguiente Módulo:
3.2 — Funnel Builder: un prompt, un embudo completo