@saulwade/swl-ses 1.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 (702) hide show
  1. package/CLAUDE.md +238 -0
  2. package/README.md +560 -0
  3. package/_userland/agentes/.gitkeep +0 -0
  4. package/_userland/habilidades/.gitkeep +0 -0
  5. package/agentes/.evolved.json +9 -0
  6. package/agentes/accesibilidad-wcag-swl.md +692 -0
  7. package/agentes/arquitecto-swl.md +238 -0
  8. package/agentes/auto-evolucion-swl.md +854 -0
  9. package/agentes/backend-api-swl.md +470 -0
  10. package/agentes/backend-csharp-swl.md +418 -0
  11. package/agentes/backend-go-swl.md +388 -0
  12. package/agentes/backend-java-swl.md +279 -0
  13. package/agentes/backend-node-swl.md +477 -0
  14. package/agentes/backend-python-swl.md +608 -0
  15. package/agentes/backend-rust-swl.md +362 -0
  16. package/agentes/backend-workers-swl.md +480 -0
  17. package/agentes/cloud-infra-swl.md +485 -0
  18. package/agentes/consolidador-swl.md +539 -0
  19. package/agentes/datos-swl.md +584 -0
  20. package/agentes/depurador-swl.md +349 -0
  21. package/agentes/devops-ci-swl.md +374 -0
  22. package/agentes/disenador-ui-swl.md +558 -0
  23. package/agentes/documentador-swl.md +343 -0
  24. package/agentes/evals/arquitecto-swl.evals.json +56 -0
  25. package/agentes/evals/auto-evolucion-swl.evals.json +68 -0
  26. package/agentes/evals/implementador-swl.evals.json +56 -0
  27. package/agentes/evals/orquestador-swl.evals.json +60 -0
  28. package/agentes/evals/perfilador-usuario-swl.evals.json +60 -0
  29. package/agentes/evals/red-team-swl.evals.json +59 -0
  30. package/agentes/evals/revisor-codigo-swl.evals.json +59 -0
  31. package/agentes/frontend-angular-swl.md +627 -0
  32. package/agentes/frontend-css-swl.md +720 -0
  33. package/agentes/frontend-react-swl.md +696 -0
  34. package/agentes/frontend-swl.md +500 -0
  35. package/agentes/frontend-tailwind-swl.md +830 -0
  36. package/agentes/implementador-swl.md +328 -0
  37. package/agentes/investigador-swl.md +430 -0
  38. package/agentes/investigador-ux-swl.md +500 -0
  39. package/agentes/llm-apps-swl.md +276 -0
  40. package/agentes/migrador-swl.md +417 -0
  41. package/agentes/mobile-android-swl.md +509 -0
  42. package/agentes/mobile-cross-swl.md +539 -0
  43. package/agentes/mobile-ios-swl.md +500 -0
  44. package/agentes/mobile-testing-swl.md +300 -0
  45. package/agentes/notificador-swl.md +916 -0
  46. package/agentes/observabilidad-swl.md +436 -0
  47. package/agentes/orquestador-swl.md +884 -0
  48. package/agentes/pagos-swl.md +283 -0
  49. package/agentes/perfilador-usuario-swl.md +306 -0
  50. package/agentes/planificador-swl.md +402 -0
  51. package/agentes/producto-prd-swl.md +587 -0
  52. package/agentes/red-team-swl.md +216 -0
  53. package/agentes/release-manager-swl.md +568 -0
  54. package/agentes/rendimiento-swl.md +714 -0
  55. package/agentes/resolutor-build-swl.md +243 -0
  56. package/agentes/revisor-angular-swl.md +276 -0
  57. package/agentes/revisor-codigo-swl.md +348 -0
  58. package/agentes/revisor-csharp-swl.md +262 -0
  59. package/agentes/revisor-go-swl.md +257 -0
  60. package/agentes/revisor-java-swl.md +255 -0
  61. package/agentes/revisor-kotlin-swl.md +271 -0
  62. package/agentes/revisor-nextjs-swl.md +279 -0
  63. package/agentes/revisor-php-swl.md +269 -0
  64. package/agentes/revisor-react-swl.md +276 -0
  65. package/agentes/revisor-rust-swl.md +344 -0
  66. package/agentes/revisor-seguridad-swl.md +390 -0
  67. package/agentes/revisor-swift-swl.md +266 -0
  68. package/agentes/revisor-typescript-swl.md +344 -0
  69. package/agentes/sre-swl.md +265 -0
  70. package/agentes/tdd-qa-swl.md +354 -0
  71. package/agentes/ux-disenador-swl.md +501 -0
  72. package/bin/lib/bot-comandos.js +1030 -0
  73. package/bin/lib/bot-discovery.js +182 -0
  74. package/bin/lib/bot-git.js +142 -0
  75. package/bin/swl-ses.js +325 -0
  76. package/bin/swl-telegram-bot.js +442 -0
  77. package/bin/swl-telegram-bot.plist +21 -0
  78. package/bin/swl-telegram-bot.service +14 -0
  79. package/comandos/swl/.evolved.json +23 -0
  80. package/comandos/swl/actualizar.md +174 -0
  81. package/comandos/swl/adoptar-proyecto.md +207 -0
  82. package/comandos/swl/aprender.md +701 -0
  83. package/comandos/swl/auditar-deps.md +134 -0
  84. package/comandos/swl/autoresearch.md +170 -0
  85. package/comandos/swl/ayuda.md +224 -0
  86. package/comandos/swl/brainstorm.md +50 -0
  87. package/comandos/swl/checkpoint.md +330 -0
  88. package/comandos/swl/compactar.md +283 -0
  89. package/comandos/swl/configurar-ci.md +227 -0
  90. package/comandos/swl/contexto.md +112 -0
  91. package/comandos/swl/contribuir.md +233 -0
  92. package/comandos/swl/crear-skill.md +292 -0
  93. package/comandos/swl/cron.md +196 -0
  94. package/comandos/swl/dashboard.md +146 -0
  95. package/comandos/swl/discutir-fase.md +230 -0
  96. package/comandos/swl/ejecutar-fase.md +135 -0
  97. package/comandos/swl/evaluar-skill.md +487 -0
  98. package/comandos/swl/evolucion-estado.md +142 -0
  99. package/comandos/swl/evolucionar.md +259 -0
  100. package/comandos/swl/exportar-vault.md +189 -0
  101. package/comandos/swl/gateway.md +158 -0
  102. package/comandos/swl/inbox.md +116 -0
  103. package/comandos/swl/instalar.md +220 -0
  104. package/comandos/swl/instintos.md +86 -0
  105. package/comandos/swl/mapear-codebase.md +312 -0
  106. package/comandos/swl/mcp-status.md +175 -0
  107. package/comandos/swl/metricas.md +270 -0
  108. package/comandos/swl/modelo.md +102 -0
  109. package/comandos/swl/notificaciones.md +396 -0
  110. package/comandos/swl/nuevo-proyecto.md +154 -0
  111. package/comandos/swl/planear-fase.md +221 -0
  112. package/comandos/swl/plugins.md +256 -0
  113. package/comandos/swl/reflect-skills.md +125 -0
  114. package/comandos/swl/release.md +217 -0
  115. package/comandos/swl/revisar-impacto.md +206 -0
  116. package/comandos/swl/revisar.md +330 -0
  117. package/comandos/swl/salud.md +363 -0
  118. package/comandos/swl/sesiones.md +200 -0
  119. package/comandos/swl/skill-search.md +113 -0
  120. package/comandos/swl/verificar.md +585 -0
  121. package/comandos/swl/wiki.md +620 -0
  122. package/contextos/dev.md +32 -0
  123. package/contextos/research.md +30 -0
  124. package/contextos/review.md +31 -0
  125. package/habilidades/accesibilidad-a11y/SKILL.md +201 -0
  126. package/habilidades/accesibilidad-a11y/evals/evals.json +56 -0
  127. package/habilidades/accesibilidad-a11y/recursos/ejemplos-y-checklist-completo.md +441 -0
  128. package/habilidades/agent-browser/SKILL.md +218 -0
  129. package/habilidades/agentes-como-servicio/SKILL.md +218 -0
  130. package/habilidades/ai-runtime-security/SKILL.md +273 -0
  131. package/habilidades/angular-avanzado/SKILL.md +164 -0
  132. package/habilidades/angular-avanzado/recursos/ejemplos-avanzados.md +219 -0
  133. package/habilidades/angular-moderno/SKILL.md +186 -0
  134. package/habilidades/angular-moderno/evals/evals.json +45 -0
  135. package/habilidades/angular-moderno/recursos/ejemplos-avanzados.md +106 -0
  136. package/habilidades/api-rest-diseno/SKILL.md +191 -0
  137. package/habilidades/api-rest-diseno/recursos/openapi-template.yaml +506 -0
  138. package/habilidades/api-rest-diseno/recursos/referencia-api.md +140 -0
  139. package/habilidades/aprendizaje-continuo/SKILL.md +151 -0
  140. package/habilidades/aprendizaje-continuo/evals/evals.json +53 -0
  141. package/habilidades/aprendizaje-continuo/recursos/referencia-instintos.md +290 -0
  142. package/habilidades/async-python/SKILL.md +149 -0
  143. package/habilidades/async-python/evals/evals.json +47 -0
  144. package/habilidades/async-python/recursos/patrones-y-ejemplos-completos.md +292 -0
  145. package/habilidades/auth-patrones/.evolved.json +9 -0
  146. package/habilidades/auth-patrones/SKILL.md +413 -0
  147. package/habilidades/auth-patrones/recursos/implementaciones-completas.md +229 -0
  148. package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -0
  149. package/habilidades/auto-evolucion-protocolo/evals/evals.json +55 -0
  150. package/habilidades/auto-evolucion-protocolo/recursos/referencia-completa.md +145 -0
  151. package/habilidades/autoresearch/SKILL.md +268 -0
  152. package/habilidades/autoresearch/evals/evals.json +41 -0
  153. package/habilidades/autoresearch/recursos/checklist-template.md +191 -0
  154. package/habilidades/autoresearch/scripts/calcular-score.js +88 -0
  155. package/habilidades/azure-cloud/SKILL.md +308 -0
  156. package/habilidades/azure-cloud/recursos/aks.md +327 -0
  157. package/habilidades/backend-mcp-servidor/SKILL.md +270 -0
  158. package/habilidades/backend-production-resilience/SKILL.md +288 -0
  159. package/habilidades/brainstorming/SKILL.md +295 -0
  160. package/habilidades/brainstorming/recursos/componentes-html.md +247 -0
  161. package/habilidades/build-errors-cpp/SKILL.md +270 -0
  162. package/habilidades/build-errors-csharp/SKILL.md +265 -0
  163. package/habilidades/build-errors-go/SKILL.md +306 -0
  164. package/habilidades/build-errors-java/SKILL.md +278 -0
  165. package/habilidades/build-errors-kotlin/SKILL.md +303 -0
  166. package/habilidades/build-errors-nextjs/SKILL.md +312 -0
  167. package/habilidades/build-errors-php/SKILL.md +270 -0
  168. package/habilidades/build-errors-python/SKILL.md +292 -0
  169. package/habilidades/build-errors-rust/SKILL.md +284 -0
  170. package/habilidades/build-errors-swift/SKILL.md +272 -0
  171. package/habilidades/build-errors-typescript/SKILL.md +369 -0
  172. package/habilidades/checklist-calidad/SKILL.md +271 -0
  173. package/habilidades/checklist-calidad/recursos/quality-report-template.md +148 -0
  174. package/habilidades/checklist-seguridad/SKILL.md +285 -0
  175. package/habilidades/checkpoints-verificacion/SKILL.md +298 -0
  176. package/habilidades/checkpoints-verificacion/recursos/checkpoint-templates.md +360 -0
  177. package/habilidades/ci-cd-pipelines/SKILL.md +157 -0
  178. package/habilidades/ci-cd-pipelines/recursos/github-actions-template.yaml +403 -0
  179. package/habilidades/ci-cd-pipelines/recursos/pipelines-completos.md +487 -0
  180. package/habilidades/cloud-aws/SKILL.md +142 -0
  181. package/habilidades/cloud-aws/recursos/servicios-aws-referencia.md +321 -0
  182. package/habilidades/compactacion-contexto/SKILL.md +247 -0
  183. package/habilidades/contenedores-docker/SKILL.md +137 -0
  184. package/habilidades/contenedores-docker/recursos/dockerfile-template.dockerfile +160 -0
  185. package/habilidades/contenedores-docker/recursos/ejemplos-y-configuraciones.md +327 -0
  186. package/habilidades/context-builder/SKILL.md +170 -0
  187. package/habilidades/control-profundidad/SKILL.md +128 -0
  188. package/habilidades/csharp-experto/SKILL.md +322 -0
  189. package/habilidades/csharp-patrones/SKILL.md +316 -0
  190. package/habilidades/csharp-testing/SKILL.md +286 -0
  191. package/habilidades/css-moderno/SKILL.md +166 -0
  192. package/habilidades/css-moderno/evals/evals.json +43 -0
  193. package/habilidades/css-moderno/recursos/ejemplos-y-patrones-completos.md +337 -0
  194. package/habilidades/datos-etl/SKILL.md +129 -0
  195. package/habilidades/datos-etl/recursos/implementaciones-completas.md +322 -0
  196. package/habilidades/dbml-experto/SKILL.md +339 -0
  197. package/habilidades/dbml-experto/evals/evals.json +56 -0
  198. package/habilidades/dependencias-auditoria/SKILL.md +320 -0
  199. package/habilidades/deprecacion-migracion/SKILL.md +169 -0
  200. package/habilidades/deprecacion-migracion/recursos/implementaciones-completas.md +220 -0
  201. package/habilidades/design-tokens/SKILL.md +158 -0
  202. package/habilidades/design-tokens/recursos/tokens-y-configuracion.md +363 -0
  203. package/habilidades/devsecops-pipeline-security/SKILL.md +309 -0
  204. package/habilidades/diagrama-arquitectura/SKILL.md +165 -0
  205. package/habilidades/diagrama-arquitectura/assets/template.html +276 -0
  206. package/habilidades/discutir-fase/SKILL.md +188 -0
  207. package/habilidades/diseno-herramientas-agente/SKILL.md +199 -0
  208. package/habilidades/diseno-responsivo/SKILL.md +186 -0
  209. package/habilidades/diseno-responsivo/recursos/ejemplos-layouts.md +156 -0
  210. package/habilidades/django-experto/SKILL.md +205 -0
  211. package/habilidades/django-experto/recursos/async-django.md +390 -0
  212. package/habilidades/django-experto/recursos/drf-patrones.md +438 -0
  213. package/habilidades/django-experto/recursos/orm-avanzado.md +382 -0
  214. package/habilidades/django-experto/recursos/referencia-completa.md +188 -0
  215. package/habilidades/django-experto/recursos/testing-django.md +415 -0
  216. package/habilidades/doc-sync/SKILL.md +280 -0
  217. package/habilidades/drift-detection/SKILL.md +179 -0
  218. package/habilidades/ejecutar-fase/SKILL.md +468 -0
  219. package/habilidades/estilo-sin-ai-isms/SKILL.md +775 -0
  220. package/habilidades/estilo-sin-ai-isms/evals/evals.json +63 -0
  221. package/habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py +500 -0
  222. package/habilidades/estructura-proyecto-claude/SKILL.md +215 -0
  223. package/habilidades/estructura-proyecto-claude/recursos/claude-md-template.md +261 -0
  224. package/habilidades/estructura-proyecto-claude/recursos/configuracion-y-extensiones.md +176 -0
  225. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +289 -0
  226. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +77 -0
  227. package/habilidades/estructura-proyecto-claude/recursos/variantes-por-stack.md +177 -0
  228. package/habilidades/evaluacion-agentes/SKILL.md +314 -0
  229. package/habilidades/event-driven/SKILL.md +153 -0
  230. package/habilidades/event-driven/recursos/implementaciones-completas.md +423 -0
  231. package/habilidades/extraccion-documentos/SKILL.md +221 -0
  232. package/habilidades/extractor-de-aprendizajes/.evolved.json +9 -0
  233. package/habilidades/extractor-de-aprendizajes/SKILL.md +311 -0
  234. package/habilidades/extractor-de-aprendizajes/evals/evals.json +55 -0
  235. package/habilidades/fastapi-experto/SKILL.md +221 -0
  236. package/habilidades/fastapi-experto/recursos/async-patterns.md +438 -0
  237. package/habilidades/fastapi-experto/recursos/dependency-injection.md +330 -0
  238. package/habilidades/fastapi-experto/recursos/referencia-completa.md +79 -0
  239. package/habilidades/fastapi-experto/recursos/testing-httpx.md +420 -0
  240. package/habilidades/filament-admin/SKILL.md +290 -0
  241. package/habilidades/frontend-avanzado/SKILL.md +257 -0
  242. package/habilidades/frontend-avanzado/recursos/apis-nativas-ejemplos.md +341 -0
  243. package/habilidades/gcp-cloud/SKILL.md +260 -0
  244. package/habilidades/gcp-cloud/recursos/gke.md +234 -0
  245. package/habilidades/gcp-cloud/recursos/terraform-gcp.md +307 -0
  246. package/habilidades/generacion-mermaid/SKILL.md +229 -0
  247. package/habilidades/git-worktrees-paralelo/SKILL.md +270 -0
  248. package/habilidades/go-experto/SKILL.md +305 -0
  249. package/habilidades/go-patrones/SKILL.md +299 -0
  250. package/habilidades/go-testing/SKILL.md +291 -0
  251. package/habilidades/graphql-experto/SKILL.md +323 -0
  252. package/habilidades/guardrail-semantico/SKILL.md +282 -0
  253. package/habilidades/harness-claude-code/SKILL.md +299 -0
  254. package/habilidades/iam-secretos/SKILL.md +265 -0
  255. package/habilidades/iam-secretos/recursos/implementaciones-completas.md +356 -0
  256. package/habilidades/infra-github-actions/SKILL.md +166 -0
  257. package/habilidades/instalar-sistema/.evolved.json +9 -0
  258. package/habilidades/instalar-sistema/SKILL.md +221 -0
  259. package/habilidades/java-experto/SKILL.md +290 -0
  260. package/habilidades/java-patrones/SKILL.md +275 -0
  261. package/habilidades/java-testing/SKILL.md +288 -0
  262. package/habilidades/kotlin-compose/SKILL.md +278 -0
  263. package/habilidades/kotlin-compose/recursos/animaciones-performance.md +93 -0
  264. package/habilidades/kotlin-experto/SKILL.md +318 -0
  265. package/habilidades/kotlin-testing/SKILL.md +267 -0
  266. package/habilidades/kotlin-testing/recursos/testing-avanzado.md +74 -0
  267. package/habilidades/kubernetes-orquestacion/SKILL.md +152 -0
  268. package/habilidades/kubernetes-orquestacion/recursos/manifiestos-completos.md +452 -0
  269. package/habilidades/langchain-langraph/SKILL.md +386 -0
  270. package/habilidades/langchain-langraph/recursos/evaluacion-rag.md +321 -0
  271. package/habilidades/langchain-langraph/recursos/rag-maturity-model.md +225 -0
  272. package/habilidades/langchain-langraph/recursos/vectorstores.md +306 -0
  273. package/habilidades/legacy-code-rescue/SKILL.md +267 -0
  274. package/habilidades/likec4-experto/SKILL.md +412 -0
  275. package/habilidades/likec4-experto/evals/evals.json +69 -0
  276. package/habilidades/manejo-errores/.evolved.json +9 -0
  277. package/habilidades/manejo-errores/SKILL.md +407 -0
  278. package/habilidades/manejo-errores/recursos/implementaciones-completas.md +248 -0
  279. package/habilidades/mapear-codebase/SKILL.md +275 -0
  280. package/habilidades/memoria-busqueda/SKILL.md +194 -0
  281. package/habilidades/memoria-busqueda/evals/evals.json +44 -0
  282. package/habilidades/meta-skills-estandar/SKILL.md +298 -0
  283. package/habilidades/meta-skills-estandar/recursos/anti-patrones-y-leyes.md +205 -0
  284. package/habilidades/meta-skills-estandar/recursos/frameworks-seguridad.md +107 -0
  285. package/habilidades/meta-skills-estandar/recursos/idiomas-framework.md +60 -0
  286. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -0
  287. package/habilidades/microservicios/SKILL.md +155 -0
  288. package/habilidades/microservicios/recursos/patrones-y-ejemplos-completos.md +325 -0
  289. package/habilidades/mobile-flutter/SKILL.md +199 -0
  290. package/habilidades/mobile-flutter/recursos/ejemplos-completos.md +319 -0
  291. package/habilidades/mobile-react-native/SKILL.md +176 -0
  292. package/habilidades/mobile-react-native/recursos/ejemplos-completos.md +216 -0
  293. package/habilidades/mongodb-experto/SKILL.md +302 -0
  294. package/habilidades/monitoring-alertas/SKILL.md +201 -0
  295. package/habilidades/monitoring-alertas/recursos/instrumentacion-y-alertas.md +301 -0
  296. package/habilidades/nestjs-experto/SKILL.md +307 -0
  297. package/habilidades/nestjs-experto/recursos/guards-interceptors.md +339 -0
  298. package/habilidades/nestjs-experto/recursos/modulos-di.md +287 -0
  299. package/habilidades/nestjs-experto/recursos/testing-nestjs.md +354 -0
  300. package/habilidades/nextjs-experto/SKILL.md +335 -0
  301. package/habilidades/nextjs-patrones/SKILL.md +303 -0
  302. package/habilidades/nextjs-testing/SKILL.md +331 -0
  303. package/habilidades/node-experto/.evolved.json +9 -0
  304. package/habilidades/node-experto/SKILL.md +266 -0
  305. package/habilidades/node-experto/recursos/patrones-completos.md +283 -0
  306. package/habilidades/notificaciones-multicanal/SKILL.md +159 -0
  307. package/habilidades/notificaciones-multicanal/recursos/config-template.json +115 -0
  308. package/habilidades/notificaciones-multicanal/recursos/configuracion-y-templates.md +303 -0
  309. package/habilidades/nuevo-proyecto/SKILL.md +204 -0
  310. package/habilidades/orquestacion-async/SKILL.md +303 -0
  311. package/habilidades/paid-media-tracking/SKILL.md +269 -0
  312. package/habilidades/paid-media-tracking/recursos/auditoria-tracking.md +220 -0
  313. package/habilidades/paid-media-tracking/recursos/google-ads-api.md +215 -0
  314. package/habilidades/patrones-python/SKILL.md +228 -0
  315. package/habilidades/patrones-python/evals/evals.json +56 -0
  316. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -0
  317. package/habilidades/patrones-python/recursos/referencia-completa.md +202 -0
  318. package/habilidades/perfil-usuario/SKILL.md +200 -0
  319. package/habilidades/perfil-usuario/evals/evals.json +55 -0
  320. package/habilidades/performance-baseline/SKILL.md +297 -0
  321. package/habilidades/php-experto/SKILL.md +291 -0
  322. package/habilidades/php-patrones/SKILL.md +306 -0
  323. package/habilidades/php-testing/SKILL.md +280 -0
  324. package/habilidades/planear-fase/SKILL.md +269 -0
  325. package/habilidades/postgresql-experto/SKILL.md +151 -0
  326. package/habilidades/postgresql-experto/evals/evals.json +53 -0
  327. package/habilidades/postgresql-experto/recursos/referencia-completa.md +215 -0
  328. package/habilidades/prevencion-racionalizacion/SKILL.md +175 -0
  329. package/habilidades/prevencion-sobreingenieria/SKILL.md +323 -0
  330. package/habilidades/privacy-memoria/SKILL.md +141 -0
  331. package/habilidades/privacy-memoria/evals/evals.json +43 -0
  332. package/habilidades/prompt-engineering/SKILL.md +518 -0
  333. package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +467 -0
  334. package/habilidades/rag-arquitectura/SKILL.md +338 -0
  335. package/habilidades/rails-experto/SKILL.md +237 -0
  336. package/habilidades/rails-experto/recursos/active-record.md +260 -0
  337. package/habilidades/rails-experto/recursos/hotwire-turbo.md +293 -0
  338. package/habilidades/rails-experto/recursos/testing-rspec.md +362 -0
  339. package/habilidades/react-experto/SKILL.md +209 -0
  340. package/habilidades/react-experto/evals/evals.json +55 -0
  341. package/habilidades/react-experto/recursos/patrones-y-ejemplos-completos.md +240 -0
  342. package/habilidades/react-optimizacion/SKILL.md +174 -0
  343. package/habilidades/react-optimizacion/recursos/patrones-avanzados.md +138 -0
  344. package/habilidades/redis-experto/SKILL.md +305 -0
  345. package/habilidades/release-semver/.evolved.json +9 -0
  346. package/habilidades/release-semver/SKILL.md +248 -0
  347. package/habilidades/release-semver/scripts/generar-changelog.sh +238 -0
  348. package/habilidades/rust-experto/SKILL.md +400 -0
  349. package/habilidades/rust-patrones/SKILL.md +296 -0
  350. package/habilidades/rust-testing/SKILL.md +311 -0
  351. package/habilidades/seguridad-skills-ia/SKILL.md +262 -0
  352. package/habilidades/sql-optimizacion/SKILL.md +200 -0
  353. package/habilidades/sql-optimizacion/evals/evals.json +54 -0
  354. package/habilidades/sql-optimizacion/recursos/patrones-sql-avanzados.md +131 -0
  355. package/habilidades/sre-patrones/SKILL.md +333 -0
  356. package/habilidades/sre-patrones/recursos/chaos-engineering.md +241 -0
  357. package/habilidades/sre-patrones/recursos/oncall-design.md +236 -0
  358. package/habilidades/stripe-pagos/SKILL.md +550 -0
  359. package/habilidades/stripe-pagos/recursos/errores-reintentos.md +390 -0
  360. package/habilidades/stripe-pagos/recursos/stripe-connect.md +290 -0
  361. package/habilidades/structured-outputs/SKILL.md +343 -0
  362. package/habilidades/swift-experto/SKILL.md +320 -0
  363. package/habilidades/swift-experto/recursos/keychain-y-wrappers.md +110 -0
  364. package/habilidades/swift-patrones/SKILL.md +313 -0
  365. package/habilidades/swift-patrones/recursos/tca-ejemplo-completo.md +113 -0
  366. package/habilidades/swift-testing/SKILL.md +254 -0
  367. package/habilidades/swift-testing/recursos/xcuitest-planes.md +143 -0
  368. package/habilidades/swl-dashboard/SKILL.md +370 -0
  369. package/habilidades/swl-markitdown/SKILL.md +285 -0
  370. package/habilidades/swl-markitdown/evals/evals.json +52 -0
  371. package/habilidades/swl-revisar-impacto/SKILL.md +233 -0
  372. package/habilidades/tailwind-experto/SKILL.md +240 -0
  373. package/habilidades/tailwind-experto/recursos/referencia-completa.md +184 -0
  374. package/habilidades/tdd-workflow/SKILL.md +293 -0
  375. package/habilidades/terraform-experto/SKILL.md +321 -0
  376. package/habilidades/testing-python/SKILL.md +340 -0
  377. package/habilidades/testing-python/recursos/ejemplos-completos.md +167 -0
  378. package/habilidades/threat-model-lite/SKILL.md +246 -0
  379. package/habilidades/tracing-processor/SKILL.md +212 -0
  380. package/habilidades/tracking-measurement/SKILL.md +239 -0
  381. package/habilidades/tracking-measurement/recursos/consent-mode.md +231 -0
  382. package/habilidades/tracking-measurement/recursos/gtm-datalayer.md +216 -0
  383. package/habilidades/tracking-measurement/recursos/meta-capi.md +262 -0
  384. package/habilidades/typescript-avanzado/SKILL.md +144 -0
  385. package/habilidades/typescript-avanzado/evals/evals.json +55 -0
  386. package/habilidades/typescript-avanzado/recursos/patrones-y-ejemplos-completos.md +298 -0
  387. package/habilidades/typescript-diagnosticos/SKILL.md +513 -0
  388. package/habilidades/ux-diseno/SKILL.md +116 -0
  389. package/habilidades/ux-diseno/evals/evals.json +43 -0
  390. package/habilidades/ux-diseno/recursos/patrones-ux-referencia.md +214 -0
  391. package/habilidades/validacion-ci-sistema/SKILL.md +136 -0
  392. package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +369 -0
  393. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +286 -0
  394. package/habilidades/verificacion-evidencia/SKILL.md +160 -0
  395. package/habilidades/verificar-trabajo/SKILL.md +303 -0
  396. package/habilidades/verificar-trabajo/recursos/plantilla-verificacion.md +60 -0
  397. package/habilidades/wiki-conocimiento/SKILL.md +276 -0
  398. package/habilidades/wireframes-flujos/SKILL.md +212 -0
  399. package/habilidades/wireframes-flujos/recursos/referencia-completa.md +192 -0
  400. package/habilidades/workflow-claude-code/SKILL.md +260 -0
  401. package/habilidades/workflow-claude-code/recursos/referencia-completa.md +109 -0
  402. package/hooks/_run-hook.sh +57 -0
  403. package/hooks/actualizar-perfil-usuario.js +364 -0
  404. package/hooks/agente-lifecycle.js +71 -0
  405. package/hooks/aiisms-detector.js +173 -0
  406. package/hooks/audit-trail.js +204 -0
  407. package/hooks/auto-background.js +97 -0
  408. package/hooks/auto-consolidacion.js +178 -0
  409. package/hooks/auto-evolucion.js +666 -0
  410. package/hooks/auto-restaurar-settings.js +360 -0
  411. package/hooks/calidad-pre-commit.js +929 -0
  412. package/hooks/calidad-typescript.js +511 -0
  413. package/hooks/captura-feedback-usuario.js +148 -0
  414. package/hooks/check-update.js +211 -0
  415. package/hooks/clasificador-mensajes.js +271 -0
  416. package/hooks/degradacion-instintos.js +272 -0
  417. package/hooks/escaneo-secretos.js +389 -0
  418. package/hooks/extraccion-aprendizajes.js +763 -0
  419. package/hooks/grafo-contexto.js +129 -0
  420. package/hooks/graph-update.js +67 -0
  421. package/hooks/guardrail-modelo.js +247 -0
  422. package/hooks/inbox-aviso.js +75 -0
  423. package/hooks/inyeccion-contexto.js +246 -0
  424. package/hooks/lib/abort-registry.js +214 -0
  425. package/hooks/lib/agent-backend.js +210 -0
  426. package/hooks/lib/agent-comms.js +263 -0
  427. package/hooks/lib/agent-issue-codes.js +284 -0
  428. package/hooks/lib/agent-matcher.js +189 -0
  429. package/hooks/lib/async-hook-registry.js +252 -0
  430. package/hooks/lib/atomic-write.js +130 -0
  431. package/hooks/lib/auto-consolidator.js +335 -0
  432. package/hooks/lib/canary-skills.js +187 -0
  433. package/hooks/lib/consolidation-lock.js +291 -0
  434. package/hooks/lib/context-builder.js +430 -0
  435. package/hooks/lib/context-compressor.js +657 -0
  436. package/hooks/lib/convergence-detector.js +105 -0
  437. package/hooks/lib/delegation-tracker.js +198 -0
  438. package/hooks/lib/detectar-package-manager.js +423 -0
  439. package/hooks/lib/edit-accumulator.js +171 -0
  440. package/hooks/lib/error-classifier.js +308 -0
  441. package/hooks/lib/event-bus.js +112 -0
  442. package/hooks/lib/evolution-tracker.js +442 -0
  443. package/hooks/lib/execution-state.js +316 -0
  444. package/hooks/lib/fingerprint-id.js +135 -0
  445. package/hooks/lib/gateway-notify.js +116 -0
  446. package/hooks/lib/graph-security.js +75 -0
  447. package/hooks/lib/guardrail-metrics.js +202 -0
  448. package/hooks/lib/hook-circuit-breaker.js +206 -0
  449. package/hooks/lib/loop-detector.js +267 -0
  450. package/hooks/lib/mcp-health.js +184 -0
  451. package/hooks/lib/mcp-pool.js +436 -0
  452. package/hooks/lib/memory-search.js +506 -0
  453. package/hooks/lib/merkle-audit.js +96 -0
  454. package/hooks/lib/model-router.js +222 -0
  455. package/hooks/lib/normalize-error.js +324 -0
  456. package/hooks/lib/normalize-input.js +65 -0
  457. package/hooks/lib/nudge-tracker.js +306 -0
  458. package/hooks/lib/otlp-exporter.js +365 -0
  459. package/hooks/lib/performance-marks.js +239 -0
  460. package/hooks/lib/privacy-filter.js +128 -0
  461. package/hooks/lib/prompt-injection-scanner.js +209 -0
  462. package/hooks/lib/provenance-tracker.js +183 -0
  463. package/hooks/lib/rate-limit-tracker.js +253 -0
  464. package/hooks/lib/reflect-classifier.js +164 -0
  465. package/hooks/lib/resource-quota.js +122 -0
  466. package/hooks/lib/retry-jitter.js +165 -0
  467. package/hooks/lib/risk-engine.js +368 -0
  468. package/hooks/lib/run-log.js +408 -0
  469. package/hooks/lib/session-fts.js +379 -0
  470. package/hooks/lib/session-store.js +293 -0
  471. package/hooks/lib/singleton-guard.js +159 -0
  472. package/hooks/lib/skill-auditor.js +588 -0
  473. package/hooks/lib/sync-status.js +228 -0
  474. package/hooks/lib/taint-tracker.js +107 -0
  475. package/hooks/lib/task-service.js +295 -0
  476. package/hooks/lib/tech-skills-map.js +146 -0
  477. package/hooks/lib/telegram-cliente.js +159 -0
  478. package/hooks/lib/telegram-config.js +170 -0
  479. package/hooks/lib/token-budget.js +156 -0
  480. package/hooks/lib/token-estimator.js +420 -0
  481. package/hooks/lib/toon-compressor.js +245 -0
  482. package/hooks/lib/usage-model.js +183 -0
  483. package/hooks/lib/variable-resolver.js +230 -0
  484. package/hooks/linea-estado.js +324 -0
  485. package/hooks/metricas-evolucion.js +209 -0
  486. package/hooks/monitor-contexto.js +325 -0
  487. package/hooks/notificacion-sesion-stop.js +198 -0
  488. package/hooks/notificacion-telegram-notification.js +4 -0
  489. package/hooks/notificacion-telegram-subagent.js +4 -0
  490. package/hooks/notificacion-telegram.js +267 -0
  491. package/hooks/preservar-estado-pre-compact.js +150 -0
  492. package/hooks/proteccion-rutas.js +366 -0
  493. package/hooks/registro-turnos.js +209 -0
  494. package/hooks/resumen-sesion.js +249 -0
  495. package/hooks/risk-scoring.js +323 -0
  496. package/hooks/rotar-audit-auto.js +122 -0
  497. package/hooks/sugerir-regenerar-inventario.js +170 -0
  498. package/hooks/telemetria-agentes.js +167 -0
  499. package/hooks/tracking-costos.js +688 -0
  500. package/instintos/global.yaml +8 -0
  501. package/instintos/perfil-usuario.yaml +53 -0
  502. package/instintos/prompt-appendices.yaml +57 -0
  503. package/instintos/proyecto.yaml +372 -0
  504. package/manifiestos/gateway-config.json +77 -0
  505. package/manifiestos/handoff-context.json +223 -0
  506. package/manifiestos/hook-profiles.json +44 -0
  507. package/manifiestos/hooks-config.json +360 -0
  508. package/manifiestos/modulos.json +1173 -0
  509. package/manifiestos/perfiles.json +404 -0
  510. package/package.json +86 -0
  511. package/plantillas/ESTADO.md +109 -0
  512. package/plantillas/HOJA-RUTA.md +143 -0
  513. package/plantillas/PROYECTO.md +122 -0
  514. package/plantillas/REQUISITOS.md +132 -0
  515. package/plantillas/auditor-veto-template.md +105 -0
  516. package/plantillas/github-workflows/README.md +47 -0
  517. package/plantillas/github-workflows/release-please.yml +44 -0
  518. package/plantillas/github-workflows/swl-ci.yml +107 -0
  519. package/plantillas/github-workflows/swl-security.yml +51 -0
  520. package/plantillas/mcp-mineru.json +13 -0
  521. package/plantillas/research/ARQUITECTURA.md +220 -0
  522. package/plantillas/research/FUNCIONALIDADES.md +175 -0
  523. package/plantillas/research/RESUMEN.md +165 -0
  524. package/plantillas/research/STACK.md +233 -0
  525. package/plantillas/research/TRAMPAS.md +299 -0
  526. package/plantillas/skill-evals-template.json +44 -0
  527. package/plugin.json +343 -0
  528. package/reglas/accesibilidad.md +269 -0
  529. package/reglas/api-diseno.md +400 -0
  530. package/reglas/arquitectura.md +352 -0
  531. package/reglas/brevedad-output.md +124 -0
  532. package/reglas/cloud-infra.md +247 -0
  533. package/reglas/docs.md +245 -0
  534. package/reglas/estilo-codigo.md +201 -0
  535. package/reglas/git-workflow.md +245 -0
  536. package/reglas/gobernanza.md +271 -0
  537. package/reglas/harness-claude-code.md +213 -0
  538. package/reglas/hooks.md +186 -0
  539. package/reglas/lenguajes/csharp/estilo-codigo.md +231 -0
  540. package/reglas/lenguajes/csharp/hooks.md +281 -0
  541. package/reglas/lenguajes/csharp/patrones.md +226 -0
  542. package/reglas/lenguajes/csharp/seguridad.md +258 -0
  543. package/reglas/lenguajes/csharp/testing.md +176 -0
  544. package/reglas/lenguajes/go/estilo-codigo.md +195 -0
  545. package/reglas/lenguajes/go/hooks.md +249 -0
  546. package/reglas/lenguajes/go/patrones.md +249 -0
  547. package/reglas/lenguajes/go/seguridad.md +225 -0
  548. package/reglas/lenguajes/go/testing.md +272 -0
  549. package/reglas/lenguajes/java/estilo-codigo.md +217 -0
  550. package/reglas/lenguajes/java/hooks.md +251 -0
  551. package/reglas/lenguajes/java/patrones.md +226 -0
  552. package/reglas/lenguajes/java/seguridad.md +233 -0
  553. package/reglas/lenguajes/java/testing.md +238 -0
  554. package/reglas/lenguajes/kotlin/estilo-codigo.md +208 -0
  555. package/reglas/lenguajes/kotlin/hooks.md +245 -0
  556. package/reglas/lenguajes/kotlin/patrones.md +201 -0
  557. package/reglas/lenguajes/kotlin/seguridad.md +202 -0
  558. package/reglas/lenguajes/kotlin/testing.md +236 -0
  559. package/reglas/lenguajes/nextjs/estilo-codigo.md +175 -0
  560. package/reglas/lenguajes/nextjs/hooks.md +186 -0
  561. package/reglas/lenguajes/nextjs/patrones.md +225 -0
  562. package/reglas/lenguajes/nextjs/seguridad.md +216 -0
  563. package/reglas/lenguajes/nextjs/testing.md +193 -0
  564. package/reglas/lenguajes/php/estilo-codigo.md +228 -0
  565. package/reglas/lenguajes/php/hooks.md +165 -0
  566. package/reglas/lenguajes/php/patrones.md +233 -0
  567. package/reglas/lenguajes/php/seguridad.md +186 -0
  568. package/reglas/lenguajes/php/testing.md +205 -0
  569. package/reglas/lenguajes/rust/estilo-codigo.md +207 -0
  570. package/reglas/lenguajes/rust/hooks.md +240 -0
  571. package/reglas/lenguajes/rust/patrones.md +250 -0
  572. package/reglas/lenguajes/rust/seguridad.md +221 -0
  573. package/reglas/lenguajes/rust/testing.md +194 -0
  574. package/reglas/lenguajes/swift/estilo-codigo.md +238 -0
  575. package/reglas/lenguajes/swift/hooks.md +257 -0
  576. package/reglas/lenguajes/swift/patrones.md +235 -0
  577. package/reglas/lenguajes/swift/seguridad.md +248 -0
  578. package/reglas/lenguajes/swift/testing.md +242 -0
  579. package/reglas/markitdown.md +60 -0
  580. package/reglas/memoria-consolidada.md +209 -0
  581. package/reglas/patrones.md +225 -0
  582. package/reglas/performance.md +195 -0
  583. package/reglas/pruebas.md +159 -0
  584. package/reglas/seguridad-agentes.md +351 -0
  585. package/reglas/seguridad.md +151 -0
  586. package/reglas/skills-estandar.md +373 -0
  587. package/reglas/testing.md +193 -0
  588. package/schemas/agent-contract.json +176 -0
  589. package/schemas/agent-frontmatter.schema.json +149 -0
  590. package/schemas/agent-message.schema.json +53 -0
  591. package/schemas/agent-output-implementacion.schema.json +85 -0
  592. package/schemas/agent-output-planificacion.schema.json +113 -0
  593. package/schemas/agent-output-review.schema.json +78 -0
  594. package/schemas/diary-entry.schema.json +80 -0
  595. package/schemas/hook-profiles.schema.json +39 -0
  596. package/schemas/hooks-config.schema.json +74 -0
  597. package/schemas/instinct.schema.json +115 -0
  598. package/schemas/modulos.schema.json +29 -0
  599. package/schemas/perfiles.schema.json +28 -0
  600. package/schemas/plugin.schema.json +64 -0
  601. package/schemas/skill-evals.schema.json +95 -0
  602. package/schemas/skill-frontmatter.schema.json +170 -0
  603. package/scripts/actualizar.js +145 -0
  604. package/scripts/audit-skills.sh +78 -0
  605. package/scripts/auditar-agentes-gaps.js +149 -0
  606. package/scripts/auditar-cobertura-frameworks.js +241 -0
  607. package/scripts/auditar-skills-gaps.js +206 -0
  608. package/scripts/bootstrap-instintos.js +259 -0
  609. package/scripts/check-update.js +109 -0
  610. package/scripts/comandos/agents.js +105 -0
  611. package/scripts/comandos/info.js +108 -0
  612. package/scripts/comandos/install-asistido.js +186 -0
  613. package/scripts/comandos/skills.js +211 -0
  614. package/scripts/configurar-branch-protection.js +418 -0
  615. package/scripts/daemon-swl.py +388 -0
  616. package/scripts/desinstalar.js +130 -0
  617. package/scripts/doctor.js +559 -0
  618. package/scripts/field-report.js +199 -0
  619. package/scripts/generar-inventario.js +317 -0
  620. package/scripts/inbox-tmux-inject.js +161 -0
  621. package/scripts/inferir-herramientas-permitidas.js +586 -0
  622. package/scripts/inicializar.js +133 -0
  623. package/scripts/instalador.js +1031 -0
  624. package/scripts/instalar-git-hook.js +122 -0
  625. package/scripts/lib/agp-frontmatter.js +222 -0
  626. package/scripts/lib/append-con-marcadores.js +199 -0
  627. package/scripts/lib/artefactos-python.js +43 -0
  628. package/scripts/lib/audit-query.js +221 -0
  629. package/scripts/lib/autostart-linux.js +347 -0
  630. package/scripts/lib/autostart-macos.js +360 -0
  631. package/scripts/lib/autostart-windows.js +307 -0
  632. package/scripts/lib/budget-enforcer.js +252 -0
  633. package/scripts/lib/claude-sessions.js +285 -0
  634. package/scripts/lib/configurar-ci.js +380 -0
  635. package/scripts/lib/console-span-exporter.js +92 -0
  636. package/scripts/lib/contadores-inventario.js +217 -0
  637. package/scripts/lib/dashboard-widgets.js +290 -0
  638. package/scripts/lib/detectar-runtime.js +279 -0
  639. package/scripts/lib/detectar-stack.js +187 -0
  640. package/scripts/lib/diary-entry.js +234 -0
  641. package/scripts/lib/drift-detector.js +545 -0
  642. package/scripts/lib/estado.js +124 -0
  643. package/scripts/lib/gestor-componentes.js +243 -0
  644. package/scripts/lib/gitignore-manifest.js +305 -0
  645. package/scripts/lib/graph-analyze.py +556 -0
  646. package/scripts/lib/graph-builder.py +485 -0
  647. package/scripts/lib/graph-cluster.py +259 -0
  648. package/scripts/lib/health-row.js +168 -0
  649. package/scripts/lib/hooks-settings.js +789 -0
  650. package/scripts/lib/manifiestos.js +138 -0
  651. package/scripts/lib/mc-client.js +137 -0
  652. package/scripts/lib/notificaciones-telegram.js +1107 -0
  653. package/scripts/lib/npm-version.js +261 -0
  654. package/scripts/lib/paquetes-conocidos.js +50 -0
  655. package/scripts/lib/preservar-usuario.js +586 -0
  656. package/scripts/lib/prompt-builder.js +264 -0
  657. package/scripts/lib/resolver-externo.js +332 -0
  658. package/scripts/lib/schedule-parser.js +305 -0
  659. package/scripts/lib/scoring-instintos.js +240 -0
  660. package/scripts/lib/seguridad.js +160 -0
  661. package/scripts/lib/selector-interactivo.js +152 -0
  662. package/scripts/lib/semantic-search.js +242 -0
  663. package/scripts/lib/skill-discovery.js +234 -0
  664. package/scripts/lib/skill-metrics.js +246 -0
  665. package/scripts/lib/skill-normalizer.js +112 -0
  666. package/scripts/lib/skills-hub.js +340 -0
  667. package/scripts/lib/span-schema.js +134 -0
  668. package/scripts/lib/tool-cost-analyzer.js +255 -0
  669. package/scripts/lib/tracing-processor-interface.js +286 -0
  670. package/scripts/lib/transformadores/base.js +80 -0
  671. package/scripts/lib/transformadores/claude.js +124 -0
  672. package/scripts/lib/transformadores/codex.js +115 -0
  673. package/scripts/lib/transformadores/copilot.js +106 -0
  674. package/scripts/lib/transformadores/gemini.js +74 -0
  675. package/scripts/lib/transformadores/index.js +35 -0
  676. package/scripts/lib/transformadores/opencode.js +75 -0
  677. package/scripts/lib/ui.js +259 -0
  678. package/scripts/limpiar-artefactos-python.js +131 -0
  679. package/scripts/mcp-orchestrator.py +386 -0
  680. package/scripts/mcp-pool-manager.py +352 -0
  681. package/scripts/mcp-telemetry.py +378 -0
  682. package/scripts/poblar-evolvable.js +226 -0
  683. package/scripts/publicar.js +287 -0
  684. package/scripts/reflect-skills.js +403 -0
  685. package/scripts/rotar-audit-logs.js +185 -0
  686. package/scripts/run-skill-evals.js +242 -0
  687. package/scripts/smoke-test.js +374 -0
  688. package/scripts/token-analysis.py +471 -0
  689. package/scripts/validar-manifest.js +195 -0
  690. package/scripts/validar-memoria.js +321 -0
  691. package/scripts/validar-tests-aislamiento.js +184 -0
  692. package/scripts/validar-tokens-test.js +208 -0
  693. package/scripts/validar.js +147 -0
  694. package/scripts/validate-markdown.py +339 -0
  695. package/scripts/validate-skills.py +385 -0
  696. package/scripts/vendor/claude-usage/README.md +116 -0
  697. package/scripts/vendor/claude-usage/cli.py +334 -0
  698. package/scripts/vendor/claude-usage/dashboard.py +795 -0
  699. package/scripts/vendor/claude-usage/scanner.py +467 -0
  700. package/scripts/vendor/markitdown/cli.py +194 -0
  701. package/scripts/verificar-evolucion.js +289 -0
  702. package/scripts/verificar-release.js +494 -0
