@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,330 @@
1
+ ---
2
+ name: swl:revisar
3
+ description: >
4
+ Ejecuta revisión de código especializada por tecnología. Detecta automáticamente
5
+ el stack del proyecto o acepta argumento explícito. Delega al agente revisor
6
+ correspondiente con el skill de lenguaje cargado. Produce reporte con severidades.
7
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "Agent"]
8
+ ---
9
+
10
+ # /swl:revisar — Revisión de código por tecnología
11
+
12
+ Comando unificado de revisión que detecta la tecnología y delega al revisor especializado.
13
+ Soporta revisión genérica, por lenguaje, por stack y por archivo específico.
14
+
15
+ ## Uso
16
+
17
+ ```
18
+ /swl:revisar — Auto-detecta stack y revisa todo
19
+ /swl:revisar python — Revisión Python (FastAPI, Django, patrones)
20
+ /swl:revisar java — Revisión Java (Spring Boot, JPA, streams)
21
+ /swl:revisar go — Revisión Go (concurrency, error handling, interfaces)
22
+ /swl:revisar rust — Revisión Rust (ownership, unsafe, async)
23
+ /swl:revisar csharp — Revisión C# (ASP.NET Core, EF Core, async)
24
+ /swl:revisar kotlin — Revisión Kotlin (coroutines, Compose, null safety)
25
+ /swl:revisar swift — Revisión Swift (SwiftUI, actors, concurrency)
26
+ /swl:revisar php — Revisión PHP (Laravel, Eloquent, seguridad)
27
+ /swl:revisar nextjs — Revisión Next.js (RSC, Server Actions, caching)
28
+ /swl:revisar react — Revisión React (hooks, state, performance)
29
+ /swl:revisar angular — Revisión Angular (signals, standalone, OnPush)
30
+ /swl:revisar typescript — Revisión TypeScript (tipos, patrones, testing)
31
+ /swl:revisar sql — Revisión SQL/PostgreSQL (queries, indices, N+1)
32
+ /swl:revisar seguridad — Revisión de seguridad OWASP (todos los lenguajes)
33
+ /swl:revisar <archivo> — Revisa un archivo específico (detecta lenguaje por extensión)
34
+ ```
35
+
36
+ ## Paso 0 — Detección de tecnología
37
+
38
+ Si no se proporciona argumento, detectar automáticamente:
39
+
40
+ ```bash
41
+ ls package.json pyproject.toml requirements.txt go.mod Cargo.toml \
42
+ *.csproj *.sln build.gradle.kts Package.swift composer.json 2>/dev/null
43
+ ```
44
+
45
+ Reglas de detección:
46
+ - `package.json` con `"next"` → nextjs
47
+ - `package.json` con `"@angular/core"` → angular
48
+ - `package.json` con `"react"` (sin next ni angular) → react
49
+ - `package.json` sin frameworks conocidos → typescript
50
+ - `pyproject.toml` o `requirements.txt` → python
51
+ - `go.mod` → go
52
+ - `Cargo.toml` → rust
53
+ - `*.csproj` o `*.sln` → csharp
54
+ - `build.gradle.kts` → kotlin
55
+ - `Package.swift` → swift
56
+ - `composer.json` → php
57
+ - Múltiples detectados → revisión en paralelo (ver Paso 3b)
58
+
59
+ Si se proporciona un archivo como argumento, detectar por extension:
60
+ `.py` → python | `.go` → go | `.rs` → rust | `.cs` → csharp |
61
+ `.kt` → kotlin | `.swift` → swift | `.php` → php |
62
+ `.ts` / `.tsx` → typescript | `.sql` → sql |
63
+ `.js` / `.jsx` → typescript
64
+
65
+ ## Paso 1 — Determinar alcance
66
+
67
+ ```bash
68
+ # Archivos cambiados respecto a main (preferido)
69
+ git diff --name-only main...HEAD 2>/dev/null
70
+
71
+ # O archivos staged
72
+ git diff --cached --name-only 2>/dev/null
73
+
74
+ # O commits recientes si lo anterior esta vacio
75
+ git diff --name-only HEAD~10 2>/dev/null
76
+ ```
77
+
78
+ Filtrar por extensión del lenguaje detectado. Anunciar al usuario:
79
+
80
+ ```
81
+ Revisión [tecnología]: [N] archivos en alcance
82
+ Agente: [nombre-del-revisor]
83
+ Skills: [lista de skills que cargará]
84
+ ```
85
+
86
+ ## Paso 2 — Tabla de delegación
87
+
88
+ | Argumento | Agente | Skills principales |
89
+ |--------------|---------------------------|-----------------------------------------------------------------|
90
+ | `python` | `revisor-codigo-swl` | `patrones-python`, `fastapi-experto`, `testing-python` |
91
+ | `java` | `revisor-java-swl` | `java-experto`, `java-testing`, `java-patrones` |
92
+ | `go` | `revisor-go-swl` | `go-experto`, `go-testing`, `go-patrones` |
93
+ | `rust` | `revisor-rust-swl` | `rust-experto`, `rust-testing`, `rust-patrones` |
94
+ | `csharp` | `revisor-csharp-swl` | `csharp-experto`, `csharp-testing`, `csharp-patrones` |
95
+ | `kotlin` | `revisor-kotlin-swl` | `kotlin-experto`, `kotlin-testing`, `kotlin-compose` |
96
+ | `swift` | `revisor-swift-swl` | `swift-experto`, `swift-testing`, `swift-patrones` |
97
+ | `php` | `revisor-php-swl` | `php-experto`, `php-testing`, `php-patrones` |
98
+ | `nextjs` | `revisor-nextjs-swl` | `nextjs-experto`, `nextjs-testing`, `nextjs-patrones` |
99
+ | `react` | `revisor-react-swl` | `react-experto`, `react-optimizacion`, `typescript-avanzado` |
100
+ | `angular` | `revisor-angular-swl` | `angular-moderno`, `angular-avanzado`, `typescript-avanzado` |
101
+ | `typescript` | `revisor-typescript-swl` | `typescript-avanzado`, `node-experto` |
102
+ | `sql` | `revisor-codigo-swl` | `postgresql-experto`, `sql-optimizacion` |
103
+ | `seguridad` | `revisor-seguridad-swl` | `checklist-seguridad`, `auth-patrones`, `iam-secretos` |
104
+
105
+ ## Paso 3a — Revisión de un solo stack
106
+
107
+ Construir la instrucción al agente y delegarla con `Agent()`:
108
+
109
+ ```
110
+ Revisa el código [tecnología] del proyecto.
111
+
112
+ Archivos a revisar:
113
+ [lista de archivos filtrados por extension]
114
+
115
+ Carga antes de empezar:
116
+ [skills segun tabla del Paso 2]
117
+
118
+ Aplica revision en dos capas:
119
+
120
+ CAPA 1 — Correctitud y spec compliance:
121
+ - La implementación cumple los requisitos visibles (PLAN.md, criterios de aceptación)
122
+ - No hay scope creep ni código muerto
123
+ - Los casos borde están manejados
124
+
125
+ CAPA 2 — Calidad idiomática del lenguaje [tecnología]:
126
+ - Patrones idiomáticos del lenguaje (no anti-patrones)
127
+ - Error handling correcto y explícito
128
+ - Sin código de debug (console.log, print, breakpoints)
129
+ - Cobertura de tests básica
130
+ - Performance obvios: N+1, loops anidados O(n²), carga innecesaria en memoria
131
+ - Seguridad básica: inputs validados, sin secrets hardcodeados, sin SQL crudo
132
+
133
+ Reporta cada hallazgo con:
134
+ - Archivo y línea exacta
135
+ - Severidad: CRITICO | IMPORTANTE | MENOR
136
+ - Descripción clara del problema
137
+ - Corrección recomendada con fragmento de código cuando aplique
138
+
139
+ Al final, produce un veredicto: APROBADO | CON OBSERVACIONES | RECHAZADO
140
+ ```
141
+
142
+ ## Paso 3b — Revisión de múltiples stacks (auto-detect)
143
+
144
+ Si el proyecto tiene varios lenguajes, lanzar los revisores en paralelo en un mismo mensaje:
145
+
146
+ ```
147
+ Agent("revisor-python", description="Revisar archivos Python del proyecto")
148
+ Agent("revisor-frontend", description="Revisar archivos TypeScript/React/Angular del proyecto")
149
+ Agent("revisor-sql", description="Revisar queries SQL y migraciones del proyecto")
150
+ ```
151
+
152
+ Consolidar los reportes de todos los agentes en un solo reporte final al usuario.
153
+
154
+ ## Paso 4 — Verificaciones automáticas por tecnología
155
+
156
+ Ejecutar ANTES de la revisión manual del agente. Los resultados se incluyen en el reporte.
157
+
158
+ ### Python
159
+ ```bash
160
+ ruff check . --output-format=concise 2>/dev/null
161
+ mypy . --ignore-missing-imports --no-error-summary 2>/dev/null
162
+ pytest --tb=short -q 2>/dev/null
163
+ ```
164
+
165
+ ### Go
166
+ ```bash
167
+ go vet ./... 2>/dev/null
168
+ go test -race ./... 2>/dev/null
169
+ ```
170
+
171
+ ### Rust
172
+ ```bash
173
+ cargo clippy -- -D warnings 2>/dev/null
174
+ cargo test 2>/dev/null
175
+ ```
176
+
177
+ ### C#
178
+ ```bash
179
+ dotnet build -warnaserror 2>/dev/null
180
+ dotnet test 2>/dev/null
181
+ ```
182
+
183
+ ### TypeScript / React / Angular / Next.js
184
+ ```bash
185
+ npx tsc --noEmit 2>/dev/null
186
+ npx eslint src/ --format=compact 2>/dev/null
187
+ npm test -- --watchAll=false --passWithNoTests 2>/dev/null
188
+ ```
189
+
190
+ ### PHP
191
+ ```bash
192
+ vendor/bin/phpstan analyse 2>/dev/null
193
+ php artisan test 2>/dev/null
194
+ ```
195
+
196
+ ### Kotlin
197
+ ```bash
198
+ ./gradlew detekt 2>/dev/null
199
+ ./gradlew test 2>/dev/null
200
+ ```
201
+
202
+ ### Swift
203
+ ```bash
204
+ swift build 2>/dev/null
205
+ swift test 2>/dev/null
206
+ ```
207
+
208
+ ### SQL / PostgreSQL
209
+ ```bash
210
+ # Buscar queries dentro de loops (potencial N+1)
211
+ grep -rn "execute\|query\|SELECT" --include="*.py" --include="*.ts" . 2>/dev/null | head -40
212
+ # Buscar SQL crudo sin parametrizar
213
+ grep -rn 'f"SELECT\|f"INSERT\|f"UPDATE\|"SELECT.*+\|"INSERT.*+' . 2>/dev/null
214
+ ```
215
+
216
+ ### Seguridad (todos los lenguajes)
217
+ ```bash
218
+ # Secrets potenciales
219
+ git grep -i "password\|secret\|api_key\|token\s*=" -- "*.py" "*.ts" "*.js" "*.go" 2>/dev/null | grep -v "test\|spec\|\.example" | head -20
220
+ # Funciones peligrosas
221
+ grep -rn "eval(\|exec(\|shell=True\|pickle.loads\|yaml.load(" . 2>/dev/null | grep -v "test\|spec" | head -20
222
+ ```
223
+
224
+ ## Paso 5 — Reporte consolidado
225
+
226
+ Produce el reporte directamente en la conversación con este formato:
227
+
228
+ ```markdown
229
+ # Revisión de Código — [tecnología]
230
+
231
+ **Proyecto**: [nombre del directorio raíz]
232
+ **Fecha**: [fecha actual]
233
+ **Archivos revisados**: [N]
234
+
235
+ ## Resumen
236
+
237
+ | Severidad | Cantidad |
238
+ |------------|----------|
239
+ | Crítico | N |
240
+ | Importante | N |
241
+ | Menor | N |
242
+
243
+ ## Verificaciones automáticas
244
+
245
+ | Verificación | Resultado |
246
+ |--------------|------------------------|
247
+ | Linter | PASA / N errores |
248
+ | Type check | PASA / N errores |
249
+ | Tests | N pasan, N fallan |
250
+ | Build | PASA / FALLA |
251
+
252
+ ## Hallazgos
253
+
254
+ ### Crítico
255
+
256
+ 1. **[archivo:línea]** — [descripción]
257
+ ```[lang]
258
+ // código problemático
259
+ ```
260
+ **Corrección:**
261
+ ```[lang]
262
+ // código corregido
263
+ ```
264
+
265
+ ### Importante
266
+
267
+ [idem]
268
+
269
+ ### Menor
270
+
271
+ [idem]
272
+
273
+ ## Veredicto
274
+
275
+ **[APROBADO | CON OBSERVACIONES | RECHAZADO]**
276
+
277
+ [Una línea explicando el veredicto]
278
+ ```
279
+
280
+ ## Paso 6 — Revisión multi-agente en paralelo (modo profundo)
281
+
282
+ Cuando el usuario dice `/swl:revisar profundo`, `/swl:revisar --profundo` o
283
+ "revisión completa con todos los agentes":
284
+
285
+ Lanzar **en paralelo** hasta 5 revisores especializados (además del revisor de stack):
286
+
287
+ ```
288
+ Agent("revisor-seguridad-swl", "Auditar seguridad OWASP de archivos cambiados")
289
+ Agent("revisor-codigo-swl", "Auditar errores silenciosos: catch vacíos, except:pass, error checks sin log")
290
+ Agent("tdd-qa-swl", "Evaluar cobertura de tests: gaps críticos, tests faltantes para código nuevo")
291
+ Agent("documentador-swl", "Verificar documentación afectada por los cambios: README, CHANGELOG, docstrings")
292
+ Agent("rendimiento-swl", "Detectar N+1, loops O(n²), carga innecesaria en memoria en archivos cambiados")
293
+ ```
294
+
295
+ Cada agente recibe:
296
+ - Lista de archivos en alcance (del Paso 1)
297
+ - Instrucción de reportar SOLO hallazgos con confianza >= 80%
298
+ - Formato de salida: severidad + archivo:línea + descripción + corrección
299
+
300
+ Consolidar todos los reportes en un solo reporte con secciones por agente:
301
+
302
+ ```markdown
303
+ ## Revisión multi-agente — [N] agentes, [M] hallazgos
304
+
305
+ ### Seguridad (revisor-seguridad-swl)
306
+ [hallazgos o "Sin hallazgos"]
307
+
308
+ ### Errores silenciosos (revisor-codigo-swl)
309
+ [hallazgos o "Sin hallazgos"]
310
+
311
+ ### Cobertura de tests (tdd-qa-swl)
312
+ [hallazgos o "Sin hallazgos"]
313
+
314
+ ### Documentación afectada (documentador-swl)
315
+ [hallazgos o "Sin hallazgos"]
316
+
317
+ ### Rendimiento (rendimiento-swl)
318
+ [hallazgos o "Sin hallazgos"]
319
+ ```
320
+
321
+ ## Reglas de comportamiento
322
+
323
+ - NUNCA corregir código directamente — solo identificar y recomendar.
324
+ - SIEMPRE ejecutar las verificaciones automáticas del Paso 4 antes de delegar al agente.
325
+ - Si los tests fallan es CRITICO sin excepción, independientemente del lenguaje.
326
+ - Para SQL: buscar siempre N+1 queries y SQL crudo sin parametrizar.
327
+ - Para seguridad: aplicar `Skill("checklist-seguridad")` y verificar OWASP Top 10.
328
+ - Si el argumento es un archivo que no existe, informar y terminar.
329
+ - El reporte se emite siempre en la conversación. No crear archivo a menos que el usuario lo pida.
330
+ - En modo profundo: lanzar los 5 agentes en paralelo para máxima eficiencia.
@@ -0,0 +1,363 @@
1
+ ---
2
+ name: swl:salud
3
+ description: Diagnóstico completo de salud del sistema SWL. Verifica integridad de agentes, skills, comandos, reglas y hooks. Genera un reporte con score por componente y detecta agentes sin versión, skills huérfanos, comandos rotos y reglas contradictorias.
4
+ allowed_tools: ["Read", "Write", "Bash", "Glob", "Grep"]
5
+ ---
6
+
7
+ # /swl:salud — Diagnóstico de salud del sistema SWL
8
+
9
+ Inspector de salud del sistema SWL. Verifica integridad de todos los componentes
10
+ usando **verificaciones deterministas** (conteos, existencia de campos, sintaxis).
11
+ Genera SALUD.md con score objetivo y reproducible.
12
+
13
+ **Carga**: `Skill("validacion-ci-sistema")` — contiene las reglas de validación por componente (agentes, skills, hooks, comandos, reglas), tabla de exit codes para hooks y checklist de integridad. Delega toda lógica de verificación al skill.
14
+
15
+ Este comando es de **solo lectura**. No modifica archivos — solo genera SALUD.md. Para corregir problemas, usar `swl:evolucionar`.
16
+
17
+ ## Cuándo usar
18
+
19
+ - Antes de iniciar proyecto nuevo con SWL
20
+ - Después de agregar o modificar agentes/skills manualmente
21
+ - Cuando un agente produce outputs inesperados
22
+ - Después de merge o pull de cambios al repositorio
23
+ - Periódicamente como mantenimiento (mensual)
24
+
25
+ ## Paso 0 — Inventario con Bash (determinista)
26
+
27
+ ```bash
28
+ echo "=== INVENTARIO ===" && \
29
+ echo "Agentes: $(ls agentes/*.md 2>/dev/null | wc -l)" && \
30
+ echo "Skills: $(ls -d habilidades/*/ 2>/dev/null | wc -l)" && \
31
+ echo "Comandos: $(ls comandos/swl/*.md 2>/dev/null | wc -l)" && \
32
+ echo "Reglas: $(ls reglas/*.md 2>/dev/null | wc -l)" && \
33
+ echo "Hooks: $(ls hooks/*.js 2>/dev/null | wc -l)"
34
+ ```
35
+
36
+ ## Paso 1 — Diagnóstico de agentes (determinista)
37
+
38
+ Ejecutar script Bash que verifica cada agente mecánicamente:
39
+
40
+ ```bash
41
+ errors=0; warns=0; ok=0
42
+ for f in agentes/*.md; do
43
+ name=$(basename "$f" .md)
44
+ has_name=$(head -30 "$f" | grep -c "^name:")
45
+ has_desc=$(head -30 "$f" | grep -c "^description:")
46
+ has_version=$(head -30 "$f" | grep -c "^version:")
47
+ has_riesgo=$(head -30 "$f" | grep -c "^nivelRiesgo:")
48
+ placeholders=$(grep -cE '\[TODO\]|\[COMPLETAR\]|\[TBD\]' "$f" || true)
49
+
50
+ if [ "$has_name" -eq 0 ] || [ "$has_desc" -eq 0 ]; then
51
+ echo "ERROR: $name — falta name o description"
52
+ errors=$((errors+1))
53
+ elif [ "$has_version" -eq 0 ] || [ "$has_riesgo" -eq 0 ]; then
54
+ echo "ADVERTENCIA: $name — falta version o nivelRiesgo"
55
+ warns=$((warns+1))
56
+ elif [ "$placeholders" -gt 0 ]; then
57
+ echo "ADVERTENCIA: $name — placeholders sin reemplazar"
58
+ warns=$((warns+1))
59
+ else
60
+ ok=$((ok+1))
61
+ fi
62
+ done
63
+ echo "Agentes: $ok OK, $warns advertencias, $errors errores"
64
+ ```
65
+
66
+ Score de agentes = `(ok / total) * 100`
67
+
68
+ ## Paso 2 — Diagnóstico de skills (determinista)
69
+
70
+ ```bash
71
+ errors=0; warns=0; ok=0
72
+ for d in habilidades/*/; do
73
+ name=$(basename "$d")
74
+ skill="$d/SKILL.md"
75
+ if [ ! -f "$skill" ]; then
76
+ echo "ERROR: $name — sin SKILL.md"
77
+ errors=$((errors+1)); continue
78
+ fi
79
+ lines=$(wc -l < "$skill")
80
+ has_name=$(head -10 "$skill" | grep -c "^name:")
81
+ has_desc=$(head -10 "$skill" | grep -c "^description:")
82
+ content_chars=$(sed -n '/^---$/,/^---$/d; p' "$skill" | wc -c)
83
+ abs_paths=$(grep -cE 'C:\\|/home/|/Users/' "$skill" || true)
84
+
85
+ if [ "$has_name" -eq 0 ] || [ "$has_desc" -eq 0 ]; then
86
+ echo "ERROR: $name — frontmatter sin name o description"
87
+ errors=$((errors+1))
88
+ elif [ "$lines" -gt 300 ]; then
89
+ echo "ADVERTENCIA: $name — $lines lineas (max 300)"
90
+ warns=$((warns+1))
91
+ elif [ "$content_chars" -lt 500 ]; then
92
+ echo "ADVERTENCIA: $name — contenido muy corto ($content_chars chars)"
93
+ warns=$((warns+1))
94
+ elif [ "$abs_paths" -gt 0 ]; then
95
+ echo "ADVERTENCIA: $name — paths absolutos detectados"
96
+ warns=$((warns+1))
97
+ else
98
+ ok=$((ok+1))
99
+ fi
100
+ done
101
+ echo "Skills: $ok OK, $warns advertencias, $errors errores"
102
+ ```
103
+
104
+ Detectar skills huérfanos (no referenciados):
105
+
106
+ ```bash
107
+ grep -r "Skill(" agentes/ comandos/ 2>/dev/null | grep -o '"[^"]*"' | sort | uniq
108
+ ```
109
+
110
+ Score de skills = `((total - errors*10 - warns*2) / total) * 100`, mínimo 0
111
+
112
+ ## Paso 3 — Diagnóstico de comandos (determinista)
113
+
114
+ ```bash
115
+ errors=0; warns=0; ok=0
116
+ for f in comandos/swl/*.md; do
117
+ name=$(basename "$f" .md)
118
+ lines=$(wc -l < "$f")
119
+ has_name=$(head -10 "$f" | grep -c "^name:")
120
+ has_desc=$(head -10 "$f" | grep -c "^description:")
121
+ desc_len=$(head -5 "$f" | grep "^description:" | wc -c)
122
+
123
+ if [ "$has_name" -eq 0 ] || [ "$has_desc" -eq 0 ]; then
124
+ echo "ERROR: $name — frontmatter sin name o description"
125
+ errors=$((errors+1))
126
+ elif [ "$desc_len" -lt 30 ]; then
127
+ echo "ADVERTENCIA: $name — description muy breve"
128
+ warns=$((warns+1))
129
+ elif [ "$lines" -gt 300 ]; then
130
+ echo "ADVERTENCIA: $name — $lines lineas (considerar delegar a skill)"
131
+ warns=$((warns+1))
132
+ else
133
+ ok=$((ok+1))
134
+ fi
135
+ done
136
+ echo "Comandos: $ok OK, $warns advertencias, $errors errores"
137
+ ```
138
+
139
+ ## Paso 4 — Diagnóstico de reglas (determinista)
140
+
141
+ ```bash
142
+ errors=0; warns=0; ok=0
143
+ for f in reglas/*.md; do
144
+ name=$(basename "$f" .md)
145
+ lines=$(wc -l < "$f")
146
+ has_h1=$(grep -c "^# " "$f" || true)
147
+ has_checklist=$(grep -c "\- \[ \]" "$f" || true)
148
+
149
+ if [ "$lines" -lt 20 ]; then
150
+ echo "ERROR: $name — regla muy corta ($lines lineas)"
151
+ errors=$((errors+1))
152
+ elif [ "$has_h1" -eq 0 ]; then
153
+ echo "ADVERTENCIA: $name — sin titulo H1"
154
+ warns=$((warns+1))
155
+ elif [ "$has_checklist" -eq 0 ]; then
156
+ echo "ADVERTENCIA: $name — sin checklist"
157
+ warns=$((warns+1))
158
+ else
159
+ ok=$((ok+1))
160
+ fi
161
+ done
162
+ echo "Reglas: $ok OK, $warns advertencias, $errors errores"
163
+ ```
164
+
165
+ ## Paso 5 — Diagnóstico de hooks (determinista)
166
+
167
+ ```bash
168
+ errors=0; warns=0; ok=0
169
+ for f in hooks/*.js; do
170
+ name=$(basename "$f")
171
+ if node --check "$f" 2>/dev/null; then
172
+ if grep -q "$name" .claude/settings.json 2>/dev/null; then
173
+ ok=$((ok+1))
174
+ else
175
+ echo "ADVERTENCIA: $name — no registrado en settings.json"
176
+ warns=$((warns+1))
177
+ fi
178
+ else
179
+ echo "ERROR: $name — error de sintaxis Node.js"
180
+ errors=$((errors+1))
181
+ fi
182
+ done
183
+ echo "Hooks: $ok OK, $warns advertencias, $errors errores"
184
+ ```
185
+
186
+ ## Paso 5b — Auditoría opcional de skills (opt-in)
187
+
188
+ Si la variable de entorno `SWL_AUDIT_SKILLS=1` está presente, ejecutar:
189
+
190
+ ```bash
191
+ bash scripts/audit-skills.sh
192
+ ```
193
+
194
+ Este paso es **no bloqueante**: si el comando falla por cualquier causa (red,
195
+ dependencia faltante, paquete no publicado), el diagnóstico continúa normalmente.
196
+
197
+ **Qué detecta**:
198
+ - Prompt injection en contenido de SKILL.md (instrucciones que intentan manipular el modelo).
199
+ - Secretos hardcodeados (API keys, tokens, contraseñas en ejemplos).
200
+ - URLs sospechosas embebidas en los skills.
201
+ - Estructura inválida de SKILL.md (frontmatter incompleto, ausencia de secciones requeridas).
202
+
203
+ **Requisito**: `pip install uv` (o `pipx install uv`) antes de activar.
204
+
205
+ **Activación manual**:
206
+ ```bash
207
+ SWL_AUDIT_SKILLS=1 bash scripts/audit-skills.sh
208
+ ```
209
+
210
+ Si `SWL_AUDIT_SKILLS` no está definida, el script imprime instrucciones y sale
211
+ con código 0 — no afecta el score ni el diagnóstico general.
212
+
213
+ ## Paso 6 — Score global ponderado
214
+
215
+ ```
216
+ Score = agentes x 0.30 + skills x 0.25 + comandos x 0.20 + reglas x 0.15 + hooks x 0.10
217
+
218
+ 90-100: Excelente
219
+ 75-89: Saludable con mejoras menores
220
+ 60-74: Funcional con problemas
221
+ <60: Estado crítico
222
+ ```
223
+
224
+ ## Paso 5c — Reporte de cobertura de frameworks de seguridad (opt-in)
225
+
226
+ Si la variable de entorno `SWL_AUDIT_FRAMEWORKS=1` está presente, ejecutar el
227
+ auditor de cobertura:
228
+
229
+ ```bash
230
+ node scripts/auditar-cobertura-frameworks.js --resumen
231
+ ```
232
+
233
+ Propósito: reportar cuántos skills declaran mapeos a los 5 frameworks de
234
+ seguridad (NIST CSF 2.0, NIST AI RMF 1.0, MITRE ATLAS v5.4, ATT&CK v18,
235
+ D3FEND v1.3) y qué controles están cubiertos. Útil para:
236
+
237
+ - Verificar que los skills de dominio seguridad declaran mapeos antes de un
238
+ audit de compliance
239
+ - Detectar gaps en la cobertura (ej: ningún skill cubre `PR.DS-11` — data
240
+ integrity — si eso importa para el proyecto)
241
+ - Producir evidencia para auditores (SOC 2, ISO 27001) sobre controles
242
+ implementados
243
+
244
+ El reporte NO marca skills sin mapeos como error — solo skills de dominio
245
+ seguridad necesitan declararlos. Ver `reglas/skills-estandar.md` sección
246
+ "Mapeo a frameworks de seguridad (REC-C01)" para criterios de cuándo declarar
247
+ cada framework.
248
+
249
+ **Filtrado por framework**:
250
+
251
+ ```bash
252
+ SWL_AUDIT_FRAMEWORKS=1 node scripts/auditar-cobertura-frameworks.js --framework=nist_ai_rmf --resumen
253
+ ```
254
+
255
+ **Persistir snapshot**:
256
+
257
+ ```bash
258
+ node scripts/auditar-cobertura-frameworks.js --save
259
+ ```
260
+
261
+ Persiste en `.planning/evolucion/cobertura-frameworks.json` para comparación
262
+ histórica tras incorporar nuevos skills de seguridad.
263
+
264
+ Si `SWL_AUDIT_FRAMEWORKS` no está definida, este paso se omite sin mensaje
265
+ — los reportes son opt-in por diseño (CLAUDE.md: "Variables de entorno
266
+ opt-in para integraciones enterprise").
267
+
268
+ ## Paso 5d — Auditoría SAP-Agents (opt-in)
269
+
270
+ Si la variable de entorno `SWL_AUDIT_AGENTES=1` está presente, ejecutar el
271
+ auditor de agentes:
272
+
273
+ ```bash
274
+ node scripts/auditar-agentes-gaps.js --resumen
275
+ ```
276
+
277
+ Propósito: reportar cuántos agentes carecen de Exclusion Clause (campo
278
+ `exclusiones` o sección `## Cuándo NO invocarme`) y Gotchas explícitos.
279
+ Previene agent hijacking por activación tangencial de agentes por similitud
280
+ superficial en `description`.
281
+
282
+ El reporte incluye conteo de excepciones documentadas por ADR (si las hay)
283
+ para separar gaps reales de excepciones por diseño.
284
+
285
+ Si `SWL_AUDIT_AGENTES` no está definida, este paso se omite — los reportes
286
+ son opt-in por diseño (CLAUDE.md: "Variables de entorno opt-in para
287
+ integraciones enterprise").
288
+
289
+ ## Paso 6b — Formato de salida enriquecido (HealthRow)
290
+
291
+ El módulo `scripts/lib/health-row.js` genera filas de salud con formato visual enriquecido
292
+ para la salida de terminal. Cada fila sigue el patrón:
293
+
294
+ ```
295
+ Label valor/max |████████████████████| indicador
296
+ ```
297
+
298
+ Ejemplo visual (modo con color ANSI):
299
+
300
+ ```
301
+ Agentes 59/59 |████████████████████| ✓ ok
302
+ Skills 52/55 |███████████████████░| ✓ ok
303
+ Comandos 37/38 |███████████████████░| ✓ ok
304
+ Reglas 18/18 |████████████████████| ✓ ok
305
+ Hooks 22/25 |█████████████████░░░| ⚠ warn
306
+ Score Global 88/100 |█████████████████░░░| ✓ ok
307
+ ```
308
+
309
+ ### Umbrales automáticos
310
+
311
+ | Rango de porcentaje | Estado | Color ANSI |
312
+ |---------------------|--------|-------------|
313
+ | >= 80% | good | Verde `\x1b[32m` |
314
+ | >= 50% y < 80% | warn | Amarillo `\x1b[33m` |
315
+ | < 50% | bad | Rojo `\x1b[31m` |
316
+
317
+ Respetar `NO_COLOR` (https://no-color.org) y la variable `SWL_ASCII_SIMPLE=1`
318
+ para entornos sin soporte Unicode.
319
+
320
+ ### Uso para generar el bloque de salud
321
+
322
+ ```javascript
323
+ const { formatearBloqueHealth } = require('./scripts/lib/health-row');
324
+
325
+ const filas = [
326
+ { label: 'Agentes', valor: 59, maximo: 59 },
327
+ { label: 'Skills', valor: 52, maximo: 55 },
328
+ { label: 'Comandos', valor: 37, maximo: 38 },
329
+ { label: 'Reglas', valor: 18, maximo: 18 },
330
+ { label: 'Hooks', valor: 22, maximo: 25 },
331
+ { label: 'Score Global', valor: 88, maximo: 100 },
332
+ ];
333
+
334
+ console.log(formatearBloqueHealth(filas));
335
+ ```
336
+
337
+ Para override de estado (forzar bad aunque el valor sea alto):
338
+
339
+ ```javascript
340
+ const { formatearHealthRow } = require('./scripts/lib/health-row');
341
+ const fila = formatearHealthRow({ label: 'Seguridad', valor: 100, maximo: 100, estado: 'bad' });
342
+ ```
343
+
344
+ La integración real del formato en la ejecución del comando se implementará en el
345
+ código de salida de `/swl:salud`. Este paso solo define la API disponible y la muestra visual.
346
+
347
+ ## Paso 7 — Generar SALUD.md
348
+
349
+ Escribe el reporte con tabla resumen, errores, advertencias y recomendaciones. Usa los datos exactos de los scripts. Si el script dice 73%, reportar 73%.
350
+
351
+ ## Paso 8 — Resumen en terminal
352
+
353
+ Presenta resumen con los problemas más críticos. Si hay errores, listarlos todos. Si solo advertencias, listar las top 5.
354
+
355
+ ## Reglas de comportamiento
356
+
357
+ - SOLO LECTURA. NUNCA modifica archivos excepto SALUD.md.
358
+ - Las verificaciones de Pasos 1-5 son scripts Bash deterministas. NO usar juicio subjetivo.
359
+ - Los scripts miden: existencia de campos, conteo de líneas, sintaxis. NO miden calidad de redacción.
360
+ - Si un check requiere juicio (contradicciones entre reglas), documentar como "requiere revisión manual".
361
+ - Los scores son aritmética pura. No ajustar el score "porque parece un sistema sano".
362
+ - Si no hay git, omitir verificaciones dependientes y notar la omisión.
363
+ - Si detectas un patrón sistémico (mismo error en múltiples componentes), mencionarlo en recomendaciones.