sdd-es 2.0.0 → 2.6.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 (127) hide show
  1. package/.claude/settings.json +29 -29
  2. package/.claude/settings.local.json +10 -0
  3. package/.claude-plugin/marketplace.json +10 -7
  4. package/.claude-plugin/plugin.json +59 -37
  5. package/.gitignore +20 -0
  6. package/.mcp.json +8 -0
  7. package/LICENSE +21 -0
  8. package/README.md +77 -40
  9. package/agents/architecture-designer.md +211 -0
  10. package/agents/arquitecto.md +16 -1
  11. package/agents/asesor-datos.md +15 -1
  12. package/agents/critico.md +37 -1
  13. package/agents/desarrollador-backend.md +3 -1
  14. package/agents/desarrollador-frontend.md +11 -16
  15. package/agents/disenador-api.md +13 -1
  16. package/agents/documentador.md +3 -1
  17. package/agents/investigador.md +3 -1
  18. package/agents/operaciones.md +3 -1
  19. package/agents/product-designer.md +268 -0
  20. package/agents/revisor.md +25 -1
  21. package/agents/seguridad.md +5 -1
  22. package/agents/tester.md +3 -1
  23. package/claude-hooks/agent-memory.js +288 -0
  24. package/claude-hooks/pre-tool-guard.js +61 -9
  25. package/cli/index.js +1 -2
  26. package/commands/sdd.adr.md +196 -0
  27. package/commands/sdd.analizar.md +23 -2
  28. package/commands/sdd.ayuda.md +13 -0
  29. package/commands/sdd.compliance.md +521 -0
  30. package/commands/sdd.configurar.md +34 -1
  31. package/commands/sdd.constitucion.md +198 -23
  32. package/commands/sdd.construir.md +210 -0
  33. package/commands/sdd.crear-mcp.md +2 -0
  34. package/commands/sdd.defect-report.md +134 -0
  35. package/commands/sdd.descubrir.md +19 -0
  36. package/commands/sdd.dise/303/261ar.md +188 -0
  37. package/commands/sdd.estado.md +120 -3
  38. package/commands/sdd.exportar.md +344 -0
  39. package/commands/sdd.implementar.md +272 -52
  40. package/commands/sdd.interpretar.md +239 -0
  41. package/commands/sdd.md +93 -4
  42. package/commands/sdd.optimizar-memoria.md +47 -0
  43. package/commands/sdd.optimizar.md +164 -0
  44. package/commands/sdd.planificar.md +64 -0
  45. package/commands/sdd.retro.md +74 -0
  46. package/commands/sdd.verificar.md +81 -0
  47. package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
  48. package/configuracion-ejemplo/sdd.config.yaml +10 -0
  49. package/craft/accessibility-baseline.md +216 -0
  50. package/craft/anti-ai-slop.md +158 -0
  51. package/craft/color.md +160 -0
  52. package/craft/typography.md +121 -0
  53. package/design-systems/bold-brutalist/DESIGN.md +239 -0
  54. package/design-systems/editorial-minimal/DESIGN.md +205 -0
  55. package/design-systems/neutral-modern/DESIGN.md +227 -0
  56. package/design-systems/vibrant-consumer/DESIGN.md +257 -0
  57. package/design-systems/warm-editorial/DESIGN.md +221 -0
  58. package/docs/AGENTES.md +4 -1
  59. package/docs/CASO-COMPLETO.md +206 -0
  60. package/docs/EJEMPLOS.md +61 -185
  61. package/docs/FABRICA.md +163 -115
  62. package/docs/INICIO-RAPIDO.md +27 -79
  63. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +239 -0
  64. package/docs/MODELOS.md +3 -0
  65. package/docs/QUE-PASA-SI-FALLA.md +404 -0
  66. package/docs/README.md +43 -0
  67. package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
  68. package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
  69. package/package.json +15 -10
  70. package/plantillas/job-story-mejorar-prompt.md +107 -0
  71. package/presets/enterprise.yaml +6 -0
  72. package/presets/lean.yaml +4 -0
  73. package/presets/startup.yaml +6 -0
  74. package/skills/adr-indexer/SKILL.md +181 -0
  75. package/skills/cache-audit/SKILL.md +163 -0
  76. package/skills/critica-diseno/SKILL.md +193 -0
  77. package/skills/descubrir-idea/SKILL.md +133 -0
  78. package/skills/effort-router/SKILL.md +128 -0
  79. package/skills/elegir-direccion/SKILL.md +184 -0
  80. package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
  81. package/skills/github-connect/INDEX.md +223 -0
  82. package/skills/github-connect/INTEGRATION.md +361 -0
  83. package/skills/github-connect/QUICK-START.md +168 -0
  84. package/skills/github-connect/README.md +414 -0
  85. package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
  86. package/skills/github-connect/SKILL.md +343 -0
  87. package/skills/github-connect/STRUCTURE.txt +252 -0
  88. package/skills/github-connect/example-config.yaml +41 -0
  89. package/skills/github-connect/github-connect.sh +419 -0
  90. package/skills/interpretar-idea/SKILL.md +254 -0
  91. package/skills/mejorar-prompt/SKILL.md +237 -0
  92. package/skills/memory-compactor/SKILL.md +68 -0
  93. package/skills/modo-guiado/SKILL.md +12 -2
  94. package/skills/mutation-detector/SKILL.md +134 -0
  95. package/skills/observabilidad-consumo/SKILL.md +164 -0
  96. package/skills/token-budget/SKILL.md +177 -0
  97. package/skills/vercel-deploy/00-START-HERE.txt +364 -0
  98. package/skills/vercel-deploy/CHECKLIST.md +205 -0
  99. package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
  100. package/skills/vercel-deploy/FLOW.txt +334 -0
  101. package/skills/vercel-deploy/INDEX.md +276 -0
  102. package/skills/vercel-deploy/INTEGRATION.md +328 -0
  103. package/skills/vercel-deploy/MANIFEST.md +310 -0
  104. package/skills/vercel-deploy/README.md +65 -0
  105. package/skills/vercel-deploy/SKILL.md +356 -0
  106. package/skills/vercel-deploy/deploy.sh +298 -0
  107. package/skills/vercel-deploy/estado.json.example +205 -0
  108. package/skills/vercel-deploy/skill.yaml +323 -0
  109. package/skills/vercel-deploy/vercel-deploy.sh +216 -0
  110. package/skills/wireframe-mvp/SKILL.md +157 -0
  111. package/docs/EJEMPLO-PRACTICA.md +0 -383
  112. package/mcp-figma/README.md +0 -158
  113. package/mcp-figma/package.json +0 -7
  114. package/mcp-figma/src/component-generator.js +0 -162
  115. package/mcp-figma/src/design-system-analyzer.js +0 -247
  116. package/mcp-figma/src/figma-client.js +0 -75
  117. package/mcp-figma/src/index.js +0 -114
  118. package/mcp-figma/src/mcp.js +0 -97
  119. package/mcp-figma/src/style-mapper.js +0 -85
  120. /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
  121. /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
  122. /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
  123. /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
  124. /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
  125. /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
  126. /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
  127. /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