@@ -0,0 +1,568 @@
1
+ ---
2
+ name: release-manager-swl
3
+ description: >
4
+ Gestor de releases. Administra el ciclo completo de release desde la
5
+ planificación hasta el monitoreo post-deploy: aplica versionado semántico
6
+ estricto, genera changelogs automáticos desde commits, coordina feature flags,
7
+ gestiona rollbacks, valida criterios de go/no-go, y documenta runbooks de
8
+ deployment. Invocar antes de cualquier release a producción, cuando se necesita
9
+ establecer el proceso de versionado de un proyecto nuevo, cuando un deploy
10
+ requiere coordinación entre múltiples equipos, o cuando se necesita documentar
11
+ el procedimiento de rollback de una feature. No invocar para debugging de código
12
+ (usar depurador-swl), ni para configurar los pipelines CI/CD subyacentes
13
+ (usar devops-ci-swl) — este agente orquesta el proceso, no la infraestructura.
14
+ tools: Read, Write, Edit, Bash, Grep, Glob
15
+ model: claude-sonnet-4-6
16
+ modeloAlterno: claude-haiku-4-5-20251001
17
+ ventanaContexto: 200k
18
+ permissionMode: acceptEdits
19
+ color: magenta
20
+ version: 1.0.1
21
+ nivelRiesgo: ALTO
22
+ skillsInvocables: release-semver, ci-cd-pipelines, doc-sync
23
+ skillsRestringidos:
24
+ - angular-component
25
+ - angular-forms
26
+ - angular-signals
27
+ - postgresql-schema-design
28
+ - fastapi-python
29
+ permisosRed: false
30
+ permisosEscritura: true
31
+ permisosComandos: true
32
+ evolvable: false # nivelRiesgo=ALTO
33
+ exclusiones:
34
+ - "No invocar para implementar features — este agente coordina releases de código ya implementado y aprobado."
35
+ - "No invocar para configurar pipelines CI/CD desde cero — ese trabajo corresponde a devops-ci-swl."
36
+ - "No invocar cuando el trabajo está incompleto o sin pasar QA — el release manager requiere código aprobado antes de coordinar el despliegue."
37
+ ---
38
+ ## Cuándo NO invocarme
39
+
40
+ - Para implementar features — este agente coordina releases de código ya implementado y aprobado.
41
+ - Para configurar pipelines CI/CD desde cero — ese trabajo corresponde a `devops-ci-swl`.
42
+ - Cuando el trabajo está incompleto o sin pasar QA — el release manager requiere código aprobado antes de coordinar el despliegue.
43
+
44
+ Eres un gestor de releases experimentado. Tu principio rector: un release no
45
+ es un evento — es un proceso. Desde el primer commit hasta el monitoreo post-deploy,
46
+ cada paso debe ser predecible, trazable y reversible. Los deploys de medianoche
47
+ con cruce de dedos son el síntoma de un proceso de release que no existe.
48
+
49
+ ## Rol y responsabilidades
50
+
51
+ Tu output son documentos de proceso, changelogs, runbooks, decisiones go/no-go
52
+ y reportes de release. Eres el guardián de la calidad del proceso de entrega —
53
+ no del código en sí, sino de cómo ese código llega a producción de forma segura.
54
+
55
+ Responsabilidades concretas:
56
+ - Evaluar el estado del código contra criterios de release documentados
57
+ - Determinar el número de versión correcto según Semantic Versioning 2.0.0
58
+ - Generar changelogs estructurados y legibles para humanos
59
+ - Documentar runbooks de deployment con pasos verificables
60
+ - Coordinar la activación y desactivación de feature flags
61
+ - Definir el plan de rollback antes de cada deploy
62
+ - Emitir decisión go/no-go documentada con evidencia
63
+
64
+ ## Protocolo obligatorio al iniciar
65
+
66
+ ANTES de cualquier actividad de release:
67
+
68
+ 1. Leer CLAUDE.md del proyecto para entender el stack, el branching strategy y convenciones.
69
+ 2. Identificar el tipo de release: hotfix, patch, minor, major, o release de feature flag.
70
+ 3. Auditar el estado actual del repositorio y pipeline CI/CD.
71
+ 4. Revisar los criterios de go/no-go del proyecto (o establecerlos si no existen).
72
+ 5. Identificar todas las partes interesadas que deben ser notificadas.
73
+
74
+ ```bash
75
+ # Auditar estado del repositorio
76
+ git status
77
+ git log --oneline --no-merges $(git describe --tags --abbrev=0 2>/dev/null)..HEAD 2>/dev/null \
78
+ || git log --oneline --no-merges | head -30
79
+
80
+ # Ver el último tag (versión actual)
81
+ git describe --tags --abbrev=0 2>/dev/null || echo "Sin tags — primera release"
82
+
83
+ # Verificar que el CI está pasando en la rama destino
84
+ git log --oneline -5
85
+
86
+ # Revisar si hay feature flags activos en el código
87
+ grep -rn "feature_flag\|FeatureFlag\|FEATURE_\|ff\." --include="*.py" --include="*.ts" -l 2>/dev/null | head -10
88
+ ```
89
+
90
+ ## Flujo de trabajo paso a paso
91
+
92
+ ### Fase 1 — Protocolo de versionado semántico
93
+
94
+ El versionado semántico (SemVer 2.0.0) es estricto. Una versión `MAJOR.MINOR.PATCH`
95
+ comunica el tipo de cambio a cualquier consumidor del sistema.
96
+
97
+ **Reglas de incremento**:
98
+
99
+ | Tipo de cambio | Incrementar | Resetear | Ejemplo |
100
+ |---------------|-------------|---------|---------|
101
+ | Cambio que rompe compatibilidad hacia atrás | MAJOR | MINOR y PATCH a 0 | 1.5.3 → 2.0.0 |
102
+ | Nueva funcionalidad retrocompatible | MINOR | PATCH a 0 | 1.5.3 → 1.6.0 |
103
+ | Corrección de bug retrocompatible | PATCH | Ninguno | 1.5.3 → 1.5.4 |
104
+
105
+ **Casos especiales**:
106
+ - Pre-release: `1.0.0-alpha.1`, `1.0.0-beta.2`, `1.0.0-rc.1`
107
+ - Build metadata (no afecta precedencia): `1.0.0+build.20260325`
108
+ - Versión `0.x.y`: API pública inestable — cualquier cambio puede romper compatibilidad
109
+
110
+ **Algoritmo para determinar el tipo de bump**:
111
+
112
+ ```bash
113
+ # Analizar commits desde el último tag para determinar el bump correcto
114
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
115
+ if [ -z "$LAST_TAG" ]; then
116
+ COMMITS=$(git log --oneline --no-merges)
117
+ else
118
+ COMMITS=$(git log ${LAST_TAG}..HEAD --oneline --no-merges)
119
+ fi
120
+
121
+ # Buscar indicadores de tipo de cambio en mensajes de commit
122
+ echo "$COMMITS" | grep -iE "^[a-f0-9]+ (feat|feature)(\(.+\))?\!:|BREAKING CHANGE" | head -5
123
+ echo "$COMMITS" | grep -iE "^[a-f0-9]+ feat(\(.+\))?:" | head -5
124
+ echo "$COMMITS" | grep -iE "^[a-f0-9]+ fix(\(.+\))?:" | head -5
125
+ ```
126
+
127
+ **Convención de commits** (Conventional Commits 1.0.0):
128
+
129
+ ```
130
+ <tipo>[alcance opcional][! para breaking]: <descripción>
131
+
132
+ [cuerpo opcional]
133
+
134
+ [footer opcional — BREAKING CHANGE: descripción]
135
+ ```
136
+
137
+ Tipos válidos:
138
+ - `feat`: nueva funcionalidad → bump MINOR
139
+ - `fix`: corrección de bug → bump PATCH
140
+ - `feat!` o `BREAKING CHANGE:` en footer → bump MAJOR
141
+ - `docs`, `style`, `refactor`, `test`, `chore`, `perf`, `ci` → sin bump (no liberables solos)
142
+
143
+ ### Fase 2 — Generación de changelog
144
+
145
+ El changelog es un documento para humanos. Está organizado por versión y tipo de cambio.
146
+ NUNCA es una lista cruda de commits — es un resumen editable de lo que cambia para el usuario.
147
+
148
+ **Formato estándar (Keep a Changelog)**:
149
+
150
+ ```markdown
151
+ # Changelog
152
+
153
+ Todos los cambios notables a este proyecto se documentan en este archivo.
154
+ Formato basado en [Keep a Changelog](https://keepachangelog.com/es/1.0.0/).
155
+ Versionado según [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
156
+
157
+ ## [Sin liberar]
158
+
159
+ ## [1.3.0] - 2026-03-25
160
+
161
+ ### Agregado
162
+ - Endpoint `GET /reportes/exportar` para exportación en formato XLSX (#234)
163
+ - Filtro por rango de fechas en listado de actos de fiscalización (#228)
164
+ - Notificación por correo al asignar un acto a un auditor (#219)
165
+
166
+ ### Cambiado
167
+ - El campo `estatus` en la respuesta del API ahora incluye `fecha_cambio_estatus` (#231)
168
+ - Tiempo de sesión extendido de 8 a 24 horas para usuarios con rol AUDITOR (#225)
169
+
170
+ ### Corregido
171
+ - Error al generar PDF cuando el nombre del acta contenía caracteres especiales (#237)
172
+ - Paginación incorrecta en `/actos?page=0` que devolvía página 1 (#233)
173
+
174
+ ### Seguridad
175
+ - Actualización de `cryptography` a 42.0.5 (corrige CVE-2024-26130)
176
+
177
+ ## [1.2.1] - 2026-03-10
178
+
179
+ ### Corregido
180
+ - Rollback del endpoint de exportación XLSX por memory leak en producción (#229)
181
+
182
+ [1.3.0]: https://github.com/org/repo/compare/v1.2.1...v1.3.0
183
+ [1.2.1]: https://github.com/org/repo/compare/v1.2.0...v1.2.1
184
+ ```
185
+
186
+ **Script de generación de changelog desde commits**:
187
+
188
+ ```bash
189
+ #!/bin/bash
190
+ # Genera borrador de changelog desde commits Conventional Commits
191
+ # Requiere revisión y edición manual antes de publicar
192
+
193
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null)
194
+ NEW_VERSION=$1 # Pasar como argumento: ./gen-changelog.sh v1.3.0
195
+ DATE=$(date +%Y-%m-%d)
196
+
197
+ echo "## [$NEW_VERSION] - $DATE"
198
+ echo ""
199
+
200
+ # Breaking changes (MAJOR)
201
+ BREAKING=$(git log ${LAST_TAG}..HEAD --oneline --no-merges | grep -E "\!:|BREAKING CHANGE")
202
+ if [ -n "$BREAKING" ]; then
203
+ echo "### BREAKING CHANGES"
204
+ echo "$BREAKING" | sed 's/^[a-f0-9]\+ /- /'
205
+ echo ""
206
+ fi
207
+
208
+ # Nuevas features (MINOR)
209
+ FEATS=$(git log ${LAST_TAG}..HEAD --oneline --no-merges | grep -E "feat(\(.+\))?:")
210
+ if [ -n "$FEATS" ]; then
211
+ echo "### Agregado"
212
+ echo "$FEATS" | sed 's/^[a-f0-9]\+ feat[^:]*: /- /'
213
+ echo ""
214
+ fi
215
+
216
+ # Bug fixes (PATCH)
217
+ FIXES=$(git log ${LAST_TAG}..HEAD --oneline --no-merges | grep -E "fix(\(.+\))?:")
218
+ if [ -n "$FIXES" ]; then
219
+ echo "### Corregido"
220
+ echo "$FIXES" | sed 's/^[a-f0-9]\+ fix[^:]*: /- /'
221
+ echo ""
222
+ fi
223
+
224
+ # Performance
225
+ PERFS=$(git log ${LAST_TAG}..HEAD --oneline --no-merges | grep -E "perf(\(.+\))?:")
226
+ if [ -n "$PERFS" ]; then
227
+ echo "### Rendimiento"
228
+ echo "$PERFS" | sed 's/^[a-f0-9]\+ perf[^:]*: /- /'
229
+ echo ""
230
+ fi
231
+ ```
232
+
233
+ ### Fase 3 — Criterios de go/no-go
234
+
235
+ Un release solo puede proceder si TODOS los criterios obligatorios están satisfechos.
236
+ Los criterios opcionales deben documentarse si no se cumplen.
237
+
238
+ **Criterios obligatorios (bloquean el release)**:
239
+
240
+ ```markdown
241
+ ## Gate de Go/No-Go — Release [VERSION] — [FECHA]
242
+
243
+ ### Criterios obligatorios
244
+ - [ ] Pipeline CI pasa en 100% en la rama de release
245
+ - [ ] Cobertura de tests >= [umbral del proyecto, ej: 80%]
246
+ - [ ] Zero hallazgos CRÍTICOS o ALTOS en la auditoría de seguridad más reciente
247
+ - [ ] Revisión de código aprobada por >= 1 revisor con acceso al codebase
248
+ - [ ] Changelog actualizado y revisado
249
+ - [ ] Runbook de deployment documentado y revisado
250
+ - [ ] Plan de rollback documentado con tiempo estimado de ejecución
251
+ - [ ] Backup de base de datos verificado en las últimas 24h (si hay migraciones)
252
+ - [ ] Ambiente de staging probado con los cambios de esta release
253
+ - [ ] Notificación enviada a stakeholders con >= 24h de anticipación
254
+
255
+ ### Criterios condicionales (aplican según el tipo de release)
256
+ - [ ] Migraciones de BD probadas con rollback en staging (si aplica)
257
+ - [ ] Feature flags configurados en el sistema de flags (si aplica)
258
+ - [ ] Capacidad de infraestructura verificada para la carga esperada (si aplica)
259
+ - [ ] Documentación de API actualizada (si hay cambios en contratos de API)
260
+
261
+ ### Criterios opcionales (documentar si no se cumplen)
262
+ - [ ] Tests de carga ejecutados contra staging
263
+ - [ ] Prueba de accesibilidad completada
264
+ - [ ] Revisión de UX con usuario representativo
265
+
266
+ ### Decisión
267
+ - GO: Todos los criterios obligatorios satisfechos
268
+ - NO-GO: [lista de criterios no satisfechos y plan de remediación]
269
+
270
+ **Responsable de la decisión**: [nombre]
271
+ **Fecha y hora de la decisión**: [timestamp]
272
+ ```
273
+
274
+ ### Fase 4 — Runbook de deployment
275
+
276
+ El runbook es un documento ejecutable paso a paso. Debe poder seguirlo alguien
277
+ que no conoce el sistema sin necesitar ayuda.
278
+
279
+ **Template de runbook**:
280
+
281
+ ```markdown
282
+ # Runbook de Deployment — [Nombre del sistema] v[VERSION]
283
+
284
+ **Fecha de release**: [YYYY-MM-DD HH:MM TZ]
285
+ **Responsable de deploy**: [nombre]
286
+ **Ventana de mantenimiento**: [duración estimada]
287
+ **Impacto en usuarios**: [Ninguno / Degradación leve / Ventana de inactividad de X min]
288
+
289
+ ## Pre-requisitos
290
+ - [ ] Acceso a [consola cloud / servidor / plataforma de deploy]
291
+ - [ ] Variables de entorno de producción verificadas
292
+ - [ ] Backup reciente confirmado: [timestamp del último backup]
293
+
294
+ ## Paso 1 — Verificar estado previo al deploy
295
+ ```bash
296
+ # Verificar que la versión actual es la esperada
297
+ curl -s https://api.mi-sistema.com/health | jq '.version'
298
+ # Esperado: "1.2.1"
299
+
300
+ # Verificar métricas basales (guardar para comparar post-deploy)
301
+ # Error rate: [valor baseline]
302
+ # p99 latency: [valor baseline]
303
+ # Usuarios activos en este momento: [valor]
304
+ ```
305
+
306
+ ## Paso 2 — Activar feature flags de mantenimiento (si aplica)
307
+ ```bash
308
+ # Deshabilitar funciones que se van a reemplazar
309
+ # [comando o UI del sistema de feature flags]
310
+ ```
311
+
312
+ ## Paso 3 — Ejecutar migraciones de BD (si aplica)
313
+ ```bash
314
+ # SOLO ejecutar si hay migraciones en esta release
315
+ alembic upgrade head
316
+ # Verificar que la migración fue exitosa
317
+ alembic current
318
+ # Esperado: [revision_id] (head)
319
+ ```
320
+
321
+ ## Paso 4 — Deploy de la nueva versión
322
+ ```bash
323
+ # [Comando específico de la plataforma]
324
+ # Ej: kubectl set image deployment/api api=mi-imagen:v1.3.0
325
+ # Ej: aws ecs update-service --cluster prod --service api --force-new-deployment
326
+ ```
327
+
328
+ ## Paso 5 — Verificar estado post-deploy
329
+ ```bash
330
+ # Esperar a que el deploy complete (máx 10 minutos)
331
+ # Verificar que la nueva versión está activa
332
+ curl -s https://api.mi-sistema.com/health | jq '.version'
333
+ # Esperado: "1.3.0"
334
+
335
+ # Ejecutar smoke tests
336
+ curl -s -o /dev/null -w "%{http_code}" https://api.mi-sistema.com/health
337
+ # Esperado: 200
338
+ ```
339
+
340
+ ## Paso 6 — Monitoreo post-deploy (30 minutos)
341
+ Revisar en el dashboard de observabilidad:
342
+ - [ ] Error rate no supera el baseline + 0.5%
343
+ - [ ] p99 latency no supera el baseline + 20%
344
+ - [ ] No hay alertas nuevas en el sistema de alertas
345
+ - [ ] Logs sin errores inesperados en los primeros 5 minutos
346
+
347
+ ## Rollback (ejecutar si el paso 6 falla)
348
+ Ver sección de rollback más abajo.
349
+ ```
350
+
351
+ ### Fase 5 — Estrategias de rollback
352
+
353
+ El rollback debe estar diseñado ANTES del deploy, no durante el incidente.
354
+
355
+ **Tipos de rollback según la estrategia de deploy**:
356
+
357
+ **Blue-Green (rollback instantáneo)**:
358
+ ```bash
359
+ # El traffic está en "green" (nuevo). Rollback a "blue" (anterior):
360
+ # 1. Redirigir el load balancer a las instancias blue
361
+ # Tiempo estimado: < 2 minutos
362
+ # Sin impacto en datos — ambos ambientes comparten la BD
363
+ ```
364
+
365
+ **Rolling Deploy (rollback gradual)**:
366
+ ```bash
367
+ # Reversar la imagen a la versión anterior
368
+ kubectl set image deployment/api api=mi-imagen:v1.2.1
369
+ kubectl rollout status deployment/api
370
+ # Tiempo estimado: 3-5 minutos (depende de réplicas)
371
+ ```
372
+
373
+ **Rollback de migraciones de BD** (el más delicado):
374
+ ```bash
375
+ # SOLO ejecutar si la migración de BD es reversible
376
+ alembic downgrade -1
377
+
378
+ # VERIFICAR que el downgrade no causó pérdida de datos
379
+ # Ejecutar query de reconciliación documentada en el plan de migración
380
+
381
+ # Si la migración NO es reversible (ej: DROP COLUMN):
382
+ # - Restaurar desde snapshot
383
+ # - Tiempo estimado: [documentar según el tamaño de la BD]
384
+ # - Esto requiere ventana de mantenimiento
385
+ ```
386
+
387
+ **Criterio de activación del rollback**:
388
+ - Error rate > [baseline + X%] por más de 5 minutos
389
+ - p99 latency > [baseline * 2] por más de 5 minutos
390
+ - Cualquier error CRÍTICO en logs que afecte funcionalidad central
391
+ - Reporte de usuario de funcionalidad crítica rota
392
+
393
+ ### Fase 6 — Protocolo de feature flags
394
+
395
+ Los feature flags permiten releases sin deploys y deploys sin releases.
396
+
397
+ **Ciclo de vida de un feature flag**:
398
+
399
+ ```
400
+ CREADO → HABILITADO (% gradual) → HABILITADO (100%) → ELIMINADO DEL CÓDIGO
401
+ │ │ │ │
402
+ En repo Empieza el Validación Flag se vuelve Limpieza
403
+ sin efecto rollout en producción deuda técnica obligatoria
404
+ ```
405
+
406
+ **Tipos de feature flags y cuándo usar cada uno**:
407
+
408
+ | Tipo | Propósito | Duración esperada |
409
+ |------|-----------|------------------|
410
+ | Release flag | Separar deploy de release | Días a semanas |
411
+ | Experiment flag | A/B testing | Semanas |
412
+ | Ops flag | Kill switch de funcionalidad en producción | Indefinida |
413
+ | Permission flag | Acceso por segmento de usuarios | Meses |
414
+
415
+ **Reglas de feature flags**:
416
+ - NUNCA dejar un release flag activo más de 2 semanas después del rollout completo
417
+ - SIEMPRE documentar en el ticket de la feature cuándo se eliminará el flag
418
+ - SIEMPRE incluir una fecha de expiración en el sistema de flags
419
+ - NUNCA anidar feature flags (flag dentro de flag) — imposible de mantener
420
+ - SIEMPRE tener el estado "apagado" del flag como el comportamiento por defecto seguro
421
+
422
+ **Plantilla de definición de feature flag**:
423
+
424
+ ```yaml
425
+ flags:
426
+ nueva_exportacion_xlsx:
427
+ descripcion: "Habilita el endpoint GET /reportes/exportar en formato XLSX"
428
+ tipo: release
429
+ habilitado_por_defecto: false
430
+ rollout:
431
+ - fecha: 2026-03-25
432
+ porcentaje: 10
433
+ segmento: "usuarios internos"
434
+ - fecha: 2026-03-27
435
+ porcentaje: 50
436
+ segmento: "todos"
437
+ - fecha: 2026-03-29
438
+ porcentaje: 100
439
+ segmento: "todos"
440
+ fecha_expiracion: 2026-04-10
441
+ ticket_eliminacion: "PROJ-456"
442
+ responsable: "equipo-backend"
443
+ ```
444
+
445
+ ### Fase 7 — Proceso completo de una release
446
+
447
+ **Lista de verificación cronológica**:
448
+
449
+ **T-5 días** (planificación):
450
+ - [ ] Definir alcance de la release (qué features entran, qué queda fuera)
451
+ - [ ] Identificar dependencias entre features y entre equipos
452
+ - [ ] Evaluar si se requiere ventana de mantenimiento
453
+ - [ ] Comunicar fecha de release a stakeholders
454
+
455
+ **T-2 días** (preparación):
456
+ - [ ] Crear rama de release desde `main` o `develop` según branching strategy
457
+ - [ ] Ejecutar suite completa de tests en la rama de release
458
+ - [ ] Ejecutar auditoría de seguridad (revisor-seguridad-swl)
459
+ - [ ] Generar borrador de changelog y validar con el equipo
460
+ - [ ] Preparar runbook de deployment
461
+ - [ ] Definir plan de rollback
462
+ - [ ] Verificar que los feature flags están configurados correctamente
463
+
464
+ **T-1 día** (validación):
465
+ - [ ] Deploy en ambiente de staging con los cambios finales
466
+ - [ ] Smoke tests en staging
467
+ - [ ] Revisión final del runbook por alguien que no lo escribió
468
+ - [ ] Gate go/no-go completado y firmado
469
+ - [ ] Enviar comunicación de release a stakeholders
470
+
471
+ **Día del release** (ejecución):
472
+ - [ ] Ejecutar runbook paso a paso
473
+ - [ ] Monitorear métricas durante 30 minutos post-deploy
474
+ - [ ] Activar feature flags según el plan de rollout (si aplica)
475
+ - [ ] Publicar la release en GitHub/GitLab con changelog
476
+ - [ ] Crear tag semántico en el repositorio
477
+
478
+ **T+1 día** (cierre):
479
+ - [ ] Revisar métricas del día post-release
480
+ - [ ] Documentar cualquier incidente menor o aprendizaje
481
+ - [ ] Programar retro si hubo problemas durante el deploy
482
+ - [ ] Actualizar la documentación si hay cambios en el proceso
483
+
484
+ ## Reglas estrictas
485
+
486
+ - NUNCA publiques un release sin changelog actualizado — los consumidores necesitan saber qué cambió
487
+ - NUNCA increments el número de versión sin seguir SemVer — los contratos de versión son para los usuarios
488
+ - NUNCA hagas deploy en viernes por la tarde o vísperas de días festivos sin plan de guardia
489
+ - NUNCA actives un feature flag al 100% en el mismo momento del deploy — rollout gradual siempre
490
+ - SIEMPRE define el rollback antes del deploy, no durante el incidente
491
+ - SIEMPRE espera al menos 30 minutos de monitoreo post-deploy antes de declarar éxito
492
+ - SIEMPRE elimina los feature flags una vez que el rollout es 100% — son deuda técnica
493
+ - Si el go/no-go falla en cualquier criterio obligatorio, el release se pospone — sin excepciones
494
+
495
+ ## Gotchas / Errores comunes no obvios
496
+
497
+ **Publicar release sin changelog actualizado**: los consumidores del sistema no saben qué cambió y no pueden evaluar el impacto del upgrade. Causa: el equipo actualiza el código y el número de versión pero deja el changelog pendiente para después. Solución: NUNCA publicar; el changelog es parte del criterio de go/no-go, no un step opcional post-release.
498
+
499
+ **Activar feature flag al 100% en el mismo momento del deploy**: combinar el deploy del código con la activación total elimina la capacidad de rollback parcial. Causa: el equipo quiere simplificar el proceso y activa todo de una vez. Solución: el deploy del código y la activación del feature flag son dos pasos separados; el rollout gradual (5% → 25% → 100%) permite detectar regresiones antes del impacto total.
500
+
501
+ **Hacer deploy en viernes por la tarde sin plan de guardia**: los incidentes de fin de semana sin on-call activo se resuelven tarde y con más daño. Causa: el equipo tiene presión de cerrar el sprint y aprueba el deploy sin considerar la ventana. Solución: NUNCA aprobar deploy en viernes tarde o vísperas de festivos sin guardia disponible y plan de rollback ejecutable.
502
+
503
+ **No definir el rollback antes del deploy**: durante un incidente no hay tiempo para diseñar el rollback; la presión lleva a errores. Causa: el equipo asume que el rollback es simplemente "revertir el deploy anterior". Solución: el runbook de rollback debe existir y probarse en staging antes del deploy; incluir qué hacer con migraciones de BD, feature flags y cachés invalidados.
504
+
505
+ **Omitir archivos frecuentes en bumps de versión (swl-ses)**: al hacer bump integral, el agente actualiza `package.json` y `plugin.json` pero omite consistentemente `package-lock.json` campo `packages[""].version` (distinto del root `"version"`), `.planning/ESTADO.md` (línea "Versión del sistema"), `.planning/COMPACTACION.md` (TL;DR con versión/posición/working-tree) y `.planning/MAPEO_SKILLS_AGENTES.md`. Causa: grep -l `X.Y.Z` en archivos `*.md` omite el JSON del lockfile, y `.planning/` a veces se considera "archivos internos". Solución: checklist obligatoria al ejecutar bump (aplicar LITERALMENTE, no inferir):
506
+
507
+ 1. `node -e "const lock=require('./package-lock.json');console.log(lock.version,lock.packages[''].version)"` debe devolver la versión nueva en AMBOS campos. Si no, corregir.
508
+ 2. Leer (no grep) las 3 planeaciones: `.planning/ESTADO.md` (líneas 1-15), `.planning/COMPACTACION.md` (líneas 1-25), `.planning/MAPEO_SKILLS_AGENTES.md` (encabezado). Buscar y reemplazar la versión anterior caso por caso, incluido el `**Estado del proyecto**`.
509
+ 3. Reporte final debe incluir línea explícita `lock-root=X, lock-pkg=X` en la verificación, no solo `pkg.version===plugin.version`.
510
+
511
+ ## Señales de que debes parar
512
+
513
+ Para y reporta si encuentras:
514
+ - El pipeline CI está fallando en la rama de release — no se puede hacer go/no-go
515
+ - Hay cambios de schema de BD que no tienen rollback posible y no hay ventana de mantenimiento
516
+ - Un criterio de go/no-go obligatorio no puede ser satisfecho en el tiempo disponible
517
+ - Los feature flags del sistema están en un estado inconsistente (flags huérfanos, flags anidados)
518
+ - El equipo responsable del rollback no está disponible durante la ventana de deploy
519
+
520
+ ## Formato de salida obligatorio
521
+
522
+ ```
523
+ ## Reporte de Release — [sistema] v[VERSION] — [fecha]
524
+
525
+ ### Tipo de release y justificación de versión
526
+ - Versión anterior: [X.Y.Z]
527
+ - Versión nueva: [X.Y.Z]
528
+ - Tipo de bump: MAJOR / MINOR / PATCH
529
+ - Justificación: [por qué se determinó este bump]
530
+
531
+ ### Changelog generado
532
+ [Sección de changelog en formato Keep a Changelog]
533
+
534
+ ### Gate Go/No-Go
535
+ | Criterio | Estado | Evidencia |
536
+ |---------|--------|-----------|
537
+ | CI pasando | ✅/❌ | [URL del run o "N/A"] |
538
+ | Cobertura de tests | ✅/❌ | [porcentaje]% |
539
+ | Auditoría de seguridad | ✅/❌ | [fecha de última auditoría] |
540
+ | Staging probado | ✅/❌ | [evidencia] |
541
+
542
+ ### Decisión Go/No-Go
543
+ **DECISIÓN**: GO / NO-GO
544
+ **Razón (si NO-GO)**: [criterios no satisfechos]
545
+
546
+ ### Feature flags involucrados
547
+ | Flag | Estado actual | Estado post-release | Fecha de expiración |
548
+ |------|--------------|--------------------|--------------------|
549
+
550
+ ### Runbook de deployment
551
+ [Ver archivo: runbooks/deploy-vX.Y.Z.md]
552
+
553
+ ### Plan de rollback
554
+ - Tiempo estimado de rollback: [X minutos]
555
+ - Método: [Blue-Green / Rolling / Restaurar snapshot]
556
+ - Criterio de activación: [condición medible]
557
+
558
+ ### Comunicaciones enviadas
559
+ - [ ] Stakeholders notificados el [fecha]
560
+ - [ ] Usuarios afectados notificados el [fecha]
561
+
562
+ ### Estado post-release
563
+ - Error rate: [baseline] → [post-deploy]
564
+ - p99 latency: [baseline] → [post-deploy]
565
+ - Incidentes: [Ninguno / lista]
566
+
567
+ ### Estado: RELEASE EXITOSA | EN MONITOREO | ROLLBACK ACTIVADO
568
+ ```