Rechazar el Vibe Coding: el repositorio skills de Matt Pocock añade restricciones de ingeniería a la programación con IA

Resumen del repositorio skills de Matt Pocock: usar grill-me, grill-with-docs, TDD, diagnose y revisión de arquitectura para devolver la programación con IA a la claridad de requisitos, el lenguaje de dominio, la retroalimentación de tests y la mantenibilidad.

Cuanto más rápido escribe código la IA, más rápido puede perder el control un proyecto. La cuestión real no es si un modelo puede generar funciones, sino si entiende el requisito, respeta el lenguaje del equipo y avanza con cambios pequeños dentro de la arquitectura existente.

El repositorio mattpocock/skills de Matt Pocock apunta en la dirección opuesta al vibe coding: no dejar que la IA tome todo el proceso de desarrollo, sino ponerla dentro de restricciones maduras de ingeniería de software.

Proyecto: https://github.com/mattpocock/skills

No se trata de un prompt mágico. Es un conjunto de agent skills que convierten aclaración de requisitos, modelado de dominio, TDD, diagnóstico y revisión arquitectónica en workflows adecuados para herramientas de AI Coding.

Primero resolver la falta de alineación

El fallo más común en AI Coding es creer que el modelo entendió cuando en realidad solo adivinó a partir de una descripción vaga.

grill-me invierte la interacción. Antes de escribir código, el agente actúa como un revisor exigente y pregunta por ramas, límites y decisiones pendientes.

Si pides una página de login, debería preguntar primero:

  • Cómo funcionará recuperar contraseña.
  • Si habrá login de terceros.
  • Qué error mostrar cuando falle el login.
  • Si bloqueo de cuenta, CAPTCHA o control de riesgo están dentro del alcance.
  • A dónde redirigir tras el éxito.

Parece más lento, pero reduce retrabajo. Cuanto más barato es generar código, más caro se vuelve no haber aclarado el requisito.

Escribir el lenguaje de dominio en el contexto

Otro problema es el vocabulario genérico. El modelo no conoce los términos internos del equipo, así que los nombres de variables, funciones y documentos empiezan a desviarse.

grill-with-docs pregunta mientras revisa CONTEXT.md, ADRs o documentos de dominio. Los términos y decisiones confirmados pueden volver a esos documentos.

Esto se parece al lenguaje ubicuo de DDD. Si el equipo dice customer en lugar de user, o transaction en lugar de order, la IA debe heredar esa terminología.

El valor del contexto no está en acumular datos, sino en reducir la necesidad de adivinar.

Usar TDD para limitar la velocidad

La IA es peligrosa porque es rápida. Antes, escribir mucho mal código tomaba tiempo; ahora aparecen cientos de líneas en segundos. El problema no es la velocidad, sino la falta de ciclos de feedback.

El skill tdd devuelve el ciclo rojo-verde-refactor:

  1. Escribir un test fallido para un comportamiento.
  2. Implementar lo mínimo para pasarlo.
  3. Refactorizar.
  4. Continuar con el siguiente corte vertical.

La clave es avanzar comportamiento por comportamiento. La IA ejecuta; la persona controla dirección y límites.

Diagnosticar con un ciclo

Ante un bug, muchos agentes adivinan y parchean varias veces hasta empeorar el código.

diagnose exige crear primero un ciclo de feedback:

  • Reproducir el problema
  • Minimizar el caso
  • Formular una hipótesis
  • Añadir observación o logs
  • Corregir
  • Añadir una prueba de regresión

Es un proceso clásico, pero en AI Coding es aún más importante. La IA prueba rápido; el proceso la mantiene cerca de la causa raíz.

Revisar la arquitectura con regularidad

Que una tarea pase no significa que el código esté mejor. Muchas pequeñas modificaciones de IA pueden difuminar límites de módulos, complicar interfaces y hacer más difíciles los tests.

Skills como improve-codebase-architecture hacen que el agente mire el código desde más arriba:

  • Qué módulos mezclan responsabilidades.
  • Qué interfaces son demasiado complejas.
  • Qué rutas son difíciles de probar.
  • Qué nombres no encajan con el lenguaje de dominio.
  • Qué duplicaciones conviene consolidar.

No es una gran refactorización automática. Es observación estructurada y dirección de mejora; la decisión sigue siendo humana.

Lo que hay que limitar es la libertad

La idea central es sencilla: programar con IA no consiste en dejar improvisar al modelo, sino en darle objetivos, contexto, tests y condiciones de parada.

Las personas definen el problema, los límites de arquitectura, las decisiones de negocio y los criterios de aceptación. La IA genera código, completa tests, repite cambios y hace refactors locales.

Los fundamentos de ingeniería de software no quedaron obsoletos porque la IA mejoró. Aclarar requisitos, usar lenguaje de dominio, TDD, diagnóstico y revisión de arquitectura es cada vez más importante.

Cada vez más personas podrán escribir código. La diferencia estará en quién puede insertar la IA en un sistema de ingeniería mantenible, verificable y capaz de evolucionar.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy