Spec Kit de GitHub: desarrollar software de alta calidad más rápido
(github.com/github)- Desarrollo guiado por especificaciones (Spec-Driven Development): un enfoque que eleva la especificación (Spec), que en el desarrollo tradicional era un recurso auxiliar, a una especificación ejecutable, con el objetivo de generar directamente una implementación funcional a partir de ella
- Cambia la práctica centrada en el código para definir primero el qué y el por qué, y luego concretar el cómo, enfatizando un desarrollo centrado en la intención
- La idea central es crear entregables consistentes mediante especificaciones y automatizar las tareas repetitivas para que los desarrolladores puedan concentrarse en los problemas del producto
- Spec Kit es un conjunto de herramientas que ayuda a convertir estas especificaciones en entregables ejecutables para automatizar la implementación
- Después de instalarlo, se describe el qué/por qué con
/specify, se declara el stack/arquitectura con/plany se generan las unidades de trabajo con/tasks - El objetivo es ayudar a las organizaciones a dejar de escribir código común no diferenciador y enfocarse en los escenarios del producto; es un framework experimental que busca elevar tanto la calidad como la velocidad mediante un enfoque guiado por especificaciones
Filosofía central: Core philosophy
- Una mentalidad de especificación primero basada en desarrollo centrado en la intención, donde se prioriza el qué y el cómo se detalla después
- Se redactan especificaciones ricas con guardrails y principios organizacionales, y se sigue un proceso de refinamiento en múltiples etapas en lugar de una generación de código de una sola vez
- Se orienta a un uso que depende activamente de la capacidad de interpretación de modelos avanzados de IA para transformar especificaciones en resultados ejecutables
Proceso guiado por especificaciones con Spec Kit
- Spec Kit coloca las especificaciones en el centro del proceso de ingeniería para guiar la implementación, los checklists y la descomposición del trabajo, mientras que el desarrollador cumple principalmente un rol de dirección
- El agente de codificación se encarga de la mayor parte de la escritura
- El proceso consta de 4 etapas, cada una con checkpoints claros, y no se avanza a la siguiente hasta que el trabajo actual esté completamente validado
- Etapa Specify: al proporcionar una descripción de alto nivel, el agente de codificación genera una especificación detallada enfocada en el recorrido del usuario, la experiencia y las métricas de éxito, no en el stack técnico
- Mapea quién es el usuario, qué problema se resuelve, cómo interactúa y cuáles son los resultados importantes
- Esto toma la forma de un artefacto vivo que evoluciona según lo aprendido del usuario
- Etapa Plan: al proporcionar el stack deseado, la arquitectura y las restricciones, el agente de codificación genera un plan técnico integral
- Incluye tecnologías estándar de la empresa, integración con sistemas legacy, cumplimiento normativo, objetivos de rendimiento, etc.
- Se pueden solicitar varias versiones del plan para compararlas, y si se aporta documentación interna, integra directamente los patrones de arquitectura
- Etapa Tasks: a partir de la especificación y el plan, el agente de codificación descompone el trabajo en bloques pequeños y revisables
- Cada tarea puede implementarse y probarse de manera independiente, y está diseñada para que la IA pueda validarla y darle seguimiento
- Por ejemplo, en lugar de "construir autenticación", sería algo como "crear un endpoint de registro de usuarios que valide el formato del correo electrónico"
- Etapa Implement: el agente de codificación procesa las tareas una por una o en paralelo, y el desarrollador revisa cambios acotados y enfocados
- La especificación indica qué construir, el plan cómo construirlo y las tareas sobre qué trabajar
- En cada etapa, el desarrollador reflexiona y refina, verificando si la especificación captura la intención, si el plan considera las restricciones reales y si hay omisiones o casos límite, cumpliendo un rol de validación
Cómo usar Spec Kit en un flujo de trabajo agéntico
- Spec Kit funciona con agentes de codificación como GitHub Copilot, Claude Code y Gemini CLI, y guía al agente mediante una serie simple de comandos para generar artefactos
- Esto convierte prompts ambiguos en intenciones claras para una ejecución confiable
- Después de inicializar el proyecto, al dar un prompt de alto nivel con el comando
/specify, el agente de codificación genera la especificación completa enfocada en el "qué" y el "por qué" del proyecto - Con el comando
/plan, al proporcionar una dirección técnica de alto nivel, el agente de codificación genera un plan detallado que respeta la arquitectura y las restricciones - Con el comando
/tasks, descompone la especificación y el plan en una lista de tareas ejecutables, a partir de la cual el agente de codificación implementa los requisitos del proyecto
Fases de desarrollo: Development phases
- Etapa 0-to-1 (greenfield): soporta un flujo de generación de especificación → planificación → creación de una app lista para producción a partir de requisitos de alto nivel
- Etapa de exploración creativa: enfatiza un proceso para experimentar con diversos stacks/arquitecturas y patrones de UX mediante implementación en paralelo
- Etapa de mejora gradual (brownfield): desarrollo evolutivo que itera sobre agregar funciones, modernizar sistemas legacy y adaptar procesos
Tres escenarios donde este enfoque funciona bien
- Greenfield (zero-to-one): al iniciar un proyecto nuevo, en lugar de comenzar a programar de inmediato, se crean primero la especificación y el plan para asegurar que la IA construya lo realmente buscado, ofreciendo resultados personalizados en lugar de soluciones genéricas basadas en patrones comunes
- Trabajo de funciones en sistemas existentes (N-to-N+1): al agregar funciones a una base de código compleja, la especificación aclara cómo interactúa la nueva función con el sistema existente, y el plan codifica las restricciones arquitectónicas para generar código que se sienta nativo
- Esto hace que el desarrollo continuo sea más rápido y seguro, aunque puede requerir técnicas avanzadas de ingeniería de contexto
- Modernización legacy: al reconstruir sistemas legacy donde se perdió la intención original, el proceso de Spec Kit captura la lógica de negocio esencial en una especificación moderna y planifica una arquitectura nueva para que la IA lo reconstruya sin deuda técnica
Prerequisites
- Se requiere Linux/macOS o WSL2 de Windows
- Elegir como agente de IA entre Claude Code, GitHub Copilot, Gemini CLI y Cursor
9 comentarios
Me recuerda a Copilot Workspace.
Parece que se convertirá en la base de la programación con IA basada en lenguaje natural.
La ventaja de Spec Kit de GitHub es que también se puede usar en GitHub Copilot.
Como lo hizo GitHub, supongo que era de esperarse, pero muchas de las otras herramientas estaban basadas en Claude.
Me recuerda a Kiro IDE
Está interesante. Y también tiene sentido.
El enlace de presentación detallada de SDD en medio del texto está muy bueno. Abajo va un resumen hecho con IA.
Desarrollo guiado por especificaciones (Specification-Driven Development, SDD)
The Power Inversion
The SDD Workflow in Practice
Why SDD Matters Now
Core Principles
Implementation Approaches
Streamlining SDD with Commands
/specify: convierte la descripción de una funcionalidad en una especificación estructurada y automatiza numeración automática, creación de branch y estructura de directorios basada en templates/plan: analiza la especificación → revisa cumplimiento de la constitución → hace la traducción técnica → documenta modelo de datos, contrato de API y escenarios de prueba → genera validación quickstart/tasks: leeplan.mdy diseños relacionados para producir una lista de tareas ejecutables, además de marcar tareas paralelizables y agrupar paralelismo seguroThe Power of Structured Automation
Template-Driven Quality
[NEEDS CLARIFICATION]impulsa no adivinar y formular preguntas explícitasimplementation-details/para mantener legibilidadThe Constitutional Foundation
memory/constitution.mdcon principios inmutables para mantener todas las implementaciones consistentes, simples y de alta calidadThe Transformation
¿Con qué IA lo resumiste?
Lo hice con GPT-5. Uso un prompt bastante largo que preparé para resumir.
Estoy muy de acuerdo con el concepto, así que hice algunas pruebas este fin de semana en un proyecto nuevo, pero no funcionó tan bien como esperaba. Creo que todavía necesita muchas mejoras. Por ahora, el flujo general parece ser más o menos el siguiente, como ya se ha explicado varias veces:
redactar la constitución → redactar la especificación → redactar las tareas → implementar
El problema es que
/specifyy/tasaksse generan muchos documentos como entregables (que era lo que quería), pero por eso mismo consume contexto rápidamente (estoy usando Claude Code)Por ahora, mi conclusión es la siguiente