sdd-es 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/.claude/settings.json +51 -0
  2. package/.claude-plugin/marketplace.json +31 -0
  3. package/.claude-plugin/plugin.json +97 -0
  4. package/README.md +332 -0
  5. package/agents/arquitecto.md +148 -0
  6. package/agents/asesor-datos.md +163 -0
  7. package/agents/critico.md +142 -0
  8. package/agents/desarrollador-backend.md +242 -0
  9. package/agents/desarrollador-frontend.md +120 -0
  10. package/agents/disenador-api.md +108 -0
  11. package/agents/documentador.md +177 -0
  12. package/agents/investigador.md +174 -0
  13. package/agents/operaciones.md +105 -0
  14. package/agents/revisor.md +153 -0
  15. package/agents/seguridad.md +216 -0
  16. package/agents/tester.md +286 -0
  17. package/claude-hooks/post-write-conventions.js +412 -0
  18. package/claude-hooks/pre-tool-guard.js +159 -0
  19. package/cli/index.js +401 -0
  20. package/commands/sdd.aclarar.md +200 -0
  21. package/commands/sdd.analizar.md +241 -0
  22. package/commands/sdd.ayuda.md +227 -0
  23. package/commands/sdd.canary.md +60 -0
  24. package/commands/sdd.checklist.md +174 -0
  25. package/commands/sdd.comprimir.md +166 -0
  26. package/commands/sdd.configurar.md +195 -0
  27. package/commands/sdd.constitucion.md +343 -0
  28. package/commands/sdd.crear-app.md +168 -0
  29. package/commands/sdd.crear-mcp.md +174 -0
  30. package/commands/sdd.descubrir.md +269 -0
  31. package/commands/sdd.desplegar.md +155 -0
  32. package/commands/sdd.especificar.md +302 -0
  33. package/commands/sdd.estado.md +124 -0
  34. package/commands/sdd.glosario.md +108 -0
  35. package/commands/sdd.implementar.md +377 -0
  36. package/commands/sdd.importar.md +91 -0
  37. package/commands/sdd.mapear.md +120 -0
  38. package/commands/sdd.md +119 -0
  39. package/commands/sdd.planificar.md +372 -0
  40. package/commands/sdd.qa.md +108 -0
  41. package/commands/sdd.release.md +253 -0
  42. package/commands/sdd.retro.md +82 -0
  43. package/commands/sdd.snapshot.md +122 -0
  44. package/commands/sdd.tareas.md +300 -0
  45. package/commands/sdd.verificar.md +239 -0
  46. package/configuracion-ejemplo/hooks-ejemplo/antes_cada_tarea.sh +18 -0
  47. package/configuracion-ejemplo/hooks-ejemplo/antes_implementar.sh +45 -0
  48. package/configuracion-ejemplo/hooks-ejemplo/despues_especificar.sh +14 -0
  49. package/configuracion-ejemplo/hooks-ejemplo/despues_implementar.sh +36 -0
  50. package/configuracion-ejemplo/hooks-ejemplo/despues_planificar.sh +19 -0
  51. package/configuracion-ejemplo/hooks-ejemplo/guardia-seguridad.sh +367 -0
  52. package/configuracion-ejemplo/sdd.config.yaml +310 -0
  53. package/docs/AGENTES.md +74 -0
  54. package/docs/COMPRESION.md +155 -0
  55. package/docs/EJEMPLO-PRACTICA.md +383 -0
  56. package/docs/EJEMPLOS.md +212 -0
  57. package/docs/FABRICA.md +185 -0
  58. package/docs/FILOSOFIA.md +61 -0
  59. package/docs/FLUJO.md +149 -0
  60. package/docs/INICIO-RAPIDO.md +116 -0
  61. package/docs/MAPAS.md +113 -0
  62. package/docs/MODELOS.md +103 -0
  63. package/docs/PERSONALIZACION.md +152 -0
  64. package/instalar.ps1 +39 -0
  65. package/instalar.sh +22 -0
  66. package/mcp-figma/README.md +158 -0
  67. package/mcp-figma/package.json +7 -0
  68. package/mcp-figma/src/component-generator.js +162 -0
  69. package/mcp-figma/src/design-system-analyzer.js +247 -0
  70. package/mcp-figma/src/figma-client.js +75 -0
  71. package/mcp-figma/src/index.js +114 -0
  72. package/mcp-figma/src/mcp.js +97 -0
  73. package/mcp-figma/src/style-mapper.js +85 -0
  74. package/package.json +50 -0
  75. package/plantillas/analisis.md +57 -0
  76. package/plantillas/checklist-especificacion.md +66 -0
  77. package/plantillas/constitucion.md +104 -0
  78. package/plantillas/decision-arquitectura.md +39 -0
  79. package/plantillas/dependencias-mapa.md +89 -0
  80. package/plantillas/especificacion.md +108 -0
  81. package/plantillas/estructura-mapa.md +40 -0
  82. package/plantillas/glosario.md +22 -0
  83. package/plantillas/index-especificaciones.md +15 -0
  84. package/plantillas/mcp-server.md +147 -0
  85. package/plantillas/plan.md +152 -0
  86. package/plantillas/simbolos-mapa.md +57 -0
  87. package/plantillas/snapshot.md +54 -0
  88. package/plantillas/tareas.md +72 -0
  89. package/presets/enterprise.yaml +69 -0
  90. package/presets/lean.yaml +63 -0
  91. package/presets/startup.yaml +67 -0
  92. package/skills/compresion-tokens.md +264 -0
  93. package/skills/constitucion-constraint.md +78 -0
  94. package/skills/deteccion-stack.md +175 -0
  95. package/skills/enrutador-agentes.md +69 -0
  96. package/skills/gestion-estado.md +114 -0
  97. package/skills/indexador.md +199 -0
  98. package/skills/modo-guiado/SKILL.md +78 -0
  99. package/skills/orquestacion-ptc/SKILL.md +96 -0
  100. package/skills/validacion-spec.md +52 -0
  101. package/skills/verificador-implementacion.md +71 -0
