@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,51 @@
1
+ name: Revisión de Seguridad — Claude Code
2
+
3
+ # Plantilla distribuida por swl-ses.
4
+ # Copiar este archivo a .github/workflows/ de tu proyecto.
5
+ # Para setup automatizado: /swl:configurar-ci init
6
+ #
7
+ # PREREQUISITO — configurar el secret CLAUDE_API_KEY en tu repositorio:
8
+ # GitHub → Settings → Secrets and variables → Actions → New repository secret
9
+ # Nombre: CLAUDE_API_KEY
10
+ # Valor: clave API de Anthropic (https://console.anthropic.com)
11
+ # La clave requiere permisos tanto para Claude API como para Claude Code.
12
+ #
13
+ # Referencia de la action oficial:
14
+ # https://github.com/anthropics/claude-code-security-review
15
+ #
16
+ # NOTA: los workflows de forks externos no reciben secrets por diseño de GitHub.
17
+ # La revisión de seguridad solo corre en PRs de ramas del mismo repositorio.
18
+
19
+ on:
20
+ pull_request:
21
+ branches: [main]
22
+
23
+ # Permisos mínimos: escribir comentarios en PRs y leer contenido del repo.
24
+ permissions:
25
+ pull-requests: write
26
+ contents: read
27
+
28
+ jobs:
29
+ security:
30
+ name: Análisis de seguridad con Claude
31
+ runs-on: ubuntu-latest
32
+
33
+ steps:
34
+ - uses: actions/checkout@v5
35
+ with:
36
+ # fetch-depth: 2 es requerido por la action para calcular el diff.
37
+ ref: ${{ github.event.pull_request.head.sha || github.sha }}
38
+ fetch-depth: 2
39
+
40
+ # Análisis semántico de seguridad sobre el diff del PR.
41
+ # Detecta: inyecciones SQL/OS, credenciales expuestas, auth débil,
42
+ # SSRF, XSS y las 10 categorías del OWASP Top 10.
43
+ # Comenta hallazgos directamente en el PR.
44
+ - uses: anthropics/claude-code-security-review@main
45
+ with:
46
+ claude-api-key: ${{ secrets.CLAUDE_API_KEY }}
47
+ comment-pr: true
48
+ upload-results: true
49
+ # Excluir directorios que no son código de producción.
50
+ # Ajustar según la estructura de tu proyecto.
51
+ # exclude-directories: "temp,docs,fixtures"
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/mcp-config.json",
3
+ "_comment": "Configuración MCP de MinerU para extracción de documentos. Se fusiona con .mcp.json del proyecto durante la instalación de SWL-SES.",
4
+ "mcpServers": {
5
+ "mineru": {
6
+ "command": "uvx",
7
+ "args": ["mineru-open-mcp"],
8
+ "env": {
9
+ "MINERU_API_TOKEN": ""
10
+ }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,220 @@
1
+ # ARCHITECTURE: Arquitectura Propuesta — [Nombre del Proyecto]
2
+
3
+ > Documento de diseño arquitectural. Define la estructura del sistema antes
4
+ > de escribir código. Las decisiones aquí deben estar respaldadas por ADRs
5
+ > para las más significativas.
6
+ > Autor: [nombre] | Fecha: YYYY-MM-DD | Estado: Borrador / Revisado / Aprobado
7
+
8
+ ---
9
+
10
+ ## Visión general
11
+
12
+ [2-3 párrafos describiendo la arquitectura en términos de alto nivel.
13
+ Qué tipo de sistema es (monolito modular, microservicios, serverless, etc.).
14
+ Por qué esta estructura es la correcta para este problema y equipo.]
15
+
16
+ **Estilo arquitectural**: [ej. Monolito modular con frontend SPA]
17
+ **Patrón principal**: [ej. Layered Architecture / Hexagonal / CQRS]
18
+ **Justificación**: [Por qué este estilo y no otro para este proyecto]
19
+
20
+ ---
21
+
22
+ ## Diagrama de contexto (Nivel 1 — C4)
23
+
24
+ ```
25
+ ┌─────────────────────────────────────────────────────────────────┐
26
+ │ Sistema: [Nombre] │
27
+ │ │
28
+ │ ┌──────────┐ HTTPS ┌──────────────────┐ │
29
+ │ │ Usuario │ ──────────► │ Frontend SPA │ │
30
+ │ │ │ ◄────────── │ (Angular) │ │
31
+ │ └──────────┘ └────────┬─────────┘ │
32
+ │ │ REST API │
33
+ │ ┌────────▼─────────┐ │
34
+ │ │ Backend API │ │
35
+ │ │ (FastAPI) │ │
36
+ │ └──┬────────────┬──┘ │
37
+ │ │ │ │
38
+ │ ┌──────────▼──┐ ┌──────▼──────────┐ │
39
+ │ │ PostgreSQL │ │ Redis (cache) │ │
40
+ │ │ (BD) │ │ │ │
41
+ │ └─────────────┘ └─────────────────┘ │
42
+ └─────────────────────────────────────────────────────────────────┘
43
+
44
+ ┌───────────────────┼───────────────────┐
45
+ │ │ │
46
+ ┌──────▼──────┐ ┌─────────▼──────┐ ┌────────▼────────┐
47
+ │ [Servicio │ │ [API Externa │ │ [Servicio de │
48
+ │ Externo 1] │ │ ej. SAT CFDI] │ │ Email / SMS] │
49
+ └─────────────┘ └────────────────┘ └─────────────────┘
50
+ ```
51
+
52
+ [Actualizar el diagrama con los componentes reales del proyecto]
53
+
54
+ ---
55
+
56
+ ## Diagrama de contenedores (Nivel 2 — C4)
57
+
58
+ ```
59
+ ┌─────────────────────────────────────────────────────────┐
60
+ │ Backend API │
61
+ │ │
62
+ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
63
+ │ │ Routers │──►│ Services │──►│ Repositories │ │
64
+ │ │ (endpoints) │ │ (lógica de │ │ (acceso a │ │
65
+ │ │ │◄──│ negocio) │◄──│ datos) │ │
66
+ │ └─────────────┘ └──────┬──────┘ └──────┬───────┘ │
67
+ │ │ │ │
68
+ │ ┌───────▼───────┐ ┌──────▼──────┐ │
69
+ │ │ Domain Models │ │ ORM │ │
70
+ │ │ (Pydantic) │ │ (SQLAlchemy)│ │
71
+ │ └───────────────┘ └─────────────┘ │
72
+ └─────────────────────────────────────────────────────────┘
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Módulos del sistema
78
+
79
+ ### Módulo: [Nombre — ej. Autenticación]
80
+
81
+ **Responsabilidad**: [Qué problema resuelve este módulo y nada más]
82
+ **Interfaz pública**:
83
+ - `POST /auth/login` — obtener token JWT
84
+ - `POST /auth/refresh` — renovar token
85
+ - `POST /auth/logout` — invalidar token
86
+ - `AuthGuard` — guardia de Angular para rutas protegidas
87
+
88
+ **Lo que NO hace este módulo**:
89
+ - [Restricción explícita — qué responsabilidad NO tiene]
90
+
91
+ **Archivos principales**:
92
+ ```
93
+ backend/app/
94
+ ├── routers/auth.py
95
+ ├── services/auth_service.py
96
+ ├── models/usuario.py
97
+ └── schemas/auth.py
98
+
99
+ frontend/src/app/
100
+ ├── core/guards/auth.guard.ts
101
+ └── features/auth/
102
+ ├── login/
103
+ └── services/auth.service.ts
104
+ ```
105
+
106
+ ---
107
+
108
+ ### Módulo: [Nombre — ej. Gestión de Facturas]
109
+
110
+ **Responsabilidad**:
111
+ **Interfaz pública**:
112
+ - `GET /facturas` — listar facturas del usuario
113
+ - `POST /facturas` — crear factura
114
+ - `GET /facturas/{id}` — detalle
115
+ - `PUT /facturas/{id}/timbrar` — enviar al PAC
116
+
117
+ **Lo que NO hace este módulo**:
118
+ -
119
+
120
+ **Archivos principales**:
121
+ ```
122
+ backend/app/
123
+ ├── routers/facturas.py
124
+ ├── services/factura_service.py
125
+ ├── models/factura.py
126
+ └── schemas/factura.py
127
+
128
+ frontend/src/app/features/facturas/
129
+ ├── list/
130
+ ├── form/
131
+ └── services/facturas.service.ts
132
+ ```
133
+
134
+ ---
135
+
136
+ ### Módulo: [Nombre del tercer módulo]
137
+
138
+ **Responsabilidad**:
139
+ **Interfaz pública**:
140
+ -
141
+
142
+ ---
143
+
144
+ ## Flujos de datos principales
145
+
146
+ ### Flujo 1: [ej. Creación de factura]
147
+
148
+ ```
149
+ Usuario Frontend Backend API BD
150
+ │ │ │ │
151
+ │── Llena formulario ──►│ │ │
152
+ │ │── POST /facturas ───►│ │
153
+ │ │ │── Valida schema │
154
+ │ │ │── Crea registro ►│
155
+ │ │ │◄─ Retorna ID ────│
156
+ │ │◄── 201 { factura } ──│ │
157
+ │◄── Redirige al detalle│ │ │
158
+ ```
159
+
160
+ ### Flujo 2: [ej. Autenticación con JWT]
161
+
162
+ ```
163
+ Usuario Frontend Backend API Redis
164
+ │ │ │ │
165
+ │── Login (user/pass) ──►│ │ │
166
+ │ │── POST /auth/login ──►│ │
167
+ │ │ │── Verifica creds │
168
+ │ │ │── Genera JWT │
169
+ │ │◄── 200 { token } ────│ │
170
+ │ │── Guarda en storage │ │
171
+ │◄─ Redirige al dashboard│ │ │
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Decisiones arquitecturales clave
177
+
178
+ | Decisión | Descripción | ADR |
179
+ |----------|-------------|-----|
180
+ | [Título de la decisión] | [Qué se decidió en una línea] | ADR-NNN |
181
+ | [Título de la decisión] | | ADR-NNN |
182
+ | [Título de la decisión] | | ADR-NNN |
183
+
184
+ ---
185
+
186
+ ## Estrategia de autenticación y autorización
187
+
188
+ **Autenticación**: [ej. JWT con refresh tokens en httpOnly cookie]
189
+ **Autorización**: [ej. RBAC con roles: ADMIN, OPERADOR, LECTOR]
190
+ **Roles definidos**:
191
+
192
+ | Rol | Descripción | Permisos |
193
+ |-----|-------------|----------|
194
+ | [ADMIN] | [descripción] | [CRUD completo] |
195
+ | [OPERADOR] | [descripción] | [Crear y editar, no eliminar] |
196
+ | [LECTOR] | [descripción] | [Solo lectura] |
197
+
198
+ ---
199
+
200
+ ## Estrategia de errores
201
+
202
+ | Tipo de error | HTTP Status | Formato de respuesta |
203
+ |---------------|-------------|---------------------|
204
+ | Validación de input | 422 | `{ detail: [{ loc, msg, type }] }` (Pydantic default) |
205
+ | No autenticado | 401 | `{ detail: "No autenticado" }` |
206
+ | Sin permisos | 403 | `{ detail: "Sin permisos para esta operación" }` |
207
+ | Recurso no encontrado | 404 | `{ detail: "Recurso no encontrado" }` |
208
+ | Error de negocio | 400 | `{ detail: "descripción del error de negocio" }` |
209
+ | Error interno | 500 | `{ detail: "Error interno del servidor" }` (sin exponer stack) |
210
+
211
+ ---
212
+
213
+ ## Checklist de arquitectura
214
+
215
+ - [ ] Cada módulo tiene responsabilidad claramente definida
216
+ - [ ] No hay dependencias circulares entre módulos
217
+ - [ ] Los flujos de datos están documentados para los casos principales
218
+ - [ ] La estrategia de auth cubre autenticación y autorización
219
+ - [ ] Las decisiones significativas tienen ADRs pendientes de redactar
220
+ - [ ] La arquitectura es verificable con los criterios definidos en HOJA-RUTA.md
@@ -0,0 +1,175 @@
1
+ # FEATURES: Investigación de Funcionalidades — [Nombre del Proyecto]
2
+
3
+ > Análisis técnico de cada feature antes de comprometerse a implementarla.
4
+ > El objetivo es estimar esfuerzo, identificar dependencias y anticipar riesgos
5
+ > ANTES de comenzar el desarrollo.
6
+ > Autor: [nombre] | Fecha: YYYY-MM-DD
7
+
8
+ ---
9
+
10
+ ## Cómo usar esta plantilla
11
+
12
+ Para cada feature:
13
+ 1. Describir qué debe hacer (desde la perspectiva del usuario)
14
+ 2. Investigar cómo se implementa técnicamente
15
+ 3. Estimar la complejidad con base en la investigación, no en intuición
16
+ 4. Identificar dependencias bloqueantes
17
+ 5. Documentar riesgos técnicos específicos
18
+
19
+ Escala de complejidad:
20
+ - **S** (Small): <= 1 día de desarrollo
21
+ - **M** (Medium): 2-4 días
22
+ - **L** (Large): 1-2 semanas
23
+ - **XL** (Extra Large): > 2 semanas — candidata a dividir en sub-features
24
+
25
+ ---
26
+
27
+ ## Feature 1: [Nombre de la feature]
28
+
29
+ **Requisitos que implementa**: REQ-001, REQ-002
30
+ **Módulo**: [Nombre del módulo del sistema]
31
+
32
+ ### Descripción funcional
33
+ [Qué hace esta feature desde la perspectiva del usuario final.
34
+ Flujo happy path en 3-5 pasos.]
35
+
36
+ ### Análisis técnico
37
+
38
+ **Capa backend**:
39
+ [Qué endpoints se necesitan. Qué modelos y tablas se crean o modifican.
40
+ Qué lógica de negocio no trivial tiene. Operaciones async, jobs, etc.]
41
+
42
+ **Capa frontend**:
43
+ [Qué componentes. Qué formularios. Qué integración de API.
44
+ State management necesario.]
45
+
46
+ **Integraciones externas**:
47
+ [APIs de terceros, servicios externos, webhooks, etc.]
48
+
49
+ **Cambios a BD**:
50
+ [Tablas nuevas, columnas nuevas, índices, constraints.]
51
+
52
+ ### Complejidad estimada
53
+
54
+ | Componente | Estimación | Justificación |
55
+ |-----------|------------|---------------|
56
+ | Backend API | [S/M/L/XL] | [por qué] |
57
+ | Frontend UI | [S/M/L/XL] | [por qué] |
58
+ | Integración externa | [S/M/L/XL / N/A] | [por qué] |
59
+ | Tests | [S/M/L/XL] | [por qué] |
60
+ | **Total feature** | **[S/M/L/XL]** | |
61
+
62
+ ### Dependencias
63
+
64
+ | Dependencia | Tipo | Estado | Bloqueante |
65
+ |-------------|------|--------|------------|
66
+ | [Feature o componente que debe estar listo primero] | Interna / Externa | Disponible / Pendiente | Sí / No |
67
+ | [Librería o servicio externo necesario] | Externa | | |
68
+
69
+ ### Riesgos técnicos
70
+
71
+ | Riesgo | Probabilidad | Impacto | Mitigación |
72
+ |--------|-------------|---------|------------|
73
+ | [Qué puede salir mal técnicamente] | Alta/Media/Baja | Alto/Medio/Bajo | [Cómo prevenirlo o manejarlo] |
74
+
75
+ ### Prototipo / PoC necesario
76
+
77
+ [ ] No — suficientemente conocida para implementar directamente
78
+ [ ] Sí — necesita spike de [N días] para validar: [qué se necesita validar]
79
+
80
+ ---
81
+
82
+ ## Feature 2: [Nombre de la feature]
83
+
84
+ **Requisitos que implementa**: REQ-0XX
85
+ **Módulo**:
86
+
87
+ ### Descripción funcional
88
+
89
+
90
+ ### Análisis técnico
91
+
92
+ **Capa backend**:
93
+
94
+ **Capa frontend**:
95
+
96
+ **Integraciones externas**:
97
+
98
+ **Cambios a BD**:
99
+
100
+ ### Complejidad estimada
101
+
102
+ | Componente | Estimación | Justificación |
103
+ |-----------|------------|---------------|
104
+ | Backend API | | |
105
+ | Frontend UI | | |
106
+ | Tests | | |
107
+ | **Total feature** | | |
108
+
109
+ ### Dependencias
110
+
111
+ | Dependencia | Tipo | Estado | Bloqueante |
112
+ |-------------|------|--------|------------|
113
+ | | | | |
114
+
115
+ ### Riesgos técnicos
116
+
117
+ | Riesgo | Probabilidad | Impacto | Mitigación |
118
+ |--------|-------------|---------|------------|
119
+ | | | | |
120
+
121
+ ---
122
+
123
+ ## Feature 3: [Nombre de la feature]
124
+
125
+ **Requisitos que implementa**:
126
+ **Módulo**:
127
+
128
+ ### Descripción funcional
129
+
130
+
131
+ ### Análisis técnico
132
+
133
+ **Capa backend**:
134
+
135
+ **Capa frontend**:
136
+
137
+ **Cambios a BD**:
138
+
139
+ ### Complejidad estimada
140
+
141
+ | Componente | Estimación | Justificación |
142
+ |-----------|------------|---------------|
143
+ | **Total feature** | | |
144
+
145
+ ### Dependencias
146
+
147
+ ### Riesgos técnicos
148
+
149
+ ---
150
+
151
+ ## Resumen de estimaciones
152
+
153
+ | Feature | Complejidad | Dependencias bloqueantes | PoC necesario |
154
+ |---------|-------------|--------------------------|---------------|
155
+ | Feature 1: [nombre] | [S/M/L/XL] | [ninguna / sí: X] | No / Sí |
156
+ | Feature 2: [nombre] | | | |
157
+ | Feature 3: [nombre] | | | |
158
+
159
+ **Esfuerzo total estimado**: [N semanas con [M] desarrolladores]
160
+ **Features de alto riesgo que necesitan atención temprana**: [lista]
161
+
162
+ ---
163
+
164
+ ## Orden de implementación recomendado
165
+
166
+ [Propuesta de orden de implementación considerando dependencias, riesgo y valor.
167
+ Justificar por qué este orden y no otro.]
168
+
169
+ 1. [Feature] — base para las siguientes / mayor riesgo técnico / mayor valor
170
+ 2. [Feature] — depende de #1 / desbloquea features de frontend
171
+ 3. [Feature]
172
+ 4. [Feature]
173
+
174
+ **Criterio de ordenamiento**: [qué principio guía el orden — ej. "riesgo primero",
175
+ "valor al usuario antes posible", "dependencias técnicas"]
@@ -0,0 +1,165 @@
1
+ # SUMMARY: Resumen Ejecutivo de Investigación — [Nombre del Proyecto]
2
+
3
+ > Este documento consolida los hallazgos de toda la investigación técnica y
4
+ > presenta las recomendaciones finales para tomar decisiones informadas.
5
+ > Es el punto de entrada para el planificador y el equipo.
6
+ > Autor: [nombre] | Fecha: YYYY-MM-DD | Estado: Borrador / Final
7
+
8
+ ---
9
+
10
+ ## TL;DR — Lo más importante
11
+
12
+ [3-5 bullets con los hallazgos más críticos y las recomendaciones clave.
13
+ Alguien que solo lea esto debe poder tomar decisiones informadas.]
14
+
15
+ - **Stack recomendado**: [tecnologías principales] — madurez probada, equipo familiarizado.
16
+ - **Mayor riesgo técnico**: [descripción en una línea] — mitigación disponible.
17
+ - **Feature más compleja**: [nombre] — requiere spike de [N] días antes de comprometerse.
18
+ - **Decisión más urgente**: [qué debe decidirse antes de empezar a codificar].
19
+ - **Estimación total**: [N] semanas con [M] desarrolladores en [P] fases.
20
+
21
+ ---
22
+
23
+ ## Stack tecnológico — Decisión final
24
+
25
+ | Capa | Tecnología elegida | Confianza | Alternativa descartada |
26
+ |------|-------------------|-----------|------------------------|
27
+ | Backend | [ej. FastAPI 0.111 + Python 3.12] | Alta | [Django — overhead para API-only] |
28
+ | Base de datos | [ej. PostgreSQL 16] | Alta | [MySQL — menor soporte para JSONB] |
29
+ | Frontend | [ej. Angular 18] | Alta | [React — consistencia con stack actual] |
30
+ | Cache | [ej. Redis 7] | Alta | [Memcached — estructuras de datos limitadas] |
31
+ | Infraestructura | [ej. Docker + GCP Cloud Run] | Media | [VMs — mayor mantenimiento operativo] |
32
+
33
+ **Ver análisis detallado**: `research/STACK.md`
34
+
35
+ ---
36
+
37
+ ## Análisis de complejidad de features
38
+
39
+ ### Features de alta prioridad (P0-P1)
40
+
41
+ | Feature | Complejidad | Esfuerzo estimado | Riesgo principal |
42
+ |---------|-------------|-------------------|-----------------|
43
+ | [Nombre] | [S/M/L/XL] | [N días] | [descripción del riesgo] |
44
+ | [Nombre] | | | |
45
+ | [Nombre] | | | |
46
+
47
+ ### Features de media-baja prioridad (P2-P3)
48
+
49
+ | Feature | Complejidad | Esfuerzo estimado | Fase sugerida |
50
+ |---------|-------------|-------------------|---------------|
51
+ | [Nombre] | | | Fase [N] |
52
+ | [Nombre] | | | Fase [N] |
53
+
54
+ **Ver análisis detallado**: `research/FUNCIONALIDADES.md`
55
+
56
+ ---
57
+
58
+ ## Arquitectura — Resumen de decisiones
59
+
60
+ **Estilo adoptado**: [ej. Monolito modular con separación de capas + SPA Angular]
61
+
62
+ **Decisiones más importantes**:
63
+
64
+ 1. **[Decisión 1]**: [Qué se decide y por qué — 2 líneas máximo]
65
+ 2. **[Decisión 2]**: [Qué se decide y por qué]
66
+ 3. **[Decisión 3]**: [Qué se decide y por qué]
67
+
68
+ **ADRs a redactar** (en orden de prioridad):
69
+ - [ ] ADR-001: [Título de la decisión]
70
+ - [ ] ADR-002: [Título]
71
+ - [ ] ADR-003: [Título]
72
+
73
+ **Ver arquitectura detallada**: `research/ARQUITECTURA.md`
74
+
75
+ ---
76
+
77
+ ## Riesgos identificados
78
+
79
+ | # | Riesgo | Severidad | Mitigación recomendada |
80
+ |---|--------|-----------|------------------------|
81
+ | R1 | [Riesgo técnico específico] | Alta | [Acción concreta] |
82
+ | R2 | [Riesgo de integración] | Alta | [Acción concreta] |
83
+ | R3 | [Riesgo de estimación — feature puede ser más compleja] | Media | [Spike de N días primero] |
84
+ | R4 | [Riesgo de dependencia externa] | Media | [Plan B] |
85
+ | R5 | [Riesgo de equipo — conocimiento del stack] | Baja | [Capacitación / pair programming] |
86
+
87
+ **Ver catálogo de trampas**: `research/TRAMPAS.md`
88
+
89
+ ---
90
+
91
+ ## Estimación de esfuerzo total
92
+
93
+ **Metodología de estimación**: [T-shirt sizing / Story points / días ideales]
94
+
95
+ | Fase | Contenido | Esfuerzo estimado | Supuestos |
96
+ |------|-----------|-------------------|-----------|
97
+ | Fase 1 | [Qué features incluye] | [N semanas] | [Supuesto de estimación] |
98
+ | Fase 2 | | | |
99
+ | Fase 3 | | | |
100
+ | **Total** | | **[N] semanas** | |
101
+
102
+ **Con [M] desarrolladores**: [N/M semanas en paralelo ideal]
103
+
104
+ **Margen de contingencia recomendado**: +20% sobre el estimado base.
105
+
106
+ **Incertidumbre**: [Alta/Media/Baja]
107
+ - Alta: hay features con tecnología no conocida por el equipo o integraciones no exploradas
108
+ - Media: stack conocido, pero hay 1-2 integraciones que necesitan spike
109
+ - Baja: stack dominado, todas las integraciones son conocidas
110
+
111
+ ---
112
+
113
+ ## Preguntas que deben resolverse antes de iniciar
114
+
115
+ [Preguntas cuya respuesta cambia significativamente el diseño o el alcance.
116
+ Si no se resuelven antes de codificar, se acumula deuda de decisión.]
117
+
118
+ | # | Pregunta | Impacto si no se responde | Quién decide | Urgencia |
119
+ |---|----------|--------------------------|-------------|----------|
120
+ | P1 | [Pregunta técnica o de negocio específica] | [Qué parte del diseño queda bloqueada] | [Nombre/Rol] | Alta |
121
+ | P2 | | | | Alta |
122
+ | P3 | | | | Media |
123
+
124
+ ---
125
+
126
+ ## Recomendaciones para el planificador
127
+
128
+ [Recomendaciones específicas sobre cómo planificar la ejecución, basadas
129
+ en los hallazgos de la investigación.]
130
+
131
+ 1. **Iniciar con spike técnico de [N] días** para validar [la integración X / la tecnología Y]
132
+ antes de comprometer el equipo a la estimación completa.
133
+
134
+ 2. **Feature [nombre] es el camino crítico** — cualquier retraso en esta feature
135
+ retrasa todo lo demás. Debe iniciar en la Fase 1 sin importar qué.
136
+
137
+ 3. **Contratar / capacitar en [tecnología]** antes de la Fase [N] — el equipo
138
+ actual no tiene experiencia suficiente con [tecnología específica].
139
+
140
+ 4. **No iniciar el frontend hasta que [condición]** — el API contract debe estar
141
+ estable antes de invertir en componentes UI.
142
+
143
+ 5. **Revisar este SUMMARY con el cliente** antes de iniciar — los supuestos de
144
+ [supuesto X] deben ser validados por el stakeholder.
145
+
146
+ ---
147
+
148
+ ## Documentos de investigación completos
149
+
150
+ | Documento | Descripción | Estado |
151
+ |-----------|-------------|--------|
152
+ | `research/STACK.md` | Evaluación detallada de tecnologías | Completo / Pendiente |
153
+ | `research/FUNCIONALIDADES.md` | Análisis de complejidad por feature | Completo / Pendiente |
154
+ | `research/ARQUITECTURA.md` | Arquitectura propuesta con diagramas | Completo / Pendiente |
155
+ | `research/TRAMPAS.md` | Trampas y anti-patrones del stack | Completo / Pendiente |
156
+
157
+ ---
158
+
159
+ ## Próximos pasos recomendados
160
+
161
+ 1. [ ] Aprobar (o ajustar) el stack tecnológico — responsable: [nombre], fecha límite: YYYY-MM-DD
162
+ 2. [ ] Responder preguntas abiertas P1 y P2 — responsable: [nombre], fecha límite: YYYY-MM-DD
163
+ 3. [ ] Ejecutar spike de [N] días para validar [integración X] — responsable: [nombre]
164
+ 4. [ ] Redactar ADR-001 a ADR-003 — responsable: [nombre]
165
+ 5. [ ] Crear HOJA-RUTA.md con fases basadas en estas estimaciones — responsable: planificador