Skip to content
◀ Exit Level 43 ★★★☆☆ Time 7 min

Stage 43 — SDD

Spec Kit, Kiro y OpenSpec: herramientas de SDD

Published: at 16:50

En el artículo anterior monté SDD a mano: cuatro skills, un subagente y un hook. Funciona y lo controlas entero. Pero hay herramientas que ya traen ese montaje hecho, y cada una toma decisiones distintas sobre cómo debe ser el flujo.

Las tres que merecen atención: GitHub Spec Kit, Kiro y OpenSpec. No son equivalentes: resuelven problemas distintos.

Table of contents

Open Table of contents

GitHub Spec Kit

Qué es. Un kit de código abierto de GitHub: una CLI (specify) que instala plantillas, scripts y comandos en tu repo para el agente que uses. Funciona con Claude Code, Copilot, Gemini CLI, Cursor y varios más. La estructura que he usado en toda la serie —.specify/memory/constitution.md, specs/NNN-feature/— es la suya.

Arranque:

uvx --from git+https://github.com/github/spec-kit.git specify init reservas-clinica --ai claude

Eso genera los comandos en .claude/commands/ y las plantillas en .specify/templates/. El flujo:

/speckit.constitution   principios del proyecto
/speckit.specify        spec de la feature + rama NNN-slug
/speckit.clarify        preguntas para cerrar los [NEEDS CLARIFICATION]
/speckit.plan           plan, research, data-model, contracts, quickstart
/speckit.tasks          tasks.md con [P] y fases por historia
/speckit.analyze        consistencia entre spec, plan y tareas
/speckit.implement      ejecuta las tareas

(En las primeras versiones eran /specify, /plan y /tasks a secas; si ves tutoriales con esos nombres, es lo mismo.)

Qué decide por ti:

Dónde brilla. Features nuevas de tamaño medio en un equipo que quiere un formato común sin diseñarlo. Las plantillas son buenas y están pensadas para que el agente no se salte pasos. /speckit.analyze es lo que yo hago con el subagente revisor, ya hecho.

Dónde cojea.

Kiro

Qué es. Un IDE agéntico de AWS (sobre Code OSS) con SDD integrado en la interfaz. En lugar de comandos, tienes un modo Spec que guía la feature por tres documentos.

.kiro/
├── steering/              # contexto persistente del proyecto
│   ├── product.md
│   ├── tech.md
│   └── structure.md
└── specs/recordatorios-cita/
    ├── requirements.md    # historias + criterios en EARS
    ├── design.md          # arquitectura, modelo, diagramas
    └── tasks.md           # tareas con enlace a requisitos

Qué decide por ti:

Dónde brilla. La experiencia es la más pulida: ves la spec, el diseño y las tareas como vistas del IDE, no como archivos que abres. Para quien empieza con SDD, es la curva más suave.

Dónde cojea. Te ata al IDE. Los archivos son markdown en el repo y se pueden leer desde otro agente, pero el flujo guiado vive en Kiro. Si tu equipo usa Claude Code en terminal o mezcla herramientas —como conté en Antigravity y Claude Code en el mismo repo—, es una pieza más que sincronizar.

OpenSpec

Qué es. Una CLI ligera de código abierto (npm install -g @fission-ai/openspec) que parte de una idea distinta: la spec describe el sistema tal como es, y cada cambio es una propuesta que la modifica.

openspec/
├── project.md
├── specs/                         # verdad actual, por capacidad
│   └── reminders/spec.md
└── changes/
    └── add-reminder-opt-out/      # propuesta en curso
        ├── proposal.md            # por qué y qué cambia
        ├── tasks.md
        └── specs/reminders/spec.md   # delta: ADDED / MODIFIED / REMOVED

Un delta se ve así:

## ADDED Requirements

### Requirement: Desactivar recordatorios

El sistema DEBERÁ permitir al paciente desactivar los recordatorios
desde el email, sin iniciar sesión.

#### Scenario: Pulsar el enlace de baja

- WHEN el paciente pulsa "No quiero más recordatorios"
- THEN no recibe recordatorios de sus citas futuras

Cuando el cambio se despliega, openspec archive fusiona el delta en openspec/specs/ y mueve la propuesta al archivo. openspec validate comprueba el formato antes.

Qué decide por ti:

Dónde brilla. Repos existentes. Puedes empezar documentando solo la capacidad que vas a tocar, y la spec se va completando con cada cambio en lugar de pudrirse en una carpeta specs/017-… que nadie vuelve a abrir. Es la mejor respuesta que he visto al problema que trato en specs vivas.

Dónde cojea. Menos guía para features grandes y nuevas: no hay fase de plan técnico estructurada ni constitution check. Si lo necesitas, lo añades tú.

Comparativa

Spec KitKiroOpenSpec
FormaCLI + comandosIDECLI + comandos
AgenteVarios (Claude Code incluido)El suyoVarios (Claude Code incluido)
UnidadFeatureFeatureCapacidad + cambio
Fases4 + clarify/analyze3Propuesta → aplicar → archivar
PrincipiosConstituciónSteeringproject.md
CeremoniaAltaMediaBaja
Mejor enGreenfield, equiposEmpezar con SDDBrownfield

Cuál elegir

Mi criterio, en orden:

  1. ¿Tu equipo vive en un IDE concreto y no lo vas a cambiar? Si es Kiro, usa su modo Spec y no montes nada más.
  2. ¿El repo tiene años y vas a tocar lo que ya existe? OpenSpec. Las specs por capacidad con deltas son lo único que no se desincroniza.
  3. ¿Features nuevas, equipo que necesita formato común ya? Spec Kit. Reescribe la constitución y recorta las plantillas a la mitad.
  4. ¿Ya tienes .claude/ con skills y hooks y quieres control total? El montaje propio. Es menos código que adaptar una herramienta a tus manías.

Y una combinación que funciona bien en la práctica: plantillas de Spec Kit dentro de tus propias skills. Copias spec-template.md y plan-template.md, las recortas, y las usas desde /spec y /plan. Te quedas con lo mejor de sus plantillas sin depender de su CLI.

Lo que no importa tanto como parece

La herramienta. De verdad. Las tres producen markdown en el repo y las tres funcionan si la spec es buena; ninguna salva una spec vaga. Si dudas, empieza a mano con una feature, escribe la spec como en el artículo 3, y decide la herramienta cuando sepas qué te molesta del proceso.

Siguiente paso

Queda la parte que decide si SDD sobrevive en tu equipo más de un mes: specs vivas, cómo adoptarlo en un repo existente y cuándo saltárselo.


Parte de la serie Spec-Driven Development con agentes. Si no tienes claro qué herramienta encaja con tu equipo y tu repo, cuéntame el caso o mira en qué trabajo.

Serie

Spec-Driven Development con agentes

Parte 07 de 08

  1. Spec-Driven Development con agentes: la serie
  2. La constitución en SDD: reglas que el agente no negocia
  3. Cómo escribir una spec que el agente no malinterprete
  4. Del spec al plan técnico: SDD antes de escribir código
  5. Tareas e implementación: el bucle que cierra SDD
  6. SDD en Claude Code con skills, subagentes y hooks
  7. Spec Kit, Kiro y OpenSpec: herramientas de SDD (estás aquí)
  8. Specs vivas: brownfield, drift y cuándo no usar SDD
Continue ▶ Specs vivas: brownfield, drift y cuándo no usar SDD

Power-ups

Level complete

¿Te sirvió? Compártelo y sigue con el siguiente nivel.