@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,306 @@
1
+ ---
2
+ name: build-errors-go
3
+ description: >
4
+ Resolución de errores de compilación Go: go build, go vet, go mod, import
5
+ cycles, cgo, race conditions y linters estáticos. Cargar cuando un build Go
6
+ falle o haya errores de compilación, módulos o vet.
7
+ version: "1.0.0"
8
+ herramientasPermitidas: [Read, Bash, Grep]
9
+ exclusiones:
10
+ - "No cargar para errores de lógica o comportamiento del programa Go en ejecución — si `go build` pasa pero el programa produce resultados incorrectos, es un bug de lógica; no es un error de compilación."
11
+ - "No cargar para errores de pruebas que fallan por assertions incorrectas (testify, gomock) — si `go test` compila pero los tests fallan por valores incorrectos, eso es un error de lógica de tests, no de build."
12
+ - "No cargar para diseñar la arquitectura de módulos Go o decidir la estructura de packages — si la pregunta es cómo organizar los paquetes del proyecto, cargar `go-patrones` o `go-experto`."
13
+ - "No cargar cuando el error es exclusivo de cgo y el proyecto embebe C — los errores de cgo tienen dependencias del compilador C y son un dominio separado que requiere conocimiento de C además de Go."
14
+ evolvable: true # default para skill estandar
15
+ ---
16
+ # Build Errors Go — Diagnóstico y Solución
17
+
18
+ Go es estricto en tiempo de compilación: variables no usadas, imports no usados
19
+ y type mismatches son errores, no warnings. Este skill cubre los errores más
20
+ frecuentes del compilador, del sistema de módulos y de las herramientas de
21
+ análisis estático.
22
+
23
+ ## Cuándo NO cargar
24
+
25
+ - `go build` compila pero el programa falla en ejecución — no es un error de build; diagnosticar con `-race` o logs.
26
+ - Los tests fallan por valores incorrectos (assertion failure) aunque compilan — es un error de lógica, no de compilación.
27
+ - La pregunta es cómo estructurar paquetes o módulos Go — para diseño de paquetes cargar `go-patrones`.
28
+
29
+ ## Cuándo cargar este skill
30
+
31
+ Invoca `Skill("build-errors-go")` cuando:
32
+
33
+ - `go build` o `go test` falle con errores de compilación
34
+ - `go vet` reporte problemas
35
+ - Haya errores de `go mod` (módulos, versiones, replace)
36
+ - Se detecten import cycles
37
+ - `go build -race` detecte race conditions
38
+ - Linters como `staticcheck` o `golangci-lint` fallen en CI
39
+
40
+ ## Conceptos clave
41
+
42
+ ### Errores vs Warnings en Go
43
+
44
+ Go no tiene warnings — todo es un error que impide la compilación. Un import
45
+ sin usar o una variable declarada sin usar genera un error de compilación.
46
+ Esto es intencional: mantiene el código limpio por construcción.
47
+
48
+ ### Go Modules (go.mod)
49
+
50
+ Cada módulo tiene un `go.mod` que declara el module path y las dependencias.
51
+ `go.sum` contiene los checksums criptográficos de cada dependencia. Ambos
52
+ se versionan en git. Las dependencias se cachean en `$GOPATH/pkg/mod`.
53
+
54
+ ### Build Constraints
55
+
56
+ Los build constraints (`//go:build linux`) condicionan la compilación por OS,
57
+ arquitectura u otras condiciones. Un archivo `.go` que no cumple los constraints
58
+ del ambiente actual se ignora completamente, lo que puede causar errores de
59
+ "undefined" si la implementación está en el archivo excluido.
60
+
61
+ ## Errores de go build — causa y solución
62
+
63
+ ### `undefined: NombreFuncion` o `undefined: paquete.Tipo`
64
+
65
+ **Causa 1**: La función/tipo no está en el paquete importado.
66
+ ```bash
67
+ # Verificar que existe en la version del modulo que se usa
68
+ go doc paquete.Funcion
69
+ ```
70
+
71
+ **Causa 2**: La función está en un archivo con build constraint excluido.
72
+ ```bash
73
+ # Ver que archivos se incluyen en el build actual
74
+ go list -f '{{.GoFiles}}' ./paquete/
75
+ go list -f '{{.IgnoredGoFiles}}' ./paquete/
76
+ ```
77
+
78
+ **Causa 3**: Import cycle impide que el paquete compile.
79
+ ```bash
80
+ go build ./... 2>&1 | grep "import cycle"
81
+ ```
82
+
83
+ ### `declared but not used` (variable sin usar)
84
+
85
+ ```go
86
+ // MAL — Go no compila con variables sin usar
87
+ func calcular() int {
88
+ resultado := 42 // ERROR si no se usa
89
+ return 0
90
+ }
91
+
92
+ // BIEN — usar la variable o usar _ si el valor no importa
93
+ func calcular() (int, error) {
94
+ resultado, err := operacionConError()
95
+ if err != nil {
96
+ return 0, err
97
+ }
98
+ return resultado, nil
99
+ }
100
+
101
+ // Para ignorar un valor de retorno explícitamente:
102
+ _, err := operacion()
103
+ ```
104
+
105
+ ### `imported and not used: "paquete"`
106
+
107
+ ```go
108
+ // MAL — import que Go no acepta si no se usa
109
+ import (
110
+ "fmt"
111
+ "os" // ERROR si no se llama ningún símbolo de "os"
112
+ )
113
+
114
+ // BIEN — remover el import no usado
115
+ // O usar goimports para limpiar automáticamente:
116
+ // goimports -w archivo.go
117
+ ```
118
+
119
+ ### `cannot use X (type T1) as type T2`
120
+
121
+ ```go
122
+ // Causa común: tipos nombrados no son intercambiables aunque tengan el mismo tipo base
123
+ type MetrosCuadrados float64
124
+ type Kilogramos float64
125
+
126
+ var area MetrosCuadrados = 10.0
127
+ var peso Kilogramos = area // ERROR: tipos distintos aunque ambos son float64
128
+
129
+ // Solución: conversión explícita
130
+ var peso Kilogramos = Kilogramos(area) // solo si la conversión tiene sentido semántico
131
+ ```
132
+
133
+ ### Import cycle — `import cycle not allowed`
134
+
135
+ **Causa**: Paquete A importa B, B importa A (directamente o transitivamente).
136
+
137
+ **Diagnóstico**:
138
+ ```bash
139
+ go build ./... 2>&1
140
+ # Output: package miapp/pkgA: import cycle not allowed
141
+ # miapp/pkgA -> miapp/pkgB -> miapp/pkgA
142
+ ```
143
+
144
+ **Soluciones en orden de preferencia**:
145
+ 1. Extraer los tipos compartidos a un tercer paquete que ninguno de los dos importa
146
+ 2. Usar una interface en lugar de un tipo concreto para romper el ciclo
147
+ 3. Reestructurar los paquetes para eliminar la dependencia circular
148
+
149
+ ```
150
+ # Estructura que crea ciclo:
151
+ pkgA imports pkgB
152
+ pkgB imports pkgA
153
+
154
+ # Solucion: extraer tipos compartidos
155
+ pkgTypes (tipos compartidos, no importa a nadie)
156
+ pkgA imports pkgTypes
157
+ pkgB imports pkgTypes
158
+ ```
159
+
160
+ ## Errores de go mod — causa y solución
161
+
162
+ ### `no required module provides package X`
163
+
164
+ ```bash
165
+ # Agregar el modulo faltante
166
+ go get github.com/paquete/necesitado@v1.2.3
167
+
168
+ # O si es un subpaquete, agregar el modulo raiz
169
+ go get github.com/paquete/raiz
170
+ ```
171
+
172
+ ### `ambiguous import: found package X in multiple modules`
173
+
174
+ **Causa**: Dos módulos exponen el mismo import path. Ocurre en fork/rename.
175
+
176
+ ```bash
177
+ # Identificar cuáles módulos proveen el path
178
+ go mod why github.com/path/en/conflicto
179
+ ```
180
+
181
+ **Solución con replace en go.mod**:
182
+ ```
183
+ replace github.com/paquete/original => github.com/fork/alternativo v1.0.0
184
+ ```
185
+
186
+ ### `go: updates to go.sum needed; to update it: go mod tidy`
187
+
188
+ ```bash
189
+ # Regenerar go.sum para que coincida con go.mod
190
+ go mod tidy
191
+
192
+ # Si hay errores de checksum:
193
+ go clean -modcache
194
+ go mod download
195
+ ```
196
+
197
+ ### `verifying X: checksum mismatch`
198
+
199
+ **Causa**: El checksum en `go.sum` no coincide con lo descargado. Posible
200
+ modificación del módulo upstream o corrupción de cache.
201
+
202
+ ```bash
203
+ # Limpiar cache y re-descargar
204
+ go clean -modcache
205
+ GONOSUMCHECK=* go mod download # solo para diagnostico, no en produccion
206
+ go mod verify
207
+ ```
208
+
209
+ ## Errores de go vet — causa y solución
210
+
211
+ ### `printf: format %s has arg X of wrong type`
212
+
213
+ ```go
214
+ // MAL — tipo incorrecto para el formato
215
+ var n int = 42
216
+ fmt.Printf("%s", n) // vet error: %s espera string, se paso int
217
+
218
+ // BIEN
219
+ fmt.Printf("%d", n)
220
+ ```
221
+
222
+ ### `copylocks: X passes lock by value`
223
+
224
+ ```go
225
+ // MAL — Mutex no debe pasarse por valor (se copia el estado)
226
+ type MiStruct struct {
227
+ mu sync.Mutex
228
+ }
229
+
230
+ func procesar(s MiStruct) { ... } // ERROR: copia el Mutex
231
+
232
+ // BIEN — pasar por puntero
233
+ func procesar(s *MiStruct) { ... }
234
+ ```
235
+
236
+ ## Race conditions — `go build -race`
237
+
238
+ ```bash
239
+ # Compilar y ejecutar con detector de race conditions
240
+ go test -race ./...
241
+ go run -race main.go
242
+ ```
243
+
244
+ **Patrón común detectado**:
245
+ ```go
246
+ // MAL — acceso concurrente sin sincronización
247
+ var contador int
248
+ go func() { contador++ }()
249
+ go func() { contador++ }()
250
+ // DATA RACE: dos goroutines escriben contador sin mutex
251
+
252
+ // BIEN — usar sync.Mutex o atomic
253
+ var mu sync.Mutex
254
+ go func() { mu.Lock(); contador++; mu.Unlock() }()
255
+ // O mejor con sync/atomic:
256
+ var contador int64
257
+ go func() { atomic.AddInt64(&contador, 1) }()
258
+ ```
259
+
260
+ ## Errores de staticcheck comunes
261
+
262
+ ### `SA1006: Printf with dynamic first argument and no further arguments`
263
+
264
+ ```go
265
+ msg := "hola mundo"
266
+ fmt.Printf(msg) // staticcheck SA1006: posible format injection
267
+ fmt.Printf("%s", msg) // BIEN
268
+ fmt.Print(msg) // O usar Print si no hay formato
269
+ ```
270
+
271
+ ### `S1039: Unnecessary use of fmt.Sprintf`
272
+
273
+ ```go
274
+ // MAL — Sprintf innecesario
275
+ nombre := fmt.Sprintf("Juan") // staticcheck S1039
276
+
277
+ // BIEN
278
+ nombre := "Juan"
279
+ ```
280
+
281
+ ## Gotchas / Errores comunes no obvios
282
+
283
+ - **`go mod tidy` genera un `go.sum` distinto en CI aunque no hubo cambios de dependencias**: la versión de Go difiere entre el entorno local y CI, ya que módulos directos y sus dependencias pueden resolverse con versiones de Go diferentes. Causa: Go embebe la versión mínima de Go en go.mod con `go 1.21`, y `go mod tidy` con una versión distinta puede agregar o quitar entradas del `go.sum`. Solución: fijar la versión de Go exacta en CI usando la misma que en `go.mod` (`go 1.21.x`).
284
+ - **`go build -race` reporta DATA RACE solo en CI, no localmente**: el detector de race conditions es no-determinista y depende del scheduling del OS. Causa: la ventana de concurrencia es demasiado pequeña para reproducirse con la carga de trabajo del laptop pero se manifiesta bajo la carga de CI. Solución: ejecutar el test con `-race -count=10` para aumentar la probabilidad de detección local; una vez detectado, el report de `go build -race` muestra exactamente las goroutines y líneas en conflicto.
285
+ - **Import cycle introducido por agregar un interface en el paquete A para que B no importe A directamente**: mover la interface al paquete "receptor" (A) no rompe el ciclo si B igual importa A para instanciar el tipo concreto. Causa: la interface en A solo mueve el punto de importación pero no elimina la dependencia si B sigue necesitando un tipo concreto de A. Solución: extraer la interface a un tercer paquete `pkgTypes` que ni A ni B importan entre sí, y que ambos referencian.
286
+ - **`staticcheck` SA4006 reporta variable asignada pero nunca usada en la línea del error handler**: el patrón `if err != nil { log.Error(err); return }` hace que la variable `err` de la siguiente asignación sea considerada "sobrescrita sin leer". Causa: el analyzer cuenta la asignación previa de `err` como usada solo si el valor se lee antes de la siguiente asignación — en cadenas de manejo de error con `err =` múltiple, la primera asignación puede quedar sin leer. Solución: en cadenas largas de errores, usar `:=` en cada asignación nueva para que el scope sea claro, no reutilizar la variable `err` con `=`.
287
+
288
+ ## Checklist de diagnóstico
289
+
290
+ - [ ] `go build ./...` para ver todos los errores de una vez
291
+ - [ ] `go vet ./...` para detectar problemas de corrección
292
+ - [ ] `go mod tidy` si hay errores de módulos
293
+ - [ ] `go list -f '{{.IgnoredGoFiles}}' ./paquete/` para build constraints
294
+ - [ ] `go build -race ./...` si hay sospechas de concurrencia
295
+ - [ ] `staticcheck ./...` o `golangci-lint run` para análisis estático completo
296
+ - [ ] Para import cycles: `go build ./... 2>&1 | grep cycle`
297
+
298
+ ## Referencias
299
+
300
+ - [Go Build Constraints](https://pkg.go.dev/cmd/go#hdr-Build_constraints)
301
+ - [Go Modules Reference](https://go.dev/ref/mod)
302
+ - [staticcheck](https://staticcheck.dev/docs/checks)
303
+ - [golangci-lint](https://golangci-lint.run/usage/linters/)
304
+
305
+ ---
306
+ *Skill creado con swl:crear-skill el 2026-03-31. Versión 1.0.0.*
@@ -0,0 +1,278 @@
1
+ ---
2
+ name: build-errors-java
3
+ description: >
4
+ Resolución de errores de compilación Java: javac, Maven, Gradle, conflictos
5
+ de dependencias, annotation processors y problemas de classpath. Cargar cuando
6
+ un build Java falle o haya errores de compilación o de dependencias.
7
+ version: "1.0.0"
8
+ herramientasPermitidas: [Read, Bash, Grep]
9
+ exclusiones:
10
+ - "No cargar para errores de lógica de la aplicación Java en ejecución (NullPointerException, IllegalArgumentException en runtime) — el build compila exitosamente; el error es de lógica de negocio."
11
+ - "No cargar para fallos de tests unitarios (JUnit assertions incorrectas, Mockito stubs mal configurados) — si `mvn test-compile` pasa pero los tests fallan en assertions, no es un error de build."
12
+ - "No cargar para diseñar la arquitectura Maven multi-módulo desde cero — si la pregunta es cómo organizar módulos padre-hijo en un nuevo proyecto, cargar `java-patrones` o `java-experto`."
13
+ - "No cargar para errores de Spring Boot en contexto de arranque (ApplicationContext failed to load) que no son de compilación — si el JAR se construye pero `java -jar` falla, son errores de configuración de Spring, no de build."
14
+ evolvable: true # default para skill estandar
15
+ ---
16
+ # Build Errors Java — Diagnóstico y Solución
17
+
18
+ Los errores de build de Java pueden venir del compilador, del sistema de build
19
+ (Maven/Gradle) o de las dependencias. Este skill cubre los errores más frecuentes
20
+ con su causa exacta y la solución paso a paso.
21
+
22
+ ## Cuándo NO cargar
23
+
24
+ - El build compila pero la aplicación falla en ejecución (NPE, ClassCastException) — no es un error de compilación; revisar la lógica directamente.
25
+ - Los tests JUnit fallan por assertions incorrectas aunque compilan — es un error de lógica de tests.
26
+ - La pregunta es cómo organizar el proyecto Maven multi-módulo — para diseño cargar `java-patrones`.
27
+
28
+ ## Cuándo cargar este skill
29
+
30
+ Invoca `Skill("build-errors-java")` cuando:
31
+
32
+ - `mvn compile` o `gradle build` falle con errores
33
+ - Haya errores `cannot find symbol` o `package does not exist`
34
+ - Existan conflictos de versión entre dependencias
35
+ - Fallen los annotation processors (Lombok, MapStruct, etc.)
36
+ - Haya errores de classpath en runtime después de un build exitoso
37
+
38
+ ## Conceptos clave
39
+
40
+ ### Separacion build-time vs runtime
41
+
42
+ Algunos errores solo aparecen en runtime aunque el build compile correctamente.
43
+ Las dependencias con scope `provided` o `compileOnly` no se incluyen en el
44
+ artefacto final — si se necesitan en runtime, hay un ClassNotFoundException.
45
+
46
+ ### Dependency convergence en Maven/Gradle
47
+
48
+ Cuando dos dependencias A y B requieren distintas versiones de C, el build
49
+ necesita una sola versión. Maven usa la versión más cercana al POM raíz.
50
+ Gradle usa la versión más alta. Ambos pueden introducir incompatibilidades.
51
+
52
+ ## Errores de javac — causa y solución
53
+
54
+ ### `error: cannot find symbol`
55
+
56
+ **Causa**: La clase, método o variable referenciada no existe en el classpath
57
+ en tiempo de compilación. Puede ser un typo, un import faltante, o una
58
+ dependencia no declarada.
59
+
60
+ **Diagnostico**:
61
+ ```bash
62
+ # Ver el classpath completo que usa javac
63
+ mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt
64
+ cat classpath.txt
65
+
66
+ # O con Gradle
67
+ ./gradlew dependencies --configuration compileClasspath
68
+ ```
69
+
70
+ **Soluciones**:
71
+ 1. Verificar que el import está presente en el archivo Java
72
+ 2. Verificar que la dependencia está en `pom.xml` / `build.gradle`
73
+ 3. Si es una clase generada (Lombok, QueryDSL), ejecutar `mvn generate-sources` primero
74
+
75
+ ### `error: package X does not exist`
76
+
77
+ **Causa**: El paquete no está en el classpath. Diferente a `cannot find symbol`
78
+ en que afecta al package entero, no a una clase específica.
79
+
80
+ **Solucion**:
81
+ ```xml
82
+ <!-- Maven: agregar la dependencia faltante -->
83
+ <dependency>
84
+ <groupId>org.springframework.boot</groupId>
85
+ <artifactId>spring-boot-starter-web</artifactId>
86
+ </dependency>
87
+ ```
88
+
89
+ ### `error: incompatible types: X cannot be converted to Y`
90
+
91
+ **Causa**: Asignación o llamada con tipo incorrecto. Frecuente al mezclar
92
+ tipos genéricos o al usar APIs que cambiaron su tipo de retorno.
93
+
94
+ ```java
95
+ // Ejemplo: List<Object> no es asignable a List<String>
96
+ List<String> nombres = new ArrayList<Object>(); // ERROR
97
+ List<String> nombres = new ArrayList<>(); // OK — inferencia de tipo
98
+ ```
99
+
100
+ ### `error: unreported exception X; must be caught or declared to be thrown`
101
+
102
+ **Causa**: Llamada a método que lanza checked exception sin catch ni declaración
103
+ en la firma del método.
104
+
105
+ ```java
106
+ // MAL — IOException no manejada
107
+ public void leerArchivo(String ruta) {
108
+ Files.readString(Path.of(ruta)); // throws IOException
109
+ }
110
+
111
+ // BIEN — declarar o capturar
112
+ public void leerArchivo(String ruta) throws IOException {
113
+ String contenido = Files.readString(Path.of(ruta));
114
+ }
115
+ ```
116
+
117
+ ## Errores de Maven — causa y solución
118
+
119
+ ### `Could not resolve dependencies` / `Artifact not found`
120
+
121
+ **Diagnostico**:
122
+ ```bash
123
+ mvn dependency:resolve -U # -U fuerza update de snapshots
124
+ mvn dependency:tree # ver el arbol de dependencias
125
+ ```
126
+
127
+ **Causas y soluciones**:
128
+ 1. Repositorio no configurado: agregar en `pom.xml` o `settings.xml`
129
+ 2. Credenciales de repositorio privado incorrectas en `~/.m2/settings.xml`
130
+ 3. Artefacto realmente no existe: verificar en https://search.maven.org
131
+
132
+ ### `Plugin execution not covered by lifecycle configuration` (Eclipse/m2e)
133
+
134
+ **Causa**: El plugin de Maven no tiene binding en m2e para Eclipse.
135
+ **Solución**: Agregar `<pluginManagement>` en el pom para ignorar en m2e:
136
+
137
+ ```xml
138
+ <pluginManagement>
139
+ <plugins>
140
+ <plugin>
141
+ <groupId>org.eclipse.m2e</groupId>
142
+ <artifactId>lifecycle-mapping</artifactId>
143
+ <version>1.0.0</version>
144
+ <configuration>
145
+ <lifecycleMappingMetadata>
146
+ <pluginExecutions>
147
+ <pluginExecution>
148
+ <pluginExecutionFilter>
149
+ <groupId>org.apache.maven.plugins</groupId>
150
+ <artifactId>maven-enforcer-plugin</artifactId>
151
+ <versionRange>[1.0,)</versionRange>
152
+ <goals><goal>enforce</goal></goals>
153
+ </pluginExecutionFilter>
154
+ <action><ignore /></action>
155
+ </pluginExecution>
156
+ </pluginExecutions>
157
+ </lifecycleMappingMetadata>
158
+ </configuration>
159
+ </plugin>
160
+ </plugins>
161
+ </pluginManagement>
162
+ ```
163
+
164
+ ### Conflictos de version — `NoSuchMethodError` en runtime
165
+
166
+ **Diagnostico**:
167
+ ```bash
168
+ mvn dependency:tree -Dverbose -Dincludes=com.fasterxml.jackson.core
169
+ # Buscar lineas con "omitted for conflict"
170
+ ```
171
+
172
+ **Solución con dependencyManagement**:
173
+ ```xml
174
+ <dependencyManagement>
175
+ <dependencies>
176
+ <!-- Forzar versión única de Jackson en todo el proyecto -->
177
+ <dependency>
178
+ <groupId>com.fasterxml.jackson.core</groupId>
179
+ <artifactId>jackson-databind</artifactId>
180
+ <version>2.17.0</version>
181
+ </dependency>
182
+ </dependencies>
183
+ </dependencyManagement>
184
+ ```
185
+
186
+ ## Errores de Gradle — causa y solución
187
+
188
+ ### `Could not resolve com.example:lib:1.0`
189
+
190
+ **Diagnostico**:
191
+ ```bash
192
+ ./gradlew dependencies --configuration runtimeClasspath
193
+ ./gradlew dependencyInsight --dependency lib --configuration runtimeClasspath
194
+ ```
195
+
196
+ **Solucion**: Verificar `repositories {}` en `build.gradle`:
197
+ ```kotlin
198
+ repositories {
199
+ mavenCentral()
200
+ maven { url = uri("https://repo.empresa.com/maven2") }
201
+ }
202
+ ```
203
+
204
+ ### `Execution failed for task ':compileJava'` — error de annotation processor
205
+
206
+ **Causa frecuente**: Lombok o MapStruct no configurados como annotation processor.
207
+
208
+ ```kotlin
209
+ // build.gradle.kts — configuración correcta de Lombok
210
+ dependencies {
211
+ compileOnly("org.projectlombok:lombok:1.18.32")
212
+ annotationProcessor("org.projectlombok:lombok:1.18.32")
213
+ testCompileOnly("org.projectlombok:lombok:1.18.32")
214
+ testAnnotationProcessor("org.projectlombok:lombok:1.18.32")
215
+ }
216
+ ```
217
+
218
+ ### Dependency locking — `FAILED` en version diferente a la bloqueada
219
+
220
+ ```bash
221
+ # Actualizar el lock file cuando se cambian dependencias intencionalmente
222
+ ./gradlew dependencies --write-locks
223
+ ```
224
+
225
+ ## Errores de classpath en runtime
226
+
227
+ ### `ClassNotFoundException` o `NoClassDefFoundError`
228
+
229
+ **Diferencia**:
230
+ - `ClassNotFoundException`: la clase no está en el classpath — falta una jar
231
+ - `NoClassDefFoundError`: la clase estaba en compilación pero no en runtime
232
+ — dependencia con scope `provided` no incluida en el fat jar
233
+
234
+ **Solucion en Spring Boot**:
235
+ ```xml
236
+ <!-- Cambiar scope de provided a compile si se necesita en el jar final -->
237
+ <dependency>
238
+ <groupId>javax.servlet</groupId>
239
+ <artifactId>javax.servlet-api</artifactId>
240
+ <!-- Quitar: <scope>provided</scope> si el contenedor no lo provee -->
241
+ </dependency>
242
+ ```
243
+
244
+ ### Multi-module projects — `Module not found`
245
+
246
+ ```bash
247
+ # Compilar el módulo padre primero para que los módulos hijo lo encuentren
248
+ mvn install -pl modulo-comun
249
+ mvn compile -pl modulo-api
250
+
251
+ # O compilar todo el reactor en orden
252
+ mvn compile --projects modulo-comun,modulo-api
253
+ ```
254
+
255
+ ## Gotchas / Errores comunes no obvios
256
+
257
+ - **Lombok `@Data` compila sin errores pero en runtime falla con `NoSuchMethodError` para los getters/setters**: el annotation processor de Lombok no está configurado en `annotationProcessor` de Gradle o en `<annotationProcessorPaths>` de Maven, solo en `compileOnly`. Causa: `compileOnly` incluye el JAR en el classpath de compilación pero no activa el processor, por lo que los métodos generados no existen. Solución: agregar Lombok tanto en `compileOnly` como en `annotationProcessor` (Gradle) o en `annotationProcessorPaths` del `maven-compiler-plugin` (Maven).
258
+ - **`mvn dependency:tree` no muestra conflicto pero en runtime hay `ClassNotFoundException`**: la dependencia conflictiva está marcada con `provided` en el POM hijo pero `compile` en el padre. Causa: Maven elige el scope más restrictivo en jerarquía de módulos y la clase no llega al fat JAR final. Solución: ejecutar `mvn dependency:tree -Dincludes=grupo:artefacto:*:*` para ver todas las ocurrencias del artefacto con sus scopes en el árbol, y unificar a `compile` en el módulo que genera el ejecutable.
259
+ - **Gradle Kotlin DSL (`build.gradle.kts`) reporta error de `Unresolved reference` en el bloque `dependencies`**: el IDE muestra el error pero `./gradlew build` compila bien. Causa: el IDE usa un análisis estático de Kotlin para el DSL que difiere del evaluador de Groovy/Kotlin de Gradle en runtime. Solución: ejecutar `./gradlew build --rerun-tasks` desde línea de comandos para confirmar si el error es real — si pasa, el error del IDE es un falso positivo del análisis estático; sincronizar el proyecto Gradle en el IDE.
260
+ - **`cannot find symbol` apunta a una clase generada por MapStruct que sí existe en `target/generated-sources`**: el directorio de fuentes generadas no está incluido en el source set del compilador. Causa: algunos builds con Maven no agregan automáticamente `target/generated-sources/annotations` al source path. Solución: agregar explícitamente `<generatedSourcesDirectory>` en la configuración del `maven-compiler-plugin` o verificar que `build-helper-maven-plugin` incluye el directorio generado.
261
+
262
+ ## Checklist de diagnóstico
263
+
264
+ - [ ] `mvn dependency:tree` o `./gradlew dependencies` para ver el árbol completo
265
+ - [ ] Buscar "omitted for conflict" en el árbol de dependencias
266
+ - [ ] Verificar que annotation processors están en `annotationProcessor`, no solo en `compileOnly`
267
+ - [ ] `mvn compile -X` o `./gradlew compileJava --info` para log verbose
268
+ - [ ] Para errores de runtime: verificar diferencia de scope `compile` vs `provided`
269
+ - [ ] En builds multi-módulo: compilar dependencias en orden correcto
270
+
271
+ ## Referencias
272
+
273
+ - [Maven Dependency Plugin](https://maven.apache.org/plugins/maven-dependency-plugin/)
274
+ - [Gradle Dependency Management](https://docs.gradle.org/current/userguide/dependency_management.html)
275
+ - [Lombok Setup](https://projectlombok.org/setup/gradle)
276
+
277
+ ---
278
+ *Skill creado con swl:crear-skill el 2026-03-31. Versión 1.0.0.*