@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,229 @@
1
+ ---
2
+ name: generacion-mermaid
3
+ description: >
4
+ Generación automática de diagramas Mermaid desde planes de ejecución, workflows
5
+ y estructuras de agentes. Convierte planes textuales en diagramas flowchart,
6
+ sequence y state. Cargar cuando se necesite documentación visual de un plan,
7
+ workflow o flujo de agentes en /swl:planear-fase, /swl:ejecutar-fase o docs.
8
+ version: "1.0.0"
9
+ herramientasPermitidas: [Read, Grep]
10
+ user-invocable: false
11
+ evolvable: true # default para skill estandar
12
+ exclusiones:
13
+ - "No cargar para diagramas de arquitectura de sistemas con componentes visuales enriquecidos (cajas con colores, leyendas, fondos oscuros) — para diagramas de arquitectura visual cargar `diagrama-arquitectura`."
14
+ - "No cargar para diagramas de entidad-relación de base de datos — para ER cargar `dbml-experto` (DBML) o usar la sintaxis `erDiagram` de Mermaid directamente si el alcance es simple."
15
+ - "No cargar para diagramas de arquitectura C4 en formato as-code versionable — para C4 cargar `likec4-experto`."
16
+ - "No cargar para wireframes o mockups de interfaz de usuario — para UI prototyping cargar `wireframes-flujos`."
17
+ ---
18
+ # Generación de Diagramas Mermaid
19
+
20
+ Convierte planes de ejecución, workflows y flujos de agentes en diagramas Mermaid
21
+ renderizables en Markdown. Basado en patrones de CC Workflow Studio.
22
+
23
+ ## Cuándo NO cargar
24
+
25
+ - La tarea requiere diagramas de arquitectura con paleta de colores, leyendas y fondo oscuro enriquecido: cargar `diagrama-arquitectura`.
26
+ - La tarea es modelar un esquema de base de datos (ER): cargar `dbml-experto` o usar `erDiagram` directamente.
27
+ - El proyecto ya adoptó LikeC4/C4 model y el diagrama debe ser versionable as-code: cargar `likec4-experto`.
28
+ - La tarea es prototipar flujos de UI o wireframes: cargar `wireframes-flujos`.
29
+
30
+ ## Cuándo cargar
31
+
32
+ - `planificador-swl` genera un plan y necesita visualización
33
+ - `documentador-swl` documenta flujos de ejecución
34
+ - `/swl:planear-fase` necesita diagrama del plan generado
35
+ - Cualquier ADR o RFC que necesite diagrama de flujo
36
+
37
+ ## Tipos de diagrama soportados
38
+
39
+ ### 1. Flowchart (para planes de ejecución)
40
+
41
+ ```mermaid
42
+ flowchart TD
43
+ Start([Inicio]) --> Slice1[Slice 1: API endpoints]
44
+ Start --> Slice2[Slice 2: Frontend forms]
45
+ Slice1 --> Test1{Tests pasan?}
46
+ Slice2 --> Test2{Tests pasan?}
47
+ Test1 -->|Sí| Review[Revisión de código]
48
+ Test1 -->|No| Fix1[Corregir slice 1]
49
+ Fix1 --> Test1
50
+ Test2 -->|Sí| Review
51
+ Test2 -->|No| Fix2[Corregir slice 2]
52
+ Fix2 --> Test2
53
+ Review --> Deploy([Deploy])
54
+ ```
55
+
56
+ ### 2. Sequence (para flujos de agentes)
57
+
58
+ ```mermaid
59
+ sequenceDiagram
60
+ participant U as Usuario
61
+ participant O as Orquestador
62
+ participant A as Arquitecto
63
+ participant I as Implementador
64
+ participant R as Revisor
65
+
66
+ U->>O: Feature request
67
+ O->>A: Diseñar arquitectura
68
+ A-->>O: Plan aprobado
69
+ O->>I: Implementar slice 1
70
+ O->>I: Implementar slice 2
71
+ I-->>O: Implementación completa
72
+ O->>R: Revisar código
73
+ R-->>O: Aprobado
74
+ O-->>U: Feature lista
75
+ ```
76
+
77
+ ### 3. State (para ciclo de vida)
78
+
79
+ ```mermaid
80
+ stateDiagram-v2
81
+ [*] --> Discutir
82
+ Discutir --> Planear: Contexto completo
83
+ Planear --> Ejecutar: Plan aprobado
84
+ Ejecutar --> Verificar: Implementación completa
85
+ Verificar --> Ejecutar: Correcciones necesarias
86
+ Verificar --> [*]: Verificación exitosa
87
+ ```
88
+
89
+ ## Patrones de conversión plan → Mermaid
90
+
91
+ ### Plan con slices independientes (paralelo)
92
+
93
+ ```markdown
94
+ Plan:
95
+ Slice 1: API de usuarios (backend-api-swl)
96
+ Slice 2: Formulario de registro (frontend-react-swl)
97
+ Slice 3: Tests E2E (tdd-qa-swl)
98
+ Dependencias: Slice 3 depende de Slice 1 y Slice 2
99
+ ```
100
+
101
+ ```mermaid
102
+ flowchart TD
103
+ S([Inicio]) --> S1[Slice 1: API usuarios]
104
+ S --> S2[Slice 2: Form registro]
105
+ S1 --> S3[Slice 3: Tests E2E]
106
+ S2 --> S3
107
+ S3 --> E([Fin])
108
+ ```
109
+
110
+ ### Plan con branching (decisión)
111
+
112
+ ```markdown
113
+ Plan:
114
+ Paso 1: Analizar si el módulo existe
115
+ Decisión: ¿Existe el módulo?
116
+ Sí → Paso 2a: Modificar módulo existente
117
+ No → Paso 2b: Crear módulo nuevo
118
+ Paso 3: Tests
119
+ ```
120
+
121
+ ```mermaid
122
+ flowchart TD
123
+ S([Inicio]) --> P1[Analizar módulo]
124
+ P1 --> D{¿Existe?}
125
+ D -->|Sí| P2a[Modificar existente]
126
+ D -->|No| P2b[Crear nuevo]
127
+ P2a --> P3[Tests]
128
+ P2b --> P3
129
+ P3 --> E([Fin])
130
+ ```
131
+
132
+ ### Plan con agentes específicos
133
+
134
+ ```markdown
135
+ Plan:
136
+ Fase 1: Discovery (investigador-swl)
137
+ Fase 2: Arquitectura (arquitecto-swl)
138
+ Fase 3: Implementación paralela
139
+ - backend-api-swl: API REST
140
+ - frontend-react-swl: UI
141
+ Fase 4: Calidad (tdd-qa-swl + revisor-codigo-swl)
142
+ ```
143
+
144
+ ```mermaid
145
+ flowchart TD
146
+ S([Inicio]) --> F1[🔍 Discovery<br/>investigador-swl]
147
+ F1 --> F2[📐 Arquitectura<br/>arquitecto-swl]
148
+ F2 --> F3a[⚙️ API REST<br/>backend-api-swl]
149
+ F2 --> F3b[🖥️ UI<br/>frontend-react-swl]
150
+ F3a --> F4[✅ Calidad<br/>tdd-qa + revisor]
151
+ F3b --> F4
152
+ F4 --> E([Fin])
153
+ ```
154
+
155
+ ## Reglas de generación
156
+
157
+ ### Nodos
158
+
159
+ | Tipo de paso | Forma Mermaid | Ejemplo |
160
+ |-------------|---------------|---------|
161
+ | Inicio/Fin | `([texto])` | `([Inicio])`, `([Deploy])` |
162
+ | Acción/Tarea | `[texto]` | `[Implementar API]` |
163
+ | Decisión | `{texto}` | `{¿Tests pasan?}` |
164
+ | Subproceso | `[[texto]]` | `[[Workflow anidado]]` |
165
+ | Base de datos | `[(texto)]` | `[(PostgreSQL)]` |
166
+
167
+ ### Conexiones
168
+
169
+ | Tipo | Sintaxis | Cuándo |
170
+ |------|---------|--------|
171
+ | Secuencial | `-->` | Paso A antes que paso B |
172
+ | Con etiqueta | `-->|etiqueta|` | Ramas de decisión |
173
+ | Paralelo | Mismo origen, múltiples destinos | Slices independientes |
174
+ | Punteado | `-.->` | Dependencia débil/opcional |
175
+
176
+ ### Estilo
177
+
178
+ - Máximo 15 nodos por diagrama (si más, dividir en sub-diagramas)
179
+ - Nombres de nodos: 3-5 palabras máximo
180
+ - Incluir agente responsable en nodos de implementación
181
+ - Usar `TD` (top-down) para planes lineales, `LR` (left-right) para pipelines
182
+ - No incluir detalles de implementación — solo flujo de alto nivel
183
+
184
+ ## Integración con swl-ses
185
+
186
+ El diagrama Mermaid se incluye automáticamente en:
187
+ - `PLAN.md` generado por `/swl:planear-fase`
188
+ - ADRs en `.planning/adrs/`
189
+ - Documentación generada por `documentador-swl`
190
+ - Exports de `/swl:revisar-impacto` (blast radius visual)
191
+
192
+ ## Ejemplo: conversión completa
193
+
194
+ **Input (plan textual):**
195
+ ```
196
+ Feature: Sistema de notificaciones push
197
+ Slices:
198
+ 1. Modelo de datos y migraciones (backend-python-swl) — 2h
199
+ 2. API de suscripción (backend-api-swl) — 3h
200
+ 3. Worker de envío (backend-workers-swl) — 4h, depende de 1
201
+ 4. UI de preferencias (frontend-react-swl) — 3h, depende de 2
202
+ 5. Tests E2E (tdd-qa-swl) — 2h, depende de 3 y 4
203
+ Gate: Revisión de código antes de merge
204
+ ```
205
+
206
+ **Output (Mermaid):**
207
+ ```mermaid
208
+ flowchart TD
209
+ S([Inicio]) --> S1[1. Modelo de datos<br/>backend-python-swl]
210
+ S --> S2[2. API suscripción<br/>backend-api-swl]
211
+ S1 --> S3[3. Worker envío<br/>backend-workers-swl]
212
+ S2 --> S4[4. UI preferencias<br/>frontend-react-swl]
213
+ S3 --> S5[5. Tests E2E<br/>tdd-qa-swl]
214
+ S4 --> S5
215
+ S5 --> G{Gate: Revisión}
216
+ G -->|Aprobado| E([Merge])
217
+ G -->|Rechazado| Fix[Correcciones]
218
+ Fix --> S5
219
+ ```
220
+
221
+ ## Gotchas / Errores comunes no obvios
222
+
223
+ **Los caracteres de paréntesis `(` `)` en etiquetas de nodos rompen el render de flowchart sin error visible**: Mermaid interpreta `[nombre (acción)]` correctamente, pero `[(nombre)]` o `((nombre))` tienen significados especiales (cilindros, círculos). Si el nombre del nodo contiene paréntesis del dominio (ej: nombres de funciones), el diagrama renderiza mal o produce un nodo vacío. Causa: Mermaid usa paréntesis como operadores de forma de nodo. Fix: escapar el contenido con comillas dentro del corchete: `["nombre (acción)"]` para texto con paréntesis literales.
224
+
225
+ **Los nodos con IDs largos (más de 20 caracteres) generan conexiones que se solapan visualmente en diagramas `LR`**: Mermaid calcula el ancho de las cajas basándose en el ID del nodo en `flowchart LR`, no en el texto de la etiqueta. IDs largos crean cajas anchas que se solapan con las flechas. Causa: el layouter de Mermaid (Dagre) usa el ID para calcular el bbox inicial. Fix: usar IDs cortos (S1, P2, D3) y poner el texto descriptivo en la etiqueta: `S1[Slice 1: API de usuarios]` en lugar de `implementar-api-usuarios[Implementar API de usuarios]`.
226
+
227
+ **En diagramas `sequenceDiagram`, los mensajes con `-->>` (línea punteada) en bucles producen un loop infinito visual si el `loop` y el `end` no están correctamente indentados en el código Mermaid**: Mermaid no reporta error de sintaxis, simplemente renderiza el diagrama sin el bloque `loop`, perdiendo la semántica del flujo. Causa: el parser de `sequenceDiagram` es sensible a la indentación de las palabras clave `loop`, `alt`, `opt` y sus `end` correspondientes. Fix: usar siempre indentación de 4 espacios para el contenido de bloques `loop`/`alt`/`opt` y verificar el render en [mermaid.live](https://mermaid.live) antes de incluir en documentación.
228
+
229
+ **Los diagramas con más de 15 nodos en `flowchart TD` se renderizan con cruce de flechas inevitables porque Dagre no garantiza planarity para grafos densos**: aunque se sigan las reglas de diseño, los grafos con muchas aristas no pueden ser planares y el layout de Dagre produce cruce de aristas que confunden la lectura. Causa: el algoritmo de layout Dagre es heurístico y no garantiza planarity. Fix: dividir el diagrama en dos subdiagramas (por capa o por subsistema) con un nodo de conexión explícito entre ellos, o cambiar a `flowchart LR` que Dagre maneja mejor para grafos anchos.
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: git-worktrees-paralelo
3
+ description: Uso de git worktrees para ejecución paralela de agentes. Crear, usar y limpiar worktrees de forma segura para que múltiples agentes trabajen sin conflictos.
4
+ version: "1.0.0"
5
+ herramientasPermitidas: [Read, Bash]
6
+ evolvable: true # default para skill estandar
7
+ exclusiones:
8
+ - "No cargar para trabajo secuencial de un solo agente — un checkout normal es suficiente; los worktrees añaden complejidad sin beneficio."
9
+ - "No cargar para gestión de ramas sin paralelismo real (feature branching estándar) — para flujo de ramas estándar seguir la regla `git-workflow.md`."
10
+ - "No cargar para repositorios monorepo con submódulos Git — los worktrees en repos con submódulos tienen comportamiento inconsistente; usar contenedores o directorios de trabajo separados."
11
+ - "No cargar para tareas que requieren estado compartido entre agentes (mismo archivo modificado simultáneamente) — los worktrees aíslan pero no resuelven conflictos de edición concurrente."
12
+ ---
13
+ # Git Worktrees para Ejecución Paralela
14
+
15
+ ## Cuándo NO cargar
16
+
17
+ - Solo hay un agente trabajando en el repo: un checkout normal es suficiente.
18
+ - La tarea es feature branching secuencial sin paralelismo real: seguir `git-workflow.md`.
19
+ - El repo tiene submódulos Git: los worktrees con submódulos tienen comportamiento inconsistente.
20
+ - Los agentes paralelos modificarían los mismos archivos simultáneamente: los worktrees aíslan ramas pero no resuelven conflictos de edición concurrente.
21
+
22
+ ## Qué es un worktree
23
+
24
+ Un **git worktree** permite tener múltiples directorios de trabajo conectados al mismo
25
+ repositorio. Cada worktree tiene su propio árbol de trabajo y puede estar en una rama
26
+ distinta, pero comparten el objeto store de Git (commits, blobs, trees). Esto es ideal
27
+ para agentes paralelos: cada uno trabaja en su propia rama y su propio directorio sin
28
+ interferir con los demás.
29
+
30
+ ---
31
+
32
+ ## Cuándo usar worktrees
33
+
34
+ - Múltiples agentes ejecutando tareas en paralelo sobre el mismo repo.
35
+ - Trabajar en un hotfix mientras el desarrollo principal sigue en `main`.
36
+ - Revisar el código de una rama sin perder el contexto de la rama actual.
37
+ - Ejecutar la suite de tests de una rama sin hacer checkout.
38
+ - Comparar implementaciones de dos ramas side-by-side.
39
+
40
+ **No usar worktrees cuando:**
41
+ - Solo hay un agente trabajando. Un checkout normal es suficiente.
42
+ - Las tareas tienen dependencias de orden entre sí.
43
+
44
+ ---
45
+
46
+ ## Comandos esenciales
47
+
48
+ ### Crear un worktree
49
+
50
+ ```bash
51
+ # Sintaxis básica
52
+ git worktree add <ruta> <rama>
53
+
54
+ # Crear worktree en rama existente
55
+ git worktree add ../mi-proyecto-feature feature/login
56
+
57
+ # Crear worktree con nueva rama desde HEAD
58
+ git worktree add -b feature/nueva-ruta ../mi-proyecto-nueva-ruta
59
+
60
+ # Crear worktree con nueva rama desde commit específico
61
+ git worktree add -b hotfix/auth ../mi-proyecto-hotfix origin/main
62
+ ```
63
+
64
+ ### Listar worktrees activos
65
+
66
+ ```bash
67
+ git worktree list
68
+ # Salida:
69
+ # /ruta/repo-principal abc1234 [main]
70
+ # /ruta/repo-feature def5678 [feature/login]
71
+ # /ruta/repo-hotfix ghi9012 [hotfix/auth]
72
+ ```
73
+
74
+ ### Eliminar un worktree
75
+
76
+ ```bash
77
+ # Primero quitar el directorio, luego limpiar la referencia
78
+ git worktree remove ../mi-proyecto-feature
79
+
80
+ # Forzar si el directorio tiene cambios sin commitear (cuidado)
81
+ git worktree remove --force ../mi-proyecto-feature
82
+
83
+ # Limpiar referencias a worktrees eliminados manualmente
84
+ git worktree prune
85
+ ```
86
+
87
+ ### Mover un worktree
88
+
89
+ ```bash
90
+ git worktree move ../mi-proyecto-feature ../nueva-ubicacion
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Patrón de trabajo para agentes paralelos
96
+
97
+ ### Estructura de directorios recomendada
98
+
99
+ ```
100
+ proyectos/
101
+ ├── mi-app/ # Worktree principal (main)
102
+ ├── mi-app-agente-1/ # Worktree para Agente 1 (feature/modulo-a)
103
+ ├── mi-app-agente-2/ # Worktree para Agente 2 (feature/modulo-b)
104
+ └── mi-app-agente-3/ # Worktree para Agente 3 (feature/modulo-c)
105
+ ```
106
+
107
+ ### Flujo completo: lanzar agentes paralelos
108
+
109
+ ```bash
110
+ # 1. Asegurarse de estar en main actualizado
111
+ cd /ruta/mi-app
112
+ git checkout main
113
+ git pull origin main
114
+
115
+ # 2. Crear worktrees para cada agente
116
+ git worktree add -b feature/modulo-usuarios ../mi-app-agente-1
117
+ git worktree add -b feature/modulo-reportes ../mi-app-agente-2
118
+ git worktree add -b feature/modulo-notificaciones ../mi-app-agente-3
119
+
120
+ # 3. Cada agente trabaja en su propio directorio
121
+ # Agente 1 → cd ../mi-app-agente-1
122
+ # Agente 2 → cd ../mi-app-agente-2
123
+ # Agente 3 → cd ../mi-app-agente-3
124
+
125
+ # 4. Los agentes hacen commits normalmente dentro de su worktree
126
+ cd ../mi-app-agente-1
127
+ git add .
128
+ git commit -m "feat(usuarios): implementa CRUD de usuarios"
129
+
130
+ # 5. Al terminar, crear PRs o mergear
131
+ cd /ruta/mi-app
132
+ git merge feature/modulo-usuarios
133
+
134
+ # 6. Limpiar worktrees terminados
135
+ git worktree remove ../mi-app-agente-1
136
+ git worktree remove ../mi-app-agente-2
137
+ git worktree remove ../mi-app-agente-3
138
+ git worktree prune
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Reglas de seguridad para worktrees paralelos
144
+
145
+ ### La misma rama NO puede estar en dos worktrees
146
+
147
+ Git prohíbe hacer checkout de la misma rama en dos worktrees. Si se intenta:
148
+
149
+ ```bash
150
+ git worktree add ../copia-main main
151
+ # fatal: 'main' is already checked out at '/ruta/repo-principal'
152
+ ```
153
+
154
+ Solución: cada agente SIEMPRE trabaja en su propia rama, nunca en la misma.
155
+
156
+ ### Archivos de bloqueo compartidos
157
+
158
+ Los hooks de Git se ejecutan desde el directorio `.git` compartido. Si dos agentes
159
+ ejecutan hooks simultáneamente puede haber condiciones de carrera. Usar ramas
160
+ completamente independientes minimiza este riesgo.
161
+
162
+ ### Variables de entorno por worktree
163
+
164
+ Cada proceso de agente debe tener `GIT_DIR` implícito resuelto desde su CWD, no
165
+ configurado manualmente. Nunca exportar `GIT_DIR` de forma global si hay múltiples
166
+ worktrees activos.
167
+
168
+ ---
169
+
170
+ ## Integración con agentes del sistema SWL
171
+
172
+ ### Estado en ESTADO.md por worktree
173
+
174
+ Cada agente debe registrar en su `ESTADO.md` local:
175
+
176
+ ```markdown
177
+ ## Worktree
178
+ - Ruta: /ruta/mi-app-agente-1
179
+ - Rama: feature/modulo-usuarios
180
+ - Worktree base: /ruta/mi-app (main @ abc1234)
181
+ - Creado: 2026-03-25T10:00:00
182
+ ```
183
+
184
+ ### Protocolo de limpieza
185
+
186
+ El agente coordinador (orquestador) es responsable de:
187
+ 1. Crear los worktrees ANTES de lanzar los agentes.
188
+ 2. Verificar que cada agente terminó (commit final presente).
189
+ 3. Mergear las ramas al trunk.
190
+ 4. Eliminar los worktrees con `git worktree remove`.
191
+ 5. Borrar las ramas de feature si ya fueron mergeadas.
192
+
193
+ ### Script de limpieza completa
194
+
195
+ ```bash
196
+ #!/usr/bin/env bash
197
+ # cleanup-worktrees.sh
198
+ set -euo pipefail
199
+
200
+ REPO_ROOT="/ruta/mi-app"
201
+ cd "$REPO_ROOT"
202
+
203
+ echo "Worktrees activos:"
204
+ git worktree list
205
+
206
+ echo "Limpiando worktrees terminados..."
207
+ git worktree prune
208
+
209
+ echo "Estado final:"
210
+ git worktree list
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Troubleshooting común
216
+
217
+ ### El worktree quedó en estado corrupto
218
+
219
+ ```bash
220
+ # Verificar integridad
221
+ git fsck
222
+
223
+ # Si el directorio ya no existe pero el worktree está registrado
224
+ git worktree prune --verbose
225
+ ```
226
+
227
+ ### Conflicto al intentar hacer checkout en el worktree principal
228
+
229
+ ```bash
230
+ # Ver en qué worktree está cada rama
231
+ git worktree list --porcelain
232
+
233
+ # Ir al worktree donde está la rama y hacer el trabajo ahí
234
+ cd /ruta/worktree-con-esa-rama
235
+ ```
236
+
237
+ ### Cambios sin commitear en un worktree al intentar eliminarlo
238
+
239
+ ```bash
240
+ # Opción 1: Commitear antes
241
+ cd ../mi-app-agente-1
242
+ git stash # o git commit
243
+
244
+ # Opción 2: Forzar eliminación (se pierden cambios)
245
+ cd /ruta/mi-app
246
+ git worktree remove --force ../mi-app-agente-1
247
+ ```
248
+
249
+ ---
250
+
251
+ ## Resumen de comandos
252
+
253
+ | Comando | Acción |
254
+ |---------|--------|
255
+ | `git worktree add <ruta> <rama>` | Crear worktree en rama existente |
256
+ | `git worktree add -b <rama> <ruta>` | Crear worktree con rama nueva |
257
+ | `git worktree list` | Listar todos los worktrees |
258
+ | `git worktree remove <ruta>` | Eliminar worktree limpiamente |
259
+ | `git worktree prune` | Limpiar referencias obsoletas |
260
+ | `git worktree move <src> <dst>` | Mover worktree a nueva ruta |
261
+
262
+ ## Gotchas / Errores comunes no obvios
263
+
264
+ **`git worktree add` falla con "fatal: already checked out" aunque la rama aparezca como no activa en `git branch`**: si un worktree anterior fue eliminado manualmente (borrando el directorio sin `git worktree remove`), Git mantiene la referencia del worktree en `.git/worktrees/` y cree que la rama sigue en uso. Causa: Git no detecta automáticamente que el directorio del worktree desapareció. Fix: ejecutar `git worktree prune` primero para limpiar referencias obsoletas, luego volver a intentar el `add`.
265
+
266
+ **Las hooks de Git (pre-commit, pre-push) se ejecutan desde `.git/hooks/` compartido entre todos los worktrees y pueden fallar si usan rutas relativas al directorio del worktree principal**: los hooks que asumen que `$PWD` es el directorio raíz del repositorio principal fallan cuando se ejecutan desde un worktree secundario porque `$PWD` apunta al directorio del worktree hijo. Causa: los hooks no tienen acceso automático al worktree actual — solo a `$GIT_DIR` y `$GIT_WORK_TREE`. Fix: en los hooks, usar `git rev-parse --show-toplevel` para obtener el directorio del worktree actual en lugar de rutas hardcodeadas, y `git rev-parse --git-common-dir` para encontrar el `.git` compartido.
267
+
268
+ **`git stash` en un worktree guarda el stash en el stash global del repositorio compartido, no en el worktree**: si el Agente 1 hace `git stash` en `mi-app-agente-1/` y luego el Agente 2 hace `git stash pop` en `mi-app-agente-2/`, aplica el stash del Agente 1 en la rama incorrecta. Causa: el stash de Git es una referencia global en `.git/refs/stash`, no por worktree. Fix: NUNCA usar `git stash` en flujos con múltiples worktrees. En su lugar, hacer un commit temporal con mensaje `WIP:` y usar `git reset HEAD~1` para deshacer cuando se necesite.
269
+
270
+ **Eliminar un worktree con `git worktree remove --force` mientras hay un agente activo escribiendo archivos en ese directorio produce corrupción del objeto store de Git**: si el agente tiene archivos en proceso de escritura (commit parcial, `git add` pendiente) y otro proceso ejecuta `remove --force`, Git puede quedar con objetos huérfanos o referencias rotas. Causa: `--force` no verifica si hay procesos con file handles abiertos en el worktree. Fix: el orquestador debe verificar que cada agente emitió su commit final antes de ejecutar `git worktree remove`. Usar `git worktree list --porcelain` para confirmar que la rama del worktree tiene el commit esperado.