Qué es un spec y por qué cambia el desarrollo con IA
Pre-agentes, los specs eran documentos que poca gente leía — el código era el contrato de facto. Con agentes, el spec vuelve: es literalmente el contrato que el agente ejecuta. Sin él, estás en modo [[vibecoding]]; con él, el código producido es reproducible por ti, por otro agente, por otra persona.
Un [[spec]] es el artefacto donde viven las decisiones; el código es solo su implementación.
El cambio fundamental
Antes: escribía spec → humano leía → humano escribía código → humano revisaba → humano deployaba.
Ahora: escribes spec → agente lee → agente escribe código → tú revisas diff → deploy.
El bottleneck cambió. El valor pasó de "escribir código bonito" a "escribir specs que producen código correcto".
Qué hace a un spec ejecutable por agente
- Concreto: decisiones tomadas, no preguntas abiertas.
- Completo: contexto, comportamiento, edge cases, criterios de aceptación.
- Autocontenido: el agente no necesita leer 5 Notion docs para entender.
- Verificable: cada criterio de aceptación convertible a test.
La libertad que da el spec
Los specs son el artefacto que permite que una idea esté escrita una vez y ejecutada muchas. Cambias el stack, el agente reescribe. Contrata alguien, lee el spec y avanza. Dejas el proyecto 3 meses, vuelves, sigues. Sin spec, cada pausa es re-descubrir qué decidiste.
El último feature que construiste: ¿tenía spec? Si lo reescribieras como spec ahora, ¿qué decisiones descubrirías que tomaste implícitamente?
- Spec = decisiones escritas; código = su implementación.
- Con agentes, la calidad del output depende casi enteramente del spec.
- Specs son el artefacto que hace reproducible e interrumpible el proyecto.