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,174 @@
1
+ ---
2
+ description: Aplica un checklist de calidad formal a la spec activa — verifica completitud, claridad, testabilidad y alineación con la constitución. "Tests unitarios para los requisitos."
3
+ allowed-tools: Read, Write, Bash
4
+ handoffs:
5
+ - etiqueta: "Aclarar lo que falla"
6
+ comando: sdd.aclarar
7
+ - etiqueta: "Pasar al plan"
8
+ comando: sdd.planificar
9
+ ---
10
+
11
+ # /sdd.checklist — Checklist de Calidad
12
+
13
+ Eres el **Auditor de Calidad de Requisitos**. Aplicas validación formal antes de permitir pasar al plan técnico. La calidad de la spec se compunde — un mal CA se convierte en una mala tarea y un mal test.
14
+
15
+ ## PASO 1 — Cargar artefactos
16
+
17
+ ```bash
18
+ SPEC_ID=$(grep -o '"especificacion_activa": "[^"]*"' .sdd/estado.json | cut -d'"' -f4)
19
+ SPEC_FILE=".sdd/especificaciones/${SPEC_ID}/spec.md"
20
+ cat "$SPEC_FILE"
21
+ cat .sdd/memoria/constitucion.md
22
+ ```
23
+
24
+ ## PASO 2 — Aplicar checklist completo
25
+
26
+ Evalúa cada ítem como **✅ PASA**, **❌ FALLA** o **⚠️ PARCIAL** con justificación.
27
+
28
+ ### A. Calidad de Contenido
29
+
30
+ - [ ] **A1**: La spec NO contiene detalles de implementación (lenguajes, frameworks específicos, librerías concretas en CAs)
31
+ - [ ] **A2**: Enfoque en valor para el usuario, no en cómo se implementa
32
+ - [ ] **A3**: Legible por un stakeholder no-técnico
33
+ - [ ] **A4**: Todas las secciones obligatorias están completadas
34
+ - [ ] **A5**: Frontmatter YAML está bien formado
35
+
36
+ ### B. Completitud de Requisitos
37
+
38
+ - [ ] **B1**: No quedan marcadores `[NECESITA_ACLARACION]` críticos
39
+ - [ ] **B2**: Cada requisito es testeable (sin palabras vagas: rápido, fácil, intuitivo, óptimo)
40
+ - [ ] **B3**: Cada requisito es no-ambiguo (una sola interpretación posible)
41
+ - [ ] **B4**: Cada CA usa Dado/Cuando/Entonces o equivalente formal
42
+ - [ ] **B5**: Todos los escenarios principales tienen su CA (feliz + error + borde)
43
+ - [ ] **B6**: El alcance está claramente delimitado (Sección "Fuera de Alcance" completa)
44
+ - [ ] **B7**: Las dependencias están identificadas
45
+ - [ ] **B8**: Las asunciones están explícitas
46
+ - [ ] **B9**: Los criterios de éxito medibles tienen métricas concretas
47
+ - [ ] **B10**: Todos los actores y sus permisos están definidos
48
+
49
+ ### C. Calidad de Criterios de Aceptación
50
+
51
+ Por cada CA, verifica:
52
+ - [ ] **C1**: Tiene un ID único
53
+ - [ ] **C2**: Es atómico (verifica una sola cosa)
54
+ - [ ] **C3**: Es observable externamente (sin verificar implementación interna)
55
+ - [ ] **C4**: Tiene prioridad asignada (P1/P2/P3)
56
+ - [ ] **C5**: Puede convertirse directamente en un test
57
+
58
+ ### D. Cobertura de Escenarios
59
+
60
+ - [ ] **D1**: Mínimo 1 escenario de caso feliz
61
+ - [ ] **D2**: Mínimo 1 escenario de error
62
+ - [ ] **D3**: Mínimo 1 escenario de caso borde
63
+ - [ ] **D4**: Escenarios de concurrencia si aplica
64
+ - [ ] **D5**: Comportamiento con datos extremos (vacíos, máximos, mínimos)
65
+ - [ ] **D6**: Manejo de fallos de dependencias externas si aplica
66
+
67
+ ### E. Cumplimiento de Constitución
68
+
69
+ - [ ] **E1**: La spec respeta TODAS las restricciones arquitectónicas
70
+ - [ ] **E2**: Los estándares de calidad requeridos están reflejados
71
+ - [ ] **E3**: No introduce conflictos con principios fundamentales
72
+ - [ ] **E4**: La versión de constitución está registrada en el frontmatter
73
+
74
+ ### F. Términos del Dominio
75
+
76
+ - [ ] **F1**: Términos nuevos están listados en sección 10
77
+ - [ ] **F2**: Los términos del glosario se usan consistentemente
78
+ - [ ] **F3**: No hay sinónimos confusos (mismo concepto, palabras distintas)
79
+
80
+ ### G. Trazabilidad
81
+
82
+ - [ ] **G1**: Cada CA se vincula a al menos una historia de usuario
83
+ - [ ] **G2**: Cada requisito funcional se vincula a un objetivo
84
+ - [ ] **G3**: Hay enlace a issues/mockups/docs externos relevantes
85
+
86
+ ### H. Métricas de Éxito
87
+
88
+ - [ ] **H1**: Los criterios de éxito son medibles (con número, no adjetivos)
89
+ - [ ] **H2**: Los criterios son alcanzables y realistas
90
+ - [ ] **H3**: Los criterios pueden verificarse después del lanzamiento
91
+
92
+ ## PASO 3 — Generar reporte
93
+
94
+ Crea `.sdd/especificaciones/{ID}/checklist-spec.md`:
95
+
96
+ ```markdown
97
+ # Checklist de Calidad: {ID}
98
+
99
+ > Fecha: {FECHA} | Spec versión: [vN]
100
+ > Resultado: {APROBADA | NECESITA_REVISION | RECHAZADA}
101
+
102
+ ## Puntuación
103
+
104
+ - Total ítems: [X]
105
+ - Pasados (✅): [N]
106
+ - Fallidos (❌): [N]
107
+ - Parciales (⚠️): [N]
108
+ - **Cobertura: [%]**
109
+
110
+ ## Resultados por categoría
111
+
112
+ ### A. Calidad de Contenido — [N/N]
113
+ - [✅/❌/⚠️] A1: [resultado] — [justificación si no PASA]
114
+ - ...
115
+
116
+ ### B. Completitud — [N/N]
117
+ - ...
118
+
119
+ [... continuar todas las categorías ...]
120
+
121
+ ## Hallazgos críticos
122
+
123
+ [Lista de ítems FALLIDOS que bloquean el avance]
124
+
125
+ ## Recomendaciones
126
+
127
+ [Lista accionable de qué hacer para corregir cada hallazgo]
128
+
129
+ ## Veredicto
130
+
131
+ **[APROBADA | NECESITA_REVISION | RECHAZADA]**
132
+
133
+ [Justificación breve]
134
+ ```
135
+
136
+ ## PASO 4 — Determinar veredicto
137
+
138
+ **APROBADA**: Todos los críticos (B1, B2, B6, E1, E3) pasan. Otros pueden ser parciales.
139
+
140
+ **NECESITA_REVISION**: 1-3 críticos fallidos. Recuperable con `/sdd.aclarar` o edición manual.
141
+
142
+ **RECHAZADA**: 4+ críticos fallidos o problemas estructurales graves. La spec necesita re-escritura sustancial.
143
+
144
+ ## PASO 5 — Acción según veredicto
145
+
146
+ **APROBADA:**
147
+ ```
148
+ ✅ Checklist: APROBADA
149
+ 📊 Cobertura: [%]
150
+ 📁 .sdd/especificaciones/{ID}/checklist-spec.md
151
+
152
+ SIGUIENTE PASO:
153
+ /sdd.planificar — generar plan técnico
154
+ ```
155
+
156
+ **NECESITA_REVISION:**
157
+ ```
158
+ ⚠️ Checklist: NECESITA REVISIÓN
159
+ 📊 Cobertura: [%]
160
+ 🔴 [N] hallazgos críticos
161
+
162
+ ACCIÓN RECOMENDADA:
163
+ /sdd.aclarar — resolver los puntos críticos automáticamente
164
+ ```
165
+
166
+ **RECHAZADA:**
167
+ ```
168
+ ❌ Checklist: RECHAZADA
169
+ 🔴 [N] problemas estructurales
170
+
171
+ ACCIÓN REQUERIDA:
172
+ Edita manualmente la spec o ejecuta /sdd.especificar de nuevo
173
+ con una descripción más detallada.
174
+ ```
@@ -0,0 +1,166 @@
1
+ ---
2
+ description: Comprime archivos para ahorrar input tokens usando reglas caveman-like adaptadas al español. Optimiza archivos de memoria y config del plugin.
3
+ aliases: compress, ahorrar, tokens-lite
4
+ allowed-tools: Read, Write, Edit, Bash
5
+ ---
6
+
7
+ # /sdd.comprimir — Comprimir para ahorrar tokens
8
+
9
+ Aplica reglas de compresión tipo caveman al español para reducir tokens de lectura en archivos que Claude carga en contexto (CLAUDE.md, preferencias, notas de proyecto).
10
+
11
+ ## Uso
12
+
13
+ ```
14
+ /sdd.comprimir aplicar [archivo] ← comprime archivo específico
15
+ /sdd.comprimir plugin ← comprime internamente commands/, agents/, skills/
16
+ /sdd.comprimir revertir [archivo] ← restaura desde .original.md
17
+ /sdd.comprimir reglas ← muestra diccionario de reglas de compresión
18
+ /sdd.comprimir validar [archivo] ← muestra antes/después sin guardar
19
+ ```
20
+
21
+ ## Qué comprime
22
+
23
+ | Tipo de archivo | ¿Comprimible? | Recomendación |
24
+ |-----------------|---------------|---------------|
25
+ | `CLAUDE.md`, `notas.md`, tareas | ✅ Sí | **Obligatorio** — son memoria que se carga siempre |
26
+ | `preferencias.md`, configuración personal | ✅ Sí | **Recomendado** — reduce contexto innecesario |
27
+ | `README.md`, documentación para usuario | ❌ No | Mantén legible para humanos |
28
+ | `spec.md`, `plan.md`, `tareas.md` | ❌ No | Documentación del proyecto, debe ser clara |
29
+ | Código (`.ts`, `.py`, `.rs`, etc.) | ❌ No | **NUNCA** se comprime código |
30
+
31
+ ## Cómo funciona
32
+
33
+ Aplica estas transformaciones al español (100% reversibles):
34
+
35
+ | Cambio | Ejemplo |
36
+ |--------|---------|
37
+ | Quitar artículos | "El sistema crea..." → "Sistema crea..." |
38
+ | Abreviar palabras | "para que" → "para", "es necesario que" → "debe" |
39
+ | Reemplazar conectores | "sin embargo" → "pero", "además" → "y", "por lo tanto" → "por eso" |
40
+ | Quitar hedging | "creo que", "podría ser", "tal vez" → quitar si no es crítico |
41
+ | Abreviar términos técnicos | "base de datos" → "BD", "autenticación" → "auth", "función" → "fn" |
42
+ | Quitar cortesía | "por favor", "feliz de ayudar", "claro que sí" → quitar |
43
+
44
+ **Preserva intacto**: código, URLs, paths, frontmatter, tablas, listas numeradas.
45
+
46
+ ## Ejemplo
47
+
48
+ ### Antes (328 tokens)
49
+ ```markdown
50
+ # Tareas pendientes
51
+
52
+ Estas son las tareas que debemos completar en el proyecto.
53
+ Es necesario que se realicen en orden de prioridad.
54
+
55
+ - La tarea de autenticación requiere que el usuario sea validado
56
+ en la base de datos antes de generar un token JWT.
57
+ - La tarea de caché debe asegurar que los datos se recuperan
58
+ rápidamente desde la memoria en lugar de hacer consultas costosas
59
+ a la base de datos cada vez que un usuario solicita información.
60
+ ```
61
+
62
+ ### Después (117 tokens, 64% ahorro)
63
+ ```markdown
64
+ # Tareas pendientes
65
+
66
+ Tareas a completar. Orden por prioridad.
67
+
68
+ - Auth: validar usuario BD → generar JWT.
69
+ - Caché: datos en memoria rápido. Evita queries BD costosas.
70
+ ```
71
+
72
+ ## Niveles de compresión
73
+
74
+ | Nivel | Agresividad | Cuándo usar |
75
+ |-------|-------------|------------|
76
+ | **Lite** | Baja — quita solo obvio | Documentación que alguien edita frecuentemente |
77
+ | **Full** | Media — compresión balanceada (default) | Memoria de proyecto, notas, tareas |
78
+ | **Ultra** | Alta — fragmentos, abreviaciones maxim | Archivos internos, no visibles al usuario |
79
+
80
+ ```bash
81
+ /sdd.comprimir aplicar CLAUDE.md full # comprimir con nivel Full
82
+ /sdd.comprimir aplicar notas.md lite # solo quitar hedging/relleno
83
+ ```
84
+
85
+ ## Seguridad (auto-claridad)
86
+
87
+ El comando NUNCA comprime en estos casos:
88
+
89
+ - ❌ Advertencias de seguridad ("no usar en producción", "peligro")
90
+ - ❌ Instrucciones de acciones irreversibles ("eliminar", "resetear", "borrar")
91
+ - ❌ Secuencias multi-paso donde ambigüedad causa error
92
+ - ❌ Líneas que contienen "CUIDADO", "PELIGRO", "IMPORTANTE"
93
+
94
+ Si detecta estos patrones, deja el texto como estaba.
95
+
96
+ ## Backup automático
97
+
98
+ Cuando comprimes un archivo:
99
+
100
+ ```
101
+ archivo.md ← comprimido (nuevo)
102
+ archivo.md.original ← backup legible (automático)
103
+ ```
104
+
105
+ Para revertir:
106
+
107
+ ```bash
108
+ /sdd.comprimir revertir archivo.md
109
+ ```
110
+
111
+ ## Integración automática
112
+
113
+ Si tienes archivos comprimidos, Claude Code los detecta automáticamente y:
114
+
115
+ 1. Los lee normalmente (ya están en texto)
116
+ 2. Entiende que están en formato comprimido
117
+ 3. Mantiene la compresión en outputs internos
118
+
119
+ ## Diccionario de reglas
120
+
121
+ ```bash
122
+ /sdd.comprimir reglas
123
+ ```
124
+
125
+ Muestra todas las reglas de reemplazo (~80 pares español-caveman-lite).
126
+
127
+ Ejemplos:
128
+ ```
129
+ el/la/los/las → quitar
130
+ un/una/unos/unas → quitar
131
+ para que → para
132
+ es necesario que → debe
133
+ sin embargo → pero
134
+ por lo tanto → por eso
135
+ creo que → [quitar si contexto lo permite]
136
+ base de datos → BD
137
+ autenticación → auth
138
+ función → fn
139
+ objeto → obj
140
+ ...
141
+ ```
142
+
143
+ ## Advertencia
144
+
145
+ - ✅ Reversible — siempre hay `.original.md`
146
+ - ✅ Seguro — NO toca código, solo prosa
147
+ - ⚠️ Editorial — la compresión pierde matices. Revisa el resultado antes de comitear si es documento importante
148
+ - ⚠️ Equipo — si trabajas en equipo, comunica que comprimiste para que no confundan los `.original.md`
149
+
150
+ ## Caso de uso típico
151
+
152
+ ```bash
153
+ # Tu CLAUDE.md tiene 5k tokens de contexto permanente
154
+ # Comprimirlo = 1.5k tokens (70% ahorro)
155
+
156
+ /sdd.comprimir aplicar CLAUDE.md full
157
+
158
+ # Ahora cada sesión carga 70% menos — suma a lo largo de semanas
159
+ ```
160
+
161
+ ## Tips
162
+
163
+ - **Comienza con `lite`**: menos agresivo, más seguro
164
+ - **Valida antes**: `/sdd.comprimir validar archivo.md` para ver el resultado sin guardar
165
+ - **Mantén `.original.md` en git**: el verdadero documento es el readable
166
+ - **No comprimas everythin**: documentación dirigida a usuarios humanos debe ser legible
@@ -0,0 +1,195 @@
1
+ ---
2
+ description: Ajusta la configuración de SDD-ES — activar/desactivar agentes, cambiar el modelo asignado a cada uno, modificar comportamientos.
3
+ allowed-tools: Read, Write, Edit, Bash
4
+ ---
5
+
6
+ # /sdd.configurar — Configurar Plugin
7
+
8
+ Eres el **Configurador**. Ayudas al usuario a ajustar `.sdd/sdd.config.yaml` sin tener que editarlo manualmente.
9
+
10
+ ## PASO 1 — Cargar config actual
11
+
12
+ ```bash
13
+ [ ! -f .sdd/sdd.config.yaml ] && cp [PLUGIN_DIR]/configuracion-ejemplo/sdd.config.yaml .sdd/sdd.config.yaml
14
+
15
+ cat .sdd/sdd.config.yaml
16
+ ```
17
+
18
+ ## PASO 2 — Detectar qué quiere cambiar
19
+
20
+ El usuario pasa la intención como argumento. Mapea a la acción:
21
+
22
+ | Intención | Acción |
23
+ |-----------|--------|
24
+ | (vacío) o "mostrar" | Mostrar config actual de forma legible |
25
+ | "preset:lean" | Aplicar preset lean |
26
+ | "preset:startup" | Aplicar preset startup |
27
+ | "preset:enterprise" | Aplicar preset enterprise |
28
+ | "agentes" | Menú de activar/desactivar agentes |
29
+ | "modelos" | Menú de cambiar modelo por agente |
30
+ | "rutas" | Cambiar rutas de archivos SDD |
31
+ | "calidad" | Cambiar umbrales de calidad |
32
+ | "protecciones" | Cambiar archivos/comandos protegidos |
33
+ | "[nombre-agente]" | Acceso directo a config de ese agente |
34
+
35
+ ### Modo preset
36
+
37
+ Cuando el usuario escribe `/sdd.configurar preset:X`:
38
+
39
+ ```bash
40
+ # Leer el preset elegido
41
+ PLUGIN_DIR=$(dirname $(dirname $0))
42
+ cat "${PLUGIN_DIR}/presets/lean.yaml" 2>/dev/null # lean
43
+ cat "${PLUGIN_DIR}/presets/startup.yaml" 2>/dev/null # startup
44
+ cat "${PLUGIN_DIR}/presets/enterprise.yaml" 2>/dev/null # enterprise
45
+ ```
46
+
47
+ Muestra un resumen del preset antes de aplicar:
48
+
49
+ ```
50
+ 📦 PRESET: startup
51
+
52
+ Agentes activos (10/12):
53
+ ✅ arquitecto (opus) · ✅ disenador-api · ✅ asesor-datos (opus)
54
+ ✅ desarrollador-backend · ✅ desarrollador-frontend · ✅ operaciones
55
+ ✅ tester · ✅ revisor (sonnet) · ✅ critico · ✅ seguridad (opus)
56
+ ✅ investigador · ❌ documentador
57
+
58
+ Calidad: cobertura 75% · warnings: no · funciones ≤50 líneas
59
+
60
+ ¿Aplicar este preset? Los valores que hayas personalizado se sobreescribirán.
61
+ ```
62
+
63
+ Si el usuario confirma, mezcla los valores del preset sobre el `sdd.config.yaml` existente (preserva secciones como `figma:`, `mapeos:`, `compresion:` que el preset no toca).
64
+
65
+ ## PASO 3 — Modo: Mostrar
66
+
67
+ Presenta la config en formato legible:
68
+
69
+ ```
70
+ ═══════════════════════════════════════════════════════════
71
+ CONFIGURACIÓN SDD-ES
72
+ ═══════════════════════════════════════════════════════════
73
+
74
+ 🤖 AGENTES ACTIVOS:
75
+ ✅ arquitecto → modelo: opus
76
+ ✅ disenador-api → modelo: sonnet
77
+ ✅ asesor-datos → modelo: opus
78
+ ✅ desarrollador-backend → modelo: sonnet
79
+ ❌ desarrollador-frontend → modelo: sonnet (desactivado)
80
+ ✅ operaciones → modelo: sonnet
81
+ ✅ tester → modelo: sonnet
82
+ ✅ revisor → modelo: opus
83
+ ✅ critico → modelo: opus
84
+ ✅ seguridad → modelo: opus
85
+ ❌ documentador → modelo: sonnet (desactivado)
86
+
87
+ ⚙️ COMPORTAMIENTO:
88
+ • Detección automática de tamaño: ✅
89
+ • Ruta rápida para cambios micro: ✅
90
+ • Numeración de specs: fecha
91
+ • Requiere aprobación de plan: ✅
92
+
93
+ 🎯 CALIDAD:
94
+ • Cobertura mínima: 80%
95
+ • Permitir warnings: ❌
96
+ • Función máx líneas: 50
97
+ • Archivo máx líneas: 400
98
+
99
+ 🛡️ PROTECCIONES:
100
+ • Archivos protegidos: .env*, secrets/**, ...
101
+ • Comandos prohibidos: rm -rf /, DROP DATABASE, ...
102
+ ```
103
+
104
+ ## PASO 4 — Modo: Cambiar agentes
105
+
106
+ ```
107
+ 🤖 Agentes disponibles:
108
+
109
+ 1. [✅] arquitecto (opus)
110
+ 2. [✅] disenador-api (sonnet)
111
+ 3. [✅] asesor-datos (opus)
112
+ 4. [✅] desarrollador-backend (sonnet)
113
+ 5. [❌] desarrollador-frontend (sonnet)
114
+ 6. [✅] operaciones (sonnet)
115
+ 7. [✅] tester (sonnet)
116
+ 8. [✅] revisor (opus)
117
+ 9. [✅] critico (opus)
118
+ 10.[✅] seguridad (opus)
119
+ 11.[❌] documentador (sonnet)
120
+
121
+ ¿Qué número quieres activar/desactivar? (o "todos", "ninguno")
122
+ ```
123
+
124
+ Cuando el usuario selecciona, tooglea el estado y guarda.
125
+
126
+ ## PASO 5 — Modo: Cambiar modelos
127
+
128
+ Para cada agente, ofrece elegir modelo con recomendación:
129
+
130
+ ```
131
+ Agente: arquitecto
132
+ Modelo actual: opus
133
+
134
+ 📊 RECOMENDACIÓN: opus
135
+ Razón: Las decisiones de arquitectura son difíciles de revertir.
136
+ Usar el modelo más capaz reduce errores costosos.
137
+
138
+ Opciones:
139
+ 1. opus ← recomendado
140
+ 2. sonnet (más barato, OK para proyectos simples)
141
+ 3. haiku (no recomendado para este rol)
142
+
143
+ ¿Qué modelo?
144
+ ```
145
+
146
+ Aplica los nombres específicos según las recomendaciones por agente:
147
+
148
+ | Agente | Recomendado | Alternativa OK | Evitar |
149
+ |--------|-------------|----------------|--------|
150
+ | arquitecto | opus | sonnet (proyectos chicos) | haiku |
151
+ | disenador-api | sonnet | opus (APIs complejas) | haiku |
152
+ | asesor-datos | opus | sonnet (BD simple) | haiku |
153
+ | desarrollador-backend | sonnet | opus (lógica compleja) | haiku |
154
+ | desarrollador-frontend | sonnet | opus (UI compleja) | haiku |
155
+ | operaciones | sonnet | haiku (scripts simples) | — |
156
+ | tester | sonnet | haiku (tests simples) | opus (overkill) |
157
+ | revisor | opus | sonnet | haiku |
158
+ | critico | opus | sonnet | haiku |
159
+ | seguridad | opus | — | sonnet, haiku |
160
+ | documentador | sonnet | haiku | opus (overkill) |
161
+
162
+ ## PASO 6 — Guardar cambios
163
+
164
+ ```bash
165
+ # Reescribir .sdd/sdd.config.yaml con los cambios
166
+ # Mostrar diff de cambios al usuario
167
+ ```
168
+
169
+ ## PASO 7 — Reportar
170
+
171
+ ```
172
+ ✅ Configuración actualizada
173
+ 📁 .sdd/sdd.config.yaml
174
+
175
+ CAMBIOS:
176
+ ~ agentes.desarrollador-frontend.activo: false → true
177
+ ~ agentes.tester.modelo: sonnet → haiku
178
+
179
+ Los cambios se aplican a la próxima ejecución de comandos SDD.
180
+ ```
181
+
182
+ ## Modo asistente: Recomendar configuración
183
+
184
+ Si el usuario escribe `/sdd.configurar recomendar`:
185
+
186
+ 1. Lee la constitución y detecta el tipo de proyecto
187
+ 2. Sugiere un conjunto de agentes y modelos óptimo
188
+ 3. Muestra al usuario y pide confirmación
189
+
190
+ Ejemplos:
191
+ - **API REST simple** → desactivar `desarrollador-frontend`
192
+ - **SPA sin backend** → desactivar `desarrollador-backend`, `asesor-datos`, `disenador-api`
193
+ - **MVP / Side project** → bajar modelos a sonnet en todos, mantener opus solo en revisor
194
+ - **Producto enterprise** → mantener opus en todos los críticos
195
+ - **Solo prototipo** → desactivar `critico`, `seguridad`, bajar todo a sonnet/haiku