@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,620 @@
1
+ ---
2
+ name: swl:wiki
3
+ description: >
4
+ Gestiona el wiki de conocimiento del proyecto. Implementa el patrón de
5
+ knowledge base persistente y compounding de Andrej Karpathy: tres capas
6
+ separadas (raw/wiki/outputs) con index.md y log.md para navegación y
7
+ trazabilidad. Subcomandos: init, ingest, query, lint.
8
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
9
+ ---
10
+
11
+ # /swl:wiki — Wiki de conocimiento del proyecto
12
+
13
+ Gestiona el knowledge base persistente del proyecto. A diferencia de
14
+ `.planning/APRENDIZAJES.md` (patrones técnicos de implementación), el wiki
15
+ almacena conocimiento de dominio, decisiones de investigación, arquitectura
16
+ conceptual y análisis que deben sobrevivir indefinidamente sin purgarse.
17
+
18
+ ## Arquitectura del wiki
19
+
20
+ ```
21
+ .planning/knowledge/
22
+ raw/ ← fuentes crudas INMUTABLES (artículos, docs, notas, outputs de agentes)
23
+ wiki/ ← síntesis mantenida por IA (una página .md por topic)
24
+ INDEX.md ← catálogo de todas las páginas (actualizado en cada ingest)
25
+ log.md ← historial cronológico append-only (parseable con grep)
26
+ [topic].md ← página por topic/agente/tecnología/decisión
27
+ outputs/ ← respuestas a queries, análisis, comparativas (referencias al wiki)
28
+ ```
29
+
30
+ **Separación de responsabilidades**:
31
+ - `raw/` → NUNCA modificar. Es la fuente de verdad. El LLM solo lee.
32
+ - `wiki/` → El LLM escribe y mantiene. El usuario lee.
33
+ - `outputs/` → El LLM escribe al responder queries. Se pueden reutilizar como fuentes.
34
+
35
+ ---
36
+
37
+ ## Subcomando: `init`
38
+
39
+ **Uso**: `/swl:wiki init`
40
+
41
+ Inicializa la estructura del wiki para el proyecto actual.
42
+
43
+ ### Pasos
44
+
45
+ 1. **Crear estructura de directorios**:
46
+
47
+ ```bash
48
+ mkdir -p .planning/knowledge/raw
49
+ mkdir -p .planning/knowledge/wiki
50
+ mkdir -p .planning/knowledge/outputs
51
+ echo "✓ Estructura de directorios creada"
52
+ ```
53
+
54
+ 2. **Crear INDEX.md** — catálogo inicial:
55
+
56
+ ```bash
57
+ cat > .planning/knowledge/wiki/INDEX.md << 'EOF'
58
+ ---
59
+ tipo: indice
60
+ actualizado: YYYY-MM-DD
61
+ total_paginas: 0
62
+ ---
63
+
64
+ # Índice del Wiki — [nombre del proyecto]
65
+
66
+ > Catálogo de todas las páginas del wiki. Actualizado automáticamente en cada ingest.
67
+ > Para navegar: leer esta página primero, luego profundizar en las páginas relevantes.
68
+
69
+ ## Páginas por categoría
70
+
71
+ ### Arquitectura y decisiones
72
+ _(vacío — agregar páginas vía `/swl:wiki ingest`)_
73
+
74
+ ### Tecnologías y frameworks
75
+ _(vacío)_
76
+
77
+ ### Investigaciones y análisis
78
+ _(vacío)_
79
+
80
+ ### Procesos y metodología
81
+ _(vacío)_
82
+
83
+ ---
84
+ _Wiki inicializado: [FECHA]. Usar `/swl:wiki ingest <archivo>` para agregar contenido._
85
+ EOF
86
+ ```
87
+
88
+ Reemplazar `YYYY-MM-DD` y `[nombre del proyecto]` con los valores reales.
89
+
90
+ 3. **Crear log.md** — historial cronológico:
91
+
92
+ ```bash
93
+ cat > .planning/knowledge/wiki/log.md << 'EOF'
94
+ # Log del Wiki — Historial cronológico
95
+
96
+ > Registro append-only de operaciones. Parseable:
97
+ > `grep "^## \[" .planning/knowledge/wiki/log.md | tail -10`
98
+ > `grep "ingest" .planning/knowledge/wiki/log.md`
99
+
100
+ EOF
101
+ echo "## [$(date +%Y-%m-%d)] init | Wiki inicializado para el proyecto" >> .planning/knowledge/wiki/log.md
102
+ ```
103
+
104
+ 4. **Crear schema.md** — reglas del wiki para este proyecto:
105
+
106
+ ```bash
107
+ cat > .planning/knowledge/schema.md << 'EOF'
108
+ # Schema del Wiki — Reglas y convenciones
109
+
110
+ ## Qué es este wiki
111
+ Knowledge base del proyecto [NOMBRE]. Captura conocimiento de dominio,
112
+ decisiones técnicas, investigaciones y análisis que deben persistir
113
+ indefinidamente como memoria institucional del proyecto.
114
+
115
+ ## Diferencia con APRENDIZAJES.md
116
+ - APRENDIZAJES.md → patrones de implementación técnica (código, bugs, anti-patrones)
117
+ - wiki/ → conocimiento de dominio, arquitectura conceptual, investigación (negocio, decisiones)
118
+
119
+ ## Estructura de cada página wiki (patrón Compiled Truth)
120
+
121
+ Cada página wiki sigue el patrón **Compiled Truth**: síntesis curada arriba,
122
+ evidencia cronológica abajo. La síntesis es el conocimiento compilado y
123
+ actualizado; la timeline es el registro inmutable de cómo se llegó ahí.
124
+
125
+ Cada archivo en wiki/ debe seguir este formato:
126
+
127
+ ```
128
+ ---
129
+ topic: [nombre del topic]
130
+ categoria: arquitectura | tecnologia | investigacion | proceso
131
+ actualizado: YYYY-MM-DD
132
+ fuentes: [N archivos en raw/ que respaldan esta página]
133
+ confianza: alta | media | baja
134
+ ---
135
+
136
+ # [Título]
137
+
138
+ ## Compiled Truth (síntesis curada)
139
+
140
+ ### Resumen
141
+ [Un párrafo que resume el topic — usado en INDEX.md]
142
+
143
+ ### Estado actual
144
+ [Qué se sabe HOY sobre este topic. Afirmaciones verificadas con fuentes.
145
+ Cada afirmación clave marcada con [F:N] donde N refiere a la fuente en la
146
+ sección Timeline.]
147
+
148
+ ### Decisiones vigentes
149
+ [Decisiones activas sobre este topic, con justificación breve.]
150
+
151
+ ### Relaciones
152
+ - Relacionado con: [[otro-topic]], [[otro-topic-2]]
153
+ - Depende de: [[prerequisito]]
154
+ - Referenciado por: [[topic-que-lo-usa]]
155
+
156
+ ## Timeline (evidencia cronológica)
157
+
158
+ ### [YYYY-MM-DD] [F:1] — [nombre de la fuente]
159
+ - Aportó: [qué conocimiento agregó]
160
+ - Fuente: raw/YYYYMMDD-nombre-fuente.md
161
+
162
+ ### [YYYY-MM-DD] [F:2] — [nombre de la fuente]
163
+ - Aportó: [qué conocimiento agregó]
164
+ - Cambió: [qué afirmación anterior se actualizó o contradijo]
165
+ - Fuente: raw/YYYYMMDD-nombre-fuente.md
166
+ ```
167
+
168
+ **Reglas del patrón Compiled Truth**:
169
+ - La sección **Compiled Truth** es la fuente de verdad actual — se reescribe con cada ingest.
170
+ - La sección **Timeline** es append-only — nunca modificar entradas anteriores.
171
+ - Si una fuente nueva contradice una anterior, actualizar Compiled Truth Y agregar en Timeline con `Cambió:`.
172
+ - El campo `confianza` refleja cuántas fuentes independientes respaldan las afirmaciones: alta (3+), media (2), baja (1).
173
+
174
+ ## Convenciones
175
+ - Links entre páginas: `[[nombre-archivo-sin-extension]]`
176
+ - Una página por topic, no por fuente
177
+ - El LLM actualiza wiki/ — el humano lee y valida
178
+ - raw/ es inmutable — nunca modificar archivos existentes
179
+ - outputs/ contiene respuestas completas — referenciar wiki/ para síntesis
180
+ - log.md es append-only — nunca editar entradas existentes
181
+
182
+ ## Topics prioritarios para este proyecto
183
+ [Completar con los dominios específicos del proyecto — ej: "autenticación", "facturación", "arquitectura de microservicios"]
184
+ EOF
185
+ ```
186
+
187
+ 5. **Confirmación al usuario**:
188
+
189
+ ```
190
+ ✓ Wiki inicializado en .planning/knowledge/
191
+
192
+ Estructura creada:
193
+ raw/ → depositar fuentes crudas aquí
194
+ wiki/ → el LLM mantiene las páginas
195
+ outputs/ → respuestas y análisis guardados
196
+ INDEX.md → catálogo de páginas (actualizado automáticamente)
197
+ log.md → historial cronológico de operaciones
198
+ schema.md → reglas del wiki (editar para personalizar al proyecto)
199
+
200
+ Próximos pasos:
201
+ /swl:wiki ingest <archivo> → ingerir primera fuente
202
+ /swl:wiki query "<pregunta>" → consultar el wiki
203
+ /swl:wiki lint → health check periódico
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Subcomando: `ingest`
209
+
210
+ **Uso**: `/swl:wiki ingest <ruta-o-url>`
211
+
212
+ Ingiere una fuente en el wiki: lee, extrae knowledge, actualiza páginas relevantes,
213
+ actualiza INDEX.md y agrega entrada al log.
214
+
215
+ ### Tipos de fuente soportados
216
+
217
+ | Tipo | Ejemplo | Herramienta |
218
+ |------|---------|-------------|
219
+ | `.md`, `.txt` (local) | `ingest ./notas/reunion.md` | Read |
220
+ | `.pdf` ≤ 20 páginas (local) | `ingest ./docs/guia.pdf` | Read con `pages:` |
221
+ | `.pdf` > 20 págs o con tablas | `ingest ./docs/reporte.pdf` | swl-markitdown |
222
+ | `.docx`, `.pptx` (local) | `ingest ./docs/arquitectura.docx` | swl-markitdown |
223
+ | `.xlsx`, `.xls` (local) | `ingest ./datos/metricas.xlsx` | swl-markitdown |
224
+ | `.ipynb` Jupyter (local) | `ingest ./notebooks/analisis.ipynb` | swl-markitdown |
225
+ | `.zip` con documentos | `ingest ./docs/documentacion.zip` | swl-markitdown |
226
+ | URL estática (HTML simple) | `ingest https://blog.domain.com/post` | WebFetch |
227
+ | URL dinámica (SPA, JS heavy) | `ingest https://spa-site.com/docs` | agent-browser |
228
+ | URL de YouTube | `ingest https://www.youtube.com/watch?v=...` | swl-markitdown |
229
+ | Output de agente previo | `ingest .planning/knowledge/outputs/2026-04-09-investigacion.md` | Read |
230
+
231
+ ### Pasos del ingest
232
+
233
+ **Paso I.1 — Leer la fuente** (detección automática de herramienta):
234
+
235
+ ```bash
236
+ PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
237
+ CLI_MKD="$PROJECT_ROOT/scripts/vendor/markitdown/cli.py"
238
+ FUENTE="[RUTA_O_URL]"
239
+
240
+ # Detectar tipo de fuente y elegir herramienta
241
+ if echo "$FUENTE" | grep -qE "^https?://"; then
242
+ # Fuente web
243
+ if echo "$FUENTE" | grep -qE "youtube\.com|youtu\.be"; then
244
+ # YouTube: usar swl-markitdown para transcripción
245
+ CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
246
+ else
247
+ # HTML: WebFetch primero, agent-browser como fallback
248
+ CONTENIDO=$(# usar WebFetch tool aquí)
249
+ PALABRAS=$(echo "$CONTENIDO" | wc -w)
250
+ if [ "$PALABRAS" -lt 500 ]; then
251
+ CONTENIDO=$(# usar agent-browser como fallback)
252
+ fi
253
+ fi
254
+ else
255
+ # Archivo local: elegir según extensión
256
+ EXT="${FUENTE##*.}"
257
+ case "$EXT" in
258
+ md|txt|markdown)
259
+ # Read tool directamente
260
+ ;;
261
+ pdf)
262
+ # Read para PDFs cortos; swl-markitdown para PDFs con tablas o > 20 págs
263
+ CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
264
+ ;;
265
+ docx|pptx|xlsx|xls|ipynb|epub|zip|csv)
266
+ # swl-markitdown para formatos que Read no soporta
267
+ CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
268
+ if [ -z "$CONTENIDO" ]; then
269
+ echo "Error: swl-markitdown no pudo convertir $FUENTE"
270
+ echo "Verificar: python $CLI_MKD --check"
271
+ exit 1
272
+ fi
273
+ ;;
274
+ *)
275
+ # Intentar con swl-markitdown; si falla, reportar
276
+ CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
277
+ ;;
278
+ esac
279
+ fi
280
+ ```
281
+
282
+ **Paso I.2 — Guardar copia en raw/** (si la fuente es externa o fue convertida):
283
+
284
+ ```bash
285
+ FECHA=$(date +%Y%m%d)
286
+ NOMBRE_LIMPIO=$(echo "[FUENTE]" | sed 's|https://||' | sed 's|[/. ]|-|g' | cut -c1-60)
287
+
288
+ # Para archivos Markdown/texto ya en formato correcto
289
+ cp "[FUENTE_LOCAL]" ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md"
290
+
291
+ # Para archivos convertidos con swl-markitdown (DOCX, XLSX, PPTX, etc.)
292
+ python "$CLI_MKD" "[FUENTE_LOCAL]" > ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md" 2>/dev/null
293
+
294
+ # Para URLs (WebFetch o agent-browser)
295
+ # agent-browser get text "article" > ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md"
296
+ ```
297
+
298
+ **Paso I.3 — Extraer knowledge de la fuente**:
299
+
300
+ Leer la fuente completa e identificar:
301
+ - Topics principales cubiertos
302
+ - Entidades mencionadas (tecnologías, patrones, decisiones, personas)
303
+ - Afirmaciones verificables con su fuente
304
+ - Relaciones con topics que ya existen en el wiki
305
+
306
+ **Paso I.4 — Actualizar páginas wiki existentes**:
307
+
308
+ Para cada topic cubierto en la fuente que ya tiene página en `wiki/`:
309
+ - Leer la página existente
310
+ - **Compiled Truth**: Reescribir la sección "Estado actual" integrando la información nueva con la existente. No eliminar afirmaciones válidas — solo actualizarlas o expandirlas.
311
+ - **Timeline**: Agregar nueva entrada cronológica append-only con `[F:N]` y lo que la fuente aportó. Si contradice algo, incluir `Cambió:` en la entrada.
312
+ - Actualizar la fecha `actualizado` y el campo `fuentes` (incrementar) en el frontmatter
313
+ - Actualizar `confianza`: baja (1 fuente) → media (2) → alta (3+)
314
+ - Si la nueva info contradice la anterior: actualizar Compiled Truth con la versión correcta Y registrar el cambio en Timeline con `Cambió:`
315
+
316
+ **Paso I.5 — Crear páginas wiki nuevas** (para topics que no tienen página):
317
+
318
+ Para cada topic nuevo identificado que justifique su propia página (criterio: ≥3 afirmaciones distintas sobre el mismo topic):
319
+
320
+ ```bash
321
+ cat > ".planning/knowledge/wiki/[nombre-topic].md" << 'EOF'
322
+ ---
323
+ topic: [nombre]
324
+ categoria: [arquitectura|tecnologia|investigacion|proceso]
325
+ actualizado: YYYY-MM-DD
326
+ fuentes: 1
327
+ confianza: baja
328
+ ---
329
+
330
+ # [Título del topic]
331
+
332
+ ## Compiled Truth (síntesis curada)
333
+
334
+ ### Resumen
335
+ [Un párrafo conciso — este texto va al INDEX.md]
336
+
337
+ ### Estado actual
338
+ [Afirmaciones verificadas, marcadas con [F:1] referenciando la timeline.]
339
+
340
+ ### Decisiones vigentes
341
+ [Decisiones activas si aplica, o eliminar sección si no hay.]
342
+
343
+ ### Relaciones
344
+ - Relacionado con: [otros topics del wiki si aplica]
345
+
346
+ ## Timeline (evidencia cronológica)
347
+
348
+ ### [YYYY-MM-DD] [F:1] — [nombre de la fuente]
349
+ - Aportó: [qué conocimiento agregó]
350
+ - Fuente: raw/YYYYMMDD-nombre-fuente.md
351
+ EOF
352
+ ```
353
+
354
+ **Paso I.6 — Actualizar INDEX.md**:
355
+
356
+ Agregar o actualizar la entrada del topic nuevo en INDEX.md:
357
+
358
+ ```bash
359
+ # Agregar al INDEX.md bajo la categoría correspondiente:
360
+ # | [[nombre-topic]] | [resumen de una línea] | [YYYY-MM-DD] |
361
+ ```
362
+
363
+ Estructura de la tabla en INDEX.md:
364
+ ```markdown
365
+ | Página | Resumen | Actualizado |
366
+ |--------|---------|-------------|
367
+ | [[nombre-topic]] | Resumen de una línea | YYYY-MM-DD |
368
+ ```
369
+
370
+ **Paso I.7 — Agregar al log**:
371
+
372
+ ```bash
373
+ echo "## [$(date +%Y-%m-%d)] ingest | [nombre de la fuente] → [N páginas tocadas]" \
374
+ >> .planning/knowledge/wiki/log.md
375
+ echo " Fuentes en raw: $(ls .planning/knowledge/raw/ | wc -l) total" \
376
+ >> .planning/knowledge/wiki/log.md
377
+ ```
378
+
379
+ **Paso I.8 — Reporte al usuario**:
380
+
381
+ ```
382
+ Ingest completado: [nombre de la fuente]
383
+
384
+ Páginas actualizadas: [N]
385
+ - wiki/[topic1].md — [qué se actualizó]
386
+ - wiki/[topic2].md — [qué se actualizó]
387
+
388
+ Páginas nuevas creadas: [N]
389
+ - wiki/[nuevo-topic].md — [descripción]
390
+
391
+ INDEX.md actualizado: [N] entradas
392
+ log.md: entrada agregada
393
+
394
+ [Si hay contradicciones detectadas:]
395
+ ⚠ Contradicciones detectadas — revisar antes de continuar:
396
+ - wiki/[topic].md contradice raw/[fuente-anterior].md en: [claim]
397
+ ```
398
+
399
+ ---
400
+
401
+ ## Subcomando: `query`
402
+
403
+ **Uso**: `/swl:wiki query "<pregunta>"`
404
+
405
+ Responde una pregunta usando el knowledge base del wiki. Guarda la respuesta
406
+ en `outputs/` para que componga en el knowledge base.
407
+
408
+ ### Pasos del query
409
+
410
+ **Paso Q.1 — Leer INDEX.md primero**:
411
+
412
+ ```bash
413
+ cat .planning/knowledge/wiki/INDEX.md
414
+ ```
415
+
416
+ Identificar qué páginas del wiki son relevantes para la pregunta.
417
+ **No cargar todo el wiki** — solo las páginas identificadas en el índice.
418
+
419
+ **Paso Q.2 — Leer páginas relevantes**:
420
+
421
+ Para cada página identificada como relevante:
422
+ ```bash
423
+ cat .planning/knowledge/wiki/[topic].md
424
+ ```
425
+
426
+ Máximo 5-7 páginas por query para mantener el costo bajo.
427
+ Si la pregunta requiere más páginas, descomponerla en sub-preguntas.
428
+
429
+ **Paso Q.3 — Sintetizar respuesta**:
430
+
431
+ Responder la pregunta basándose SOLO en el contenido del wiki.
432
+ Si la pregunta no puede responderse con el wiki actual, indicarlo explícitamente:
433
+ ```
434
+ ⚠ El wiki actual no tiene suficiente información sobre [aspecto].
435
+ Fuentes faltantes sugeridas:
436
+ - [tipo de fuente que respondería esto]
437
+
438
+ ¿Ejecutar investigación con investigador-swl para completar el wiki?
439
+ ```
440
+
441
+ **Paso Q.4 — Guardar output**:
442
+
443
+ ```bash
444
+ FECHA=$(date +%Y-%m-%d)
445
+ PREGUNTA_SLUG=$(echo "[PREGUNTA]" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | cut -c1-50)
446
+ OUTPUT_PATH=".planning/knowledge/outputs/${FECHA}-query-${PREGUNTA_SLUG}.md"
447
+
448
+ cat > "$OUTPUT_PATH" << 'EOF'
449
+ ---
450
+ fecha: YYYY-MM-DD
451
+ tipo: query
452
+ pregunta: "[PREGUNTA]"
453
+ paginas_consultadas: [LISTA]
454
+ ---
455
+
456
+ # Respuesta: [PREGUNTA]
457
+
458
+ [RESPUESTA COMPLETA]
459
+
460
+ ## Fuentes wiki consultadas
461
+ - [[topic1]]
462
+ - [[topic2]]
463
+ EOF
464
+
465
+ echo "✓ Respuesta guardada en: $OUTPUT_PATH"
466
+ ```
467
+
468
+ **Paso Q.5 — Proponer si el output debe incorporarse al wiki**:
469
+
470
+ ```
471
+ Output guardado en outputs/[archivo].md
472
+
473
+ ¿Incorporar esta respuesta al wiki?
474
+ [S] Sí — es un análisis valioso que debería estar en wiki/
475
+ [N] No — es una respuesta puntual que no suma al wiki
476
+ ```
477
+
478
+ Si el usuario dice Sí: ejecutar ingest sobre el output para integrarlo al wiki.
479
+
480
+ ---
481
+
482
+ ## Subcomando: `lint`
483
+
484
+ **Uso**: `/swl:wiki lint`
485
+
486
+ Health check del wiki. Detecta problemas de calidad antes de que se acumulen.
487
+ Ejecutar mensualmente o después de ingestas masivas.
488
+
489
+ ### Verificaciones del lint
490
+
491
+ **L.1 — Páginas huérfanas** (sin referencias desde otras páginas):
492
+
493
+ ```bash
494
+ echo "=== Páginas huérfanas ==="
495
+ for PAGE in .planning/knowledge/wiki/*.md; do
496
+ NOMBRE=$(basename "$PAGE" .md)
497
+ [ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
498
+ REFS=$(grep -r "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/ 2>/dev/null | \
499
+ grep -v "^$PAGE:" | wc -l)
500
+ INDEX_REF=$(grep "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/INDEX.md 2>/dev/null | wc -l)
501
+ TOTAL=$((REFS + INDEX_REF))
502
+ [ "$TOTAL" -eq 0 ] && echo " HUERFANA: $NOMBRE"
503
+ done
504
+ ```
505
+
506
+ **L.2 — Páginas fuera del INDEX.md**:
507
+
508
+ ```bash
509
+ echo "=== Páginas no indexadas ==="
510
+ for PAGE in .planning/knowledge/wiki/*.md; do
511
+ NOMBRE=$(basename "$PAGE" .md)
512
+ [ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
513
+ INDEXED=$(grep "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/INDEX.md 2>/dev/null | wc -l)
514
+ [ "$INDEXED" -eq 0 ] && echo " NO INDEXADA: $NOMBRE"
515
+ done
516
+ ```
517
+
518
+ **L.3 — Páginas con frontmatter desactualizado** (no actualizadas en >60 días):
519
+
520
+ ```bash
521
+ echo "=== Páginas posiblemente desactualizadas (>60 días) ==="
522
+ HACE_60=$(date -d "60 days ago" +%Y-%m-%d 2>/dev/null || \
523
+ date -v-60d +%Y-%m-%d 2>/dev/null) # macOS fallback
524
+ grep -r "actualizado:" .planning/knowledge/wiki/*.md 2>/dev/null | \
525
+ awk -F: '{if ($2 < "'$HACE_60'") print " VIEJA: " $1 " (" $2 ")"}'
526
+ ```
527
+
528
+ **L.4 — Contradicciones marcadas pendientes**:
529
+
530
+ ```bash
531
+ echo "=== Contradicciones marcadas sin resolver ==="
532
+ grep -r "\[CONTRADICE:" .planning/knowledge/wiki/*.md 2>/dev/null | \
533
+ sed 's/:.*//' | sort -u
534
+ ```
535
+
536
+ **L.5 — Claims sin fuente en raw/**:
537
+
538
+ ```bash
539
+ echo "=== Páginas wiki sin fuentes en raw/ ==="
540
+ for PAGE in .planning/knowledge/wiki/*.md; do
541
+ NOMBRE=$(basename "$PAGE" .md)
542
+ [ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
543
+ FUENTES=$(grep "^- raw/" "$PAGE" 2>/dev/null | wc -l)
544
+ [ "$FUENTES" -eq 0 ] && echo " SIN FUENTE: $NOMBRE"
545
+ done
546
+ ```
547
+
548
+ **L.6 — Tamaño del wiki** (métricas de salud):
549
+
550
+ ```bash
551
+ echo "=== Métricas del wiki ==="
552
+ echo " Páginas totales: $(ls .planning/knowledge/wiki/*.md 2>/dev/null | grep -v "INDEX\|log" | wc -l)"
553
+ echo " Fuentes en raw/: $(ls .planning/knowledge/raw/ 2>/dev/null | wc -l)"
554
+ echo " Outputs guardados: $(ls .planning/knowledge/outputs/ 2>/dev/null | wc -l)"
555
+ echo " Último ingest: $(grep "^## \[" .planning/knowledge/wiki/log.md 2>/dev/null | tail -1)"
556
+ echo " Entradas en log: $(grep "^## \[" .planning/knowledge/wiki/log.md 2>/dev/null | wc -l)"
557
+ ```
558
+
559
+ ### Acciones recomendadas post-lint
560
+
561
+ Basándose en los resultados:
562
+
563
+ | Hallazgo | Acción recomendada |
564
+ |----------|-------------------|
565
+ | Páginas huérfanas | Agregar links desde páginas relacionadas O eliminar si el topic ya no es relevante |
566
+ | Páginas sin indexar | Agregar al INDEX.md bajo la categoría correcta |
567
+ | Páginas >60 días sin actualizar | Revisar si el contenido sigue siendo válido; marcar como `[REVISAR]` si hay dudas |
568
+ | Contradicciones pendientes | Resolver antes del próximo ingest — ver protocolo en `/swl:aprender` Paso 5.5 |
569
+ | Páginas sin fuente | Agregar la fuente a `raw/` O marcar el contenido como `[SIN-FUENTE: verificar]` |
570
+
571
+ ### Reporte del lint
572
+
573
+ ```bash
574
+ # Agregar al log
575
+ echo "## [$(date +%Y-%m-%d)] lint | health check completado" >> .planning/knowledge/wiki/log.md
576
+ echo " Hallazgos: [N huérfanas] huérfanas, [N] sin indexar, [N] contradicciones" \
577
+ >> .planning/knowledge/wiki/log.md
578
+ ```
579
+
580
+ Mostrar al usuario:
581
+ ```
582
+ Wiki health check completado:
583
+
584
+ ✓ Páginas totales: [N]
585
+ ✓ Fuentes en raw/: [N]
586
+
587
+ Hallazgos:
588
+ Páginas huérfanas: [N] → [lista]
589
+ Páginas sin indexar: [N] → [lista]
590
+ Páginas desactualizadas: [N] → [lista]
591
+ Contradicciones: [N] → [lista]
592
+ Páginas sin fuente: [N] → [lista]
593
+
594
+ [Si todo OK:]
595
+ ✓ Wiki en buen estado — sin problemas críticos detectados.
596
+
597
+ [Si hay hallazgos:]
598
+ ¿Quieres que resuelva los hallazgos ahora? [S/N]
599
+ ```
600
+
601
+ ---
602
+
603
+ ## Integración con otros comandos SWL
604
+
605
+ | Comando | Integración con wiki |
606
+ |---------|---------------------|
607
+ | `/swl:aprender` | Paso 5.5 verifica consistencia con wiki antes de persistir; Fase 4.5 ejecuta lint del wiki |
608
+ | `/swl:mapear-codebase` | El mapa del codebase puede ingresarse al wiki como fuente inicial |
609
+ | `investigador-swl` | Guarda outputs en `outputs/` y fuentes en `raw/` automáticamente |
610
+ | `arquitecto-swl` | Los ADRs pueden ingresarse al wiki como páginas de decisión |
611
+ | `/swl:checkpoint` | Puede hacer referencia al INDEX.md del wiki para contexto de sesión |
612
+
613
+ ## Reglas del sistema
614
+
615
+ - `raw/` es **INMUTABLE** — nunca modificar archivos existentes; solo agregar nuevos.
616
+ - `wiki/` es **responsabilidad del LLM** — el humano lee, el LLM escribe y mantiene.
617
+ - `log.md` es **append-only** — nunca editar entradas existentes.
618
+ - Cada ingest debe tocar entre 1 y 15 páginas wiki como máximo. Si una fuente toca más de 15 temas distintos, dividir en múltiples ingests.
619
+ - Un topic que aparece en <3 fuentes no justifica su propia página — agregarlo a una página relacionada.
620
+ - Los outputs en `outputs/` son legibles pero no se indexan automáticamente en INDEX.md — solo si el usuario confirma que deben incorporarse al wiki.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: dev
3
+ description: Modo desarrollo activo — escribir código, correr tests, hacer commits
4
+ activo: true
5
+ ---
6
+
7
+ # Modo Desarrollo (dev)
8
+
9
+ ## Comportamiento del sistema
10
+ - Todos los agentes de implementación están activos
11
+ - Los agentes revisores operan en modo ligero (solo errores críticos)
12
+ - Se permiten escrituras y ejecución de comandos
13
+ - Commits atómicos después de cada slice completado
14
+ - Skills de implementación y testing se cargan automáticamente
15
+
16
+ ## Agentes habilitados
17
+ - orquestador-swl, planificador-swl, implementador-swl
18
+ - backend-*-swl, frontend-*-swl, mobile-*-swl
19
+ - tdd-qa-swl (modo activo — escribe tests)
20
+ - depurador-swl, datos-swl, migrador-swl
21
+ - devops-ci-swl, cloud-infra-swl
22
+
23
+ ## Agentes en modo reducido
24
+ - revisor-codigo-swl (solo errores críticos, no estilo)
25
+ - revisor-seguridad-swl (solo vulnerabilidades HIGH/CRITICAL)
26
+
27
+ ## Agentes desactivados
28
+ - documentador-swl (se activa solo al terminar una fase)
29
+ - release-manager-swl (solo en modo release)
30
+
31
+ ## Reglas activas
32
+ Todas las reglas aplican normalmente.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: research
3
+ description: Modo investigación — leer, analizar, documentar, no modificar código
4
+ activo: false
5
+ ---
6
+
7
+ # Modo Investigación (research)
8
+
9
+ ## Comportamiento del sistema
10
+ - NO se modifica código existente — solo lectura
11
+ - Se permiten escrituras SOLO en .planning/ y docs/
12
+ - Los agentes de investigación operan con profundidad máxima
13
+ - Se generan reportes de investigación y análisis comparativo
14
+
15
+ ## Agentes habilitados
16
+ - investigador-swl (investigación tecnológica profunda)
17
+ - investigador-ux-swl (research de usuarios)
18
+ - arquitecto-swl (evaluación de tradeoffs)
19
+ - producto-prd-swl (requisitos y prioridades)
20
+ - documentador-swl (documentación de hallazgos)
21
+
22
+ ## Agentes desactivados
23
+ - Todos los de implementación (implementador, backend-*, frontend-*, mobile-*)
24
+ - Todos los de calidad operativa (tdd-qa, revisor-codigo, revisor-seguridad)
25
+ - Todos los de infraestructura (devops-ci, cloud-infra, observabilidad)
26
+ - migrador-swl, datos-swl
27
+
28
+ ## Reglas activas
29
+ Solo reglas de documentación y arquitectura.
30
+ Las reglas de estilo de código y testing no aplican (no hay código nuevo).