@saulwade/swl-ses 2.6.0 → 2.8.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 (435) hide show
  1. package/CLAUDE.md +209 -197
  2. package/README.md +647 -600
  3. package/agentes/accesibilidad-wcag-swl.md +690 -690
  4. package/agentes/arquitecto-swl.md +267 -267
  5. package/agentes/auto-evolucion-swl.md +932 -932
  6. package/agentes/backend-csharp-swl.md +420 -420
  7. package/agentes/backend-go-swl.md +390 -390
  8. package/agentes/backend-java-swl.md +281 -281
  9. package/agentes/backend-rust-swl.md +364 -364
  10. package/agentes/backend-workers-swl.md +482 -482
  11. package/agentes/cloud-infra-swl.md +509 -509
  12. package/agentes/consolidador-swl.md +541 -541
  13. package/agentes/depurador-swl.md +352 -352
  14. package/agentes/devops-ci-swl.md +400 -400
  15. package/agentes/disenador-ui-swl.md +569 -569
  16. package/agentes/documentador-swl.md +345 -345
  17. package/agentes/frontend-angular-swl.md +621 -621
  18. package/agentes/frontend-css-swl.md +716 -716
  19. package/agentes/frontend-react-swl.md +692 -692
  20. package/agentes/frontend-swl.md +496 -496
  21. package/agentes/frontend-tailwind-swl.md +826 -826
  22. package/agentes/investigador-swl.md +432 -432
  23. package/agentes/investigador-ux-swl.md +505 -505
  24. package/agentes/migrador-swl.md +442 -442
  25. package/agentes/mobile-android-swl.md +511 -511
  26. package/agentes/mobile-cross-swl.md +541 -541
  27. package/agentes/mobile-ios-swl.md +502 -502
  28. package/agentes/mobile-testing-swl.md +302 -302
  29. package/agentes/nemesis-auditor-swl.md +285 -285
  30. package/agentes/observabilidad-swl.md +438 -438
  31. package/agentes/pagos-swl.md +310 -310
  32. package/agentes/perfilador-usuario-swl.md +321 -321
  33. package/agentes/planificador-swl.md +399 -399
  34. package/agentes/producto-prd-swl.md +589 -589
  35. package/agentes/red-team-swl.md +218 -218
  36. package/agentes/release-manager-swl.md +590 -590
  37. package/agentes/rendimiento-swl.md +713 -713
  38. package/agentes/revisor-angular-swl.md +278 -278
  39. package/agentes/revisor-csharp-swl.md +264 -264
  40. package/agentes/revisor-go-swl.md +259 -259
  41. package/agentes/revisor-java-swl.md +257 -257
  42. package/agentes/revisor-kotlin-swl.md +273 -273
  43. package/agentes/revisor-nextjs-swl.md +281 -281
  44. package/agentes/revisor-php-swl.md +271 -271
  45. package/agentes/revisor-react-swl.md +278 -278
  46. package/agentes/revisor-rust-swl.md +346 -346
  47. package/agentes/revisor-seguridad-swl.md +399 -399
  48. package/agentes/revisor-swift-swl.md +268 -268
  49. package/agentes/revisor-typescript-swl.md +346 -346
  50. package/agentes/tdd-qa-swl.md +393 -393
  51. package/bin/swl-ses.js +10 -0
  52. package/comandos/swl/actualizar.md +174 -174
  53. package/comandos/swl/adoptar-proyecto.md +265 -265
  54. package/comandos/swl/aprender.md +836 -836
  55. package/comandos/swl/aprobar-plan.md +146 -146
  56. package/comandos/swl/auditar-deps.md +134 -134
  57. package/comandos/swl/autoresearch.md +264 -264
  58. package/comandos/swl/ayuda.md +224 -224
  59. package/comandos/swl/brainstorm.md +52 -51
  60. package/comandos/swl/checkpoint.md +325 -325
  61. package/comandos/swl/claudemd.md +234 -234
  62. package/comandos/swl/compactar.md +310 -310
  63. package/comandos/swl/configurar-ci.md +235 -235
  64. package/comandos/swl/contexto.md +110 -110
  65. package/comandos/swl/crear-skill.md +292 -292
  66. package/comandos/swl/cron.md +194 -194
  67. package/comandos/swl/deuda-codigo.md +97 -97
  68. package/comandos/swl/discutir-fase.md +169 -169
  69. package/comandos/swl/ejecutar-fase.md +233 -233
  70. package/comandos/swl/evaluar-skill.md +520 -520
  71. package/comandos/swl/evolucion-continua.md +73 -73
  72. package/comandos/swl/evolucionar.md +267 -267
  73. package/comandos/swl/exportar-vault.md +583 -583
  74. package/comandos/swl/fix.md +118 -118
  75. package/comandos/swl/gateway.md +158 -158
  76. package/comandos/swl/inbox.md +116 -116
  77. package/comandos/swl/instalar.md +220 -220
  78. package/comandos/swl/instintos.md +86 -86
  79. package/comandos/swl/mapear-codebase.md +312 -312
  80. package/comandos/swl/mcp-status.md +176 -175
  81. package/comandos/swl/modelo.md +100 -100
  82. package/comandos/swl/nemesis.md +433 -433
  83. package/comandos/swl/notificaciones.md +299 -299
  84. package/comandos/swl/nuevo-proyecto.md +251 -251
  85. package/comandos/swl/planear-fase.md +263 -263
  86. package/comandos/swl/plugins.md +256 -256
  87. package/comandos/swl/predecir.md +169 -169
  88. package/comandos/swl/reflect-skills.md +125 -125
  89. package/comandos/swl/release.md +450 -450
  90. package/comandos/swl/revisar-impacto.md +201 -201
  91. package/comandos/swl/revisar.md +330 -330
  92. package/comandos/swl/seguridad.md +189 -189
  93. package/comandos/swl/sesiones.md +200 -200
  94. package/comandos/swl/skill-search.md +113 -113
  95. package/comandos/swl/status.md +345 -345
  96. package/comandos/swl/verificar.md +817 -817
  97. package/comandos/swl/wiki.md +620 -620
  98. package/gateway/cron/jobs.example.json +12 -12
  99. package/gateway/lib/event-channel.js +191 -191
  100. package/habilidades/agent-deep-links/SKILL.md +148 -148
  101. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -294
  102. package/habilidades/backend-async-postgres-testing/SKILL.md +216 -215
  103. package/habilidades/backend-error-design/SKILL.md +221 -221
  104. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  105. package/habilidades/calidad-anti-patrones-universales/SKILL.md +105 -1
  106. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  107. package/habilidades/calidad-mutation-testing/SKILL.md +25 -1
  108. package/habilidades/changelog-generator/SKILL.md +174 -174
  109. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  110. package/habilidades/ci-cd-pipelines/SKILL.md +5 -1
  111. package/habilidades/compactacion-contexto/SKILL.md +2 -1
  112. package/habilidades/contenedores-docker/SKILL.md +4 -2
  113. package/habilidades/css-moderno/SKILL.md +7 -1
  114. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  115. package/habilidades/doubt-driven-review/SKILL.md +207 -207
  116. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  117. package/habilidades/drift-detection/SKILL.md +1 -1
  118. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  119. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  120. package/habilidades/extractor-de-aprendizajes/SKILL.md +12 -2
  121. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  122. package/habilidades/git-worktrees-paralelo/SKILL.md +19 -1
  123. package/habilidades/harness-claude-code/SKILL.md +315 -314
  124. package/habilidades/instalar-sistema/SKILL.md +227 -227
  125. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  126. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  127. package/habilidades/perfil-usuario/SKILL.md +200 -200
  128. package/habilidades/planear-fase/SKILL.md +358 -358
  129. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  130. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  131. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  132. package/habilidades/proceso-dynamic-workflows/SKILL.md +60 -0
  133. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  134. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  135. package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -147
  136. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  137. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  138. package/habilidades/release-semver/SKILL.md +2 -2
  139. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  140. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  141. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  142. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  143. package/habilidades/tdd-workflow/SKILL.md +749 -749
  144. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  145. package/hooks/agente-lifecycle.js +1 -1
  146. package/hooks/audit-trail.js +1 -1
  147. package/hooks/auto-consolidacion.js +1 -1
  148. package/hooks/calidad-pre-commit.js +159 -10
  149. package/hooks/captura-acciones-post.js +1 -1
  150. package/hooks/captura-acciones-session.js +1 -1
  151. package/hooks/captura-feedback-usuario.js +1 -1
  152. package/hooks/ciclo-evolucion-subagente.js +26 -26
  153. package/hooks/ciclo-evolucion.js +26 -26
  154. package/hooks/contexto-iteracion.js +1 -1
  155. package/hooks/degradacion-instintos.js +1 -1
  156. package/hooks/grafo-contexto.js +1 -1
  157. package/hooks/guardrail-modelo.js +1 -1
  158. package/hooks/inbox-aviso.js +1 -1
  159. package/hooks/inyeccion-contexto.js +1 -1
  160. package/hooks/lib/agent-matcher.js +1 -1
  161. package/hooks/lib/agent-routing.js +1 -1
  162. package/hooks/lib/auto-consolidator.js +335 -335
  163. package/hooks/lib/captura-acciones.js +1 -1
  164. package/hooks/lib/ciclo-evolucion.js +47 -47
  165. package/hooks/lib/deep-links.js +185 -185
  166. package/hooks/lib/error-classifier.js +308 -308
  167. package/hooks/lib/etapa-metricas.js +1 -1
  168. package/hooks/lib/evolution-tracker.js +1 -1
  169. package/hooks/lib/gateway-notify.js +193 -193
  170. package/hooks/lib/mcp-health.js +1 -1
  171. package/hooks/lib/notificacion-formato.js +92 -0
  172. package/hooks/lib/nudge-tracker.js +1 -1
  173. package/hooks/lib/otlp-exporter.js +1 -1
  174. package/hooks/lib/propose-step.js +1 -1
  175. package/hooks/lib/provenance-tracker.js +191 -191
  176. package/hooks/lib/raiz-proyecto.js +158 -102
  177. package/hooks/lib/resource-quota.js +122 -122
  178. package/hooks/lib/retry-jitter.js +165 -165
  179. package/hooks/lib/run-log.js +1 -1
  180. package/hooks/lib/security-net.js +201 -201
  181. package/hooks/lib/singleton-guard.js +20 -13
  182. package/hooks/lib/skill-auditor.js +588 -588
  183. package/hooks/lib/sync-status.js +228 -228
  184. package/hooks/lib/taint-tracker.js +107 -107
  185. package/hooks/lib/telegram-cliente.js +11 -3
  186. package/hooks/lib/text-similarity.js +241 -241
  187. package/hooks/lib/toon-compressor.js +245 -245
  188. package/hooks/notificacion-telegram.js +17 -13
  189. package/hooks/preservar-estado-pre-compact.js +1 -1
  190. package/hooks/registro-turnos.js +1 -1
  191. package/hooks/resumen-sesion.js +1 -1
  192. package/hooks/risk-scoring.js +1 -1
  193. package/hooks/session-briefing.js +13 -5
  194. package/hooks/spec-gate.js +1 -1
  195. package/hooks/sugerir-regenerar-inventario.js +1 -1
  196. package/hooks/tdd-gate.js +1 -1
  197. package/hooks/telemetria-agentes.js +1 -1
  198. package/hooks/telemetria-skill-routing.js +1 -1
  199. package/hooks/tracking-costos.js +1 -1
  200. package/hooks/validar-formato-post-subagente.js +1 -1
  201. package/hooks/validar-intent-spec.js +1 -1
  202. package/hooks/validar-planning-paths.js +1 -1
  203. package/instintos/autonomia.yaml +27 -27
  204. package/instintos/prompt-appendices.yaml +57 -57
  205. package/llms.txt +29 -29
  206. package/manifiestos/agent-output-schemas.json +57 -57
  207. package/manifiestos/canonical-hashes.json +6250 -5257
  208. package/manifiestos/harness-ir.json +47536 -0
  209. package/manifiestos/modulos.json +1429 -1428
  210. package/manifiestos/policy-bundle.json +2065 -0
  211. package/manifiestos/policy-corpus-w2.json +3926 -0
  212. package/manifiestos/runtime-adapters-core3.json +208 -0
  213. package/manifiestos/runtime-conformance.json +139 -0
  214. package/manifiestos/skills-lock.json +1275 -1275
  215. package/package.json +94 -94
  216. package/plantillas/auditor-veto-template.md +105 -105
  217. package/plantillas/github-workflows/release-please.yml +44 -44
  218. package/plantillas/github-workflows/swl-ci.yml +107 -107
  219. package/plantillas/github-workflows/swl-security.yml +51 -51
  220. package/plugin.json +369 -369
  221. package/reglas/accesibilidad.md +10 -10
  222. package/reglas/auditorias-documentales-estructurales.md +7 -7
  223. package/reglas/cloud-infra.md +8 -8
  224. package/reglas/consultar-vault-primero.md +195 -195
  225. package/reglas/git-workflow.md +1 -0
  226. package/reglas/hooks.md +6 -6
  227. package/reglas/intent-engineering.md +218 -218
  228. package/reglas/markitdown.md +8 -8
  229. package/reglas/monitor-ci.md +12 -0
  230. package/reglas/patrones.md +6 -6
  231. package/reglas/testing.md +7 -7
  232. package/reglas/tests-cleanup.md +224 -224
  233. package/schemas/agent-message.schema.json +73 -73
  234. package/schemas/agent-output-implementacion.schema.json +114 -114
  235. package/schemas/agent-output-planificacion.schema.json +150 -150
  236. package/schemas/agent-output-review.schema.json +98 -98
  237. package/schemas/diary-entry.schema.json +112 -112
  238. package/schemas/gate-state.schema.json +76 -0
  239. package/schemas/harness-ir.schema.json +369 -0
  240. package/schemas/hook-profiles.schema.json +54 -54
  241. package/schemas/hooks-config.schema.json +89 -89
  242. package/schemas/legacy-gates.schema.json +45 -0
  243. package/schemas/modulos.schema.json +38 -38
  244. package/schemas/perfiles.schema.json +36 -36
  245. package/schemas/plugin.schema.json +77 -77
  246. package/schemas/policy-bundle.schema.json +140 -0
  247. package/schemas/policy-enforcement.schema.json +117 -0
  248. package/schemas/policy-operation.schema.json +261 -0
  249. package/schemas/runtime-adapter.schema.json +176 -0
  250. package/schemas/runtime-build-attestation.schema.json +100 -0
  251. package/schemas/runtime-conformance.schema.json +239 -0
  252. package/schemas/runtime-diagnostic.schema.json +395 -0
  253. package/schemas/skill-evals.schema.json +119 -119
  254. package/schemas/skill-frontmatter.schema.json +245 -245
  255. package/schemas/w4-certification-request.schema.json +72 -0
  256. package/schemas/w4-certification-verdict.schema.json +224 -0
  257. package/schemas/w4-corpus.schema.json +172 -0
  258. package/schemas/w4-mutation-report.schema.json +116 -0
  259. package/schemas/w4-replay-result.schema.json +164 -0
  260. package/schemas/w4-scoring-report.schema.json +89 -0
  261. package/scripts/audit-tools/audit-history.js +330 -330
  262. package/scripts/audit-tools/bundle-tracker.js +290 -290
  263. package/scripts/audit-tools/canary-monitor.js +352 -352
  264. package/scripts/audit-tools/code-profiler.js +605 -605
  265. package/scripts/audit-tools/dep-doctor.js +320 -320
  266. package/scripts/audit-tools/env-validator.js +206 -206
  267. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  268. package/scripts/audit-tools/lib/output.js +23 -23
  269. package/scripts/audit-tools/migration-checker.js +392 -392
  270. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  271. package/scripts/auditar-clases-conocidas.js +134 -134
  272. package/scripts/bootstrap-instintos.js +88 -14
  273. package/scripts/canario-hooks.js +166 -166
  274. package/scripts/cli/aprobar-plan.js +73 -73
  275. package/scripts/cli/autonomia.js +23 -23
  276. package/scripts/cli/benchmark-memoria.js +37 -37
  277. package/scripts/cli/briefing.js +23 -23
  278. package/scripts/cli/ciclo-autonomo.js +73 -73
  279. package/scripts/cli/ciclo-evolucion.js +26 -26
  280. package/scripts/cli/ciclo-fase-b.js +102 -102
  281. package/scripts/cli/derivar-feature-list.js +25 -25
  282. package/scripts/cli/detectar-host.js +27 -27
  283. package/scripts/cli/diary-entry.js +69 -69
  284. package/scripts/cli/execution-state.js +18 -18
  285. package/scripts/cli/gateway-notify.js +41 -41
  286. package/scripts/cli/guardrail-metrics.js +39 -39
  287. package/scripts/cli/liberar-fase.js +42 -42
  288. package/scripts/cli/mark-evolved.js +56 -56
  289. package/scripts/cli/memoria-search.js +69 -69
  290. package/scripts/cli/metricas-dora.js +26 -26
  291. package/scripts/cli/near-duplicate.js +55 -55
  292. package/scripts/cli/notificaciones.js +123 -123
  293. package/scripts/cli/nudge-accionar.js +39 -39
  294. package/scripts/cli/propose-step.js +29 -29
  295. package/scripts/cli/run-eval.js +38 -38
  296. package/scripts/cli/schedule-parse.js +19 -19
  297. package/scripts/cli/sugerir-modelo.js +20 -20
  298. package/scripts/cli/verificar-plan.js +36 -36
  299. package/scripts/cli/verificar-trazabilidad.js +35 -35
  300. package/scripts/comandos/install-asistido.js +8 -7
  301. package/scripts/configurar-branch-protection.js +418 -418
  302. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  303. package/scripts/doctor.js +61 -13
  304. package/scripts/evidencia-valor.js +101 -101
  305. package/scripts/field-report.js +16 -16
  306. package/scripts/generar-checklists-consolidados.js +273 -273
  307. package/scripts/generar-claims-runtime.js +1342 -0
  308. package/scripts/generar-harness-ir.js +257 -0
  309. package/scripts/generar-inventario.js +52 -54
  310. package/scripts/generar-policy-bundle.js +202 -0
  311. package/scripts/instalador.js +39 -7
  312. package/scripts/lib/activar-hooks-proyecto.js +116 -116
  313. package/scripts/lib/approval-receipts.js +190 -0
  314. package/scripts/lib/artefactos-python.js +43 -43
  315. package/scripts/lib/benchmark-metrics.js +160 -160
  316. package/scripts/lib/budget-enforcer.js +252 -252
  317. package/scripts/lib/certificacion-loop-state.js +421 -0
  318. package/scripts/lib/ci-reader.js +193 -193
  319. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -174
  320. package/scripts/lib/ciclo-autonomo/config.js +165 -165
  321. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -174
  322. package/scripts/lib/ciclo-autonomo/fallback.js +77 -77
  323. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -139
  324. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -112
  325. package/scripts/lib/ciclo-autonomo/index.js +301 -301
  326. package/scripts/lib/ciclo-autonomo/lock.js +124 -124
  327. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -122
  328. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -240
  329. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -248
  330. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -190
  331. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +591 -535
  332. package/scripts/lib/clasificar-directorio.js +92 -0
  333. package/scripts/lib/contadores-inventario.js +217 -217
  334. package/scripts/lib/detectar-host-swl.js +175 -175
  335. package/scripts/lib/detectar-runtime.js +29 -20
  336. package/scripts/lib/detectar-stack-detallado.js +307 -307
  337. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  338. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  339. package/scripts/lib/eval-metrics-store.js +218 -218
  340. package/scripts/lib/eval-quality.js +171 -171
  341. package/scripts/lib/eval-schemas.js +144 -144
  342. package/scripts/lib/eval-self-correct.js +106 -106
  343. package/scripts/lib/eval-validator.js +185 -185
  344. package/scripts/lib/evidence-verifier.js +192 -0
  345. package/scripts/lib/evidencia-release.js +322 -322
  346. package/scripts/lib/evidencia-valor.js +228 -228
  347. package/scripts/lib/expandir-targets.js +71 -71
  348. package/scripts/lib/frontmatter-canonico.js +509 -0
  349. package/scripts/lib/gate-engine.js +871 -0
  350. package/scripts/lib/gate-hooks-requires.js +249 -249
  351. package/scripts/lib/gate-licencias.js +212 -212
  352. package/scripts/lib/git-config-preflight.js +48 -0
  353. package/scripts/lib/git-metricas.js +257 -257
  354. package/scripts/lib/harness-ir.js +778 -0
  355. package/scripts/lib/harness-source-snapshot.js +309 -0
  356. package/scripts/lib/integrity-ledger.js +1147 -0
  357. package/scripts/lib/jaccard-similarity.js +98 -98
  358. package/scripts/lib/legacy-gate-migration.js +324 -0
  359. package/scripts/lib/limpiar-basura-global.js +204 -0
  360. package/scripts/lib/longmemeval-runner.js +125 -125
  361. package/scripts/lib/metricas-dora.js +204 -204
  362. package/scripts/lib/notificaciones-telegram.js +1 -0
  363. package/scripts/lib/npm-version.js +1 -0
  364. package/scripts/lib/paquetes-conocidos.js +50 -50
  365. package/scripts/lib/plan-lock.js +61 -13
  366. package/scripts/lib/policy-broker.js +338 -0
  367. package/scripts/lib/policy-bundle.js +342 -0
  368. package/scripts/lib/policy-context-provider.js +310 -0
  369. package/scripts/lib/policy-contract.js +479 -0
  370. package/scripts/lib/policy-verifier-utils.js +65 -0
  371. package/scripts/lib/pr-analyzer.js +399 -399
  372. package/scripts/lib/principal-verifier.js +178 -0
  373. package/scripts/lib/prompt-builder.js +264 -264
  374. package/scripts/lib/resolver-plan-fase.js +37 -37
  375. package/scripts/lib/rrf-fusion.js +175 -175
  376. package/scripts/lib/runtime-adapter-contract.js +267 -0
  377. package/scripts/lib/runtime-artifact-verifier.js +426 -0
  378. package/scripts/lib/runtime-build-attestation.js +127 -0
  379. package/scripts/lib/runtime-bundle-installer.js +586 -0
  380. package/scripts/lib/runtime-compiler.js +327 -0
  381. package/scripts/lib/runtime-conformance.js +202 -0
  382. package/scripts/lib/runtime-doctor-core3.js +567 -0
  383. package/scripts/lib/runtime-doctor-input.js +59 -0
  384. package/scripts/lib/runtime-operation-adapter.js +267 -0
  385. package/scripts/lib/schema-version.js +164 -164
  386. package/scripts/lib/semantic-search.js +252 -252
  387. package/scripts/lib/signed-envelope.js +545 -0
  388. package/scripts/lib/single-use-store.js +359 -0
  389. package/scripts/lib/skills-externas.js +31 -0
  390. package/scripts/lib/toml-merge.js +204 -204
  391. package/scripts/lib/transformadores/codex.js +15 -8
  392. package/scripts/lib/transformadores/gemini.js +79 -5
  393. package/scripts/lib/w4-attestation-adapter.js +158 -0
  394. package/scripts/lib/w4-canario.js +337 -0
  395. package/scripts/lib/w4-claims.js +182 -0
  396. package/scripts/lib/w4-corpus-generador.js +542 -0
  397. package/scripts/lib/w4-gate-c5.js +115 -0
  398. package/scripts/lib/w4-harness-bajo-prueba.js +155 -0
  399. package/scripts/lib/w4-matriz-combos.js +55 -0
  400. package/scripts/lib/w4-motor-mutacion.js +1348 -0
  401. package/scripts/lib/w4-motor-replay.js +735 -0
  402. package/scripts/lib/w4-pin-origen.js +54 -0
  403. package/scripts/lib/w4-publicar-request.js +132 -0
  404. package/scripts/lib/w4-revocacion.js +62 -0
  405. package/scripts/lib/w4-runtimes-core3.js +38 -0
  406. package/scripts/lib/w4-scorer-certificacion.js +692 -0
  407. package/scripts/lib/w4-superficie-candidato.js +49 -0
  408. package/scripts/lib/w4-veredicto.js +452 -0
  409. package/scripts/lib/w4-verificar-veredicto.js +302 -0
  410. package/scripts/limpiar-artefactos-python.js +131 -131
  411. package/scripts/mcp-server/auth.js +105 -105
  412. package/scripts/mcp-server/cache.js +106 -106
  413. package/scripts/migrar-csv-a-array.js +168 -168
  414. package/scripts/migrar-fase-dominio.js +200 -200
  415. package/scripts/migrar-gates-legacy.js +108 -0
  416. package/scripts/publicar-certification-request.js +115 -0
  417. package/scripts/runtime-doctor.js +107 -0
  418. package/scripts/tui/componentes/selector-multi.js +189 -189
  419. package/scripts/tui/componentes/selector-unico.js +158 -158
  420. package/scripts/tui/ejecutores.js +375 -375
  421. package/scripts/tui/lib/colores.js +129 -129
  422. package/scripts/tui/lib/render.js +264 -264
  423. package/scripts/tui/lib/teclas.js +113 -113
  424. package/scripts/tui/pantallas/install-wizard.js +408 -403
  425. package/scripts/tui/pantallas/menu-principal.js +52 -52
  426. package/scripts/tui/pantallas/progreso.js +274 -274
  427. package/scripts/tui/pantallas/resumen.js +132 -132
  428. package/scripts/validar-userland-vacio.js +110 -110
  429. package/scripts/verificar-aislamiento-swl-eval.js +87 -0
  430. package/scripts/verificar-empaquetado-downstream.js +375 -0
  431. package/scripts/verificar-loop-constructor.js +215 -0
  432. package/scripts/verificar-trazabilidad.js +13 -6
  433. package/scripts/verificar-veredicto-real.js +84 -0
  434. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +0 -53
  435. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +0 -372
