@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,295 @@
1
+ ---
2
+ name: brainstorming
3
+ description: >
4
+ Brainstorming estructurado para diseño de features, arquitectura y soluciones técnicas.
5
+ Guía un proceso de ideación: preguntas clarificadoras, propuestas de enfoques,
6
+ visualización HTML, especificación y transición a plan. Cargar ANTES de implementar
7
+ cualquier feature no trivial o decisión de arquitectura.
8
+ version: "1.0.0"
9
+ herramientasPermitidas: [Read]
10
+ evolvable: true # default para skill estandar
11
+ exclusiones:
12
+ - "No cargar para bugs o errores con causa conocida — para debugging cargar `depurador-swl` o el skill de diagnóstico del stack."
13
+ - "No cargar para crear el plan de implementación — el brainstorming produce la spec aprobada; el plan lo genera `/swl:planear-fase`."
14
+ - "No cargar para decisiones de infraestructura operativa (despliegue, cloud, CI/CD) — para IaC cargar `terraform-experto` o `ci-cd-pipelines`."
15
+ - "No cargar cuando el diseño ya está aprobado y documentado en un PLAN.md vigente — ir directo a implementación."
16
+ ---
17
+ # Habilidad: Brainstorming Estructurado
18
+
19
+ Guía un proceso de ideación disciplinado que va de la ambigüedad al diseño aprobado,
20
+ pasando por preguntas clarificadoras, comparación de enfoques y una spec escrita.
21
+ Previene retrabajo al asegurar que el equipo acuerda el "qué" antes de escribir el "cómo".
22
+
23
+ ## Cuándo NO cargar
24
+
25
+ - La causa del problema es conocida y se busca solución técnica directa: cargar el skill del stack (`fastapi-experto`, `angular-moderno`, etc.) o `depurador-swl`.
26
+ - El diseño ya está documentado en un PLAN.md aprobado: ir a `/swl:ejecutar-fase` directamente.
27
+ - La tarea es generar el plan con slices: eso lo hace `/swl:planear-fase`, no este skill.
28
+ - La decisión es de infraestructura operativa (cloud, CI/CD, despliegue): cargar `terraform-experto`, `ci-cd-pipelines` o `kubernetes-orquestacion`.
29
+
30
+ ## Cuándo cargar
31
+
32
+ Invoca `Skill("brainstorming")` cuando:
33
+
34
+ - El usuario pide "brainstorming", "lluvia de ideas", "explorar opciones" o "diseñar X"
35
+ - Antes de implementar cualquier feature que requiera decisiones de diseño no triviales
36
+ - Antes de decisiones de arquitectura con múltiples alternativas viables
37
+ - Cuando los requisitos son ambiguos o contradictorios
38
+ - Cuando se evalúan tecnologías o patrones para un problema nuevo en el proyecto
39
+
40
+ ## Flujo obligatorio (GATE: no saltar ningún paso)
41
+
42
+ Los 7 pasos se ejecutan en orden. Cada paso tiene una condición de salida.
43
+ No avanzar al siguiente paso sin cumplir la condición.
44
+
45
+ ### Paso 1 — Explorar contexto
46
+
47
+ Antes de preguntar nada al usuario:
48
+
49
+ - Leer archivos relevantes: README, docs, commits recientes, código existente en el área
50
+ - Identificar el dominio, las restricciones tecnológicas y los patrones ya establecidos
51
+ - Detectar decisiones previas de arquitectura (ADRs en `.planning/adrs/`)
52
+
53
+ Condición de salida: el agente puede describir el problema en sus propias palabras.
54
+
55
+ ### Paso 2 — Preguntas clarificadoras
56
+
57
+ Reglas de formulación:
58
+
59
+ - Preferir opciones enumeradas sobre preguntas abiertas: "¿A o B o C?" en vez de "¿Cómo?"
60
+ - Máximo 3 preguntas por mensaje — no bombardear
61
+ - Una pregunta a la vez si son preguntas de decisión crítica
62
+ - No preguntar lo que ya puede inferirse del código o los docs
63
+
64
+ Preguntas mínimas a responder antes de proponer enfoques:
65
+
66
+ | # | Pregunta | Por qué importa |
67
+ |---|----------|----------------|
68
+ | 1 | ¿Qué problema resuelve esta feature para el usuario final? | Define el criterio de éxito |
69
+ | 2 | ¿Quién la usará y con qué frecuencia? | Afecta decisiones de UX y performance |
70
+ | 3 | ¿Hay restricciones de tiempo, tecnología o compatibilidad? | Elimina enfoques inviables |
71
+ | 4 | ¿Cómo sabremos que funciona correctamente? | Define los criterios de aceptación |
72
+
73
+ Condición de salida: las 4 preguntas tienen respuesta (cerrada o delegada al agente).
74
+
75
+ ### Paso 3 — Proponer 2-3 enfoques
76
+
77
+ Cada enfoque incluye:
78
+
79
+ - **Nombre**: identificador corto y descriptivo
80
+ - **Descripción**: cómo resuelve el problema (2-4 oraciones)
81
+ - **Pros**: lista de ventajas concretas
82
+ - **Contras**: lista de desventajas y riesgos reales
83
+
84
+ Tabla comparativa obligatoria:
85
+
86
+ | Aspecto | Enfoque A | Enfoque B | Enfoque C |
87
+ |---------|-----------|-----------|-----------|
88
+ | Complejidad | Baja/Media/Alta | ... | ... |
89
+ | Tiempo estimado | Xh | ... | ... |
90
+ | Escalabilidad | Limitada/Buena/Excelente | ... | ... |
91
+ | Riesgo técnico | Bajo/Medio/Alto | ... | ... |
92
+ | Dependencias nuevas | Ninguna/X | ... | ... |
93
+
94
+ Cerrar con una **recomendación explícita** y su justificación.
95
+ Si solo hay un enfoque viable, decirlo abiertamente y explicar por qué se descartaron los demás.
96
+
97
+ Condición de salida: el usuario elige un enfoque o pide ajustes.
98
+
99
+ ### Paso 4 — Presentar diseño
100
+
101
+ Secciones del diseño presentadas de forma progresiva, con aprobación del usuario entre cada una:
102
+
103
+ 1. **Arquitectura de alto nivel**: componentes, responsabilidades, flujo de datos
104
+ 2. **Modelo de datos / interfaces**: entidades, tipos, contratos de API
105
+ 3. **Flujo de interacción**: secuencia de pasos del usuario o del sistema
106
+ 4. **Casos edge y errores**: qué pasa cuando algo falla o llega input inesperado
107
+
108
+ No escribir código durante el diseño — solo pseudocódigo, diagramas de texto o interfaces.
109
+ Formato preferido para diagramas:
110
+
111
+ ```
112
+ [Cliente] --> [API Gateway] --> [Servicio A] --> [BD]
113
+ --> [Servicio B] --> [Cache]
114
+ ```
115
+
116
+ Condición de salida: el usuario aprueba el diseño (puede ser parcial si hay iteración).
117
+
118
+ ### Paso 5 — Escribir spec
119
+
120
+ Guardar en `.planning/specs/YYYY-MM-DD-{tema}-spec.md`.
121
+ Usar la plantilla de spec definida en la sección "Formato de spec" más abajo.
122
+
123
+ No dejar campos con TBD, TODO ni pendiente de definir.
124
+ Si algo no está definido: registrarlo como "decisión delegada al agente" con justificación.
125
+
126
+ Condición de salida: spec guardada en disco sin placeholders.
127
+
128
+ ### Paso 6 — Auto-revision de spec
129
+
130
+ Antes de presentar la spec al usuario, verificar:
131
+
132
+ - [ ] Sin placeholders: TBD, TODO, implementar después, pendiente
133
+ - [ ] Consistencia interna: los tipos mencionados en el modelo de datos coinciden con los flujos
134
+ - [ ] Cobertura de requisitos: cada pregunta del Paso 2 tiene respuesta en la spec
135
+ - [ ] Sin scope creep: la spec no incluye features que no se discutieron en los pasos anteriores
136
+ - [ ] Criterios de éxito son verificables: observables sin ambigüedad
137
+
138
+ Si se detecta alguna inconsistencia, corregirla antes de presentar la spec.
139
+
140
+ Condición de salida: checklist completo sin ítems pendientes.
141
+
142
+ ### Paso 7 — Transición a plan
143
+
144
+ Solo después de que el usuario apruebe la spec:
145
+
146
+ 1. Ofrecer explícitamente: "¿Quieres que planee la implementación ahora?"
147
+ 2. Si acepta: invocar `Skill("planear-fase")` o indicar el uso de `/swl:planear-fase`
148
+ 3. Nunca saltar directamente a implementación sin pasar por planear-fase
149
+
150
+ Condición de salida: usuario decide si planear o pausar aquí.
151
+
152
+ ---
153
+
154
+ ## Visualización HTML (opcional)
155
+
156
+ Cuando hay decisiones con componente visual (UI, diagramas de arquitectura, comparaciones):
157
+
158
+ - Ofrecer generar un archivo HTML en `.planning/visual/YYYY-MM-DD-{tema}.html`
159
+ - El HTML es complementario — el terminal es el canal principal de conversación
160
+ - Generar HTML solo si el usuario lo solicita o si la decisión tiene componente visual clara
161
+ - Componentes disponibles: ver [recursos/componentes-html.md](recursos/componentes-html.md)
162
+
163
+ ---
164
+
165
+ ## Reglas anti-shortcut
166
+
167
+ Estas reglas previenen los errores más frecuentes del brainstorming apresurado:
168
+
169
+ ### No saltar el brainstorming porque "es simple"
170
+
171
+ **Problema**: features que parecen simples esconden decisiones de diseño no obvias.
172
+ **Por qué**: el retrabajo de reimplementar una feature mal diseñada cuesta 3-5x más que diseñarla bien.
173
+ **Cómo verificar**: si hay más de una forma de implementarlo, merece al menos el Paso 3.
174
+
175
+ ### Mínimo 2 enfoques alternativos
176
+
177
+ **Problema**: proponer una sola opción sesga la decisión hacia lo primero que se pensó.
178
+ **Por qué**: comparar alternativas hace explícitas las restricciones y los trade-offs.
179
+ **Cómo verificar**: la tabla comparativa del Paso 3 tiene al menos 2 columnas de enfoque.
180
+
181
+ ### No escribir código durante brainstorming
182
+
183
+ **Problema**: el código durante el diseño ancla la conversación a detalles de implementación.
184
+ **Por qué**: la spec debe ser independiente del lenguaje y de la librería elegida.
185
+ **Cómo verificar**: SKILL.md no contiene bloques de código con lógica de negocio real.
186
+
187
+ ### No saltar a implementación sin aprobación de spec
188
+
189
+ **Problema**: implementar sin spec aprobada resulta en features que no resuelven el problema correcto.
190
+ **Por qué**: el costo de cambiar la dirección a mitad de implementación es alto.
191
+ **Cómo verificar**: el Paso 7 solo se ejecuta después de que el usuario dice "aprobado".
192
+
193
+ ---
194
+
195
+ ## Formato de spec
196
+
197
+ ```markdown
198
+ # Spec: {titulo}
199
+ **Fecha**: YYYY-MM-DD
200
+ **Estado**: Propuesta | Aprobada | Implementada
201
+
202
+ ## Contexto
203
+ Qué problema resolvemos, por qué ahora y para quién.
204
+
205
+ ## Decisión
206
+ Qué enfoque elegimos y por qué (referencia al Paso 3).
207
+
208
+ ## Diseño
209
+
210
+ ### Arquitectura
211
+ [Descripción de componentes y flujo de datos]
212
+
213
+ ### Modelo de datos
214
+ [Entidades, tipos, relaciones principales]
215
+
216
+ ### Interfaces / API
217
+ [Contratos de entrada y salida de los componentes principales]
218
+
219
+ ### Flujo de interacción
220
+ [Secuencia de pasos del usuario o del sistema]
221
+
222
+ ### Casos edge y errores
223
+ [Comportamiento esperado cuando algo falla o llega input inesperado]
224
+
225
+ ## Criterios de éxito
226
+ - [ ] Criterio 1 (verificable sin ambigüedad)
227
+ - [ ] Criterio 2
228
+
229
+ ## Alternativas descartadas
230
+ | Alternativa | Razón de descarte |
231
+ |-------------|-------------------|
232
+ | Enfoque B | Mayor complejidad sin beneficio claro para el caso de uso actual |
233
+
234
+ ## Riesgos y mitigaciones
235
+ | Riesgo | Probabilidad | Mitigación |
236
+ |--------|-------------|------------|
237
+ | | | |
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Anti-patrones conocidos
243
+
244
+ ### Proponer sin preguntar
245
+
246
+ **Problema**: el agente lanza enfoques sin entender el problema real.
247
+ **Síntoma**: la propuesta no resuelve lo que el usuario tenía en mente.
248
+ **Causa**: saltarse el Paso 2 para parecer eficiente.
249
+
250
+ ### Enfoque único disfrazado
251
+
252
+ **Problema**: se presenta "una opción" cuando en realidad hay alternativas válidas.
253
+ **Síntoma**: la tabla comparativa tiene solo una columna, o las otras opciones están artificialmente debilitadas.
254
+ **Causa**: el agente ya decidió internamente y presenta su preferencia como la única viable.
255
+
256
+ ### Spec con placeholders TBD
257
+
258
+ **Problema**: la spec se guarda con campos sin completar.
259
+ **Síntoma**: el plan posterior tiene tareas vagas que bloquean al implementador.
260
+ **Causa**: saltarse la auto-revisión del Paso 6.
261
+
262
+ ### Brainstorming de 2 minutos para feature de 1 semana
263
+
264
+ **Problema**: el tiempo invertido en diseño no es proporcional a la complejidad.
265
+ **Síntoma**: la spec tiene 3 líneas para una feature de 40 horas de desarrollo.
266
+ **Causa**: presión percibida de "moverse rápido" sin cuantificar el costo del retrabajo.
267
+
268
+ ---
269
+
270
+ ## Checklist de cierre de brainstorming
271
+
272
+ Antes de invocar planear-fase, verificar:
273
+
274
+ - [ ] Contexto explorado (código, docs, ADRs relevantes leídos)
275
+ - [ ] Las 4 preguntas del Paso 2 tienen respuesta
276
+ - [ ] Al menos 2 enfoques comparados con tabla de trade-offs
277
+ - [ ] El usuario eligió un enfoque
278
+ - [ ] Diseño presentado con las 4 secciones del Paso 4
279
+ - [ ] Spec guardada en `.planning/specs/` sin placeholders
280
+ - [ ] Auto-revisión del Paso 6 completada
281
+ - [ ] Usuario aprobó la spec antes de transición a plan
282
+
283
+ ---
284
+
285
+ ## Gotchas / Errores comunes no obvios
286
+
287
+ **Completar el Paso 3 con solo un enfoque real disfrazado de dos**: la tabla comparativa tiene dos columnas, pero el "Enfoque B" está deliberadamente debilitado con contras exagerados para que el Enfoque A parezca la única opción. Causa: el agente ya decidió internamente y usa el Paso 3 para justificar, no para explorar. Fix: cada enfoque debe ser genuinamente viable para el contexto del usuario. Si el Enfoque B tiene una desventaja real pero también tiene un caso de uso donde sería mejor, mencionarlo explícitamente.
288
+
289
+ **Guardar la spec con campos `TBD` o `[pendiente]` y considerar el Paso 5 completo**: el Paso 6 (auto-revisión) se omite bajo presión de tiempo y la spec llega al planificador con decisiones sin tomar. Causa: el brainstorming termina cuando el agente se cansa, no cuando la spec está completa. Fix: la condición de salida del Paso 5 es "spec sin placeholders" — si hay un campo genuinamente indefinido, marcarlo como "decisión delegada al implementador" con justificación explícita, no dejarlo en blanco.
290
+
291
+ **El Paso 4 (diseño) se salta porque el enfoque elegido "parece obvio"**: el usuario elige el Enfoque A en el Paso 3 y el agente salta directamente al Paso 5 (spec) sin presentar el diseño detallado. Causa: los pasos intermedios parecen redundantes cuando el enfoque ya está decidido. Fix: el Paso 4 es obligatorio porque es donde se detectan inconsistencias entre la arquitectura de alto nivel y el modelo de datos. Un brainstorming sin Paso 4 produce specs con arquitectura implícita que el implementador debe inventar.
292
+
293
+ **El usuario aprueba el brainstorming pero sin haber leído la spec completa**: el agente presenta el resumen del diseño y el usuario dice "sí" sin leer la spec guardada en `.planning/specs/`. Causa: la spec es un artefacto separado de la conversación y el usuario confía en el resumen verbal. Fix: antes de la transición al Paso 7, citar explícitamente los criterios de aceptación de la spec y pedir confirmación sobre cada uno, no sobre el diseño en general.
294
+
295
+ *Skill creado con swl:crear-skill el 2026-03-31. Versión 1.0.0.*
@@ -0,0 +1,247 @@
1
+ # Componentes HTML para Brainstorming Visual
2
+
3
+ Referencia de bloques HTML reutilizables para generar visualizaciones de apoyo
4
+ en `.planning/visual/`. Estos componentes son complementarios al terminal —
5
+ usar solo cuando la dimension visual aporta valor real a la decision.
6
+
7
+ ## Estructura base del archivo HTML
8
+
9
+ ```html
10
+ <!DOCTYPE html>
11
+ <html lang="es">
12
+ <head>
13
+ <meta charset="UTF-8">
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
15
+ <title>Brainstorming: {tema}</title>
16
+ <style>
17
+ body { font-family: system-ui, sans-serif; max-width: 960px; margin: 2rem auto; padding: 0 1rem; color: #1a1a1a; }
18
+ h1 { font-size: 1.5rem; border-bottom: 2px solid #e5e7eb; padding-bottom: .5rem; }
19
+ h2 { font-size: 1.1rem; color: #374151; margin-top: 2rem; }
20
+ .options { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; }
21
+ .option { flex: 1; min-width: 220px; border: 2px solid #e5e7eb; border-radius: 8px; padding: 1rem; }
22
+ .option:hover { border-color: #6366f1; }
23
+ .option .letter { font-size: 2rem; font-weight: bold; color: #6366f1; line-height: 1; }
24
+ .option h3 { margin: .5rem 0 .25rem; font-size: 1rem; }
25
+ .option p { margin: 0; font-size: .875rem; color: #6b7280; }
26
+ .pros-cons { display: flex; gap: 1rem; margin: 1rem 0; }
27
+ .pros, .cons { flex: 1; border-radius: 6px; padding: .75rem 1rem; }
28
+ .pros { background: #f0fdf4; border-left: 3px solid #22c55e; }
29
+ .cons { background: #fef2f2; border-left: 3px solid #ef4444; }
30
+ .pros h4 { color: #16a34a; margin: 0 0 .5rem; font-size: .875rem; }
31
+ .cons h4 { color: #dc2626; margin: 0 0 .5rem; font-size: .875rem; }
32
+ .pros ul, .cons ul { margin: 0; padding-left: 1.25rem; font-size: .875rem; }
33
+ .mockup { border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; margin: 1rem 0; }
34
+ .mockup-header { background: #f3f4f6; padding: .5rem 1rem; font-size: .8rem; color: #6b7280; border-bottom: 1px solid #d1d5db; }
35
+ .mockup-body { display: grid; grid-template-columns: 180px 1fr; min-height: 200px; }
36
+ .mock-nav { background: #1e293b; color: #94a3b8; padding: 1rem; font-size: .75rem; }
37
+ .mock-sidebar { background: #f8fafc; border-right: 1px solid #e2e8f0; padding: 1rem; font-size: .8rem; grid-row: span 2; }
38
+ .mock-content { padding: 1rem; font-size: .85rem; }
39
+ .split { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
40
+ table.comparison { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .875rem; }
41
+ table.comparison th { background: #f3f4f6; padding: .5rem .75rem; text-align: left; border: 1px solid #e5e7eb; }
42
+ table.comparison td { padding: .5rem .75rem; border: 1px solid #e5e7eb; }
43
+ table.comparison tr:nth-child(even) td { background: #f9fafb; }
44
+ .badge { display: inline-block; padding: .15rem .5rem; border-radius: 9999px; font-size: .75rem; font-weight: 600; }
45
+ .badge-green { background: #dcfce7; color: #166534; }
46
+ .badge-yellow { background: #fef9c3; color: #854d0e; }
47
+ .badge-red { background: #fee2e2; color: #991b1b; }
48
+ </style>
49
+ </head>
50
+ <body>
51
+ <h1>Brainstorming: {tema}</h1>
52
+ <p><strong>Fecha</strong>: {fecha} &nbsp;|&nbsp; <strong>Estado</strong>: En progreso</p>
53
+ <!-- insertar componentes aquí -->
54
+ </body>
55
+ </html>
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Componente: Opciones A / B / C
61
+
62
+ Usar para comparar enfoques mutuamente excluyentes.
63
+
64
+ ```html
65
+ <h2>Enfoques propuestos</h2>
66
+ <div class="options">
67
+ <div class="option">
68
+ <div class="letter">A</div>
69
+ <h3>Nombre del enfoque A</h3>
70
+ <p>Descripción breve del enfoque en 1-2 oraciones.</p>
71
+ </div>
72
+ <div class="option">
73
+ <div class="letter">B</div>
74
+ <h3>Nombre del enfoque B</h3>
75
+ <p>Descripción breve del enfoque en 1-2 oraciones.</p>
76
+ </div>
77
+ <div class="option">
78
+ <div class="letter">C</div>
79
+ <h3>Nombre del enfoque C</h3>
80
+ <p>Descripción breve del enfoque en 1-2 oraciones.</p>
81
+ </div>
82
+ </div>
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Componente: Pros / Contras
88
+
89
+ Usar para una sola opción cuando se quiere detallar sus ventajas y desventajas.
90
+
91
+ ```html
92
+ <div class="pros-cons">
93
+ <div class="pros">
94
+ <h4>Ventajas</h4>
95
+ <ul>
96
+ <li>Ventaja 1</li>
97
+ <li>Ventaja 2</li>
98
+ </ul>
99
+ </div>
100
+ <div class="cons">
101
+ <h4>Desventajas</h4>
102
+ <ul>
103
+ <li>Desventaja 1</li>
104
+ <li>Desventaja 2</li>
105
+ </ul>
106
+ </div>
107
+ </div>
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Componente: Mockup (wireframe de pantalla)
113
+
114
+ Usar para visualizar layouts de UI sin entrar en detalle de estilos.
115
+
116
+ ```html
117
+ <h2>Mockup: {nombre de la pantalla}</h2>
118
+ <div class="mockup">
119
+ <div class="mockup-header">Vista previa: {nombre}</div>
120
+ <div class="mockup-body">
121
+ <div class="mock-nav">
122
+ <div>Nav item 1</div>
123
+ <div>Nav item 2</div>
124
+ <div>Nav item 3</div>
125
+ </div>
126
+ <div class="mock-sidebar">
127
+ <strong>Filtros</strong>
128
+ <div>Opcion 1</div>
129
+ <div>Opcion 2</div>
130
+ </div>
131
+ <div class="mock-content">
132
+ Contenido principal aquí.
133
+ Tabla, lista, formulario, etc.
134
+ </div>
135
+ </div>
136
+ </div>
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Componente: Split View (comparación lado a lado)
142
+
143
+ Usar para comparar dos versiones del mismo flujo o pantalla.
144
+
145
+ ```html
146
+ <div class="split">
147
+ <div>
148
+ <h2>Opción A</h2>
149
+ <div class="mockup">
150
+ <div class="mockup-header">Vista: Opción A</div>
151
+ <div class="mockup-body" style="grid-template-columns: 1fr;">
152
+ <div class="mock-content">Contenido opción A</div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ <div>
157
+ <h2>Opción B</h2>
158
+ <div class="mockup">
159
+ <div class="mockup-header">Vista: Opción B</div>
160
+ <div class="mockup-body" style="grid-template-columns: 1fr;">
161
+ <div class="mock-content">Contenido opción B</div>
162
+ </div>
163
+ </div>
164
+ </div>
165
+ </div>
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Componente: Tabla comparativa
171
+
172
+ Usar para comparar múltiples enfoques en varios atributos cuantificables o cualitativos.
173
+
174
+ ```html
175
+ <h2>Comparación de enfoques</h2>
176
+ <table class="comparison">
177
+ <thead>
178
+ <tr>
179
+ <th>Aspecto</th>
180
+ <th>Enfoque A</th>
181
+ <th>Enfoque B</th>
182
+ <th>Enfoque C</th>
183
+ </tr>
184
+ </thead>
185
+ <tbody>
186
+ <tr>
187
+ <td>Complejidad</td>
188
+ <td><span class="badge badge-green">Baja</span></td>
189
+ <td><span class="badge badge-yellow">Media</span></td>
190
+ <td><span class="badge badge-red">Alta</span></td>
191
+ </tr>
192
+ <tr>
193
+ <td>Tiempo estimado</td>
194
+ <td>2h</td>
195
+ <td>4h</td>
196
+ <td>8h</td>
197
+ </tr>
198
+ <tr>
199
+ <td>Escalabilidad</td>
200
+ <td>Limitada</td>
201
+ <td>Buena</td>
202
+ <td>Excelente</td>
203
+ </tr>
204
+ <tr>
205
+ <td>Riesgo técnico</td>
206
+ <td><span class="badge badge-green">Bajo</span></td>
207
+ <td><span class="badge badge-yellow">Medio</span></td>
208
+ <td><span class="badge badge-red">Alto</span></td>
209
+ </tr>
210
+ </tbody>
211
+ </table>
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Diagrama de arquitectura en texto
217
+
218
+ Para decisiones técnicas sin componente visual de UI, el texto en el terminal es suficiente.
219
+ Formato preferido para diagramas de arquitectura en texto plano:
220
+
221
+ ```
222
+ [Cliente Web]
223
+ |
224
+ v
225
+ [Load Balancer]
226
+ |
227
+ +---> [API Gateway]
228
+ |
229
+ +---> [Servicio Auth] --> [Redis: sesiones]
230
+ |
231
+ +---> [Servicio Core] --> [PostgreSQL]
232
+ |
233
+ +---> [Servicio Notif] --> [Queue: mensajes]
234
+ ```
235
+
236
+ Este formato funciona en terminal y en markdown sin necesidad de HTML.
237
+
238
+ ---
239
+
240
+ ## Notas de uso
241
+
242
+ - Los archivos HTML se guardan en `.planning/visual/YYYY-MM-DD-{tema}.html`
243
+ - Abrir en el navegador con `open .planning/visual/archivo.html` (Mac/Linux) o doble clic (Windows)
244
+ - El terminal es el canal principal de la conversacion — el HTML es referencia visual de apoyo
245
+ - Generar HTML solo cuando lo visual aporta: UI, comparaciones de layout, diagramas complejos
246
+ - Para decisiones puramente tecnicas (algoritmos, esquemas de datos, patrones), texto en terminal es suficiente
247
+ - No incluir lógica de negocio ni datos reales en los archivos HTML — solo estructura y etiquetas