Contenido del curso
Robustez y calidad en specs ejecutables
- 5

Crea la Constitución de tu proyecto con Spec Kit
07:15 min - 6

Diseña la Spec de tu proyecto
Viendo ahora - 7

Cómo leer una spec: Metodologías Given-When-Then y EARS
04:59 min - 8

Comando Clarify: Casos borde, ambigüedades y supuestos
07:44 min - 9

Comando Plan: de la Spec al código
04:15 min - 10

Comando Task: tareas con orden lógico
03:45 min - 11

Comando Implement: Tu app cobra vida
04:07 min
Auditoría de specs y entrega profesional
Diseña la Spec de tu proyecto
Resumen
Aprender a usar Git para versionar tu proyecto y a definir especificaciones con el comando specify es el paso donde dejas de micromanejar a la inteligencia artificial y empiezas a actuar como product manager. Esto le sirve a cualquier persona que quiera construir software con spec-driven development usando Claude Code y Spec Kit.
Piensa en tu proyecto como una casa: ya tienes el permiso de construcción y sabes que en esa zona solo se permiten edificios de hasta tres pisos y casas de ladrillo. Esa es tu Constitution, las reglas inquebrantables. Ahora toca decidir qué construir: una casa con tres recámaras, dos baños, piscina y jardín frontal. Esas son las especificaciones, el plano arquitectónico.
Por qué usar Git para versionar tu proyecto
Antes de avanzar necesitas una forma de manejar puntos de control para cada paso que das. Aquí entra Git, la herramienta que te permite gestionar el versionado de los artefactos y el código de tu proyecto de software [00:38].
La idea central es sencilla: cada comando importante que ejecutas durante el curso vive en su propia rama. Así puedes regresar al punto más estable de la aplicación si algo sale mal.
¿Qué es una rama en Git? Es una línea de trabajo independiente donde registras cambios sin afectar el resto del proyecto. Si algo falla, vuelves a la rama estable sin perder tu avance.
Cómo inicializar Git y rastrear cambios paso a paso
El flujo que sigues en la práctica es directo. Estos son los comandos exactos que usas desde la raíz de tu proyecto, en este caso my-project [00:52]:
- Ejecuta
git initpara inicializar Git y empezar a rastrear cambios [01:00]. - Usa
git statuspara ver los archivos que generó Spec Kit más la Constitution que creaste antes [01:11]. - Crea una rama nueva con
git checkout -b constitutionpara aislar esos cambios [01:40]. - Agrega los cambios con
git addy confírmalos congit commit, comentando la modificación como Project setup [02:00]. - Verifica de nuevo con
git statusque ya no quedan cambios por rastrear [02:14].
Dos consejos que valen oro aquí. Primero: no te estreses con los comandos, solo usa los mismos que se muestran. Segundo: si te da curiosidad profundizar, existe un curso de Git en Platzi para ir más a fondo [02:22].
Qué cambia con Spec-Driven Development en tu forma de trabajar
Antes de abrir la terminal para dar vida a la app, hace falta un cambio de mentalidad. Estamos acostumbrados a micromanejar a la inteligencia artificial: le decimos qué componente usar en el backend, qué librería en el frontend y así con todo [02:45].
Con spec-driven development eso se invierte. Tú actúas como product manager. No le dictas a un equipo de ingeniería cómo escribir el código: defines el qué y el por qué, y la IA decide el cómo en los pasos siguientes [03:07].
¿Qué define un product manager en spec-driven development? Define el qué y el porqué de las funcionalidades. El cómo, es decir la implementación técnica, lo resuelve la inteligencia artificial después.
Cómo se estructura una spec con features y no objetivos
Una spec mantiene la misma estructura básica que ya conoces: intención, comportamiento, restricciones y no objetivos. La diferencia es que ahora no describes una sola feature, sino todas las de la aplicación [03:30].
Las features principales del proyecto son:
- Autenticación de usuarios.
- Navegación y selección de canchas.
- Creación de reservas.
- Gestión de reservas.
- Lo que no se va a construir.
Cada feature se escribe en términos de funcionalidad y comportamiento. Por ejemplo, los usuarios deben poder registrarse e iniciar sesión con correo y contraseña [04:05]. Y también incorpora restricciones: solo los usuarios con sesión activa pueden ver la disponibilidad completa y hacer reservas, y cada usuario solo gestiona sus propias reservas, no las de terceros [04:20].
Los no objetivos delimitan lo que la IA no debe construir: sin pasarela de pago, sin panel de administración web para agregar contenido, sin notificaciones externas, sin reservas de más de una hora continua y sin sistema de matchmaking para encontrar compañeros de juego [04:45].
Cómo generar la especificación con el comando specify en Claude
El proceso replica lo que ya hiciste con la Constitution: defines una versión mínima, la conviertes en prompt, se la pasas a Claude y él te devuelve el documento completo y estructurado [05:10].
Aquí aparece un principio que conviene grabarse: la calidad del resultado que entrega la IA depende de la calidad del prompt que le das. Para lograr un buen prompt debes evitar la ambigüedad y la subjetividad, y fomentar el pensamiento crítico en la IA [05:35].
Qué pasos seguir para pasar la spec a Claude Code
El flujo concreto para generar la especificación es este:
- Crea la rama nueva con
git checkout -b specdesde la rama constitution [05:55]. - Copia la especificación que definiste en tu prompt.
- Abre Claude con el comando
claude[06:15]. - Usa el comando
speckit specifyy pega tu prompt cuando aparezca el mensaje Describe the feature you want to specify [06:25]. - Presiona Enter y espera un par de minutos mientras Claude Code llena la plantilla con la información de tu proyecto [06:45].
Cuando termina, Claude Code genera el archivo spec.md, que abres en Visual Studio Code para revisarlo [07:00]. Ese documento llega completo: con historias de usuario, criterios técnicos, criterios de aceptación y edge cases [05:20].
Ahí está la magia del enfoque: tú describes la casa que quieres y la IA arma el plano detallado. ¿Ya tienes claras las features que definirías para tu propio proyecto? Cuéntame en los comentarios cuáles serían tus no objetivos.