@@ -0,0 +1,521 @@
1
+ ---
2
+ description: Genera reporte de cumplimiento regulatorio (GDPR, SOC2, ISO 27001, HIPAA) contra el estado actual del proyecto.
3
+ allowed-tools: Read, Bash
4
+ ---
5
+
6
+ # /sdd.compliance — Reporte de Cumplimiento Regulatorio
7
+
8
+ ## Descripción
9
+
10
+ Genera un reporte en tiempo real que diagnostica el estado de compliance del proyecto contra regulaciones internacionales (GDPR, SOC2, ISO 27001, HIPAA). Identifica gaps, asigna un nivel de riesgo y recomienda acciones concretas.
11
+
12
+ ---
13
+
14
+ ## Uso
15
+
16
+ ```bash
17
+ /sdd.compliance
18
+ ```
19
+
20
+ Sin opciones: genera reporte completo (todas las regulaciones activas).
21
+
22
+ ### Opciones
23
+
24
+ ```bash
25
+ /sdd.compliance --framework=gdpr # Solo GDPR
26
+ /sdd.compliance --framework=soc2 # Solo SOC2
27
+ /sdd.compliance --framework=iso27001 # Solo ISO 27001
28
+ /sdd.compliance --framework=hipaa # Solo HIPAA
29
+ /sdd.compliance --output=json # Salida en JSON (para CI/CD)
30
+ /sdd.compliance --strict # Reporta warnings como errores
31
+ ```
32
+
33
+ ---
34
+
35
+ ## PASO 1: Detectar Configuración Actual
36
+
37
+ El comando comienza leyendo la configuración de tu proyecto:
38
+
39
+ ### Busca en `sdd.config.yaml`:
40
+
41
+ ```yaml
42
+ preset: enterprise # ← lean / startup / enterprise
43
+ compliance:
44
+ enabled: true # ← ¿Está habilitado compliance?
45
+ frameworks:
46
+ - gdpr
47
+ - soc2
48
+ - iso27001
49
+ security:
50
+ agente_seguridad: true # ← ¿Está activo agente de seguridad?
51
+ deteccion_pii: true # ← ¿Detecta datos personales?
52
+ encryption: aes-256 # ← Algoritmo configurado
53
+ autenticacion: oauth2 # ← Método de autenticación
54
+ ```
55
+
56
+ **Salida**:
57
+ ```
58
+ ✅ Configuración detectada:
59
+ Preset: enterprise
60
+ Frameworks activos: GDPR, SOC2, ISO 27001
61
+ Agente de seguridad: ACTIVADO
62
+ ```
63
+
64
+ ### Lee la Constitución de seguridad
65
+
66
+ El comando analiza qué restricciones están configuradas en el proyecto:
67
+
68
+ ```
69
+ ✅ Constitución de seguridad:
70
+ - Encriptación AES-256 de datos en reposo
71
+ - OAuth2 para autenticación
72
+ - Logging obligatorio de cambios sensibles
73
+ - Detección de PII automatizada
74
+ ```
75
+
76
+ ### Verifica Agentes activos
77
+
78
+ ```
79
+ ✅ Agentes especializados:
80
+ ✓ security_agent (detecta vulnerabilidades)
81
+ ✓ auditor_agent (genera logs)
82
+ ✓ documentador_agent (escribe especificaciones)
83
+ ```
84
+
85
+ ---
86
+
87
+ ## PASO 2: Generar Reporte de Compliance
88
+
89
+ El comando evalúa cada regulación activa contra el estado actual del proyecto.
90
+
91
+ ### Formato: Tabla de Cumplimiento
92
+
93
+ ```
94
+ ┌─────────────────────────────────────────────────────────────────┐
95
+ │ REGULACIÓN: GDPR (EU - Protección de Datos) │
96
+ ├────────────────────┬────────┬──────────┬──────────┬─────────────┤
97
+ │ Requerimiento │ Estado │ Evidencia│ Riesgo │ Acción │
98
+ ├────────────────────┼────────┼──────────┼──────────┼─────────────┤
99
+ │ 1. Especificación │ ✅ │ spec.md │ BAJO │ OK │
100
+ │ clara de datos │ │ 2.5 KB │ │ │
101
+ │ personales │ │ │ │ │
102
+ ├────────────────────┼────────┼──────────┼──────────┼─────────────┤
103
+ │ 2. Protección de │ ✅ │ Agente │ BAJO │ OK │
104
+ │ PII │ │ detecta │ │ │
105
+ │ │ │ en-code │ │ │
106
+ ├────────────────────┼────────┼──────────┼──────────┼─────────────┤
107
+ │ 3. Auditoría de │ ✅ │ .sdd/ │ BAJO │ OK │
108
+ │ acceso │ │ cambios/ │ │ │
109
+ │ │ │ 45 items │ │ │
110
+ ├────────────────────┼────────┼──────────┼──────────┼─────────────┤
111
+ │ 4. Encriptación │ ⚠️ │ En │ MEDIO │ Ejecutar │
112
+ │ de datos en │ │ tránsito │ │ /sdd.spec │
113
+ │ tránsito │ │ OK, en │ │ y mencionar │
114
+ │ │ │ reposo? │ │'data at rest│
115
+ ├────────────────────┼────────┼──────────┼──────────┼─────────────┤
116
+ │ 5. Data │ ⚠️ │ Política │ MEDIO │ Agregar │
117
+ │ Retention │ │ no │ │ a spec │
118
+ │ Policy │ │ definida │ │ "Datos se │
119
+ │ │ │ │ │ retienen N │
120
+ │ │ │ │ │ días" │
121
+ └────────────────────┴────────┴──────────┴──────────┴─────────────┘
122
+ ```
123
+
124
+ ### Leyenda de Estados
125
+
126
+ | Estado | Significado | Acción |
127
+ |--------|-------------|--------|
128
+ | ✅ | Cumplimiento verificado | Ninguna — mantén el control |
129
+ | ⚠️ | Cumplimiento parcial / Gap menor | Ejecución de comando recomendado |
130
+ | ❌ | No cumple — riesgo alto | Detener cambios, ejecutar acción inmediatamente |
131
+
132
+ ### Leyenda de Riesgo
133
+
134
+ | Riesgo | Impacto | Urgencia |
135
+ |--------|---------|----------|
136
+ | **BAJO** | No hay exposición inmediata | Resolver en próximo sprint |
137
+ | **MEDIO** | Exposición si auditan ahora | Resolver esta semana |
138
+ | **ALTO** | Violación clara de regulación | Resolver hoy |
139
+
140
+ ---
141
+
142
+ ## PASO 3: Gaps Identificados y Acciones
143
+
144
+ Para cada gap, el comando te da:
145
+
146
+ 1. **Descripción clara** del problema
147
+ 2. **Comando específico** a ejecutar
148
+ 3. **Tiempo estimado** para resolverlo
149
+
150
+ ### Ejemplo 1: GDPR — Falta definir data retention policy
151
+
152
+ ```
153
+ Gap GDPR-002: Data Retention Policy no documentada
154
+
155
+ Estado: ⚠️ Riesgo MEDIO
156
+ Regulación: GDPR Art. 5 (Principios) - Los datos debe retenerse solo
157
+ mientras sea necesario
158
+
159
+ Problema: Tu especificación menciona que almacenas emails de usuarios
160
+ pero no dice por cuánto tiempo.
161
+
162
+ Acción:
163
+ 1. Ejecuta: /sdd.especificar
164
+ 2. Selecciona: "Actualizar especificación existente"
165
+ 3. Agrega: "Los datos de usuario se retienen 12 meses tras
166
+ inactividad, luego se eliminan automáticamente"
167
+ 4. El agente de seguridad validará la política
168
+
169
+ Tiempo estimado: 5 minutos
170
+ ```
171
+
172
+ ### Ejemplo 2: SOC2 — Logging incompleto
173
+
174
+ ```
175
+ Gap SOC2-CC6.2: Audit logging insuficiente
176
+
177
+ Estado: ⚠️ Riesgo ALTO
178
+ Regulación: SOC2 Trust Service Criteria CC6.2 - Se deben registrar
179
+ cambios con quién, qué, cuándo, dónde
180
+
181
+ Problema: Tu proyecto logguea cambios de código pero no cambios de
182
+ permisos ni acceso a bases de datos sensibles.
183
+
184
+ Acción:
185
+ 1. Ejecuta: /sdd.especificar cambios-de-permisos
186
+ 2. Declara qué permisos son "sensibles" (admin, finance, etc)
187
+ 3. El agente de auditoría agregará logging automático
188
+ 4. Verifica: /sdd.compliance --framework=soc2
189
+
190
+ Tiempo estimado: 15 minutos
191
+ ```
192
+
193
+ ### Ejemplo 3: ISO 27001 — Control de acceso débil
194
+
195
+ ```
196
+ Gap ISO27001-A.12.1.1: Acceso sin restricción por rol
197
+
198
+ Estado: ❌ Riesgo ALTO
199
+ Regulación: ISO 27001 A.12.1.1 - Debe haber segregación de duties
200
+
201
+ Problema: Tu config permite que un usuario apruebe y ejecute su propio
202
+ cambio. ISO 27001 requiere "least privilege" — nadie puede
203
+ autorizar y ejecutar.
204
+
205
+ Acción:
206
+ 1. Edita: sdd.config.yaml
207
+ 2. Agraga en [security]:
208
+ segregation_of_duties: true
209
+ reviewer_must_differ_from_author: true
210
+ 3. Ejecuta: /sdd.implementar
211
+ 4. Verifica: /sdd.compliance --framework=iso27001
212
+
213
+ Tiempo estimado: 20 minutos
214
+ ```
215
+
216
+ ### Ejemplo 4: HIPAA — MFA no obligatorio
217
+
218
+ ```
219
+ Gap HIPAA-A.9.4.3: Autenticación multi-factor no obligatoria
220
+
221
+ Estado: ❌ Riesgo CRÍTICO
222
+ Regulación: HIPAA Security Rule - Acceso a PHI (Protected Health Info)
223
+ requiere MFA obligatorio
224
+
225
+ Problema: Tu config tiene autenticación OAuth2 pero MFA es opcional.
226
+ Para HIPAA, debe ser obligatorio.
227
+
228
+ Acción:
229
+ 1. Edita: sdd.config.yaml
230
+ 2. Cambia:
231
+ autenticacion: oauth2
232
+ mfa: optional
233
+ ↓↓↓
234
+ autenticacion: oauth2
235
+ mfa: required
236
+ 3. Ejecuta: /sdd.implementar
237
+ 4. Verifica: /sdd.compliance --framework=hipaa --strict
238
+
239
+ Tiempo estimado: 25 minutos
240
+ ```
241
+
242
+ ---
243
+
244
+ ## PASO 4: Recomendación Final
245
+
246
+ Al terminar, el comando te da una recomendación estratégica:
247
+
248
+ ### Escenario A: Preset enterprise, sin gaps
249
+
250
+ ```
251
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
252
+
253
+ ✅ CUMPLIMIENTO CERTIFICADO
254
+
255
+ Preset: enterprise
256
+ Frameworks: GDPR ✓, SOC2 ✓, ISO 27001 ✓, HIPAA ✓
257
+ Agentes: security ✓, auditor ✓, documentador ✓
258
+ Gaps: 0
259
+
260
+ Tu proyecto está ready para auditoría. Recomendación:
261
+
262
+ 1. Ejecuta /sdd.implementar antes de cada release para verificar
263
+ que los cambios mantienen compliance
264
+ 2. Revisa /sdd.compliance mensualmente para detectar nuevos gaps
265
+ 3. Si hay cambio de regulación (ej: expande a mercado EU), ejecuta
266
+ /sdd.compliance --framework=gdpr
267
+
268
+ Next: Integra en CI/CD
269
+
270
+ gh secret set SDD_COMPLIANCE_STRICT=true
271
+ # En tu workflow:
272
+ /sdd.compliance --output=json --strict > compliance.json
273
+ # Bloquea el merge si compliance falla
274
+
275
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
276
+ ```
277
+
278
+ ### Escenario B: Preset startup, algunos gaps
279
+
280
+ ```
281
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
282
+
283
+ ⚠️ CUMPLIMIENTO PARCIAL
284
+
285
+ Preset: startup
286
+ Frameworks: GDPR ⚠️ (2 gaps), SOC2 ❌ (4 gaps)
287
+ Gaps: 6 total
288
+ Riesgo: MEDIO-ALTO
289
+
290
+ Tu proyecto puede lanzarse, pero si auditan hoy, encontrarán issues.
291
+
292
+ Recomendación:
293
+
294
+ Opción 1 (RÁPIDO - para MVP):
295
+ - Resuelve los gaps ALTO (3 de 6)
296
+ - Tiempo: 1-2 horas
297
+ - Resultado: Reduce riesgo a MEDIO
298
+
299
+ Opción 2 (COMPLETO - antes de escalar):
300
+ - Cambia preset: startup → enterprise en sdd.config.yaml
301
+ - Ejecuta: /sdd.compliance
302
+ - Resuelve todos los gaps
303
+ - Tiempo: 4-6 horas
304
+ - Resultado: Listo para auditoría
305
+
306
+ Te recomiendo Opción 2 si:
307
+ - Ya tienes datos de usuarios (no importa volumen)
308
+ - Planeas levantar inversión
309
+ - El cliente es empresa grande (fintech, healthcare)
310
+
311
+ Primeros pasos:
312
+ sdd.config.yaml → cambiar preset a enterprise
313
+ /sdd.compliance → ver gaps priorizados
314
+ /sdd.implementar → ejecutar agente de seguridad
315
+
316
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
317
+ ```
318
+
319
+ ### Escenario C: Preset lean, sin compliance
320
+
321
+ ```
322
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
323
+
324
+ ❌ COMPLIANCE NO CONFIGURADO
325
+
326
+ Preset: lean
327
+ Frameworks: ninguno habilitado
328
+ Agentes: ninguno activo
329
+ Gaps: N/A (compliance deshabilitado)
330
+
331
+ Tu proyecto no tiene compliance integrado. Esto es OK si:
332
+ - Es solo para interno / demo
333
+ - No toca datos de usuarios
334
+ - No busca inversión ni clientes empresariales
335
+
336
+ Si en el futuro necesitas compliance, cambia a:
337
+
338
+ sdd.config.yaml:
339
+ preset: enterprise
340
+ compliance:
341
+ enabled: true
342
+
343
+ Luego ejecuta:
344
+ /sdd.compliance
345
+
346
+ El agente te guiará automáticamente.
347
+
348
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
349
+ ```
350
+
351
+ ---
352
+
353
+ ## Integración en CI/CD
354
+
355
+ Para bloquear merges que violen compliance:
356
+
357
+ ### GitHub Actions
358
+
359
+ ```yaml
360
+ name: Compliance Check
361
+ on: [pull_request]
362
+
363
+ jobs:
364
+ compliance:
365
+ runs-on: ubuntu-latest
366
+ steps:
367
+ - uses: actions/checkout@v3
368
+ - name: Run compliance check
369
+ run: /sdd.compliance --output=json --strict > compliance.json
370
+ - name: Block if compliance fails
371
+ run: |
372
+ if grep -q '"status": "fail"' compliance.json; then
373
+ echo "❌ Compliance check failed"
374
+ cat compliance.json
375
+ exit 1
376
+ fi
377
+ - name: Upload compliance report
378
+ uses: actions/upload-artifact@v3
379
+ with:
380
+ name: compliance-report
381
+ path: compliance.json
382
+ ```
383
+
384
+ ### GitLab CI
385
+
386
+ ```yaml
387
+ compliance_check:
388
+ stage: test
389
+ script:
390
+ - /sdd.compliance --output=json --strict > compliance.json
391
+ - |
392
+ if grep -q '"status": "fail"' compliance.json; then
393
+ echo "❌ Compliance check failed"
394
+ cat compliance.json
395
+ exit 1
396
+ fi
397
+ artifacts:
398
+ paths:
399
+ - compliance.json
400
+ ```
401
+
402
+ ---
403
+
404
+ ## Ejemplos de salida real
405
+
406
+ ### Output por terminal (legible)
407
+
408
+ ```bash
409
+ $ /sdd.compliance --framework=gdpr
410
+
411
+ ┌─ GDPR: Protección de Datos (EU) ────────────────────────────────┐
412
+ │ │
413
+ │ ✅ CUMPLIMIENTO: 4/5 requisitos │
414
+ │ │
415
+ │ ✅ Especificación clara │
416
+ │ Encontrado: .sdd/especificaciones/datos-personales.md │
417
+ │ │
418
+ │ ✅ Protección de PII │
419
+ │ Agente de seguridad detecta datos personales en código │
420
+ │ │
421
+ │ ✅ Auditoría de acceso │
422
+ │ Historial: .sdd/cambios/ (48 entradas) │
423
+ │ │
424
+ │ ⚠️ Data retention policy │
425
+ │ NO ENCONTRADO. Acción: /sdd.especificar │
426
+ │ │
427
+ │ ⚠️ Encryption en reposo │
428
+ │ En tránsito: ✓ (TLS 1.3) │
429
+ │ En reposo: ? (revisar config de BD) │
430
+ │ Acción: sdd.config.yaml → [storage] encryption: aes-256 │
431
+ │ │
432
+ └───────────────────────────────────────────────────────────────────┘
433
+
434
+ RESUMEN:
435
+ Gaps: 2 (ambos resolvibles en <30 min)
436
+ Riesgo: MEDIO
437
+ Recomendación: Ejecuta las 2 acciones y listo
438
+ ```
439
+
440
+ ### Output JSON (para máquinas)
441
+
442
+ ```json
443
+ {
444
+ "timestamp": "2026-06-13T14:23:45Z",
445
+ "preset": "enterprise",
446
+ "compliance_enabled": true,
447
+ "frameworks": [
448
+ {
449
+ "name": "gdpr",
450
+ "status": "partial",
451
+ "score": 80,
452
+ "requirements": [
453
+ {
454
+ "id": "GDPR-001",
455
+ "name": "Especificación clara",
456
+ "status": "pass",
457
+ "evidence": "spec.md 2.5 KB"
458
+ },
459
+ {
460
+ "id": "GDPR-004",
461
+ "name": "Data retention policy",
462
+ "status": "fail",
463
+ "evidence": null,
464
+ "action": "/sdd.especificar",
465
+ "severity": "medium"
466
+ }
467
+ ]
468
+ }
469
+ ],
470
+ "total_gaps": 3,
471
+ "total_severity": "medium",
472
+ "next_action": "Execute: /sdd.especificar"
473
+ }
474
+ ```
475
+
476
+ ---
477
+
478
+ ## Troubleshooting
479
+
480
+ ### "Error: sdd.config.yaml not found"
481
+
482
+ ```bash
483
+ # Verifica que estés en la raíz del proyecto
484
+ ls sdd.config.yaml
485
+
486
+ # Si no existe, inicializa SDD-ES
487
+ /sdd.init --preset=enterprise
488
+ ```
489
+
490
+ ### "Error: .sdd/ directory is empty"
491
+
492
+ ```bash
493
+ # El directorio .sdd/ debe existir con artefactos
494
+ # Genera al menos una especificación
495
+ /sdd.especificar "Sistema procesa datos de usuarios"
496
+
497
+ # Luego intenta de nuevo
498
+ /sdd.compliance
499
+ ```
500
+
501
+ ### "Gap reportado es falso positivo"
502
+
503
+ ```bash
504
+ # Abre docs/COMPLIANCE.md para entender qué busca el agente
505
+ # Ajusta tu especificación o sdd.config.yaml según corresponda
506
+ # Si aún así es falso, reporta:
507
+ /sdd.issue "compliance-gap-false-positive"
508
+ ```
509
+
510
+ ---
511
+
512
+ ## Resumen rápido
513
+
514
+ | Comando | Para qué | Frecuencia |
515
+ |---------|----------|-----------|
516
+ | `/sdd.compliance` | Diagnóstico completo | Semanal o antes de release |
517
+ | `/sdd.compliance --framework=gdpr` | Solo GDPR | Cuando manejes datos EU |
518
+ | `/sdd.compliance --output=json --strict` | CI/CD integration | En cada PR |
519
+ | `/sdd.compliance --framework=hipaa` | Solo HIPAA | Si es healthcare |
520
+
521
+ **Prioridad**: Resuelve gaps ALTO primero, luego MEDIO, BAJO al final.
@@ -60,7 +60,7 @@ Calidad: cobertura 75% · warnings: no · funciones ≤50 líneas
60
60
  ¿Aplicar este preset? Los valores que hayas personalizado se sobreescribirán.
