NeuralOS
GuíaIntermedio

Escribe la spec, no el código · desarrollo dirigido por especificación con GitHub Spec Kit

Hay un patrón que casi todo el que construye con IA repite: al principio le hablas, aparece código, funciona, es magia. Pero cerca de la quinta o sexta función la magia se rompe — le pides un cambio pequeño y se cae otra cosa, le explicas por tercera vez cómo va el login "porque se le olvidó", y abres el proyecto al día siguiente sin recordar por qué existe la mitad de los archivos. El problema de fondo no es que la IA sea tonta: es que no tiene memoria de intención y adivina distinto cada vez que rellena un hueco. El Spec-Driven Development invierte el orden del vibe coding: antes de que la IA escriba una línea, escribes la spec —qué debe hacer la app, en tus palabras— y ese documento se vuelve la única fuente de verdad desde la que el agente genera plan → tareas → código, con checkpoints tuyos en medio. En esta guía verás la herramienta que lo instala como comandos dentro de tu propio agente (GitHub Spec Kit, gratis y open source), el flujo real de 4 fases, los comandos exactos, y un solo prompt maestro para arrancar cualquier proyecto spec-first sin volverte programador.

Jul 19, 202614 min
¿Para quién es esto?
Para quien construye con IA a base de "hazme esto" y termina con un Frankenstein: cada función parchada sobre la anterior, nadie —ni tú ni la IA— recuerda qué se supone que hace la app, y cada cambio rompe algo lejano. Si has sentido que la IA va rapidísimo pero hacia ningún lado fijo, esto es para ti. No necesitas ser programador: necesitas aprender a escribir la spec (la especificación) y dejar que el agente haga el resto. Funciona con Claude Code, Copilot, Cursor, Gemini y 30+ agentes más.

El momento · cuando "dile qué quieres" ya no alcanza

Al principio el vibe coding es mágico. Le hablas a la IA, aparece una pantalla, funciona, aplaudes. Pero llega un punto —casi siempre alrededor de la quinta o sexta función— en que la magia se rompe. Le pides un cambio pequeño y se cae otra cosa que no tocaste. Le explicas por tercera vez cómo debe funcionar el login "porque se le olvidó". Abres el proyecto al día siguiente y ni tú sabes por qué existe la mitad de los archivos. Ese es el momento: cuando la conversación deja de ser suficiente como fuente de verdad, y necesitas algo más sólido que un chat con memoria de pez.

El Spec-Driven Development (desarrollo dirigido por especificación, o SDD) nace exactamente ahí. La idea es tan simple que casi ofende: antes de que la IA escriba una línea de código, escribes lo que la app debe hacer — clara, ordenada y guardada en un archivo. Ese documento, la spec, se convierte en la única fuente de verdad. Y el agente genera, a partir de ella, un plan → una lista de tareas → el código. En ese orden. Con puntos de control tuyos en medio.

La analogía · el plano antes que los ladrillos
Nadie construye una casa diciéndole al albañil "empieza por esa esquina y vamos viendo". Primero hay un plano: dónde van las paredes, las tuberías, las ventanas. El albañil es buenísimo poniendo ladrillos —como tu IA es buenísima escribiendo código— pero sin plano, cada uno improvisa y la casa sale torcida. El vibe coding es construir sin plano. El SDD es dibujar el plano primero. Y aquí el plano no es un PDF muerto: es ejecutable — el agente lo lee y construye directo desde él.

El dolor · de dónde sale el Frankenstein

El problema no es que la IA sea tonta. Es que la IA no tiene memoria de intención. En cada mensaje toma la mejor decisión para ese mensaje, sin una imagen completa de qué estás construyendo ni por qué. Tú tienes esa imagen en la cabeza — pero la cabeza no es un documento que el agente pueda leer. Así que la IA rellena los huecos adivinando, y adivina distinto cada vez. Una vez el carrito guarda impuestos, otra vez no. Una vez el usuario puede editar su perfil, otra la función desaparece en un refactor. Nadie mintió: simplemente nunca existió un contrato que dijera qué es correcto.