@@ -0,0 +1,302 @@
1
+ ---
2
+ description: Convierte una intención del usuario en una especificación estructurada con criterios de aceptación testeables en formato Dado/Cuando/Entonces. Sin detalles de implementación — solo qué y por qué.
3
+ allowed-tools: Read, Write, Bash
4
+ handoffs:
5
+ - etiqueta: "Aclarar ambigüedades"
6
+ comando: sdd.aclarar
7
+ prompt: "Resuelve las marcas [NECESITA_ACLARACION] de la spec activa."
8
+ - etiqueta: "Validar calidad de la spec"
9
+ comando: sdd.checklist
10
+ prompt: "Aplica el checklist de calidad a la spec activa."
11
+ - etiqueta: "Pasar al plan técnico"
12
+ comando: sdd.planificar
13
+ prompt: "Genera el plan técnico desde la spec activa."
14
+ ---
15
+
16
+ # /sdd.especificar — Crear Especificación
17
+
18
+ Eres el **Analista de Requisitos**. Capturas QUÉ se quiere construir y POR QUÉ, sin entrar en CÓMO. La spec debe poder leerse por un stakeholder no-técnico.
19
+
20
+ ## VERIFICACIONES PRE-EJECUCIÓN
21
+
22
+ ```bash
23
+ [ -f ".sdd/hooks/antes_especificar.sh" ] && bash .sdd/hooks/antes_especificar.sh
24
+
25
+ # Verificar prerequisitos
26
+ if [ ! -f ".sdd/memoria/constitucion.md" ]; then
27
+ echo "ERROR: ejecuta /sdd.constitucion primero"
28
+ exit 1
29
+ fi
30
+
31
+ cat .sdd/memoria/constitucion.md | head -30
32
+ cat .sdd/sdd.config.yaml 2>/dev/null
33
+
34
+ # Si existe contexto de descubrimiento previo, cargarlo como base
35
+ if [ -f ".sdd/memoria/contexto-descubrimiento.md" ]; then
36
+ echo "CONTEXTO_DESCUBRIMIENTO_DISPONIBLE"
37
+ cat .sdd/memoria/contexto-descubrimiento.md
38
+ fi
39
+ ```
40
+
41
+ > Si se detecta `contexto-descubrimiento.md`, úsalo como fuente principal para pre-rellenar la spec. No vuelvas a preguntar lo que ya está respondido ahí. Marca con `[POR_DEFINIR]` solo lo que falte.
42
+
43
+ ## PASO 1 — Capturar descripción
44
+
45
+ El usuario pasó la descripción tras `/sdd.especificar`. Si está vacía, pregunta:
46
+
47
+ > ¿Qué quieres construir o cambiar? Descríbelo en lenguaje natural — no necesitas detalles técnicos todavía.
48
+
49
+ ## PASO 2 — Detectar tamaño del cambio
50
+
51
+ Clasifica usando estos criterios. Comparte la clasificación con el usuario:
52
+
53
+ | Tamaño | Criterios | Flujo recomendado |
54
+ |--------|-----------|-------------------|
55
+ | **Micro** | ≤3 archivos, <10 líneas, sin lógica nueva | spec+plan+tareas en un solo paso → implementar |
56
+ | **Pequeño** | 1 módulo/componente nuevo simple | flujo estándar |
57
+ | **Mediano** | Múltiples módulos, integración, refactor | + aclarar + checklist |
58
+ | **Grande** | Sistema nuevo, migración, cambio arquitectónico | flujo completo + analizar |
59
+
60
+ Para Mediano/Grande, confirma con el usuario:
61
+ > Detecté que esto es de tamaño **{TAMAÑO}**. ¿Confirmas?
62
+
63
+ ## PASO 3 — Generar ID único
64
+
65
+ Según `numeracion_especificaciones` en config:
66
+
67
+ ```bash
68
+ FECHA=$(date +%Y-%m-%d)
69
+
70
+ # Generar slug del título
71
+ SLUG=$(echo "$INPUT" | tr '[:upper:]' '[:lower:]' \
72
+ | sed 's/[áàä]/a/g; s/[éèë]/e/g; s/[íìï]/i/g; s/[óòö]/o/g; s/[úùü]/u/g; s/ñ/n/g' \
73
+ | tr ' ' '-' | tr -cd '[:alnum:]-' | cut -c1-40)
74
+
75
+ # Si numeracion es "secuencial" o "ambos", contar specs existentes
76
+ N=$(ls .sdd/especificaciones/ 2>/dev/null | wc -l)
77
+ SECUENCIA=$(printf "%03d" $((N+1)))
78
+
79
+ # Según config
80
+ case "$NUMERACION" in
81
+ fecha) ID="${FECHA}-${SLUG}" ;;
82
+ secuencial) ID="${SECUENCIA}-${SLUG}" ;;
83
+ ambos) ID="${FECHA}-${SECUENCIA}-${SLUG}" ;;
84
+ esac
85
+ ```
86
+
87
+ Crea: `.sdd/especificaciones/{ID}/`
88
+
89
+ ## PASO 4 — Generar spec.md
90
+
91
+ Lee plantilla `plantillas/especificacion.md`. Si no existe en el plugin instalado, usa esta:
92
+
93
+ ```markdown
94
+ ---
95
+ id: {ID}
96
+ titulo: "[TÍTULO_HUMANO]"
97
+ tamano: micro | pequeño | mediano | grande
98
+ estado: borrador
99
+ creada: {FECHA}
100
+ actualizada: {FECHA}
101
+ autor: humano
102
+ constitucion_version: {VERSION}
103
+ etiquetas: []
104
+ ---
105
+
106
+ # Especificación: [TÍTULO]
107
+
108
+ ## 1. Contexto y Motivación
109
+
110
+ [2-4 frases. POR QUÉ se necesita esto. Qué problema resuelve.
111
+ La motivación debe ser de negocio o usuario, NO técnica.]
112
+
113
+ ## 2. Objetivo
114
+
115
+ [QUÉ debe lograr cuando esté terminado. 1-3 frases declarativas.
116
+ Sin detalles de implementación.]
117
+
118
+ ## 3. Usuarios y Actores
119
+
120
+ | Actor | Rol | Necesidad principal |
121
+ |-------|-----|---------------------|
122
+ | [Actor 1] | [rol] | [qué quiere lograr] |
123
+
124
+ ## 4. Historias de Usuario
125
+
126
+ ### HU-001: [Título corto]
127
+ **Como** [tipo de usuario]
128
+ **Quiero** [acción/capacidad]
129
+ **Para** [beneficio/valor]
130
+
131
+ **Criterios de aceptación:**
132
+ - [ ] **CA-001-01**: [criterio testeable] (P1)
133
+ - [ ] **CA-001-02**: [criterio testeable] (P1)
134
+ - [ ] **CA-001-03**: [criterio testeable] (P2)
135
+
136
+ ### HU-002: [Título corto]
137
+ [...]
138
+
139
+ ## 5. Escenarios de Uso
140
+
141
+ ### Escenario 1: Caso feliz
142
+ **Dado** [estado inicial / precondiciones]
143
+ **Cuando** [acción del actor]
144
+ **Entonces** [resultado esperado]
145
+ **Y** [resultado adicional]
146
+
147
+ ### Escenario 2: Caso de error principal
148
+ **Dado** [precondición]
149
+ **Cuando** [acción incorrecta o condición de fallo]
150
+ **Entonces** [manejo de error esperado]
151
+
152
+ ### Escenario 3: Caso borde
153
+ **Dado** [precondición borde]
154
+ **Cuando** [acción]
155
+ **Entonces** [comportamiento esperado]
156
+
157
+ [Mínimo 3 escenarios: feliz + error + borde]
158
+
159
+ ## 6. Requisitos Funcionales
160
+
161
+ - **RF-001**: El sistema DEBE [acción específica]
162
+ - **RF-002**: El sistema DEBE [acción específica]
163
+ - **RF-003**: El sistema NO DEBE [acción prohibida]
164
+
165
+ > Usa MUST/MUST NOT/SHOULD/MAY (DEBE/NO DEBE/DEBERÍA/PUEDE) explícitamente.
166
+
167
+ ## 7. Requisitos No Funcionales
168
+
169
+ | Categoría | Requisito | Métrica |
170
+ |-----------|-----------|---------|
171
+ | Rendimiento | [requisito] | [métrica medible] |
172
+ | Seguridad | [requisito] | [criterio] |
173
+ | Disponibilidad | [requisito] | [SLO] |
174
+ | Accesibilidad | [requisito] | [estándar, ej: WCAG 2.1 AA] |
175
+
176
+ ## 8. Fuera de Alcance (Exclusiones Explícitas)
177
+
178
+ [Lista de cosas que claramente NO cubre esta spec.
179
+ Esto es crítico para evitar scope creep.]
180
+
181
+ - ❌ [Cosa A que NO se hará]
182
+ - ❌ [Cosa B que NO se hará]
183
+
184
+ ## 9. Dependencias y Asunciones
185
+
186
+ ### Dependencias
187
+ - [Otra spec, feature, servicio externo, dato]
188
+
189
+ ### Asunciones
190
+ - [Lo que se asume sobre el entorno, los usuarios, los datos]
191
+ - [NECESITA_ACLARACION]: [si hay algo importante asumido sin certeza]
192
+
193
+ ## 10. Términos del Dominio
194
+
195
+ [Si esta spec introduce nuevos términos del dominio, lístalos aquí.
196
+ Posteriormente, `/sdd.glosario` los añadirá al glosario formal.]
197
+
198
+ - **[Término]**: [definición]
199
+
200
+ ## 11. Preguntas Abiertas
201
+
202
+ - [ ] [NECESITA_ACLARACION]: [pregunta crítica sin resolver]
203
+ - [ ] [POR_DECIDIR]: [decisión que se pospone]
204
+
205
+ ## 12. Criterios de Éxito Medibles
206
+
207
+ [Cómo sabremos, en producción, que la feature cumple su objetivo:]
208
+
209
+ - [Métrica 1 con número]
210
+ - [Métrica 2 con número]
211
+
212
+ ## 13. Referencias
213
+
214
+ - [Issue, mockup, documento relacionado]
215
+ ```
216
+
217
+ ## PASO 5 — Marcar ambigüedades
218
+
219
+ Mientras generas la spec, donde haya información ambigua o asumida sin certeza, inserta el marcador configurado (por defecto `[NECESITA_ACLARACION]`). Estos marcadores son señales para `/sdd.aclarar` y `/sdd.checklist`.
220
+
221
+ **NO inventes información** para evitar el marcador. Si no sabes algo, márcalo.
222
+
223
+ ## PASO 6 — Actualizar índice
224
+
225
+ Añade entrada a `.sdd/INDICE.md`:
226
+
227
+ ```markdown
228
+ | {ID} | [TÍTULO] | borrador | {FECHA} | — | — |
229
+ ```
230
+
231
+ ## PASO 7 — Actualizar estado
232
+
233
+ ```json
234
+ {
235
+ "fase_actual": "especificacion",
236
+ "especificacion_activa": "{ID}",
237
+ "ultima_actualizacion": "{FECHA}",
238
+ "historial": [..., {"fase": "especificacion", "id": "{ID}", "fecha": "{FECHA}"}]
239
+ }
240
+ ```
241
+
242
+ ## VALIDACIÓN DE SALIDA
243
+
244
+ Antes de entregar el resultado al usuario, verifica que la spec generada es válida:
245
+
246
+ ```bash
247
+ SPEC_ID=$(grep -o '"especificacion_activa": "[^"]*"' .sdd/estado.json 2>/dev/null | cut -d'"' -f4)
248
+ SPEC_FILE=".sdd/especificaciones/${SPEC_ID}/spec.md"
249
+
250
+ # Estructura mínima requerida
251
+ grep -q "## 1. Contexto" "$SPEC_FILE" || echo "FALTA: sección Contexto"
252
+ grep -q "## 2. Objetivo" "$SPEC_FILE" || echo "FALTA: sección Objetivo"
253
+ grep -q "## 4. Historias" "$SPEC_FILE" || echo "FALTA: sección Historias"
254
+ grep -q "CA-" "$SPEC_FILE" || echo "FALTA: criterios de aceptación"
255
+ grep -q "## 8. Fuera de Alcance" "$SPEC_FILE" || echo "FALTA: exclusiones explícitas"
256
+
257
+ # Frontmatter mínimo
258
+ grep -q "^id:" "$SPEC_FILE" || echo "FALTA: id en frontmatter"
259
+ grep -q "^estado:" "$SPEC_FILE" || echo "FALTA: estado en frontmatter"
260
+ grep -q "^tamano:" "$SPEC_FILE" || echo "FALTA: tamano en frontmatter"
261
+
262
+ echo "Validación completada"
263
+ ```
264
+
265
+ Si alguna verificación falla, corrige antes de continuar — no entregues una spec con estructura incompleta.
266
+
267
+ ## VERIFICACIONES POST-EJECUCIÓN
268
+
269
+ ```bash
270
+ [ -f ".sdd/hooks/despues_especificar.sh" ] && bash .sdd/hooks/despues_especificar.sh
271
+ ```
272
+
273
+ ## PASO 8 — Mostrar resultado y siguiente paso
274
+
275
+ **Si es Micro:**
276
+ ```
277
+ ✅ Spec creada (micro).
278
+ 📁 .sdd/especificaciones/{ID}/spec.md
279
+
280
+ Como es un cambio pequeño, generaré plan y tareas automáticamente.
281
+ Continuando con /sdd.planificar...
282
+ ```
283
+
284
+ **Si tiene marcadores [NECESITA_ACLARACION]:**
285
+ ```
286
+ ✅ Spec creada (borrador).
287
+ 📁 .sdd/especificaciones/{ID}/spec.md
288
+ ⚠️ [N] puntos requieren aclaración.
289
+
290
+ PRÓXIMO PASO RECOMENDADO:
291
+ /sdd.aclarar — resolver los [NECESITA_ACLARACION]
292
+ ```
293
+
294
+ **Si está limpia:**
295
+ ```
296
+ ✅ Spec creada.
297
+ 📁 .sdd/especificaciones/{ID}/spec.md
298
+
299
+ SIGUIENTES PASOS:
300
+ /sdd.checklist — validar calidad de la spec (recomendado)
301
+ /sdd.planificar — pasar al plan técnico
302
+ ```
@@ -0,0 +1,124 @@
1
+ ---
2
+ description: Dashboard del estado actual del flujo SDD — qué fase, qué spec activa, progreso de tareas, próximo paso recomendado.
3
+ allowed-tools: Read, Bash
4
+ ---
5
+
6
+ # /sdd.estado — Dashboard de Estado
7
+
8
+ ## PASO 1 — Cargar todo el contexto
9
+
10
+ ```bash
11
+ [ ! -d .sdd ] && echo "NO_INICIALIZADO" && exit 0
12
+
13
+ cat .sdd/estado.json
14
+ cat .sdd/sdd.config.yaml | head -50
15
+ ls .sdd/especificaciones/ 2>/dev/null
16
+
17
+ SPEC_ID=$(grep -o '"especificacion_activa": "[^"]*"' .sdd/estado.json | cut -d'"' -f4)
18
+ if [ -n "$SPEC_ID" ]; then
19
+ cat ".sdd/especificaciones/${SPEC_ID}/.estado-tareas.json" 2>/dev/null
20
+ fi
21
+ ```
22
+
23
+ ## PASO 2 — Si no está inicializado
24
+
25
+ ```
26
+ 🚫 SDD-ES no está inicializado en este proyecto.
27
+
28
+ Ejecuta: /sdd.constitucion
29
+ ```
30
+
31
+ ## PASO 3 — Generar dashboard completo
32
+
33
+ ```
34
+ ╔════════════════════════════════════════════════════════════════╗
35
+ ║ SDD-ES — Dashboard del Proyecto ║
36
+ ╠════════════════════════════════════════════════════════════════╣
37
+ ║ ║
38
+ ║ 📌 PROYECTO ║
39
+ ║ Nombre: [del estado] ║
40
+ ║ Inicializado: [fecha] ║
41
+ ║ Constitución: v[X.Y.Z] ║
42
+ ║ Stack: [LENGUAJE] / [FRAMEWORK] ║
43
+ ║ ║
44
+ ╠════════════════════════════════════════════════════════════════╣
45
+ ║ 🎯 ESPECIFICACIÓN ACTIVA ║
46
+ ║ ║
47
+ ║ ID: {SPEC_ID} ║
48
+ ║ Título: [título] ║
49
+ ║ Fase actual: {FASE} ║
50
+ ║ Tamaño: {TAMAÑO} ║
51
+ ║ ║
52
+ ║ ESTADO POR ARTEFACTO: ║
53
+ ║ • Spec: ✅ generada ║
54
+ ║ • Aclarada: ✅ / ⏸ / ❌ ║
55
+ ║ • Checklist: ✅ APROBADA / ⚠️ obs / ❌ ║
56
+ ║ • Plan: ✅ aprobado / ⏸ pendiente ║
57
+ ║ • Tareas: ✅ {N} generadas / ⏸ ║
58
+ ║ • Análisis: ✅ APROBADO / ⚠️ obs / 🔴 BLOQUEADO ║
59
+ ║ • Implementa: 🔧 en progreso / ✅ / ⏸ ║
60
+ ║ • Verificada: ✅ / ⏸ ║
61
+ ║ ║
62
+ ║ PROGRESO DE TAREAS: ║
63
+ ║ [████████████░░░░░░░░] 60% ({N}/{M}) ║
64
+ ║ ║
65
+ ║ ✅ Completadas: {N} ║
66
+ ║ 🔧 En progreso: 1 (T00X) ║
67
+ ║ ⬜ Pendientes: {N} ║
68
+ ║ ❌ Bloqueadas: {N} ║
69
+ ║ ║
70
+ ╠════════════════════════════════════════════════════════════════╣
71
+ ║ 🤖 AGENTES CONFIGURADOS ║
72
+ ║ ║
73
+ ║ [✅] arquitecto (opus) ║
74
+ ║ [✅] disenador-api (sonnet) ║
75
+ ║ [✅] asesor-datos (opus) ║
76
+ ║ [✅] desarrollador-backend (sonnet) ║
77
+ ║ [❌] desarrollador-frontend (sonnet) — desactivado ║
78
+ ║ [✅] operaciones (sonnet) ║
79
+ ║ [✅] tester (sonnet) ║
80
+ ║ [✅] revisor (opus) ║
81
+ ║ ║
82
+ ╠════════════════════════════════════════════════════════════════╣
83
+ ║ 📚 HISTORIAL DEL PROYECTO ║
84
+ ║ ║
85
+ ║ Especificaciones totales: [N] ║
86
+ ║ ║
87
+ ║ Últimas 5: ║
88
+ ║ ✅ 2026-06-01-auth-magic-link (completada) ║
89
+ ║ ✅ 2026-06-03-perfiles-usuario (completada) ║
90
+ ║ 🔄 2026-06-08-pagos-stripe (en progreso) ║
91
+ ║ ⏸ 2026-06-09-export-csv (en borrador) ║
92
+ ║ ║
93
+ ╠════════════════════════════════════════════════════════════════╣
94
+ ║ ➡️ PRÓXIMO PASO RECOMENDADO ║
95
+ ║ ║
96
+ ║ {COMANDO_SUGERIDO} ║
97
+ ║ ║
98
+ ║ Razón: {EXPLICACIÓN} ║
99
+ ║ ║
100
+ ╚════════════════════════════════════════════════════════════════╝
101
+ ```
102
+
103
+ ## PASO 4 — Determinar próximo paso según fase
104
+
105
+ | Fase actual | Próximo paso |
106
+ |-------------|--------------|
107
+ | Sin inicializar | `/sdd.constitucion` |
108
+ | `constitucion_completa` | `/sdd.especificar [descripción]` |
109
+ | `especificacion` (con marcadores) | `/sdd.aclarar` |
110
+ | `especificacion` (limpia, no verificada) | `/sdd.checklist` o `/sdd.planificar` |
111
+ | `plan` (no aprobado) | `/sdd.planificar aprobar` |
112
+ | `plan_aprobado` | `/sdd.tareas` |
113
+ | `tareas_generadas` (no analizadas) | `/sdd.analizar` o `/sdd.implementar` |
114
+ | `implementacion` (en progreso) | `/sdd.implementar continuar` |
115
+ | `implementacion_completa` | `/sdd.verificar` |
116
+ | `verificada` (sin snapshot) | `/sdd.snapshot` |
117
+ | `completado` | `/sdd.especificar [nueva feature]` |
118
+
119
+ ## PASO 5 — Modos adicionales
120
+
121
+ `/sdd.estado historial` — muestra solo el historial completo de specs
122
+ `/sdd.estado tareas` — muestra solo el detalle de tareas de la spec activa
123
+ `/sdd.estado agentes` — muestra solo la config de agentes
124
+ `/sdd.estado todo` — muestra TODO lo de arriba más detalles extendidos
@@ -0,0 +1,108 @@
1
+ ---
2
+ description: Gestiona el glosario del dominio. Añade, edita o consulta términos del dominio del proyecto.
3
+ allowed-tools: Read, Write, Edit, Bash
4
+ ---
5
+
6
+ # /sdd.glosario — Glosario del Dominio
7
+
8
+ Mantienes la definición única y consistente de cada término del dominio. Esto evita que distintos agentes/devs usen sinónimos confusos para el mismo concepto.
9
+
10
+ ## Modos de uso
11
+
12
+ ```
13
+ /sdd.glosario # Mostrar glosario completo
14
+ /sdd.glosario añadir [término] # Añadir nuevo término
15
+ /sdd.glosario editar [término] # Editar término existente
16
+ /sdd.glosario buscar [palabra] # Buscar términos relacionados
17
+ /sdd.glosario importar # Importar términos pendientes de las specs
18
+ ```
19
+
20
+ ## PASO 1 — Cargar glosario
21
+
22
+ ```bash
23
+ mkdir -p .sdd/dominio/definiciones
24
+ [ ! -f .sdd/dominio/glosario.md ] && cat > .sdd/dominio/glosario.md << 'EOF'
25
+ # Glosario del Dominio
26
+
27
+ > Términos del dominio del proyecto. Cada término tiene UNA definición precisa.
28
+ > Editar con: `/sdd.glosario`
29
+
30
+ ## Términos
31
+ EOF
32
+
33
+ cat .sdd/dominio/glosario.md
34
+ ```
35
+
36
+ ## Modo: Mostrar (sin args)
37
+
38
+ Lista todos los términos con su definición resumida y la fecha de última actualización.
39
+
40
+ ## Modo: Añadir
41
+
42
+ Pide al usuario:
43
+ 1. **Término** (sustantivo, mayúscula inicial si es propio)
44
+ 2. **Definición** precisa (1-2 frases)
45
+ 3. **Sinónimos a evitar** (palabras que NO deben usarse)
46
+ 4. **Ejemplos** (1-3 casos concretos)
47
+ 5. **Categoría** (negocio | técnico | usuario | proceso)
48
+
49
+ Añade al glosario:
50
+
51
+ ```markdown
52
+ ### [Término]
53
+
54
+ **Definición:** [una frase precisa]
55
+
56
+ **Categoría:** [categoría]
57
+
58
+ **Sinónimos a evitar:**
59
+ - ~~[sinónimo 1]~~ (usar siempre "[Término]")
60
+
61
+ **Ejemplos:**
62
+ - [ejemplo 1]
63
+ - [ejemplo 2]
64
+
65
+ **Referenciado en specs:**
66
+ - {ID_spec_1}, {ID_spec_2}
67
+
68
+ **Última actualización:** {FECHA}
69
+ ```
70
+
71
+ Si la definición es compleja, crea archivo separado en `.sdd/dominio/definiciones/[termino].md` y enlázalo desde el glosario.
72
+
73
+ ## Modo: Editar
74
+
75
+ Lee la entrada actual, presenta al usuario, recibe cambios, actualiza con marca de versión.
76
+
77
+ ## Modo: Buscar
78
+
79
+ Búsqueda fuzzy en términos y definiciones. Útil para detectar duplicados/sinónimos antes de añadir.
80
+
81
+ ## Modo: Importar
82
+
83
+ Escanea todas las specs en `.sdd/especificaciones/` buscando términos en la sección 10 "Términos del Dominio". Para cada uno no presente en el glosario:
84
+
85
+ > Detectado en spec {ID}: "[término]"
86
+ > ¿Añadir al glosario? (sí/no/saltar todos)
87
+
88
+ ## Verificación de consistencia
89
+
90
+ Al añadir un término, verifica que no haya términos similares ya:
91
+
92
+ ```bash
93
+ # Búsqueda fuzzy en términos existentes
94
+ grep -i "[parte del término]" .sdd/dominio/glosario.md
95
+ ```
96
+
97
+ Si encuentra parecido:
98
+ > ⚠️ "[Nuevo término]" se parece a "[Término existente]".
99
+ > ¿Son el mismo concepto? Si sí, añade el nuevo como sinónimo a evitar del existente.
100
+
101
+ ## Reporte
102
+
103
+ ```
104
+ ✅ Glosario actualizado
105
+ 📁 .sdd/dominio/glosario.md
106
+ 📚 [N] términos definidos
107
+ 🆕 [M] añadidos en esta sesión
108
+ ```