Esta semana iba a publicar la guía hands-on de Spec-Driven Development (SDD). Cambié el plan.

Después de que salió el artículo sobre Spec-Driven Development para QA, me llegaron varios mensajes de gente que entendió la filosofía pero se quedó con la misma pregunta: “¿qué es exactamente GitHub Spec Kit? ¿cómo se usa? ¿de qué me sirve a mí como QA?”.

Y tienen razón en preguntarlo. Tirarles encima una guía paso a paso con comandos como /speckit-specify y /speckit-clarify sin haberles contado primero qué es esa herramienta, qué hace, qué NO hace y por qué importa — sería exactamente el tipo de contenido vacío contra el que escribo. Comandos sin contexto. Pasos sin entender. Humo.

Así que la guía espera al martes. Hoy va este artículo introductorio. Es el puente entre el “¿por qué SDD?” del artículo anterior y el “cómo lo aplicas en tu proyecto” de la guía que viene. Si lo lees con calma, cuando llegue la guía vas a entender cada comando antes de copiarlo — que es exactamente lo que SDD intenta enseñar.

Lo primero — Spec Kit no es una IA

Este es el malentendido más común. Lo escucho cada semana.

Spec Kit es una herramienta de línea de comandos (CLI) open source publicada por GitHub. Una colección de scripts y templates que se instala en tu proyecto y se opera desde la terminal. No piensa, no escribe código por sí solo, no inventa specs.

Su trabajo es estandarizar el ciclo SDD y conectarlo con tu agente preferido — Claude Code, Copilot, Cursor, el que uses. Spec Kit es el orquestador. La IA es el ejecutor. Son cosas distintas y separables.

Spec Kit es a la IA lo que un IDE es al compilador. No compila tu código — pero sin él, escribir código serio sería un infierno.

Lo que SÍ hace Spec Kit:

  • Te da slash commands estandarizados (/speckit-specify, /speckit-clarify, etc.)
  • Versiona los artefactos que produce el ciclo (constitución, spec, plan, tasks)
  • Aplica gates obligatorios entre fases — no puedes saltar de spec a implementación sin pasar por validación
  • Conecta hooks de git automáticos (branch por feature, commits etiquetados)
  • Mantiene una convención de carpetas estándar (.specify/, specs/NNN-feature/)

Lo que NO hace Spec Kit:

  • No escribe la constitución por ti. Los principios salen de tu cabeza.
  • No testea. La IA escribe tests, pero Spec Kit no los corre ni valida cobertura.
  • No reemplaza el juicio humano. Es una compuerta, no un cerebro.
  • Necesita un equipo comprometido con el proceso. El PM tiene que contestar las clarificaciones que dispara, y nadie puede saltarse las compuertas entre fases solo porque aprieta el deadline.

El ciclo SDD en una imagen mental

Spec Kit organiza el trabajo en 7 fases conectadas por gates obligatorios. Cada fase tiene un comando, produce un artefacto, y cierra una pregunta concreta.

FaseComandoPregunta que responde
1/speckit-constitution¿Qué reglas son no-negociables en este proyecto?
2/speckit-specify¿Qué se va a construir?
3/speckit-clarify¿Qué ambigüedades quedan en el spec?
4/speckit-checklist¿El spec cumple la constitución?
5/speckit-plan¿Cómo se va a construir técnicamente?
6/speckit-tasks¿En qué pedazos ejecutables se descompone?
7/speckit-implementQue la IA escriba el código siguiendo todo lo anterior

Las primeras dos son planificación (qué reglas, qué construir). Las dos del medio son validación (es ahí donde tu rol QA pesa más). Las tres últimas son ejecución (donde la IA toma protagonismo).

Los artefactos que produce — qué archivos vas a tener

Cada comando deja un archivo concreto en tu repo. Versionable, revisable, comparable entre branches.

ComandoGeneraTipo de contenido
/speckit-constitution.specify/memory/constitution.mdPrincipios non-negotiable del proyecto
/speckit-specifyspecs/NNN-feature/spec.md + checklists/requirements.mdSpec en lenguaje de negocio + checklist de calidad genérico
/speckit-clarifyActualiza spec.md (resuelve ambigüedades en línea)Specifications enriquecidas con respuestas
/speckit-checklistspecs/NNN-feature/checklists/<nombre>.mdChecklist personalizado al proyecto
/speckit-planspecs/NNN-feature/plan.mdDiseño técnico (stack, módulos, endpoints)
/speckit-tasksspecs/NNN-feature/tasks.mdLista ordenada de tareas atómicas
/speckit-implementCommits con código en la branch del featureImplementación generada por la IA

La convención specs/NNN-feature/ no es decorativa. Es lo que permite que un equipo trabaje en varios features en paralelo sin pisarse — cada feature en su carpeta, en su branch, con sus artefactos auto-contenidos. Si te mueves entre proyectos que usen Spec Kit, vas a reconocer la estructura al toque.

Las dos compuertas que separan SDD real de “darle un prompt y rezar”

Esto es lo que hace que Spec Kit valga la pena instalar. Dos comandos que bloquean el avance hasta que se cumplan condiciones explícitas.

/speckit-clarify — la compuerta antes del plan