61
61
  ```
62
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).
63
+ Si el usuario confirma, mezcla los valores del preset sobre el `sdd.config.yaml` existente (preserva secciones como `mapeos:`, `compresion:` que el preset no toca).
64
64
 
65
65
  ## PASO 3 — Modo: Mostrar
66
66
 
@@ -179,6 +179,39 @@ CAMBIOS:
179
179
  Los cambios se aplican a la próxima ejecución de comandos SDD.
180
180
  ```
181
181
 
182
+ ## Modo: Control de esfuerzo (effort level)
183
+
184
+ Claude Code tiene un nivel de esfuerzo **global** que controla cuánto razonamiento aplica el modelo. No es un campo de agente — es una configuración de la sesión.
185
+
186
+ **Cómo cambiarlo:**
187
+
188
+ ```bash
189
+ # En la sesión activa de Claude Code — escribe directamente:
190
+ /effort low # rápido, respuestas cortas
191
+ /effort medium # balanceado (default)
192
+ /effort high # más razonamiento
193
+ /effort xhigh # máximo — equivale a "ultracode"
194
+
195
+ # O desde el terminal antes de abrir Claude Code:
196
+ CLAUDE_CODE_EFFORT_LEVEL=xhigh claude
197
+ ```
198
+
199
+ **Recomendación SDD-ES por fase:**
200
+
201
+ | Fase | Effort recomendado | Razón |
202
+ |------|--------------------|-------|
203
+ | `/sdd.descubrir`, `/sdd.especificar` | `medium` | Exploración inicial |
204
+ | `/sdd.planificar`, `/sdd.analizar` | `high` | Decisiones con impacto |
205
+ | `/sdd.implementar` (agentes OPUS) | `xhigh` | Arquitectura, seguridad, BD |
206
+ | `/sdd.implementar` (agentes SONNET) | `medium` | Implementación estándar |
207
+ | `/sdd.qa`, `/sdd.verificar` | `high` | Revisión crítica |
208
+ | `/sdd.documentar`, investigación | `low` | Tareas de baja complejidad |
209
+
210
+ Cuando el usuario escribe `/sdd.configurar effort:X`:
211
+ - Muestra el nivel actual y el recomendado para la fase activa
212
+ - Indica cómo aplicarlo (`/effort X` en Claude Code o la variable de entorno)
213
+ - NO modifica ningún archivo de agente — el effort es siempre global de sesión
214
+
182
215
  ## Modo asistente: Recomendar configuración
183
216
 
184
217
  Si el usuario escribe `/sdd.configurar recomendar`: