sdd-es 2.0.0 → 2.5.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 (95) hide show
  1. package/.claude/settings.json +21 -45
  2. package/LICENSE +21 -0
  3. package/README.md +51 -21
  4. package/agents/architecture-designer.md +174 -0
  5. package/agents/arquitecto.md +16 -1
  6. package/agents/asesor-datos.md +15 -1
  7. package/agents/critico.md +37 -1
  8. package/agents/desarrollador-backend.md +3 -1
  9. package/agents/desarrollador-frontend.md +3 -1
  10. package/agents/disenador-api.md +13 -1
  11. package/agents/documentador.md +3 -1
  12. package/agents/investigador.md +3 -1
  13. package/agents/operaciones.md +3 -1
  14. package/agents/product-designer.md +232 -0
  15. package/agents/revisor.md +25 -1
  16. package/agents/seguridad.md +5 -1
  17. package/agents/tester.md +3 -1
  18. package/claude-hooks/agent-memory.js +154 -0
  19. package/cli/index.js +1 -2
  20. package/commands/sdd.analizar.md +23 -2
  21. package/commands/sdd.compliance.md +516 -0
  22. package/commands/sdd.configurar.md +33 -0
  23. package/commands/sdd.constitucion.md +198 -23
  24. package/commands/sdd.construir.md +210 -0
  25. package/commands/sdd.dise/303/261ar.md +188 -0
  26. package/commands/sdd.estado.md +68 -1
  27. package/commands/sdd.exportar.md +344 -0
  28. package/commands/sdd.implementar.md +203 -23
  29. package/commands/sdd.interpretar.md +239 -0
  30. package/commands/sdd.md +70 -1
  31. package/commands/sdd.optimizar.md +164 -0
  32. package/commands/sdd.planificar.md +64 -0
  33. package/commands/sdd.verificar.md +10 -0
  34. package/craft/accessibility-baseline.md +216 -0
  35. package/craft/anti-ai-slop.md +158 -0
  36. package/craft/color.md +160 -0
  37. package/craft/typography.md +121 -0
  38. package/design-systems/bold-brutalist/DESIGN.md +239 -0
  39. package/design-systems/editorial-minimal/DESIGN.md +205 -0
  40. package/design-systems/neutral-modern/DESIGN.md +227 -0
  41. package/design-systems/vibrant-consumer/DESIGN.md +257 -0
  42. package/design-systems/warm-editorial/DESIGN.md +221 -0
  43. package/docs/AGENTES.md +4 -1
  44. package/docs/FABRICA.md +164 -115
  45. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +237 -0
  46. package/docs/MODELOS.md +3 -0
  47. package/docs/QUE-PASA-SI-FALLA.md +404 -0
  48. package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
  49. package/package.json +5 -3
  50. package/skills/cache-audit/SKILL.md +163 -0
  51. package/skills/critica-diseno/SKILL.md +193 -0
  52. package/skills/descubrir-idea/SKILL.md +133 -0
  53. package/skills/effort-router/SKILL.md +128 -0
  54. package/skills/elegir-direccion/SKILL.md +184 -0
  55. package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
  56. package/skills/github-connect/INDEX.md +223 -0
  57. package/skills/github-connect/INTEGRATION.md +361 -0
  58. package/skills/github-connect/QUICK-START.md +168 -0
  59. package/skills/github-connect/README.md +414 -0
  60. package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
  61. package/skills/github-connect/SKILL.md +343 -0
  62. package/skills/github-connect/STRUCTURE.txt +252 -0
  63. package/skills/github-connect/example-config.yaml +41 -0
  64. package/skills/github-connect/github-connect.sh +419 -0
  65. package/skills/interpretar-idea/SKILL.md +254 -0
  66. package/skills/memory-compactor/SKILL.md +114 -0
  67. package/skills/modo-guiado/SKILL.md +12 -2
  68. package/skills/observabilidad-consumo/SKILL.md +164 -0
  69. package/skills/token-budget/SKILL.md +154 -0
  70. package/skills/vercel-deploy/00-START-HERE.txt +364 -0
  71. package/skills/vercel-deploy/CHECKLIST.md +205 -0
  72. package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
  73. package/skills/vercel-deploy/FLOW.txt +334 -0
  74. package/skills/vercel-deploy/INDEX.md +276 -0
  75. package/skills/vercel-deploy/INTEGRATION.md +328 -0
  76. package/skills/vercel-deploy/MANIFEST.md +310 -0
  77. package/skills/vercel-deploy/README.md +65 -0
  78. package/skills/vercel-deploy/SKILL.md +356 -0
  79. package/skills/vercel-deploy/deploy.sh +298 -0
  80. package/skills/vercel-deploy/estado.json.example +205 -0
  81. package/skills/vercel-deploy/skill.yaml +323 -0
  82. package/skills/vercel-deploy/vercel-deploy.sh +216 -0
  83. package/skills/wireframe-mvp/SKILL.md +157 -0
  84. package/.claude-plugin/marketplace.json +0 -31
  85. package/.claude-plugin/plugin.json +0 -97
  86. package/docs/EJEMPLO-PRACTICA.md +0 -383
  87. package/docs/EJEMPLOS.md +0 -212
  88. /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
  89. /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
  90. /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
  91. /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
  92. /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
  93. /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
  94. /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
  95. /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
@@ -0,0 +1,334 @@
1
+ ================================================================================
2
+ SKILL: VERCEL-DEPLOY - FLUJO VISUAL
3
+ ================================================================================
4
+
5
+ PUNTO DE ENTRADA
6
+
7
+
8
+ ┌──────────────────────────────┐
9
+ │ /sdd.desplegar │
10
+ │ O paso 5 de /sdd.implementar│
11
+ │ O invocación manual │
12
+ └──────────────────┬────────────┘
13
+
14
+
15
+
16
+ ================================================================================
17
+ PASO 1: PRE-CHECKS
18
+ ================================================================================
19
+
20
+ ┌─────────────────────────────────────────────────────────┐
21
+ │ Validaciones preliminares (bloquean si fallan) │
22
+ └─────────────────────────────────────────────────────────┘
23
+
24
+ ┌───────┴───────┬──────────┬──────────┐
25
+ ▼ ▼ ▼ ▼
26
+ ╔════════╗ ╔══════════╗ ╔═══════╗ ╔═════════╗
27
+ ║ Check ║ ║ Rama ║ ║ Sin ║ ║ Tests ║
28
+ ║TOKEN ║ ║ Limpia ║ ║Secretos║ ║ Verdes ║
29
+ ╚════════╝ ╚══════════╝ ╚═══════╝ ╚═════════╝
30
+ │ │ │ │
31
+ ✓ OK ✓ OK ✓ OK ✓ OK
32
+ │ │ │ │
33
+ └────────────┴───────────┴──────────┘
34
+
35
+ ✅ TODO OK → Continuar
36
+ ❌ ALGO FALLA → BLOQUEA (exit 1)
37
+
38
+
39
+
40
+ ================================================================================
41
+ PASO 2: AUTO-GENERAR VERCEL.JSON
42
+ ================================================================================
43
+
44
+ ┌─────────────────────────────────────────────────┐
45
+ │ Detectar framework y auto-generar configuración │
46
+ └─────────────────────────────────────────────────┘
47
+
48
+ ┌──────────────┴──────────────┐
49
+ ▼ ▼
50
+ ┌──────────────────────┐ ┌─────────────────────┐
51
+ │ ¿Existe vercel.json? │ │ ¿Existe package.json│
52
+ └──────────────────────┘ └─────────────────────┘
53
+ │ │
54
+ SÍ │ NO SÍ │ NO
55
+ ▼ │ ▼ │
56
+ ✓ Skip │ ┌────────────┐
57
+ │ │ Detectar │
58
+ ▼ │ Framework │
59
+ ┌─────────────────┐ └────────────┘
60
+ │ Auto-generar: │ │
61
+ │ • buildCommand │ ┌────────┼────────┬──────────┬─────────┐
62
+ │ • outputDir │ ▼ ▼ ▼ ▼ ▼
63
+ │ • framework │ next react vue astro python
64
+ └─────────────────┘ │ │ │ │ │
65
+ │ │ │ │ │ │
66
+ ▼ ▼ ▼ ▼ ▼ ▼
67
+ ✅ LISTO ✓ Conf ✓ Conf ✓ Conf ✓ Conf ✓ Conf
68
+ │ │ │ │ │
69
+ └────────┴────────┴──────────┴─────────┘
70
+
71
+
72
+
73
+ ================================================================================
74
+ PASO 3: BUILD Y DEPLOY
75
+ ================================================================================
76
+
77
+ ┌──────────────────────────────────────┐
78
+ │ Compilar localmente y enviar a Vercel│
79
+ └──────────────────────────────────────┘
80
+
81
+ ┌───────┴───────┐
82
+ ▼ ▼
83
+ ┌────────┐ ┌──────────────┐
84
+ │ Build │ │ Deploy a │
85
+ │Local │ │ Vercel │
86
+ │npm run │ │ --prod │
87
+ │build │ │ │
88
+ └────────┘ └──────────────┘
89
+ │ │
90
+ ▼ ▼
91
+ ✓ OK o ✓ OK → URL capturada
92
+ ✗ FALLA o
93
+ ✗ FALLA → ERROR (exit 1)
94
+
95
+ ✗ ERROR URL: https://proyecto.vercel.app
96
+ (exit 1) │
97
+
98
+
99
+ ================================================================================
100
+ PASO 4: HEALTH CHECK
101
+ ================================================================================
102
+
103
+ ┌──────────────────┐
104
+ │ ¿URL responde? │
105
+ │ HTTP 200? │
106
+ └──────────────────┘
107
+
108
+ Intento 1 de 3
109
+
110
+ ┌───────┴────────┐
111
+ ▼ ▼
112
+ ✓ 200 ✗ No 200
113
+ OK (502, 503, timeout)
114
+ │ │
115
+ ▼ ▼
116
+ ✅ ÉXITO Esperar 5s (backoff)
117
+ (Ir a PASO 5) │
118
+ Intento 2 de 3
119
+
120
+ ┌──────┴────────┐
121
+ ▼ ▼
122
+ ✓ 200 ✗ No 200
123
+ OK Esperar 5s
124
+ │ │
125
+ ▼ Intento 3 de 3
126
+ ✅ ÉXITO │
127
+ ┌───┴────────┐
128
+ ▼ ▼
129
+ ✓ 200 ✗ No 200
130
+ OK (final)
131
+ │ │
132
+ ▼ ▼
133
+ ✅ ÉXITO ❌ FALLA
134
+ (Ir a PASO 5)
135
+
136
+ ================================================================================
137
+ PASO 5: ROLLBACK (CONDICIONAL)
138
+ ================================================================================
139
+
140
+ ┌────────────────────────────┐
141
+ │ ¿Necesita rollback? │
142
+ │ (Health check falló) │
143
+ └────────────────────────────┘
144
+
145
+ ┌───────┴───────┐
146
+ ▼ ▼
147
+ ✓ Sí ✗ No
148
+ Rollback (Health OK)
149
+ │ │
150
+ ▼ │
151
+ ┌────────┐ ┌─────────────┐
152
+ │ Revert │ │ Skip rollback│
153
+ │ a prev │ │ (normal) │
154
+ │deploy │ └─────────────┘
155
+ └────────┘ │
156
+ │ │
157
+ ▼ ▼
158
+ ✓ OK ✅ CONTINUAR
159
+ │ │
160
+ ├─────────────┬──┘
161
+ │ │
162
+ ▼ ▼
163
+
164
+ ================================================================================
165
+ PASO 6: REGISTRAR RESULTADO
166
+ ================================================================================
167
+
168
+ ┌──────────────────────────────┐
169
+ │ Guardar metadatos del deploy │
170
+ └──────────────────────────────┘
171
+
172
+ ┌────────────┴──────────────┐
173
+ ▼ ▼
174
+ ┌────────────────┐ ┌────────────────┐
175
+ │ .sdd/estado.json│ │ Log en stdout │
176
+ │ │ │ │
177
+ │ • timestamp │ │ • Éxito │
178
+ │ • URL │ │ • Tiempo total │
179
+ │ • status │ │ • Próximos │
180
+ │ • health_check │ │ pasos │
181
+ │ • framework │ └────────────────┘
182
+ └────────────────┘ │
183
+ │ │
184
+ └───────────┬───────────┘
185
+
186
+
187
+ ✅ COMPLETADO
188
+
189
+ ================================================================================
190
+ ENTRADA VS SALIDA
191
+ ================================================================================
192
+
193
+ INPUT:
194
+ • VERCEL_TOKEN (requerido)
195
+ • VERCEL_PROJECT_ID (opcional)
196
+ • framework (auto-detectado)
197
+ • environment (production | staging)
198
+
199
+ OUTPUT:
200
+ • deploy_url: "https://proyecto.vercel.app"
201
+ • health_check: "200 OK" o "FAILED"
202
+ • timestamp: "2026-06-13T14:30:00Z"
203
+ • .sdd/estado.json: archivo con metadatos completos
204
+
205
+ ERROR OUTPUT:
206
+ • Mensaje de error claro
207
+ • Instrucciones de remediar
208
+ • Exit code: 1
209
+
210
+ ================================================================================
211
+ MANEJO DE ERRORES
212
+ ================================================================================
213
+
214
+ PUNTO DE FALLA ACCIÓN
215
+ ────────────────────────────────────────────────────────
216
+ PASO 1: Pre-checks ❌ BLOQUEA → Usuario debe arreglar
217
+
218
+ ├─ VERCEL_TOKEN Instrucciones para generar
219
+ ├─ Rama limpia git add . && git commit
220
+ ├─ Sin secretos Mueve a .env.local
221
+ └─ Tests OK /sdd.implementar
222
+
223
+ PASO 3: Build/Deploy ❌ BLOQUEA → Usuario debe arreglar
224
+
225
+ ├─ Build falla npm run build (debug)
226
+ └─ Deploy falla Revisa Vercel API
227
+
228
+ PASO 4: Health Check 🔄 REINTENTOS AUTOMÁTICOS (3x)
229
+ │ ↓
230
+ └─ Persiste PASO 5: Rollback automático
231
+
232
+ PASO 5: Rollback ❌ CONTACTA DEVOPS
233
+ (nunca debería fallar)
234
+
235
+ ================================================================================
236
+ DIAGRAMA SECUENCIAL
237
+ ================================================================================
238
+
239
+ PASO 1 PASO 2 PASO 3 PASO 4 PASO 5/6
240
+ ──────────────────────────────────────────────────────────────────────────
241
+ Pre-checks Configuración Build & Deploy Health Check Rollback/Log
242
+ │ │ │ │ │
243
+ ├─ Token ├─ Detect ├─ Build ├─ Try 1 ├─ Needed?
244
+ │ │ │ │ │
245
+ ├─ Rama ├─ vercel.json ├─ Deploy ├─ Try 2 ├─ Revert
246
+ │ │ │ │ │
247
+ ├─ Secretos └─ Ready └─ Capturar URL ├─ Try 3 ├─ Log
248
+ │ │ │
249
+ └─ Tests └─ HTTP 200? └─ Done
250
+ │ │
251
+ ▼ ▼
252
+ ✅ OK ✅ OK o ❌ FALLA
253
+ │ │
254
+ └──────────────────────────────────────────────────┘
255
+ Todos los pasos ejecutados
256
+
257
+
258
+ 🚀 DESPLIEGUE COMPLETADO
259
+
260
+
261
+ Mostrar URL, próximos pasos
262
+ Guardar estado en .sdd/estado.json
263
+
264
+ ================================================================================
265
+ FLUJO DE DECISIÓN (IF/THEN)
266
+ ================================================================================
267
+
268
+ SI VERCEL_TOKEN presente? NO → ERROR: Generar token
269
+ SÍ │
270
+ └─→ SI rama limpia? NO → ERROR: Commit cambios
271
+ SÍ │
272
+ └─→ SI sin secretos? NO → ERROR: Mueve secretos
273
+ SÍ │
274
+ └─→ SI tests OK? NO → ERROR: Arregla tests
275
+ SÍ │
276
+ └─→ PASO 2: Configuración
277
+
278
+ └─→ PASO 3: Deploy
279
+
280
+ └─→ PASO 4: Health Check
281
+
282
+ SI OK? NO?
283
+ │ └─→ Reintenta (3x)
284
+ │ │
285
+ │ SI persiste?
286
+ │ └─→ PASO 5: Rollback
287
+
288
+ └─→ PASO 6: Registrar
289
+
290
+
291
+ ✅ COMPLETADO
292
+
293
+ ================================================================================
294
+ LÍNEA DE TIEMPO
295
+ ================================================================================
296
+
297
+ 00:00 Inicio (/sdd.desplegar)
298
+
299
+ 00:05 PASO 1: Pre-checks (timeout: 60s)
300
+
301
+ 00:30 PASO 2: Configuración (timeout: 30s)
302
+
303
+ 00:35 PASO 3: Build (timeout: 900s/15 min)
304
+ │ Build local: ~60-120s
305
+ │ Deploy a Vercel: ~60-90s
306
+
307
+ 02:45 PASO 4: Health Check (timeout: 60s)
308
+ │ Intento 1: ~5s
309
+ │ Si falla: espera 5s
310
+ │ Intento 2: ~5s
311
+ │ Si falla: espera 5s
312
+ │ Intento 3: ~5s
313
+
314
+ 03:00 PASO 5: Rollback (timeout: 300s/si necesario)
315
+ │ Si health check falló: ~30s
316
+ │ Si OK: skip
317
+
318
+ 03:15 PASO 6: Registrar (timeout: 10s)
319
+
320
+
321
+ FIN TOTAL: ~3-4 minutos (típico)
322
+ MAX: ~30 minutos (si hay problemas)
323
+
324
+ ================================================================================
325
+ COLORES DE ESTADO
326
+ ================================================================================
327
+
328
+ 🟢 ✅ Verde → OK, continuar
329
+ 🔴 ❌ Rojo → Error, bloquea
330
+ 🟡 ⚠️ Amarillo → Advertencia
331
+ 🔵 ℹ️ Azul → Información
332
+ 🟣 🔄 Púrpura → En progreso/Reintentando
333
+
334
+ ================================================================================
@@ -0,0 +1,276 @@
1
+ # Skill: vercel-deploy
2
+
3
+ **Despliegue automático en Vercel con pre-checks, health checks y rollback automático.**
4
+
5
+ Cierra el ciclo idea→producción sin salir del flujo. Diferenciador vs Bolt/v0: verificación independiente **PRE-deploy**, no post-deploy.
6
+
7
+ ---
8
+
9
+ ## 📋 Archivos en este directorio
10
+
11
+ ### `SKILL.md` ⭐ (Principal)
12
+ **Documento maestro** con la especificación completa del skill.
13
+
14
+ Contenido:
15
+ - Propósito y visión
16
+ - Entrada requerida (VERCEL_TOKEN, variables de entorno)
17
+ - Flujo detallado de 6 pasos (código Bash ejecutable)
18
+ - PASO 1: Pre-checks (bloquea si hay issues)
19
+ - PASO 2: Auto-generar vercel.json
20
+ - PASO 3: Build y deploy a Vercel
21
+ - PASO 4: Health check con retry y backoff
22
+ - PASO 5: Rollback automático si falla
23
+ - PASO 6: Registrar resultado en `.sdd/estado.json`
24
+ - Output visual para el usuario
25
+ - Tabla de manejo de errores
26
+ - Notas de implementación (atomicidad, idempotencia, seguridad)
27
+
28
+ **Leer esto primero para entender qué hace el skill.**
29
+
30
+ ---
31
+
32
+ ### `deploy.sh` (Ejecutable)
33
+ **Script Bash funcional** que implementa los 6 pasos.
34
+
35
+ Características:
36
+ - Colores y emojis en el output
37
+ - Manejo robusto de errores
38
+ - Funciones modulares para cada paso
39
+ - Exit codes correctos
40
+ - Logging a `.sdd/estado.json`
41
+
42
+ Uso:
43
+ ```bash
44
+ bash ./skills/vercel-deploy/deploy.sh
45
+ # O si tiene permisos de ejecución:
46
+ ./skills/vercel-deploy/deploy.sh
47
+ ```
48
+
49
+ **Para testing y ejecución real del flujo.**
50
+
51
+ ---
52
+
53
+ ### `README.md` (Inicio rápido)
54
+ **Guía de usuario con setup mínimo.**
55
+
56
+ Contenido:
57
+ - Uso rápido (copy-paste commands)
58
+ - Cómo obtener VERCEL_TOKEN
59
+ - Tabla de errores comunes
60
+ - Próximos pasos post-deploy
61
+ - Invocación (automática vs manual)
62
+
63
+ **Para usuarios que quieren empezar rápido.**
64
+
65
+ ---
66
+
67
+ ### `CHECKLIST.md` (Pre-requisitos)
68
+ **Checklist interactivo** antes de desplegar.
69
+
70
+ Contenido:
71
+ - 8 secciones: autenticación, código, seguridad, tests, vercel config, dependencias, comunicación, contingencia
72
+ - Comandos para verificar cada condición
73
+ - Acciones remediales si algo falla
74
+ - Checklist de una línea (copy-paste)
75
+ - Tabla "estado final: all systems go"
76
+
77
+ **Para verificar que todo está ready antes de desplegar.**
78
+
79
+ ---
80
+
81
+ ### `INTEGRATION.md` (Integración con sdd.implementar)
82
+ **Guía para conectar vercel-deploy en el flujo `/sdd.implementar`.**
83
+
84
+ Contenido:
85
+ - Overview del flujo (dónde se invoca)
86
+ - Requisitos previos (VERCEL_TOKEN, VERCEL_PROJECT_ID)
87
+ - Configuración en sdd.implementar (YAML frontmatter)
88
+ - Gate humano ("¿Despliego?")
89
+ - Flujo esperado (éxito, fallo, rollback)
90
+ - Ejemplo completo de sdd.implementar.md
91
+ - Archivos generados (.sdd/estado.json, vercel.json)
92
+ - Troubleshooting por escenario
93
+ - Variables de entorno en Vercel Dashboard
94
+ - Monitoreo post-deploy
95
+
96
+ **Para integrar el skill en tu workflow SDD.**
97
+
98
+ ---
99
+
100
+ ### `INDEX.md` (Este archivo)
101
+ **Mapa de navegación** de toda la documentación.
102
+
103
+ Contenido:
104
+ - Descripción de cada archivo
105
+ - Qué leer según tu caso de uso
106
+ - Relaciones entre documentos
107
+
108
+ **Para orientarte en la estructura.**
109
+
110
+ ---
111
+
112
+ ## 🎯 Qué leer según tu caso de uso
113
+
114
+ ### "Quiero desplegar ahora mismo"
115
+ 1. Lee [README.md](./README.md) (2 min)
116
+ 2. Lee [CHECKLIST.md](./CHECKLIST.md) (5 min)
117
+ 3. Ejecuta: `bash ./skills/vercel-deploy/deploy.sh`
118
+
119
+ ### "Quiero entender qué hace el skill"
120
+ 1. Lee [SKILL.md](./SKILL.md) (10 min)
121
+ 2. Analiza [deploy.sh](./deploy.sh) (5 min)
122
+ 3. Revisa ejemplos en [README.md](./README.md)
123
+
124
+ ### "Quiero integrarlo en mi /sdd.implementar"
125
+ 1. Lee [INTEGRATION.md](./INTEGRATION.md) (15 min)
126
+ 2. Copia la sección YAML del ejemplo
127
+ 3. Añade el gate humano en tu workflow
128
+ 4. Configura VERCEL_TOKEN
129
+
130
+ ### "Algo falló y necesito troubleshoot"
131
+ 1. Consulta tabla de errores en [README.md](./README.md)
132
+ 2. Más detalles en [SKILL.md](./SKILL.md) → "Manejo de errores"
133
+ 3. Si es de integración, ve a [INTEGRATION.md](./INTEGRATION.md) → "Troubleshooting"
134
+
135
+ ### "Quiero ver el código ejecutable"
136
+ 1. Revisa [deploy.sh](./deploy.sh)
137
+ 2. Lee comentarios alineados con [SKILL.md](./SKILL.md)
138
+ 3. Test localmente con variables mock
139
+
140
+ ---
141
+
142
+ ## ⚡ Flujo de 6 pasos (resumen)
143
+
144
+ ```
145
+ PASO 1: Pre-checks
146
+ ✓ VERCEL_TOKEN presente
147
+ ✓ Rama limpia (git)
148
+ ✓ Sin secretos en src/
149
+ ✓ Tests verdes
150
+ ↓ (bloquea si algo falla)
151
+
152
+ PASO 2: Configuración
153
+ ✓ Detectar framework (next, react, vue, astro, python...)
154
+ ✓ Auto-generar vercel.json si no existe
155
+
156
+
157
+ PASO 3: Deploy
158
+ ✓ Build local: npm run build
159
+ ✓ Enviar a Vercel: vercel deploy --prod
160
+ ✓ Capturar URL de salida
161
+
162
+
163
+ PASO 4: Health Check
164
+ ✓ Retry 3 veces: curl -s $DEPLOY_URL
165
+ ✓ Esperar backoff si falla (5s entre intentos)
166
+ ✓ Si HTTP 200: ✅ éxito
167
+ ↓ (si no, ir a PASO 5)
168
+
169
+ PASO 5: Rollback
170
+ ✓ Si health check falla: vercel rollback --prod
171
+ ✓ Revertir a deploy anterior
172
+ ✓ Loguear y notificar usuario
173
+
174
+
175
+ PASO 6: Registrar
176
+ ✓ Guardar metadatos en .sdd/estado.json
177
+ ✓ Timestamp, URL, status, health_check, framework
178
+ ✓ Disponible para auditoría y monitoreo
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 📦 Input del skill
184
+
185
+ ```env
186
+ # Requerido
187
+ VERCEL_TOKEN=vercel_xxx_abc123...
188
+
189
+ # Opcional pero recomendado
190
+ VERCEL_PROJECT_ID=prj_xyz123...
191
+
192
+ # Auto-detectado
193
+ framework=nextjs # O react, vue, astro, python, etc.
194
+ ```
195
+
196
+ ## 📤 Output del skill
197
+
198
+ ```
199
+ 🚀 DESPLIEGUE A VERCEL — COMPLETADO
200
+
201
+ ✅ Pre-checks completados
202
+ ✅ Build exitoso
203
+ ✅ Vercel deployment: https://mi-proyecto.vercel.app
204
+ ✅ Health check: HTTP 200
205
+
206
+ Tu app está en vivo: https://mi-proyecto.vercel.app
207
+ Tiempo total: 3m 42s
208
+
209
+ Próximos pasos:
210
+ • Comparte la URL
211
+ • Monitorea por 15 minutos
212
+ • Ejecuta /sdd.snapshot
213
+ ```
214
+
215
+ ---
216
+
217
+ ## 🔐 Seguridad
218
+
219
+ - ✅ VERCEL_TOKEN nunca se loguea en stdout
220
+ - ✅ Secretos detectados pre-deploy (grep en src/)
221
+ - ✅ .env.local en .gitignore
222
+ - ✅ Credenciales en variables de entorno, no en código
223
+ - ✅ Atomicidad: o todo se despliega o se revierte
224
+
225
+ ---
226
+
227
+ ## 📚 Relaciones entre documentos
228
+
229
+ ```
230
+ INDEX.md (Tú estás aquí)
231
+ ├─ README.md ← Empezar aquí
232
+ ├─ CHECKLIST.md ← Antes de desplegar
233
+ ├─ SKILL.md ← Entender el flujo
234
+ │ └─ deploy.sh ← Implementación
235
+ ├─ INTEGRATION.md ← Conectar con sdd.implementar
236
+ └─ Este mismo archivo
237
+ ```
238
+
239
+ ---
240
+
241
+ ## 💡 Tips
242
+
243
+ 1. **Siempre verifica el checklist antes de desplegar** → Lee [CHECKLIST.md](./CHECKLIST.md)
244
+
245
+ 2. **Si algo falla, revisa logs en Vercel Dashboard** → https://vercel.com/dashboard
246
+
247
+ 3. **VERCEL_TOKEN va en .env.local** (nunca en git):
248
+ ```bash
249
+ echo 'VERCEL_TOKEN=vercel_xxx_...' >> .env.local
250
+ ```
251
+
252
+ 4. **El skill es idempotente** → Ejecutar dos veces produce el mismo resultado
253
+
254
+ 5. **Health check reintenta 3 veces automáticamente** → Maneja cold starts
255
+
256
+ 6. **Rollback es automático si health check falla** → Protección contra deployments rotos
257
+
258
+ ---
259
+
260
+ ## 🚀 Próximos pasos
261
+
262
+ | Quiero... | Ir a... |
263
+ |-----------|---------|
264
+ | Desplegar ahora | [README.md](./README.md) |
265
+ | Entender el flujo | [SKILL.md](./SKILL.md) |
266
+ | Verificar prerequisites | [CHECKLIST.md](./CHECKLIST.md) |
267
+ | Integrar en /sdd.implementar | [INTEGRATION.md](./INTEGRATION.md) |
268
+ | Ver código ejecutable | [deploy.sh](./deploy.sh) |
269
+
270
+ ---
271
+
272
+ **Versión:** 1.0
273
+ **Última actualización:** 2026-06-13
274
+ **Framework:** Bash + Vercel CLI
275
+ **Estado:** ✅ Listo para usar
276
+