Spec Kit detecta ambigüedades en tu spec y te las pregunta antes de avanzar. Si escribiste “el sistema debe ser robusto”, te pregunta: ¿robusto cómo? ¿qué umbral? ¿bajo qué carga? Si escribiste “el usuario se autentica”, te pregunta: ¿qué pasa si la sesión expira? ¿se permite multi-device?

No puedes pasar a /speckit-plan con ambigüedades sin resolver. Spec Kit te lo bloquea.

Por qué importa: lo que tú haces hoy a pulmón en sprint planning — preguntar “¿qué pasa si…?”, “¿qué entendemos por X?” — Spec Kit lo dispara como compuerta obligatoria. Las ambigüedades que en un proyecto normal aparecen como bugs en el sprint 4, acá aparecen el día 1.

/speckit-checklist — la compuerta antes de implementar

Genera un checklist personalizado a tu proyecto y a la constitución que escribiste. NO es genérico. Tú defines qué se valida.

Por ejemplo, si tu constitución dice “toda spec debe aplicar las 4 técnicas ISTQB del Cap. 4”, el checklist va a tener ítems del tipo:

  • El spec declara las clases de equivalencia para cada input
  • El spec declara los valores límite con valor-1 / valor / valor+1
  • El spec incluye una tabla de decisión exhaustiva
  • El spec declara estados permitidos, transiciones permitidas, y transiciones prohibidas

Cada ítem se marca como ✅ Satisfecho, ⚠️ Parcial, o ❌ Gap. Si el checklist tiene gaps, no avanzas a implementación.

Sin gates obligatorios, SDD se reduce a un README con buena intención. Spec Kit hace que la disciplina sea ejecutable, no aspiracional.

Por qué para QA importa concretamente

Cuatro razones aterrizadas, no abstractas:

1 Las clarificaciones son tu trabajo automatizado
2 Los artefactos son tu test plan
3 Las PR reviews tienen vara objetiva
4 Los tests sobreviven al refactor

1. Las clarificaciones son tu trabajo, automatizado. Lo que tú haces hoy en refinement (preguntar lo que el PM no pensó), Spec Kit lo dispara como compuerta. Tu rol pasa de “el que pregunta cosas molestas” a “el que valida que las preguntas se respondieron bien”. El cambio no es menor.

2. Los artefactos son tu test plan. El spec.md con sus acceptance scenarios, decision tables, state machines, error catalog — es exactamente la estructura de un test plan ISTQB. Lo que antes te tomaba un día escribir, ya viene generado.

3. La review de PR tiene una vara objetiva. Antes “se ve bien” o “me parece raro”. Ahora: ¿este código honra el spec o no? Si lo honra, aprobás. Si no, vuelve. Sin debate de gustos.

4. Los tests sobreviven al refactor. Si el dev cambia la implementación pero el spec se mantiene, los tests siguen siendo válidos. Antes cada refactor te rompía media suite. Acá no, porque los tests están atados al contrato, no al código.

Lo que Spec Kit NO te da (la lista anti-mágica)

Para evitar expectativas que después decepcionan:

No escribe los principios de tu constitución por ti. Si tu constitución es genérica ('código de calidad', 'tests que pasan'), Spec Kit no la mejora. Garbage in, garbage out.
No corre los tests. Los genera vía la IA, pero la ejecución y la validación de cobertura sigue siendo tu responsabilidad (con tu CI, tu test runner, tus métricas).
No reemplaza el juicio del QA. Es una compuerta, no un cerebro. Las decisiones de qué validar, cómo, y bajo qué criterios — siguen siendo tuyas.
No funciona si tu equipo no participa. Las clarificaciones requieren respuestas de negocio. Si el PM no contesta o el equipo saltea los gates 'porque hay deadline', SDD se cae.

Cómo se instala (el resumen rápido)

La guía completa sale el martes con cada paso, pero el resumen es:

Terminal window
# 1. Instalar uv (gestor moderno de paquetes Python)
brew install uv
# 2. Inicializar Spec Kit en tu proyecto
mkdir mi-proyecto && cd mi-proyecto
uvx --from git+https://github.com/github/spec-kit.git specify init .
# 3. Elegir tu agente cuando te lo pregunte (Claude Code, Copilot, Cursor)
# 4. Abrir el proyecto en tu agente y verificar slash commands

Si el paso 4 te muestra /speckit-constitution, /speckit-specify y compañía en el autocompletado de tu agente, ya está. Tu primer ciclo SDD está a un comando de distancia.

El cierre — qué te llevas de este post

Spec Kit no es una IA. Es la disciplina del ciclo SDD vuelta comando ejecutable. La diferencia entre un equipo que dice “usamos SDD” y uno que realmente lo hace, es si tienen los gates instalados — o si los saltean cuando aprieta el deadline.

Próximo paso — la guía hands-on

El martes 5 de mayo sale la guía paso a paso con un ejemplo real desde cero: endpoint de registro de usuario, los 7 comandos en acción, las 4 técnicas ISTQB aplicadas en cada fase, y un repo funcionando al final de la lectura.

Si no quieres perdértela, suscríbete al newsletter — los suscriptores la reciben antes que LinkedIn.

Si llegaste hasta acá y tienes dudas concretas sobre cómo aplicarlo en tu equipo, escríbeme. Leo todas las respuestas, y los bloqueos reales me sirven para escribir las próximas piezas de esta serie.