@@ -1,200 +1,200 @@
1
- ---
2
- name: swl:sesiones
3
- description: Gestiona el historial de sesiones SWL (listar, resumir, inspeccionar la sesión activa y generar continue-here.md desde cualquier sesión pasada)
4
- allowed_tools: ["Read", "Write", "Bash", "Glob"]
5
- ---
6
-
7
- # /swl:sesiones — Gestionar historial de sesiones SWL
8
-
9
- Administra las sesiones de trabajo persistidas en `.planning/sessions/`.
10
- Cada sesión registra tool calls, costo estimado, archivos modificados y agentes invocados.
11
-
12
- ## Uso
13
-
14
- ```
15
- /swl:sesiones — Lista las últimas 10 sesiones
16
- /swl:sesiones list [N] — Lista las últimas N sesiones
17
- /swl:sesiones resume [id] — Genera continue-here.md desde una sesión
18
- /swl:sesiones inspect [id] — Muestra detalle completo de una sesión
19
- /swl:sesiones active — Muestra la sesión activa actual
20
- /swl:sesiones wake [id] — Reconstruye estado de sesión desde eventos JSONL (Managed Agents wake pattern)
21
- ```
22
-
23
- ## Comportamiento por subcomando
24
-
25
- ### list [N]
26
-
27
- 1. Leer todos los archivos `ses-*.json` en `.planning/sessions/`.
28
- 2. Ordenar por nombre de archivo descendente (el nombre encode el timestamp).
29
- 3. Aplicar límite: 10 por defecto, o el N proporcionado.
30
- 4. Mostrar tabla compacta:
31
-
32
- ```
33
- | ID | Fecha | Modo | Tool Calls | Costo | Estado |
34
- |---------------------|------------|------|------------|--------|-----------|
35
- | ses-20260331-143000 | 2026-03-31 | dev | 47 | $1.87 | completed |
36
- | ses-20260331-093000 | 2026-03-31 | dev | 23 | $0.69 | completed |
37
- ```
38
-
39
- Si `.planning/sessions/` no existe o está vacío, mostrar:
40
- ```
41
- No hay sesiones registradas en .planning/sessions/
42
- ```
43
-
44
- ### resume [id]
45
-
46
- 1. Si no se proporciona `id`, usar la sesión de `.planning/sessions/latest.json`.
47
- 2. Si se proporciona `id`, buscar el archivo `ses-{id}.json` o `{id}.json` en `.planning/sessions/`.
48
- 3. Leer el objeto de sesión.
49
- 4. Construir el contenido del continue-here.md con esta estructura:
50
-
51
- ```markdown
52
- # Continue Here — {id}
53
-
54
- **Sesión**: {id}
55
- **Inicio**: {startTime}
56
- **Duración**: {N min | en progreso}
57
- **Modo**: {mode}
58
- **Tool calls**: {toolCalls}
59
- **Costo estimado**: ${costEstimated} USD
60
-
61
- ## Archivos modificados
62
- - ruta/archivo1
63
- - ruta/archivo2
64
-
65
- ## Agentes invocados
66
- - nombre-agente-1
67
-
68
- ## Herramientas más usadas
69
- - Bash: 21 llamadas
70
- - Read: 15 llamadas
71
-
72
- ## Resumen
73
- {summary o "(sin resumen)"}
74
- ```
75
-
76
- 5. Escribir el contenido en `.planning/continue-here.md`.
77
- 6. Confirmar al usuario:
78
- ```
79
- continue-here.md generado desde la sesión {id}.
80
- Archivo: .planning/continue-here.md
81
- ```
82
-
83
- ### inspect [id]
84
-
85
- 1. Localizar el archivo de sesión igual que en `resume`.
86
- 2. Mostrar TODOS los campos del JSON con formato legible:
87
-
88
- ```
89
- Sesión: ses-20260331-143000
90
- Estado: completed
91
- Inicio: 2026-03-31T14:30:00.000Z
92
- Fin: 2026-03-31T16:45:00.000Z
93
- Modo: dev
94
-
95
- Métricas generales:
96
- Tool calls: 47
97
- Tokens estimados: 23,500
98
- Costo estimado: $1.87 USD
99
-
100
- Herramientas:
101
- Bash 21
102
- Read 15
103
- Write 6
104
- Edit 3
105
- Grep 2
106
-
107
- Modelos:
108
- claude-sonnet-5 47
109
-
110
- Archivos modificados (6):
111
- hooks/lib/session-store.js
112
- comandos/swl/sesiones.md
113
- ...
114
-
115
- Agentes invocados (2):
116
- planificador-swl
117
- backend-python-swl
118
-
119
- Resumen:
120
- (sin resumen)
121
- ```
122
-
123
- ### active
124
-
125
- 1. Leer `.planning/sessions/latest.json` para obtener el ID de la sesión activa.
126
- 2. Leer el archivo de sesión correspondiente.
127
- 3. Mostrar las métricas en tiempo real con el mismo formato de `inspect`.
128
- 4. Si no hay sesión activa:
129
- ```
130
- No hay sesión activa en este momento.
131
- Para iniciar una nueva sesión, el sistema la crea automáticamente al primer tool call.
132
- ```
133
-
134
- ### wake [id]
135
-
136
- Reconstruye el estado de una sesión desde su log de eventos JSONL en `.planning/runs/`.
137
- Implementa el patrón `wake(sessionId)` de Managed Agents: permite retomar sesiones
138
- interrumpidas sin recargar el contexto completo en la ventana del modelo.
139
-
140
- 1. Si no se proporciona `id`, usar el ID de la sesión activa en `latest.json`.
141
- 2. Buscar el archivo `.planning/runs/{id}.jsonl`.
142
- 3. Leer el módulo `hooks/lib/run-log.js` para acceder a `wakeSession(id)`.
143
- 4. Mostrar el estado reconstruido:
144
-
145
- ```
146
- Sesión reconstruida: {id}
147
- Estado: {active|completed|aborted|unknown}
148
-
149
- Inicio: {startTs}
150
- Último evento: {lastTs}
151
- Tool calls: {toolCalls}
152
- Último tool: {lastToolCall}
153
- Abortada: {sí|no}
154
-
155
- Agentes invocados ({N}):
156
- - planificador-swl
157
- - implementador-swl
158
-
159
- Skills cargados ({N}):
160
- - ejecutar-fase
161
- - git-workflow
162
-
163
- Contexto disponible en: .planning/runs/{id}.jsonl
164
- Para retomar: /swl:sesiones resume {id}
165
- ```
166
-
167
- 5. Si el archivo JSONL no existe pero sí existe `ses-{id}.json`, mostrar:
168
- ```
169
- Run log no disponible para {id}. Usa /swl:sesiones inspect {id} para ver la sesión.
170
- ```
171
-
172
- ## Resolución de ID parcial
173
-
174
- Cuando el usuario proporciona un ID parcial (ej: `143000` o `20260331`), buscar el
175
- primer archivo `ses-*.json` cuyo nombre contenga ese fragmento. Si hay múltiples
176
- coincidencias, listarlas y pedir al usuario que especifique.
177
-
178
- ## Datos persistidos por sesión
179
-
180
- Cada archivo `ses-YYYYMMDD-HHmmss.json` contiene:
181
-
182
- | Campo | Tipo | Descripción |
183
- |------------------|----------|----------------------------------------------|
184
- | id | string | Identificador único de la sesión |
185
- | startTime | string | ISO timestamp de inicio |
186
- | endTime | string | ISO timestamp de fin (null si activa) |
187
- | status | string | `active` o `completed` |
188
- | mode | string | Modo activo (`dev`, `review`, `research`) |
189
- | toolCalls | number | Total de invocaciones de herramientas |
190
- | tokensEstimated | number | Suma de tokens estimados |
191
- | costEstimated | number | Costo acumulado en USD |
192
- | filesChanged | string[] | Rutas de archivos modificados (deduplicados) |
193
- | agentsInvoked | string[] | Nombres de agentes invocados (deduplicados) |
194
- | summary | string | Resumen generado al cerrar la sesión |
195
- | metricas | object | `{ herramientas: {}, modelos: {} }` |
196
-
197
- ## Directorio de sesiones
198
-
199
- `.planning/sessions/` — creado automáticamente por `session-store.js`.
200
- `latest.json` — puntero lógico a la sesión activa: `{ currentSession, path }`.
1
+ ---
2
+ name: swl:sesiones
3
+ description: Gestiona el historial de sesiones SWL (listar, resumir, inspeccionar la sesión activa y generar continue-here.md desde cualquier sesión pasada)
4
+ allowed_tools: ["Read", "Write", "Bash", "Glob"]
5
+ ---
6
+
7
+ # /swl:sesiones — Gestionar historial de sesiones SWL
8
+
9
+ Administra las sesiones de trabajo persistidas en `.planning/sessions/`.
10
+ Cada sesión registra tool calls, costo estimado, archivos modificados y agentes invocados.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /swl:sesiones — Lista las últimas 10 sesiones
16
+ /swl:sesiones list [N] — Lista las últimas N sesiones
17
+ /swl:sesiones resume [id] — Genera continue-here.md desde una sesión
18
+ /swl:sesiones inspect [id] — Muestra detalle completo de una sesión
19
+ /swl:sesiones active — Muestra la sesión activa actual
20
+ /swl:sesiones wake [id] — Reconstruye estado de sesión desde eventos JSONL (Managed Agents wake pattern)
21
+ ```
22
+
23
+ ## Comportamiento por subcomando
24
+
25
+ ### list [N]
26
+
27
+ 1. Leer todos los archivos `ses-*.json` en `.planning/sessions/`.
28
+ 2. Ordenar por nombre de archivo descendente (el nombre encode el timestamp).
29
+ 3. Aplicar límite: 10 por defecto, o el N proporcionado.
30
+ 4. Mostrar tabla compacta:
31
+
32
+ ```
33
+ | ID | Fecha | Modo | Tool Calls | Costo | Estado |
34
+ |---------------------|------------|------|------------|--------|-----------|
35
+ | ses-20260331-143000 | 2026-03-31 | dev | 47 | $1.87 | completed |
36
+ | ses-20260331-093000 | 2026-03-31 | dev | 23 | $0.69 | completed |
37
+ ```
38
+
39
+ Si `.planning/sessions/` no existe o está vacío, mostrar:
40
+ ```
41
+ No hay sesiones registradas en .planning/sessions/
42
+ ```
43
+
44
+ ### resume [id]
45
+
46
+ 1. Si no se proporciona `id`, usar la sesión de `.planning/sessions/latest.json`.
47
+ 2. Si se proporciona `id`, buscar el archivo `ses-{id}.json` o `{id}.json` en `.planning/sessions/`.
48
+ 3. Leer el objeto de sesión.
49
+ 4. Construir el contenido del continue-here.md con esta estructura:
50
+
51
+ ```markdown
52
+ # Continue Here — {id}
53
+
54
+ **Sesión**: {id}
55
+ **Inicio**: {startTime}
56
+ **Duración**: {N min | en progreso}
57
+ **Modo**: {mode}
58
+ **Tool calls**: {toolCalls}
59
+ **Costo estimado**: ${costEstimated} USD
60
+
61
+ ## Archivos modificados
62
+ - ruta/archivo1
63
+ - ruta/archivo2
64
+
65
+ ## Agentes invocados
66
+ - nombre-agente-1
67
+
68
+ ## Herramientas más usadas
69
+ - Bash: 21 llamadas
70
+ - Read: 15 llamadas
71
+
72
+ ## Resumen
73
+ {summary o "(sin resumen)"}
74
+ ```
75
+
76
+ 5. Escribir el contenido en `.planning/continue-here.md`.
77
+ 6. Confirmar al usuario:
78
+ ```
79
+ continue-here.md generado desde la sesión {id}.
80
+ Archivo: .planning/continue-here.md
81
+ ```
82
+
83
+ ### inspect [id]
84
+
85
+ 1. Localizar el archivo de sesión igual que en `resume`.
86
+ 2. Mostrar TODOS los campos del JSON con formato legible:
87
+
88
+ ```
89
+ Sesión: ses-20260331-143000
90
+ Estado: completed
91
+ Inicio: 2026-03-31T14:30:00.000Z
92
+ Fin: 2026-03-31T16:45:00.000Z
93
+ Modo: dev
94
+
95
+ Métricas generales:
96
+ Tool calls: 47
97
+ Tokens estimados: 23,500
98
+ Costo estimado: $1.87 USD
99
+
100
+ Herramientas:
101
+ Bash 21
102
+ Read 15
103
+ Write 6
104
+ Edit 3
105
+ Grep 2
106
+
107
+ Modelos:
108
+ claude-sonnet-5 47
109
+
110
+ Archivos modificados (6):
111
+ hooks/lib/session-store.js
112
+ comandos/swl/sesiones.md
113
+ ...
114
+
115
+ Agentes invocados (2):
116
+ planificador-swl
117
+ backend-python-swl
118
+
119
+ Resumen:
120
+ (sin resumen)
121
+ ```
122
+
123
+ ### active
124
+
125
+ 1. Leer `.planning/sessions/latest.json` para obtener el ID de la sesión activa.
126
+ 2. Leer el archivo de sesión correspondiente.
127
+ 3. Mostrar las métricas en tiempo real con el mismo formato de `inspect`.
128
+ 4. Si no hay sesión activa:
129
+ ```
130
+ No hay sesión activa en este momento.
131
+ Para iniciar una nueva sesión, el sistema la crea automáticamente al primer tool call.
132
+ ```
133
+
134
+ ### wake [id]
135
+
136
+ Reconstruye el estado de una sesión desde su log de eventos JSONL en `.planning/runs/`.
137
+ Implementa el patrón `wake(sessionId)` de Managed Agents: permite retomar sesiones
138
+ interrumpidas sin recargar el contexto completo en la ventana del modelo.
139
+
140
+ 1. Si no se proporciona `id`, usar el ID de la sesión activa en `latest.json`.
141
+ 2. Buscar el archivo `.planning/runs/{id}.jsonl`.
142
+ 3. Leer el módulo `hooks/lib/run-log.js` para acceder a `wakeSession(id)`.
143
+ 4. Mostrar el estado reconstruido:
144
+
145
+ ```
146
+ Sesión reconstruida: {id}
147
+ Estado: {active|completed|aborted|unknown}
148
+
149
+ Inicio: {startTs}
150
+ Último evento: {lastTs}
151
+ Tool calls: {toolCalls}
152
+ Último tool: {lastToolCall}
153
+ Abortada: {sí|no}
154
+
155
+ Agentes invocados ({N}):
156
+ - planificador-swl
157
+ - implementador-swl
158
+
159
+ Skills cargados ({N}):
160
+ - ejecutar-fase
161
+ - git-workflow
162
+
163
+ Contexto disponible en: .planning/runs/{id}.jsonl
164
+ Para retomar: /swl:sesiones resume {id}
165
+ ```
166
+
167
+ 5. Si el archivo JSONL no existe pero sí existe `ses-{id}.json`, mostrar:
168
+ ```
169
+ Run log no disponible para {id}. Usa /swl:sesiones inspect {id} para ver la sesión.
170
+ ```
171
+
172
+ ## Resolución de ID parcial
173
+
174
+ Cuando el usuario proporciona un ID parcial (ej: `143000` o `20260331`), buscar el
175
+ primer archivo `ses-*.json` cuyo nombre contenga ese fragmento. Si hay múltiples
176
+ coincidencias, listarlas y pedir al usuario que especifique.
177
+
178
+ ## Datos persistidos por sesión
179
+
180
+ Cada archivo `ses-YYYYMMDD-HHmmss.json` contiene:
181
+
182
+ | Campo | Tipo | Descripción |
183
+ |------------------|----------|----------------------------------------------|
184
+ | id | string | Identificador único de la sesión |
185
+ | startTime | string | ISO timestamp de inicio |
186
+ | endTime | string | ISO timestamp de fin (null si activa) |
187
+ | status | string | `active` o `completed` |
188
+ | mode | string | Modo activo (`dev`, `review`, `research`) |
189
+ | toolCalls | number | Total de invocaciones de herramientas |
190
+ | tokensEstimated | number | Suma de tokens estimados |
191
+ | costEstimated | number | Costo acumulado en USD |
192
+ | filesChanged | string[] | Rutas de archivos modificados (deduplicados) |
193
+ | agentsInvoked | string[] | Nombres de agentes invocados (deduplicados) |
194
+ | summary | string | Resumen generado al cerrar la sesión |
195
+ | metricas | object | `{ herramientas: {}, modelos: {} }` |
196
+
197
+ ## Directorio de sesiones
198
+
199
+ `.planning/sessions/` — creado automáticamente por `session-store.js`.
200
+ `latest.json` — puntero lógico a la sesión activa: `{ currentSession, path }`.
@@ -1,113 +1,113 @@
1
- ---
2
- name: swl:skill-search
3
- description: Busca habilidades (skills) SWL disponibles por nombre o descripción. Genera o reutiliza el índice auto-descubierto de habilidades/*/SKILL.md. Cargar cuando el usuario quiera explorar skills disponibles, verificar si existe una habilidad concreta, o repasar el catálogo completo.
4
- allowed_tools: ["Bash", "Read"]
5
- ---
6
-
7
- # /swl:skill-search — Explorar habilidades SWL
8
-
9
- Muestra el catálogo de habilidades disponibles en el sistema SWL.
10
- El índice se genera automáticamente leyendo `habilidades/*/SKILL.md`.
11
-
12
- ## Uso
13
-
14
- ```
15
- /swl:skill-search — Lista todas las habilidades
16
- /swl:skill-search <query> — Filtra por nombre o descripción
17
- /swl:skill-search --intent <desc> — Busca por intención (qué quiero hacer)
18
- /swl:skill-search --dominio <dom> — Filtra por dominio (backend, frontend, etc.)
19
- /swl:skill-search --rebuild — Regenera el índice desde disco
20
- ```
21
-
22
- ## Paso 1 — Verificar disponibilidad del script
23
-
24
- ```bash
25
- ls scripts/lib/skill-discovery.js 2>/dev/null && echo "OK" || echo "FALTA"
26
- ```
27
-
28
- Si falta, indicar al usuario que actualice SWL con `/swl:actualizar`.
29
-
30
- ## Paso 2 — Ejecutar búsqueda o listar todo
31
-
32
- ### Sin query (catálogo completo)
33
-
34
- ```bash
35
- npx -y @saulwade/swl-ses@latest skill-discovery
36
- ```
37
-
38
- ### Con query (búsqueda filtrada)
39
-
40
- ```bash
41
- npx -y @saulwade/swl-ses@latest skill-discovery "<query>"
42
- ```
43
-
44
- Ejemplo: `npx -y @saulwade/swl-ses@latest skill-discovery "typescript"` muestra skills de TypeScript.
45
-
46
- ### Búsqueda por intent (--intent)
47
-
48
- Cuando el usuario describe lo que quiere hacer en lugar de buscar por nombre técnico,
49
- usar la siguiente tabla de sinónimos para mapear intención → skills relevantes:
50
-
51
- | Intención del usuario | Keywords a buscar | Skills probables |
52
- |----------------------|-------------------|------------------|
53
- | "quiero hacer tests" | test, tdd, qa, cobertura | tdd-workflow, testing-* |
54
- | "necesito autenticación" | auth, login, jwt, oauth, sesión | auth-patrones |
55
- | "optimizar rendimiento" | performance, lento, caché, índice | performance-baseline |
56
- | "crear API" | api, rest, endpoint, graphql | api-rest-diseno, fastapi-experto |
57
- | "base de datos" | sql, query, migración, orm | postgresql-experto |
58
- | "desplegar" | deploy, ci, cd, docker, pipeline | ci-cd-pipelines |
59
- | "documentar" | docs, readme, changelog, adr | documentacion-tecnica |
60
- | "seguridad" | owasp, xss, inyección, csrf, secretos | seguridad-skills-ia |
61
- | "frontend" | componente, ui, css, react, angular | angular-moderno, frontend-* |
62
- | "errores" | error, debug, excepción, stack trace | manejo-errores |
63
-
64
- Si `--intent` está presente, buscar en la descripción de cada skill por coincidencia
65
- semántica con la intención expresada, no solo por string matching exacto.
66
-
67
- ### Filtrar por dominio (--dominio)
68
-
69
- Dominios soportados: `backend`, `frontend`, `mobile`, `datos`, `infra`, `seguridad`,
70
- `ux`, `calidad`, `proceso`, `docs`.
71
-
72
- Filtra usando el prefijo de dominio del nombre del skill (ej: `backend-*`, `frontend-*`)
73
- o por las keywords del dominio en la descripción.
74
-
75
- ### Reconstruir índice
76
-
77
- ```bash
78
- npx -y @saulwade/swl-ses@latest skill-discovery --rebuild
79
- ```
80
-
81
- ## Paso 3 — Presentar resultados
82
-
83
- Mostrar la tabla generada por el script, que tiene el formato:
84
-
85
- ```
86
- Habilidades SWL disponibles (N)
87
- ──────────────────────────────────────────────────────────────────────
88
- nombre-de-habilidad v1.0.0 Descripción breve
89
- ...
90
- ──────────────────────────────────────────────────────────────────────
91
- Generado: YYYY-MM-DD | Índice: .planning/skill-index.json
92
- ```
93
-
94
- ## Paso 4 — Cómo usar una habilidad
95
-
96
- Indicar al usuario la sintaxis para cargar la habilidad seleccionada:
97
-
98
- ```
99
- Skill("nombre-de-habilidad")
100
- ```
101
-
102
- Por ejemplo, si encontró `typescript-avanzado`:
103
-
104
- ```
105
- Skill("typescript-avanzado")
106
- ```
107
-
108
- ## Notas
109
-
110
- - El índice persiste en `.planning/skill-index.json` entre sesiones.
111
- - Si una habilidad no tiene frontmatter YAML válido, aparece con su nombre de directorio.
112
- - Para ver detalles de una habilidad específica: `Read("habilidades/<nombre>/SKILL.md")`.
113
- - La descripción del índice viene del campo `description` en el frontmatter YAML del SKILL.md.
1
+ ---
2
+ name: swl:skill-search
3
+ description: Busca habilidades (skills) SWL disponibles por nombre o descripción. Genera o reutiliza el índice auto-descubierto de habilidades/*/SKILL.md. Cargar cuando el usuario quiera explorar skills disponibles, verificar si existe una habilidad concreta, o repasar el catálogo completo.
4
+ allowed_tools: ["Bash", "Read"]
5
+ ---
6
+
7
+ # /swl:skill-search — Explorar habilidades SWL
8
+
9
+ Muestra el catálogo de habilidades disponibles en el sistema SWL.
10
+ El índice se genera automáticamente leyendo `habilidades/*/SKILL.md`.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /swl:skill-search — Lista todas las habilidades
16
+ /swl:skill-search <query> — Filtra por nombre o descripción
17
+ /swl:skill-search --intent <desc> — Busca por intención (qué quiero hacer)
18
+ /swl:skill-search --dominio <dom> — Filtra por dominio (backend, frontend, etc.)
19
+ /swl:skill-search --rebuild — Regenera el índice desde disco
20
+ ```
21
+
22
+ ## Paso 1 — Verificar disponibilidad del script
23
+
24
+ ```bash
25
+ ls scripts/lib/skill-discovery.js 2>/dev/null && echo "OK" || echo "FALTA"
26
+ ```
27
+
28
+ Si falta, indicar al usuario que actualice SWL con `/swl:actualizar`.
29
+
30
+ ## Paso 2 — Ejecutar búsqueda o listar todo
31
+
32
+ ### Sin query (catálogo completo)
33
+
34
+ ```bash
35
+ npx -y @saulwade/swl-ses@latest skill-discovery
36
+ ```
37
+
38
+ ### Con query (búsqueda filtrada)
39
+
40
+ ```bash
41
+ npx -y @saulwade/swl-ses@latest skill-discovery "<query>"
42
+ ```
43
+
44
+ Ejemplo: `npx -y @saulwade/swl-ses@latest skill-discovery "typescript"` muestra skills de TypeScript.
45
+
46
+ ### Búsqueda por intent (--intent)
47
+
48
+ Cuando el usuario describe lo que quiere hacer en lugar de buscar por nombre técnico,
49
+ usar la siguiente tabla de sinónimos para mapear intención → skills relevantes:
50
+
51
+ | Intención del usuario | Keywords a buscar | Skills probables |
52
+ |----------------------|-------------------|------------------|
53
+ | "quiero hacer tests" | test, tdd, qa, cobertura | tdd-workflow, testing-* |
54
+ | "necesito autenticación" | auth, login, jwt, oauth, sesión | auth-patrones |
55
+ | "optimizar rendimiento" | performance, lento, caché, índice | performance-baseline |
56
+ | "crear API" | api, rest, endpoint, graphql | api-rest-diseno, fastapi-experto |
57
+ | "base de datos" | sql, query, migración, orm | postgresql-experto |
58
+ | "desplegar" | deploy, ci, cd, docker, pipeline | ci-cd-pipelines |
59
+ | "documentar" | docs, readme, changelog, adr | documentacion-tecnica |
60
+ | "seguridad" | owasp, xss, inyección, csrf, secretos | seguridad-skills-ia |
61
+ | "frontend" | componente, ui, css, react, angular | angular-moderno, frontend-* |
62
+ | "errores" | error, debug, excepción, stack trace | manejo-errores |
63
+
64
+ Si `--intent` está presente, buscar en la descripción de cada skill por coincidencia
65
+ semántica con la intención expresada, no solo por string matching exacto.
66
+
67
+ ### Filtrar por dominio (--dominio)
68
+
69
+ Dominios soportados: `backend`, `frontend`, `mobile`, `datos`, `infra`, `seguridad`,
70
+ `ux`, `calidad`, `proceso`, `docs`.
71
+
72
+ Filtra usando el prefijo de dominio del nombre del skill (ej: `backend-*`, `frontend-*`)
73
+ o por las keywords del dominio en la descripción.
74
+
75
+ ### Reconstruir índice
76
+
77
+ ```bash
78
+ npx -y @saulwade/swl-ses@latest skill-discovery --rebuild
79
+ ```
80
+
81
+ ## Paso 3 — Presentar resultados
82
+
83
+ Mostrar la tabla generada por el script, que tiene el formato:
84
+
85
+ ```
86
+ Habilidades SWL disponibles (N)
87
+ ──────────────────────────────────────────────────────────────────────
88
+ nombre-de-habilidad v1.0.0 Descripción breve
89
+ ...
90
+ ──────────────────────────────────────────────────────────────────────
91
+ Generado: YYYY-MM-DD | Índice: .planning/skill-index.json
92
+ ```
93
+
94
+ ## Paso 4 — Cómo usar una habilidad
95
+
96
+ Indicar al usuario la sintaxis para cargar la habilidad seleccionada:
97
+
98
+ ```
99
+ Skill("nombre-de-habilidad")
100
+ ```
101
+
102
+ Por ejemplo, si encontró `typescript-avanzado`:
103
+
104
+ ```
105
+ Skill("typescript-avanzado")
106
+ ```
107
+
108
+ ## Notas
109
+
110
+ - El índice persiste en `.planning/skill-index.json` entre sesiones.
111
+ - Si una habilidad no tiene frontmatter YAML válido, aparece con su nombre de directorio.
112
+ - Para ver detalles de una habilidad específica: `Read("habilidades/<nombre>/SKILL.md")`.
113
+ - La descripción del índice viene del campo `description` en el frontmatter YAML del SKILL.md.