Por qué pasa (y por qué empeora con el tiempo)
El chat es lineal y se olvida. A las 200 líneas de conversación, lo que decidiste al inicio ya salió de la ventana de contexto. La IA reconstruye tu intención a partir de las últimas migajas — y cada reconstrucción se aleja un poco del original, como una fotocopia de una fotocopia. Cuanto más grande el proyecto, más se degrada. Por eso el vibe coding se siente increíble el día 1 y desesperante el día 20: no es que la IA empeore, es que el contexto se evapora y nunca hubo un ancla fuera del chat.

¿Qué pasa si no arreglas esto? No es el apocalipsis — es un accidente lento. Terminas con una app que casi funciona, imposible de explicarle a otra persona (o a la IA de la semana que viene), donde cada arreglo tiene su propia probabilidad de romper algo más. Y esas probabilidades no perdonan: en un blog de esta misma serie contamos la matemática del 27% — un agente que acierta el 85% en cada paso solo completa un flujo de ocho pasos el 27% de las veces (0,85⁸), porque los aciertos se multiplican, no se suman. Construir a ciegas encadena pasos frágiles exactamente igual. La spec es lo que rompe esa cadena de fragilidad: le da a la IA un punto fijo contra el cual verificar cada paso, en vez de dejar que cada uno dependa de la buena suerte del anterior.

La solución · inviertes el orden (spec primero, código después)

En el vibe coding el flujo es: hablas → código → (a veces) documentas. En el SDD se invierte por completo: especificas → planeas → generas tareas → código. La documentación deja de ser el resto olvidado del final y se convierte en el punto de partida. Y no es burocracia: cada fase es un artefacto que el agente genera casi solo a partir del anterior, con un checkpoint tuyo para aprobar antes de seguir. Tú diriges; la IA ejecuta.

La analogía · el guion antes de rodar
Una película no se rueda improvisando escena por escena. Primero hay un guion (qué pasa), luego un plan de rodaje (cómo y en qué orden se filma), luego el desglose de tomas (las tareas del día), y recién entonces se enciende la cámara. Si cambias el guion, cambia todo lo demás en cascada — de forma ordenada. El SDD es eso: la spec es tu guion, el plan es el plan de rodaje, las tareas son el desglose, y el código es el rodaje. La IA es un equipo de producción brillante que por fin tiene guion.

La herramienta · GitHub Spec Kit

No tienes que inventar este flujo a mano. GitHub Spec Kit es un kit de herramientas open source —de GitHub, gratis, licencia MIT— que instala el SDD como una serie de comandos dentro de tu agente de IA. Tú escribes la spec en lenguaje natural; él te da la estructura, los checkpoints y los comandos para que la IA la convierta en app. Es de las herramientas de IA que más rápido creció: 122.000 estrellas en GitHub, y su última versión estable, la v0.13.0, salió el 2026 年 7 月 17 日. Integra 30+ agentes — Claude Code, GitHub Copilot, Cursor, Gemini CLI y el que uses.

github/spec-kit
REPO

El kit oficial de GitHub para Spec-Driven Development. Instala un flujo de comandos (constitution → specify → plan → tasks → implement) dentro de tu agente de IA, para que construyas desde una especificación ejecutable en vez de improvisar. Model-agnostic: funciona con 30+ agentes.

PythonMITVer en GitHub
Model-agnostic, igual que la filosofía de esta serie
Spec Kit no te ata a un modelo. La spec es lo valioso y es texto plano — vive fuera del agente. Si mañana cambias de Claude a Gemini, o de Copilot a Cursor, tu spec sigue siendo válida y el nuevo agente construye desde ella. El contrato sobrevive al proveedor. Ese es exactamente el principio que repetimos en toda la biblioteca: lo que organizas (contexto, memoria, spec) es tuyo; el modelo es intercambiable.

Instalación · dos comandos y estás dentro

Spec Kit se instala con uv, el gestor de paquetes de Python moderno (rápido, sin dramas). Si no tienes uv, lo instalas primero — una línea. Luego instalas el CLI de Spec Kit de forma persistente, e inicializas tu proyecto eligiendo tu agente. No te asustes por la terminal: son literalmente estos comandos, en orden, y no vuelves a tocarla para el trabajo real (ese pasa dentro del chat de tu IA).

bash
# 1) Si no tienes uv (el gestor de paquetes de Python), instálalo:
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2) Instala el CLI de Spec Kit de forma persistente (fijando la versión estable):
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.13.0

# 3) Mira qué agentes puedes elegir (el valor exacto para el flag --integration):
specify integration list

# 4) Inicializa tu proyecto eligiendo tu agente (aquí, Copilot como ejemplo):
specify init mi-proyecto --integration copilot

# 5) Comprueba si hay una versión más nueva (no modifica nada, solo lee):
specify self check
El flag `--integration` es el que elige tu agente
En specify init mi-proyecto --integration copilot, el valor después de --integration es tu herramienta. Spec Kit trae 30+ integraciones y las va cambiando entre versiones, así que en vez de memorizar el nombre exacto, córrele antes specify integration list y elige de esa lista el que uses (Copilot, Cursor, Gemini, Claude Code, etc.) — es como pedir el menú antes de ordenar, así nunca pides un plato que no está. Ese comando init crea la carpeta con los comandos /speckit.* ya cableados dentro de tu agente; a partir de ahí, todo el trabajo ocurre hablándole a la IA, no en la terminal.

El protocolo · los comandos de Spec Kit, en orden

Una vez inicializado, Spec Kit te da una serie de slash commands que escribes dentro de tu agente. No son mágicos: cada uno le pide a la IA que genere el siguiente artefacto del flujo. El orden importa — es una cascada donde cada paso se apoya en el anterior. Estos son los reales, tal cual vienen en la v0.13.0:

Los comandos de Spec Kit (lo que hace cada uno)
`/speckit.constitution` — define los principios inviolables de tu proyecto: reglas que la IA NUNCA debe romper (ej. "siempre validar la entrada del usuario", "nada de datos sensibles en logs"). Es la constitución que gobierna todo lo demás.
`/speckit.specify` — la spec: qué quieres construir, en lenguaje natural. Requisitos e historias de usuario. El corazón de todo.
`/speckit.clarify` (opcional) — la IA te hace preguntas sobre lo que quedó ambiguo en tu spec, ANTES de planear. Cierra huecos temprano.
`/speckit.plan` — el plan técnico: la IA propone el stack, la arquitectura y cómo va a construir la spec. Tú apruebas o corriges.
`/speckit.tasks` — descompone el plan en una lista de tareas accionables, ordenadas y concretas. El desglose de tomas.
`/speckit.analyze` (opcional) — revisa que spec, plan y tareas sean consistentes entre sí antes de construir. Caza contradicciones.
`/speckit.checklist` — genera checklists de calidad a medida para validar que los requisitos se cumplan.
`/speckit.implement` — ejecuta todas las tareas y construye la app según el plan. Aquí por fin se enciende la cámara.
El orden no es decorativo
Saltarte la constitution o la spec y correr directo /speckit.implement es volver al vibe coding con pasos extra. La cascada funciona porque cada artefacto restringe al siguiente: la constitución acota el plan, el plan acota las tareas, las tareas acotan el código. Si rompes la cadena, la IA vuelve a adivinar. La disciplina está en respetar los checkpoints, no en tener los comandos.

El flujo real · 4 fases con puntos de control tuyos

Puesto todo junto, así se ve un proyecto de principio a fin. Fíjate que en cada frontera tú revisas y apruebas antes de que la IA avance. Ese es el truco: no es que la IA trabaje sola sin freno, es que trabaja sola entre checkpoints que tú controlas.

El flujo de 4 fases, con tu rol en cada una
Fase 1 · Constitución. Corres /speckit.constitution y defines las reglas de oro del proyecto. Checkpoint: lees y confirmas que esos principios son los correctos. Se escribe una vez, gobierna siempre.
Fase 2 · Especificar (y aclarar). Corres /speckit.specify y describes qué construir. Luego /speckit.clarify para que la IA cierre ambigüedades preguntándote. Checkpoint: la spec dice EXACTAMENTE lo que quieres, sin huecos.
Fase 3 · Planear y descomponer. /speckit.plan da el plan técnico; /speckit.tasks lo vuelve tareas; /speckit.analyze verifica que todo sea coherente. Checkpoint: apruebas el stack y las tareas antes de que se escriba código.
Fase 4 · Implementar. /speckit.implement construye. La IA ejecuta las tareas una a una contra la spec. Checkpoint: usas /speckit.checklist para validar que lo construido cumple los requisitos.
La analogía · tú eres el director, no el operador de cámara
En una buena producción, el director no sostiene la cámara ni empuña el martillo. Lee el guion, aprueba el plan, revisa cada escena filmada y dice "esta sí, esta la repetimos". Con SDD tú haces eso: no escribes código ni peleas con la sintaxis — apruebas artefactos en los checkpoints. Toda la potencia de la IA, con tu criterio en los puntos que importan. Ese equilibrio es lo que la gente busca cuando dice "quiero que la IA trabaje sola pero sin perder el control".

El hábito · cuándo escribir spec y cuándo no

El SDD no es para todo. Un cambio de una línea, un botón de color, un texto — a eso le hablas normal a la IA y ya. Escribir una spec para eso sería como pedir plano de arquitecto para colgar un cuadro. El hábito bueno es reconocer el umbral: en el momento en que una tarea toca más de un archivo, tiene reglas de negocio, o vas a volver a ella la semana que viene — ahí sí, spec primero. Y de ahí en adelante, cada función nueva grande nace de una spec, no de un impulso.

El momento exacto en que se activa
La regla práctica: si te descubres explicándole a la IA lo mismo por segunda vez, o si abres el proyecto y no recuerdas por qué existe un archivo — ese es tu recordatorio de que faltó una spec. No te castigues: escribe la spec ahora, aunque el código ya exista. Spec Kit sirve igual para proyectos nuevos (greenfield) que para meterle orden a uno que ya está hecho un lío (brownfield).

El prompt maestro · arrancar un proyecto spec-first

Aquí está el único prompt que necesitas memorizar. Es el que le das a tu IA (con Spec Kit ya inicializado) para arrancar bien desde el primer minuto: le pide que primero fije la constitución, luego construya la spec contigo preguntando lo que falte, y que no escriba código hasta que apruebes. Cópialo, rellena los [corchetes], y pégaselo a tu agente al empezar cualquier proyecto serio.

Pégalo a tu IA · arrancar un proyecto dirigido por spectexto
Vamos a construir este proyecto con Spec-Driven Development usando GitHub Spec Kit, que ya está inicializado. NO escribas código todavía. Sigue este flujo conmigo, deteniéndote en cada checkpoint para que yo apruebe antes de avanzar.

Mi proyecto es: [describe qué quieres construir y para quién, en 3-5 frases].
Lo que NO debe hacer / mis límites: [ej. sin guardar tarjetas de crédito, funcionar en móvil, nada de datos sensibles en logs].

PASO 1 — CONSTITUCIÓN. Antes que nada, corre /speckit.constitution y propón los principios inviolables de este proyecto (seguridad, validación de entradas, consistencia, lo que aplique). Muéstramelos y espera mi visto bueno.

PASO 2 — SPEC. Luego corre /speckit.specify y redacta la especificación a partir de mi descripción: requisitos claros e historias de usuario. Después corre /speckit.clarify y hazme TODAS las preguntas necesarias para eliminar ambigüedades — no adivines, pregúntame. No sigas hasta que yo diga que la spec está correcta.

PASO 3 — PLAN Y TAREAS. Con la spec aprobada, corre /speckit.plan y propón el stack y la arquitectura (explícame en cristiano por qué elegiste cada cosa). Luego /speckit.tasks para el desglose, y /speckit.analyze para verificar que spec, plan y tareas no se contradigan. Muéstrame todo y espera mi aprobación.

PASO 4 — IMPLEMENTAR. Solo cuando yo lo autorice, corre /speckit.implement y construye. Al terminar, genera un /speckit.checklist para validar que lo construido cumple la spec.

Regla de oro durante todo el proceso: la spec es la única fuente de verdad. Si algo del código se aparta de la spec, la spec gana — o me avisas para actualizarla juntos. Nunca cambies el comportamiento en silencio.
El detalle que hace la diferencia
La frase "no adivines, pregúntame" en el Paso 2 es la más importante de todo el prompt. Es lo que convierte a la IA de rellenadora-de-huecos en colaboradora. La mayoría de los bugs de vibe coding nacen de una suposición silenciosa que nunca cuestionaste. /speckit.clarify existe justo para eso: sacar esas suposiciones a la luz antes de que se conviertan en código.

Los caminos más fáciles · qué haces por chat y qué por comando

Para que no te pierdas: casi todo ocurre hablándole a tu IA. La terminal la tocas una sola vez (instalar e inicializar). Los /speckit.* los escribes dentro del chat de tu agente, como cualquier otro mensaje. Y la spec la escribes en tus palabras — no en código. Este es el reparto:

Reparto de tareas
Por terminal (una sola vez): instalar uv, instalar specify-cli, ver los agentes con specify integration list, correr specify init mi-proyecto --integration <tu-agente>, y specify self check para comprobar que estás al día. Se acabó — no vuelves a la terminal.
Por chat con tu IA (el trabajo real): todos los comandos /speckit.constitution, /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.implement. Los escribes como mensajes normales.
En tus palabras (lo que aportas tú): la descripción del proyecto, las respuestas a las preguntas de /speckit.clarify, y las aprobaciones en cada checkpoint. Cero código de tu parte.
Guarda la spec en git: la spec y la constitución son archivos de texto. Comitéalos. Son el activo más valioso del proyecto — más que el código, que se puede regenerar desde ellos.
No confundas rápido con dirigido
El SDD se siente más lento al principio — estás "escribiendo documentos" en vez de ver código al instante. Es una ilusión. Ese rato invertido en la spec te ahorra los cinco rounds de "no, así no era" que vienen después en el vibe coding. Vas más lento en el kilómetro 1 y muchísimo más rápido —y sin choques— del kilómetro 2 en adelante. La velocidad real no es código por minuto, es app terminada y correcta por semana.

De dónde viene esto (la evolución de esta serie)

Si has seguido la biblioteca, esto no te suena nuevo — es el siguiente escalón. El protocolo C-A-R te enseñó a separar construir de auditar para no enviar bugs. El recurso de sistema de diseño te enseñó a fijar las reglas visuales antes de la primera pantalla. Ambos comparten una misma idea: decide el contrato antes de ejecutar. El SDD lleva esa idea a su forma más pura: la spec es el contrato, y es la única fuente de verdad para toda la app — diseño, lógica, comportamiento. Pasas de "organiza tu contexto" a "escribe el contrato y deja que la IA lo cumpla".

En NeuralOS, tú ya construyes contra un contrato
Hay una doctrina que gobierna cómo se construye NeuralOS por dentro, y es exactamente esta filosofía: el frontend es la fuente de verdad. El diseño y la interfaz definen el contrato — qué debe existir y cómo se comporta — y el backend solo llena ese contrato; nunca inventa por su cuenta. Es SDD aplicado a un producto real: primero se especifica lo que el usuario ve y espera, y todo lo demás se construye para cumplirlo. Cuando hablas con el chat orquestador de NeuralOS para construir tu app, esa disciplina de contrato-primero es la que trabaja invisible por debajo para que lo que pides sea lo que obtienes — sin que tengas que montar tú la cascada de comandos.
El protocolo C-A-R · construir sin bugs
El hermano mayor de este recurso: separa construir de auditar. La spec te dice QUÉ construir; C-A-R te asegura que lo construido esté bien.
Crea tu sistema de diseño ANTES de construir
La misma idea aplicada al diseño: fija el contrato visual antes de la primera pantalla. La spec y el sistema de diseño son dos caras del mismo principio.
#spec-driven-development#spec-kit#github#vibe-coding#prompt#arquitectura
¿Listo para construir?

Empieza a construir en
menos de 3 minutos

Únete a 4.200+ creadores. Sin tarjeta. Construye tu primera app con IA en minutos.