@saulwade/swl-ses 1.8.0 → 2.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.
- package/CLAUDE.md +8 -8
- package/README.md +13 -13
- package/agentes/accesibilidad-wcag-swl.md +3 -3
- package/agentes/auto-evolucion-swl.md +908 -908
- package/agentes/disenador-ui-swl.md +6 -5
- package/agentes/frontend-angular-swl.md +2 -2
- package/agentes/frontend-css-swl.md +2 -2
- package/agentes/frontend-react-swl.md +4 -4
- package/agentes/frontend-swl.md +6 -6
- package/agentes/investigador-ux-swl.md +5 -5
- package/agentes/orquestador-swl.md +96 -8
- package/agentes/perfilador-usuario-swl.md +308 -308
- package/agentes/producto-prd-swl.md +1 -1
- package/agentes/red-team-swl.md +218 -218
- package/agentes/revisor-codigo-swl.md +34 -10
- package/agentes/revisor-seguridad-swl.md +7 -0
- package/agentes/tdd-qa-swl.md +39 -2
- package/comandos/swl/actualizar.md +1 -1
- package/comandos/swl/aprender.md +2 -2
- package/comandos/swl/aprobar-plan.md +152 -0
- package/comandos/swl/autoresearch.md +102 -6
- package/comandos/swl/ayuda.md +3 -3
- package/comandos/swl/discutir-fase.md +20 -2
- package/comandos/swl/ejecutar-fase.md +53 -6
- package/comandos/swl/evolucionar.md +1 -1
- package/comandos/swl/inbox.md +1 -1
- package/comandos/swl/instalar.md +1 -1
- package/comandos/swl/nemesis.md +42 -1
- package/comandos/swl/planear-fase.md +25 -1
- package/comandos/swl/plugins.md +1 -1
- package/comandos/swl/predecir.md +139 -0
- package/comandos/swl/release.md +1 -1
- package/comandos/swl/status.md +279 -0
- package/comandos/swl/verificar.md +75 -7
- package/habilidades/ai-runtime-security/SKILL.md +1 -1
- package/habilidades/angular-moderno/SKILL.md +44 -1
- package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -276
- package/habilidades/autoresearch/SKILL.md +15 -1
- package/habilidades/benchmark-memoria/SKILL.md +1 -1
- package/habilidades/calidad-contract-testing/SKILL.md +165 -0
- package/habilidades/calidad-mutation-testing/SKILL.md +170 -0
- package/habilidades/changelog-generator/SKILL.md +9 -2
- package/habilidades/changelog-generator/scripts/parse-commits.js +12 -1
- package/habilidades/checklist-seguridad/SKILL.md +29 -1
- package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -0
- package/habilidades/css-moderno/SKILL.md +3 -1
- package/habilidades/diagrama-arquitectura/SKILL.md +1 -1
- package/habilidades/drift-detection/SKILL.md +179 -179
- package/habilidades/ejecutar-fase/SKILL.md +64 -14
- package/habilidades/estructura-proyecto-claude/SKILL.md +17 -14
- package/habilidades/estructura-proyecto-claude/recursos/configuracion-y-extensiones.md +34 -23
- package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +70 -53
- package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -77
- package/habilidades/extractor-de-aprendizajes/SKILL.md +9 -5
- package/habilidades/fastapi-experto/SKILL.md +56 -5
- package/habilidades/harness-claude-code/SKILL.md +10 -7
- package/{reglas/harness-claude-code.md → habilidades/harness-claude-code/recursos/disciplina-harness-regla.md} +2 -2
- package/habilidades/instalar-sistema/SKILL.md +3 -3
- package/habilidades/meta-skills-estandar/recursos/frameworks-seguridad.md +1 -1
- package/habilidades/patrones-python/SKILL.md +8 -5
- package/habilidades/perfil-usuario/SKILL.md +200 -200
- package/habilidades/planear-fase/SKILL.md +25 -4
- package/habilidades/proceso-ddia-fundamentos/SKILL.md +1 -1
- package/habilidades/proceso-ddia-streaming/SKILL.md +4 -4
- package/habilidades/proceso-debate-adversarial/SKILL.md +164 -0
- package/habilidades/proceso-debate-adversarial/recursos/personas.md +105 -0
- package/habilidades/proceso-dynamic-workflows/SKILL.md +138 -0
- package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -0
- package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -0
- package/habilidades/protocolo-revision-swl/SKILL.md +1 -1
- package/habilidades/seguridad-skills-ia/SKILL.md +1 -1
- package/habilidades/swl-claudemd/SKILL.md +50 -210
- package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -0
- package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -0
- package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -0
- package/habilidades/swl-dashboard/SKILL.md +9 -9
- package/habilidades/swl-revisar-impacto/SKILL.md +1 -1
- package/habilidades/tdd-workflow/SKILL.md +58 -5
- package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -0
- package/habilidades/validacion-ci-sistema/SKILL.md +3 -3
- package/hooks/calidad-pre-commit.js +340 -3
- package/hooks/ciclo-evolucion-subagente.js +26 -0
- package/hooks/ciclo-evolucion.js +26 -0
- package/hooks/contexto-iteracion.js +144 -0
- package/hooks/extraccion-aprendizajes.js +13 -0
- package/hooks/lib/ciclo-evolucion.js +47 -0
- package/hooks/{auto-evolucion.js → lib/etapa-auto-evolucion.js} +701 -700
- package/hooks/{metricas-evolucion.js → lib/etapa-metricas.js} +388 -376
- package/hooks/{actualizar-perfil-usuario.js → lib/etapa-perfil-usuario.js} +376 -364
- package/hooks/lib/evolution-tracker.js +24 -3
- package/hooks/lib/loop-telemetry.js +321 -0
- package/hooks/notificacion-telegram.js +11 -3
- package/hooks/spec-gate.js +211 -0
- package/hooks/tdd-gate.js +241 -0
- package/hooks/validar-intent-spec.js +30 -10
- package/llms.txt +29 -0
- package/manifiestos/hooks-config.json +36 -18
- package/manifiestos/modulos.json +23 -14
- package/manifiestos/skills-lock.json +100 -72
- package/package.json +4 -3
- package/plugin.json +9 -10
- package/reglas/accesibilidad.md +10 -0
- package/reglas/api-diseno.md +9 -0
- package/reglas/arquitectura.evolved.json +7 -0
- package/reglas/arquitectura.md +65 -0
- package/reglas/auditorias-documentales-estructurales.md +7 -0
- package/reglas/cloud-infra.md +8 -0
- package/reglas/fragmentos-compartidos.md +5 -0
- package/reglas/gobernanza.md +4 -4
- package/reglas/hooks.md +6 -0
- package/reglas/intent-engineering.md +4 -0
- package/reglas/markitdown.md +8 -0
- package/reglas/memoria-consolidada.md +1 -1
- package/reglas/patrones.md +6 -0
- package/reglas/registro-componentes-nuevos.md +10 -1
- package/reglas/seguridad-agentes.md +1 -1
- package/reglas/seguridad.evolved.json +7 -0
- package/reglas/seguridad.md +144 -0
- package/reglas/skills-estandar.md +6 -0
- package/reglas/testing.md +7 -0
- package/reglas/tests-cleanup.md +4 -0
- package/reglas/usar-sistema-swl.md +1 -1
- package/scripts/generar-inventario.js +64 -1
- package/scripts/instalador.js +32 -2
- package/scripts/lib/gitignore-manifest.js +29 -1
- package/scripts/lib/plan-lock.js +275 -0
- package/scripts/migrar-fase-dominio.js +0 -1
- package/scripts/smoke-test.js +24 -2
- package/scripts/verificar-trazabilidad.js +292 -0
- package/agentes/ux-disenador-swl.md +0 -503
- package/comandos/swl/dashboard.md +0 -146
- package/comandos/swl/evolucion-estado.md +0 -191
- package/comandos/swl/metricas.md +0 -342
- package/comandos/swl/salud.md +0 -481
- package/reglas/verificar-citas-temporales.md +0 -139
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"lockfileVersion": 1,
|
|
3
|
-
"generatedAt": "2026-
|
|
4
|
-
"skillsCount":
|
|
5
|
-
"lockHash": "sha256:
|
|
3
|
+
"generatedAt": "2026-06-12T00:39:30.752Z",
|
|
4
|
+
"skillsCount": 182,
|
|
5
|
+
"lockHash": "sha256:3d9a01ae6be8da3264d3c9fdf4e756b7564df11a865ab8b6b2ff26c0927c02f5",
|
|
6
6
|
"skills": [
|
|
7
7
|
{
|
|
8
8
|
"nombre": "accesibilidad-a11y",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
{
|
|
36
36
|
"nombre": "ai-runtime-security",
|
|
37
37
|
"path": "habilidades/ai-runtime-security/SKILL.md",
|
|
38
|
-
"hash": "sha256:
|
|
39
|
-
"bytes":
|
|
38
|
+
"hash": "sha256:148604f26936b6797efa0a620a6bd0a8228a5bcb1d1a1b659a1c7daaba1b6942",
|
|
39
|
+
"bytes": 17581,
|
|
40
40
|
"version": "\"1.0.1\""
|
|
41
41
|
},
|
|
42
42
|
{
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
{
|
|
50
50
|
"nombre": "angular-moderno",
|
|
51
51
|
"path": "habilidades/angular-moderno/SKILL.md",
|
|
52
|
-
"hash": "sha256:
|
|
53
|
-
"bytes":
|
|
54
|
-
"version": "\"1.0.
|
|
52
|
+
"hash": "sha256:1e0ec49d49147fa6e8c67286efb4662edebb8c5150d34e73c85c0ce3d845f52a",
|
|
53
|
+
"bytes": 10743,
|
|
54
|
+
"version": "\"1.0.1\""
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
"nombre": "api-rest-diseno",
|
|
@@ -91,16 +91,16 @@
|
|
|
91
91
|
{
|
|
92
92
|
"nombre": "auto-evolucion-protocolo",
|
|
93
93
|
"path": "habilidades/auto-evolucion-protocolo/SKILL.md",
|
|
94
|
-
"hash": "sha256:
|
|
95
|
-
"bytes":
|
|
94
|
+
"hash": "sha256:d31d508d7bec1ed266e03f5cef60e1f11b661e45f7b4f43f77b06333e211ed1b",
|
|
95
|
+
"bytes": 14396,
|
|
96
96
|
"version": "\"1.1.1\""
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"nombre": "autoresearch",
|
|
100
100
|
"path": "habilidades/autoresearch/SKILL.md",
|
|
101
|
-
"hash": "sha256:
|
|
102
|
-
"bytes":
|
|
103
|
-
"version": "\"1.
|
|
101
|
+
"hash": "sha256:2d60940136558246ac49eb764ba31e9dc8f9be58558d95a950f069e239493c17",
|
|
102
|
+
"bytes": 12826,
|
|
103
|
+
"version": "\"1.1.0\""
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
"nombre": "azure-cloud",
|
|
@@ -140,8 +140,8 @@
|
|
|
140
140
|
{
|
|
141
141
|
"nombre": "benchmark-memoria",
|
|
142
142
|
"path": "habilidades/benchmark-memoria/SKILL.md",
|
|
143
|
-
"hash": "sha256:
|
|
144
|
-
"bytes":
|
|
143
|
+
"hash": "sha256:d2974eef1b2f96af911d342b212b3b4affeb24a1fcbf97db9943d156de282f8c",
|
|
144
|
+
"bytes": 7491,
|
|
145
145
|
"version": "\"1.0.0\""
|
|
146
146
|
},
|
|
147
147
|
{
|
|
@@ -249,12 +249,26 @@
|
|
|
249
249
|
"bytes": 11840,
|
|
250
250
|
"version": "\"1.0.0\""
|
|
251
251
|
},
|
|
252
|
+
{
|
|
253
|
+
"nombre": "calidad-contract-testing",
|
|
254
|
+
"path": "habilidades/calidad-contract-testing/SKILL.md",
|
|
255
|
+
"hash": "sha256:dc91fc323fa1f721a5957ad72f5403987c8e49ee0dc059e987bb131e4492f292",
|
|
256
|
+
"bytes": 9391,
|
|
257
|
+
"version": "\"1.0.0\""
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"nombre": "calidad-mutation-testing",
|
|
261
|
+
"path": "habilidades/calidad-mutation-testing/SKILL.md",
|
|
262
|
+
"hash": "sha256:aa8e10f5b4bc8ed9c2faefb55d5db881f5009537e11c6b12eedd4e07dc25eabc",
|
|
263
|
+
"bytes": 9213,
|
|
264
|
+
"version": "\"1.0.0\""
|
|
265
|
+
},
|
|
252
266
|
{
|
|
253
267
|
"nombre": "changelog-generator",
|
|
254
268
|
"path": "habilidades/changelog-generator/SKILL.md",
|
|
255
|
-
"hash": "sha256:
|
|
256
|
-
"bytes":
|
|
257
|
-
"version": "1.
|
|
269
|
+
"hash": "sha256:98ce8d74e9c5e94a2b897eb9ca289b02ce30b7624825822d9f0728d8e94d68ae",
|
|
270
|
+
"bytes": 7917,
|
|
271
|
+
"version": "1.1.0"
|
|
258
272
|
},
|
|
259
273
|
{
|
|
260
274
|
"nombre": "checklist-calidad",
|
|
@@ -266,9 +280,9 @@
|
|
|
266
280
|
{
|
|
267
281
|
"nombre": "checklist-seguridad",
|
|
268
282
|
"path": "habilidades/checklist-seguridad/SKILL.md",
|
|
269
|
-
"hash": "sha256:
|
|
270
|
-
"bytes":
|
|
271
|
-
"version": "\"1.
|
|
283
|
+
"hash": "sha256:2677b17fb658cd596b7f28da51df76579cbe9288ac910ec8bf239e3b74accefe",
|
|
284
|
+
"bytes": 19379,
|
|
285
|
+
"version": "\"1.2.0\""
|
|
272
286
|
},
|
|
273
287
|
{
|
|
274
288
|
"nombre": "checkpoints-verificacion",
|
|
@@ -343,9 +357,9 @@
|
|
|
343
357
|
{
|
|
344
358
|
"nombre": "css-moderno",
|
|
345
359
|
"path": "habilidades/css-moderno/SKILL.md",
|
|
346
|
-
"hash": "sha256:
|
|
347
|
-
"bytes":
|
|
348
|
-
"version": "\"1.
|
|
360
|
+
"hash": "sha256:8fc832b069c29a983ca26661bc3140211028e998562f98b749fb6054a6793b2a",
|
|
361
|
+
"bytes": 8323,
|
|
362
|
+
"version": "\"1.1.0\""
|
|
349
363
|
},
|
|
350
364
|
{
|
|
351
365
|
"nombre": "datos-etl",
|
|
@@ -392,8 +406,8 @@
|
|
|
392
406
|
{
|
|
393
407
|
"nombre": "diagrama-arquitectura",
|
|
394
408
|
"path": "habilidades/diagrama-arquitectura/SKILL.md",
|
|
395
|
-
"hash": "sha256:
|
|
396
|
-
"bytes":
|
|
409
|
+
"hash": "sha256:480e736a670f99c31e5fbfaa441ae147912881f5070b7972db98352d2ae445cf",
|
|
410
|
+
"bytes": 9951,
|
|
397
411
|
"version": "\"1.0.0\""
|
|
398
412
|
},
|
|
399
413
|
{
|
|
@@ -441,16 +455,16 @@
|
|
|
441
455
|
{
|
|
442
456
|
"nombre": "drift-detection",
|
|
443
457
|
"path": "habilidades/drift-detection/SKILL.md",
|
|
444
|
-
"hash": "sha256:
|
|
445
|
-
"bytes":
|
|
458
|
+
"hash": "sha256:d4ebac36efbd93bcf4487542151812242730da85cf2724a80b1522589813b9a1",
|
|
459
|
+
"bytes": 8444,
|
|
446
460
|
"version": "1.0.0"
|
|
447
461
|
},
|
|
448
462
|
{
|
|
449
463
|
"nombre": "ejecutar-fase",
|
|
450
464
|
"path": "habilidades/ejecutar-fase/SKILL.md",
|
|
451
|
-
"hash": "sha256:
|
|
452
|
-
"bytes":
|
|
453
|
-
"version": "\"1.
|
|
465
|
+
"hash": "sha256:9cdb143e2605b4b00576de44fac17fc3d3858a64a5df65b9ea5a0fb797db10b9",
|
|
466
|
+
"bytes": 22206,
|
|
467
|
+
"version": "\"1.2.0\""
|
|
454
468
|
},
|
|
455
469
|
{
|
|
456
470
|
"nombre": "ejecutar-task-iterativo",
|
|
@@ -469,9 +483,9 @@
|
|
|
469
483
|
{
|
|
470
484
|
"nombre": "estructura-proyecto-claude",
|
|
471
485
|
"path": "habilidades/estructura-proyecto-claude/SKILL.md",
|
|
472
|
-
"hash": "sha256:
|
|
473
|
-
"bytes":
|
|
474
|
-
"version": "\"1.
|
|
486
|
+
"hash": "sha256:bfb07f97bd160ea07fa5dd5fd508ad3f4d8291982fc475ebda040e646d18772a",
|
|
487
|
+
"bytes": 12307,
|
|
488
|
+
"version": "\"1.1.0\""
|
|
475
489
|
},
|
|
476
490
|
{
|
|
477
491
|
"nombre": "eval-framework",
|
|
@@ -504,16 +518,16 @@
|
|
|
504
518
|
{
|
|
505
519
|
"nombre": "extractor-de-aprendizajes",
|
|
506
520
|
"path": "habilidades/extractor-de-aprendizajes/SKILL.md",
|
|
507
|
-
"hash": "sha256:
|
|
508
|
-
"bytes":
|
|
509
|
-
"version": "\"1.0.
|
|
521
|
+
"hash": "sha256:c34ceb3fbed0e283309c3049ad3df1d4adf88d0e3b889aaf79f9a01a77c5602b",
|
|
522
|
+
"bytes": 23819,
|
|
523
|
+
"version": "\"1.0.6\""
|
|
510
524
|
},
|
|
511
525
|
{
|
|
512
526
|
"nombre": "fastapi-experto",
|
|
513
527
|
"path": "habilidades/fastapi-experto/SKILL.md",
|
|
514
|
-
"hash": "sha256:
|
|
515
|
-
"bytes":
|
|
516
|
-
"version": "\"1.3.
|
|
528
|
+
"hash": "sha256:2e7e158b6ac54d9aec9b2e3932e9c4e5e17e43525530cad21fc30252ee2279bf",
|
|
529
|
+
"bytes": 25977,
|
|
530
|
+
"version": "\"1.3.1\""
|
|
517
531
|
},
|
|
518
532
|
{
|
|
519
533
|
"nombre": "feynman-auditor-swl",
|
|
@@ -595,8 +609,8 @@
|
|
|
595
609
|
{
|
|
596
610
|
"nombre": "harness-claude-code",
|
|
597
611
|
"path": "habilidades/harness-claude-code/SKILL.md",
|
|
598
|
-
"hash": "sha256:
|
|
599
|
-
"bytes":
|
|
612
|
+
"hash": "sha256:34a52efc964626d05d90cbd597e082ed4ace6b481789a31b2b091d1075f80080",
|
|
613
|
+
"bytes": 15606,
|
|
600
614
|
"version": "\"1.0.1\""
|
|
601
615
|
},
|
|
602
616
|
{
|
|
@@ -616,8 +630,8 @@
|
|
|
616
630
|
{
|
|
617
631
|
"nombre": "instalar-sistema",
|
|
618
632
|
"path": "habilidades/instalar-sistema/SKILL.md",
|
|
619
|
-
"hash": "sha256:
|
|
620
|
-
"bytes":
|
|
633
|
+
"hash": "sha256:c64f1edc444ff81d00157a80bf60bb171fe3cada7d4964e0f754cd73b007c183",
|
|
634
|
+
"bytes": 12336,
|
|
621
635
|
"version": "\"1.0.1\""
|
|
622
636
|
},
|
|
623
637
|
{
|
|
@@ -833,15 +847,15 @@
|
|
|
833
847
|
{
|
|
834
848
|
"nombre": "patrones-python",
|
|
835
849
|
"path": "habilidades/patrones-python/SKILL.md",
|
|
836
|
-
"hash": "sha256:
|
|
837
|
-
"bytes":
|
|
838
|
-
"version": "\"1.
|
|
850
|
+
"hash": "sha256:fb6f9a3727971a7eb9f93b3d6b79e588b55631b6353076c4144cc5b0dfe084e1",
|
|
851
|
+
"bytes": 14155,
|
|
852
|
+
"version": "\"1.4.2\""
|
|
839
853
|
},
|
|
840
854
|
{
|
|
841
855
|
"nombre": "perfil-usuario",
|
|
842
856
|
"path": "habilidades/perfil-usuario/SKILL.md",
|
|
843
|
-
"hash": "sha256:
|
|
844
|
-
"bytes":
|
|
857
|
+
"hash": "sha256:6887b812f57b357ef289e6f66efe17e4e92b4ce4458e5492a8f7b426fdd08deb",
|
|
858
|
+
"bytes": 9019,
|
|
845
859
|
"version": "\"1.0.0\""
|
|
846
860
|
},
|
|
847
861
|
{
|
|
@@ -875,9 +889,9 @@
|
|
|
875
889
|
{
|
|
876
890
|
"nombre": "planear-fase",
|
|
877
891
|
"path": "habilidades/planear-fase/SKILL.md",
|
|
878
|
-
"hash": "sha256:
|
|
879
|
-
"bytes":
|
|
880
|
-
"version": "\"1.
|
|
892
|
+
"hash": "sha256:c5a81cf5c936795781af919021ee59e6658bc92b55eb647fed51c0ae9c018cf2",
|
|
893
|
+
"bytes": 15332,
|
|
894
|
+
"version": "\"1.3.0\""
|
|
881
895
|
},
|
|
882
896
|
{
|
|
883
897
|
"nombre": "postgresql-experto",
|
|
@@ -924,17 +938,24 @@
|
|
|
924
938
|
{
|
|
925
939
|
"nombre": "proceso-ddia-fundamentos",
|
|
926
940
|
"path": "habilidades/proceso-ddia-fundamentos/SKILL.md",
|
|
927
|
-
"hash": "sha256:
|
|
928
|
-
"bytes":
|
|
941
|
+
"hash": "sha256:b51e2a2f71e220c0fc2557ec7e425ff6505dfc31a9720a6c6a0d0e8cb0b51baf",
|
|
942
|
+
"bytes": 10316,
|
|
929
943
|
"version": null
|
|
930
944
|
},
|
|
931
945
|
{
|
|
932
946
|
"nombre": "proceso-ddia-streaming",
|
|
933
947
|
"path": "habilidades/proceso-ddia-streaming/SKILL.md",
|
|
934
|
-
"hash": "sha256:
|
|
935
|
-
"bytes":
|
|
948
|
+
"hash": "sha256:59ae94da3e656871416c0b47944bf4fae02215c4d3cf7e2f826f206483341515",
|
|
949
|
+
"bytes": 9518,
|
|
936
950
|
"version": null
|
|
937
951
|
},
|
|
952
|
+
{
|
|
953
|
+
"nombre": "proceso-debate-adversarial",
|
|
954
|
+
"path": "habilidades/proceso-debate-adversarial/SKILL.md",
|
|
955
|
+
"hash": "sha256:74ba347168ae54026f3be4316b05d6d0d6997167e11d07ab2710a821efa679e5",
|
|
956
|
+
"bytes": 9013,
|
|
957
|
+
"version": "\"1.0.0\""
|
|
958
|
+
},
|
|
938
959
|
{
|
|
939
960
|
"nombre": "proceso-discovery-machote",
|
|
940
961
|
"path": "habilidades/proceso-discovery-machote/SKILL.md",
|
|
@@ -942,6 +963,13 @@
|
|
|
942
963
|
"bytes": 10120,
|
|
943
964
|
"version": "\"1.0.0\""
|
|
944
965
|
},
|
|
966
|
+
{
|
|
967
|
+
"nombre": "proceso-dynamic-workflows",
|
|
968
|
+
"path": "habilidades/proceso-dynamic-workflows/SKILL.md",
|
|
969
|
+
"hash": "sha256:56b4410405d6060f8a0bcc28736799eead5748b208a7a1abc5a8eca1d2e540c8",
|
|
970
|
+
"bytes": 8709,
|
|
971
|
+
"version": null
|
|
972
|
+
},
|
|
945
973
|
{
|
|
946
974
|
"nombre": "proceso-intent-engineering",
|
|
947
975
|
"path": "habilidades/proceso-intent-engineering/SKILL.md",
|
|
@@ -966,8 +994,8 @@
|
|
|
966
994
|
{
|
|
967
995
|
"nombre": "protocolo-revision-swl",
|
|
968
996
|
"path": "habilidades/protocolo-revision-swl/SKILL.md",
|
|
969
|
-
"hash": "sha256:
|
|
970
|
-
"bytes":
|
|
997
|
+
"hash": "sha256:c84502a49b26fb005d237874e2b8c323407529bb1ac8d87362f622c9be46e730",
|
|
998
|
+
"bytes": 15874,
|
|
971
999
|
"version": "\"1.0.1\""
|
|
972
1000
|
},
|
|
973
1001
|
{
|
|
@@ -1043,8 +1071,8 @@
|
|
|
1043
1071
|
{
|
|
1044
1072
|
"nombre": "seguridad-skills-ia",
|
|
1045
1073
|
"path": "habilidades/seguridad-skills-ia/SKILL.md",
|
|
1046
|
-
"hash": "sha256:
|
|
1047
|
-
"bytes":
|
|
1074
|
+
"hash": "sha256:a58f7591d2bf04cba02a4011d18eb91337c32faedf5b4701562a803f838c3ab1",
|
|
1075
|
+
"bytes": 13378,
|
|
1048
1076
|
"version": "\"1.0.1\""
|
|
1049
1077
|
},
|
|
1050
1078
|
{
|
|
@@ -1106,15 +1134,15 @@
|
|
|
1106
1134
|
{
|
|
1107
1135
|
"nombre": "swl-claudemd",
|
|
1108
1136
|
"path": "habilidades/swl-claudemd/SKILL.md",
|
|
1109
|
-
"hash": "sha256:
|
|
1110
|
-
"bytes":
|
|
1111
|
-
"version": "\"1.2.
|
|
1137
|
+
"hash": "sha256:b270cedba83127c2a45f4a639efce2f349a8645e42336bf44ca93a806dc1e53f",
|
|
1138
|
+
"bytes": 15362,
|
|
1139
|
+
"version": "\"1.2.1\""
|
|
1112
1140
|
},
|
|
1113
1141
|
{
|
|
1114
1142
|
"nombre": "swl-dashboard",
|
|
1115
1143
|
"path": "habilidades/swl-dashboard/SKILL.md",
|
|
1116
|
-
"hash": "sha256:
|
|
1117
|
-
"bytes":
|
|
1144
|
+
"hash": "sha256:376a059abe4bb433f8921f0f72abbf01bb5c7a776c63f390a0fb5b0934eff175",
|
|
1145
|
+
"bytes": 17872,
|
|
1118
1146
|
"version": "\"1.0.0\""
|
|
1119
1147
|
},
|
|
1120
1148
|
{
|
|
@@ -1127,8 +1155,8 @@
|
|
|
1127
1155
|
{
|
|
1128
1156
|
"nombre": "swl-revisar-impacto",
|
|
1129
1157
|
"path": "habilidades/swl-revisar-impacto/SKILL.md",
|
|
1130
|
-
"hash": "sha256:
|
|
1131
|
-
"bytes":
|
|
1158
|
+
"hash": "sha256:8aa78575e35be3c047d7abbc9c1f9f709e2d1161460a6b0b4e7a29c94db73eda",
|
|
1159
|
+
"bytes": 9878,
|
|
1132
1160
|
"version": "\"1.0.0\""
|
|
1133
1161
|
},
|
|
1134
1162
|
{
|
|
@@ -1141,9 +1169,9 @@
|
|
|
1141
1169
|
{
|
|
1142
1170
|
"nombre": "tdd-workflow",
|
|
1143
1171
|
"path": "habilidades/tdd-workflow/SKILL.md",
|
|
1144
|
-
"hash": "sha256:
|
|
1145
|
-
"bytes":
|
|
1146
|
-
"version": "\"1.0
|
|
1172
|
+
"hash": "sha256:94704167d585fae72ba43a363bab32cbb7f2fefe8e09618784be986228036534",
|
|
1173
|
+
"bytes": 33683,
|
|
1174
|
+
"version": "\"1.2.0\""
|
|
1147
1175
|
},
|
|
1148
1176
|
{
|
|
1149
1177
|
"nombre": "terraform-experto",
|
|
@@ -1204,8 +1232,8 @@
|
|
|
1204
1232
|
{
|
|
1205
1233
|
"nombre": "validacion-ci-sistema",
|
|
1206
1234
|
"path": "habilidades/validacion-ci-sistema/SKILL.md",
|
|
1207
|
-
"hash": "sha256:
|
|
1208
|
-
"bytes":
|
|
1235
|
+
"hash": "sha256:f3a3eadcc7fae8490fe826f320306946965873c3bb71667b1b73a3876740a349",
|
|
1236
|
+
"bytes": 7712,
|
|
1209
1237
|
"version": "\"1.0.0\""
|
|
1210
1238
|
},
|
|
1211
1239
|
{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saulwade/swl-ses",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot con
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot con 60 agentes, 182 habilidades, 43 comandos, 69 reglas y 46 hooks. Soporta 11 lenguajes y 7 runtimes: Claude Code, OpenClaude, OpenCode, Gemini CLI, Cursor, Codex CLI (soporte completo); GitHub Copilot (soporte parcial). 100% en espanol (Mexico). Multi-target install (--target CSV / --all-runtimes), autoconfig MCP en Cursor/Codex con --with-mcp, agentes Codex en TOML, hooks Cursor (17 eventos) y Codex (6 eventos). Gateway bidireccional con relay Telegram y auditoria profunda Nemesis con loop evaluator-optimizer opt-in (ADR-0021) y 8 tools ejecutables. v1.8.0 unifica los directorios runtime de .planning/ al ingles (evolution/, auto-evolution/, user-profile/, archive/), manteniendo fases/ en espanol, con guard validar-planning-paths y allowlist canonica (ADR-0031). Hereda de v1.7.4: skill calidad-anti-patrones-universales + scripts/lib/pr-analyzer.js + 3 sub-secciones en estilo-sin-ai-isms.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"swl-ses": "bin/swl-ses.js",
|
|
7
7
|
"swl-telegram-bot": "bin/swl-telegram-bot.js",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"schemas",
|
|
25
25
|
"_userland",
|
|
26
26
|
"plugin.json",
|
|
27
|
-
"CLAUDE.md"
|
|
27
|
+
"CLAUDE.md",
|
|
28
|
+
"llms.txt"
|
|
28
29
|
],
|
|
29
30
|
"scripts": {
|
|
30
31
|
"postinstall": "echo '\n swl-software-engineering-system instalado.\n Ejecuta: npx swl-ses init\n'",
|
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swl-ses",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot.
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot. 60 agentes, 182 habilidades, 43 comandos, 69 reglas y 46 hooks. 69 librerias. 11 lenguajes. Soporta Claude Code, Copilot, OpenCode, Codex y Gemini CLI. Loop evaluator-optimizer en /swl:nemesis (ADR-0021). v1.8.0 unifica los directorios runtime de .planning/ al ingles (evolution/, auto-evolution/, user-profile/, archive/), manteniendo fases/ en espanol, con guard validar-planning-paths y allowlist canonica (ADR-0031). Hereda de v1.7.4: skill calidad-anti-patrones-universales + scripts/lib/pr-analyzer.js + 3 sub-secciones en estilo-sin-ai-isms.",
|
|
5
5
|
"author": "Saul Wade Leon",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/saul-wade/swl-ses",
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
"habilidades/build-errors-swift",
|
|
42
42
|
"habilidades/build-errors-typescript",
|
|
43
43
|
"habilidades/calidad-anti-patrones-universales",
|
|
44
|
+
"habilidades/calidad-contract-testing",
|
|
45
|
+
"habilidades/calidad-mutation-testing",
|
|
44
46
|
"habilidades/changelog-generator",
|
|
45
47
|
"habilidades/checklist-calidad",
|
|
46
48
|
"habilidades/checklist-seguridad",
|
|
@@ -139,7 +141,9 @@
|
|
|
139
141
|
"habilidades/proceso-confianza-pre-implementacion",
|
|
140
142
|
"habilidades/proceso-ddia-fundamentos",
|
|
141
143
|
"habilidades/proceso-ddia-streaming",
|
|
144
|
+
"habilidades/proceso-debate-adversarial",
|
|
142
145
|
"habilidades/proceso-discovery-machote",
|
|
146
|
+
"habilidades/proceso-dynamic-workflows",
|
|
143
147
|
"habilidades/proceso-intent-engineering",
|
|
144
148
|
"habilidades/proceso-modular-split",
|
|
145
149
|
"habilidades/prompt-engineering",
|
|
@@ -245,8 +249,7 @@
|
|
|
245
249
|
"agentes/revisor-swift-swl.md",
|
|
246
250
|
"agentes/revisor-typescript-swl.md",
|
|
247
251
|
"agentes/sre-swl.md",
|
|
248
|
-
"agentes/tdd-qa-swl.md"
|
|
249
|
-
"agentes/ux-disenador-swl.md"
|
|
252
|
+
"agentes/tdd-qa-swl.md"
|
|
250
253
|
],
|
|
251
254
|
"hooks": {
|
|
252
255
|
"PreToolUse": [
|
|
@@ -349,17 +352,13 @@
|
|
|
349
352
|
},
|
|
350
353
|
{
|
|
351
354
|
"type": "command",
|
|
352
|
-
"command": "PATH=\"/c/Program Files/nodejs:/c/Program Files (x86)/nodejs:$PATH\" node -e \"try{require('./hooks/
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"type": "command",
|
|
356
|
-
"command": "PATH=\"/c/Program Files/nodejs:/c/Program Files (x86)/nodejs:$PATH\" node -e \"try{require('./hooks/metricas-evolucion.js')}catch(e){if(e.code!=='MODULE_NOT_FOUND')throw e}\""
|
|
355
|
+
"command": "PATH=\"/c/Program Files/nodejs:/c/Program Files (x86)/nodejs:$PATH\" node -e \"try{require('./hooks/ciclo-evolucion.js')}catch(e){if(e.code!=='MODULE_NOT_FOUND')throw e}\""
|
|
357
356
|
}
|
|
358
357
|
],
|
|
359
358
|
"SubagentStop": [
|
|
360
359
|
{
|
|
361
360
|
"type": "command",
|
|
362
|
-
"command": "PATH=\"/c/Program Files/nodejs:/c/Program Files (x86)/nodejs:$PATH\" node -e \"try{require('./hooks/
|
|
361
|
+
"command": "PATH=\"/c/Program Files/nodejs:/c/Program Files (x86)/nodejs:$PATH\" node -e \"try{require('./hooks/ciclo-evolucion-subagente.js')}catch(e){if(e.code!=='MODULE_NOT_FOUND')throw e}\""
|
|
363
362
|
}
|
|
364
363
|
],
|
|
365
364
|
"PreCompact": [
|
package/reglas/accesibilidad.md
CHANGED
package/reglas/api-diseno.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/api/**"
|
|
4
|
+
- "**/routers/**"
|
|
5
|
+
- "**/controllers/**"
|
|
6
|
+
- "**/handlers/**"
|
|
7
|
+
- "**/endpoints/**"
|
|
8
|
+
- "**/openapi.{yaml,yml,json}"
|
|
9
|
+
---
|
|
1
10
|
# Regla: Diseño de APIs REST
|
|
2
11
|
|
|
3
12
|
Esta regla es OBLIGATORIA para toda API REST expuesta, ya sea pública o interna.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"evolved": true,
|
|
3
|
+
"evolved-from": "1.8.0",
|
|
4
|
+
"evolved-at": "2026-06-04",
|
|
5
|
+
"evolved-by": "evolucionar",
|
|
6
|
+
"evolved-note": "PE-010 sección nueva 'Tablas append-only — excepción documentada a audit columns nullable=False'. Patrón portable a logs estructurados, audit trails, event sourcing, telemetría. Origen: OIC v1.5 Slice 1 2026-06-04 (BitacoraError)."
|
|
7
|
+
}
|
package/reglas/arquitectura.md
CHANGED
|
@@ -274,6 +274,71 @@ Documentar en un ADR qué patrón se usa y por qué.
|
|
|
274
274
|
|
|
275
275
|
---
|
|
276
276
|
|
|
277
|
+
## Tablas append-only — excepción documentada a "audit columns nullable=False"
|
|
278
|
+
|
|
279
|
+
Algunas tablas son **append-only por diseño**: solo se crean filas (INSERT) y
|
|
280
|
+
eventualmente se eliminan por purga (DELETE). Nunca se actualizan. Ejemplos
|
|
281
|
+
típicos: logs de errores (`bitacora_error`, `error_log`), audit trails inmutables,
|
|
282
|
+
telemetría, métricas históricas, event sourcing event store, outbox pattern.
|
|
283
|
+
|
|
284
|
+
Para estas tablas la regla general del proyecto "`created_by`/`updated_by`
|
|
285
|
+
`nullable=False` en tablas transaccionales" **NO aplica**. Documentar la
|
|
286
|
+
excepción explícitamente:
|
|
287
|
+
|
|
288
|
+
1. En el **docstring de la clase modelo** (Python/Java/C#):
|
|
289
|
+
|
|
290
|
+
```python
|
|
291
|
+
class BitacoraError(Base):
|
|
292
|
+
"""
|
|
293
|
+
Registro inmutable de un error backend o frontend.
|
|
294
|
+
|
|
295
|
+
Tabla append-only: solo se crean filas (INSERT) y se purgan por antigüedad
|
|
296
|
+
(DELETE). Nunca se actualizan. Esta invariante es fundamental para que el
|
|
297
|
+
log de errores sea un audit trail confiable.
|
|
298
|
+
|
|
299
|
+
Excepción a regla "audit columns nullable=False":
|
|
300
|
+
La convención del proyecto exige `created_by` y `updated_by` NOT NULL
|
|
301
|
+
en tablas transaccionales. BitacoraError queda exenta porque:
|
|
302
|
+
(a) Es un log del sistema, no una entidad de negocio modificable.
|
|
303
|
+
(b) No tiene `updated_at` ni `updated_by` — no hay concepto de
|
|
304
|
+
"última modificación" en una tabla append-only.
|
|
305
|
+
(c) `usuario_id` es nullable de forma intencional: los errores de
|
|
306
|
+
sesiones no autenticadas (401 antes del login) no tienen usuario.
|
|
307
|
+
"""
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
2. En el **comentario del DDL SQL**:
|
|
311
|
+
|
|
312
|
+
```sql
|
|
313
|
+
COMMENT ON TABLE bitacora_error IS
|
|
314
|
+
'Errores backend y frontend persistidos para diagnóstico. '
|
|
315
|
+
'Append-only: solo INSERT y DELETE (purga). '
|
|
316
|
+
'Sin updated_at/updated_by por diseño (excepción documentada en CONTEXTO).';
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
3. En el **GRANT** del rol de aplicación, omitir explícitamente `UPDATE`:
|
|
320
|
+
|
|
321
|
+
```sql
|
|
322
|
+
-- INSERT: para que el sistema cree entradas.
|
|
323
|
+
-- SELECT: para que el admin las consulte.
|
|
324
|
+
-- DELETE: para que el job de purga elimine antiguas.
|
|
325
|
+
-- NO UPDATE: la tabla es append-only por diseño.
|
|
326
|
+
GRANT SELECT, INSERT, DELETE ON bitacora_error TO ine_user;
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Criterios para considerar una tabla append-only legítima**:
|
|
330
|
+
|
|
331
|
+
- Toda fila representa un evento ocurrido en un momento específico (immutable in time).
|
|
332
|
+
- No hay caso de negocio que requiera modificar la fila después de creada.
|
|
333
|
+
- La única forma de "corregir" un dato erróneo es insertar una fila correctora
|
|
334
|
+
posterior (event sourcing) o purgar y re-insertar (telemetría).
|
|
335
|
+
- El borrado se hace por política de retención (antigüedad), no por revocación.
|
|
336
|
+
|
|
337
|
+
**Origen del patrón**: OIC v1.5 Slice 1 (2026-06-04). Patrón portable a cualquier
|
|
338
|
+
proyecto con logs estructurados, audit trails o event sourcing.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
277
342
|
## Split modular con compositor por herencia múltiple
|
|
278
343
|
|
|
279
344
|
Cuando un módulo backend (router, service, repository) supera ~1500 LOC en un
|
package/reglas/cloud-infra.md
CHANGED
package/reglas/gobernanza.md
CHANGED
|
@@ -31,7 +31,7 @@ Los skills generados por `auto-evolucion-swl` o `/swl:evolucionar`:
|
|
|
31
31
|
NUNCA se incorporan directamente al sistema base sin revisión.
|
|
32
32
|
- Requieren validación en al menos 3 sesiones de trabajo independientes
|
|
33
33
|
antes de ser promovidos al perfil `completo`.
|
|
34
|
-
- Deben pasar la verificación de `/swl:salud` sin degradar el score actual.
|
|
34
|
+
- Deben pasar la verificación de `/swl:status salud` sin degradar el score actual.
|
|
35
35
|
- **Gate G8 — evidencia de calidad obligatoria**: antes de mover un skill
|
|
36
36
|
desde `_userland/plugins/` a `habilidades/`, ejecutar
|
|
37
37
|
`/swl:evaluar-skill <nombre>` y exigir badge ≥ **Plata** (score ≥ 70).
|
|
@@ -243,7 +243,7 @@ Ante un cambio que degrada el sistema:
|
|
|
243
243
|
`SWL_DISABLED_HOOKS=nombre-hook` sin afectar el resto del sistema.
|
|
244
244
|
- Los agentes nuevos NO reemplazan a los existentes sin un período de transición
|
|
245
245
|
documentado. Durante la transición, ambas versiones coexisten.
|
|
246
|
-
- Si `/swl:salud` baja su score tras un cambio: revertir antes de continuar.
|
|
246
|
+
- Si `/swl:status salud` baja su score tras un cambio: revertir antes de continuar.
|
|
247
247
|
|
|
248
248
|
### Freeze de cambios pre-release
|
|
249
249
|
|
|
@@ -251,7 +251,7 @@ Durante las 24 horas previas a un release:
|
|
|
251
251
|
|
|
252
252
|
- Solo se permiten bug fixes críticos (PATCH).
|
|
253
253
|
- No se agregan features ni reglas nuevas.
|
|
254
|
-
- El comando `/swl:salud` debe pasar sin advertencias antes de publicar.
|
|
254
|
+
- El comando `/swl:status salud` debe pasar sin advertencias antes de publicar.
|
|
255
255
|
|
|
256
256
|
---
|
|
257
257
|
|
|
@@ -275,6 +275,6 @@ Los plugins instalados via `/swl:plugins install` tienen restricciones adicional
|
|
|
275
275
|
- [ ] Ninguna supresión de hook activa sin justificación documentada
|
|
276
276
|
- [ ] El CHANGELOG.md está actualizado con todos los cambios observables
|
|
277
277
|
- [ ] Los schemas de validación pasan para todos los manifiestos modificados
|
|
278
|
-
- [ ] El comando `/swl:salud` pasa sin errores ni advertencias críticas
|
|
278
|
+
- [ ] El comando `/swl:status salud` pasa sin errores ni advertencias críticas
|
|
279
279
|
- [ ] La versión en `package.json` refleja el tipo de cambio realizado
|
|
280
280
|
- [ ] Los plugins de terceros instalados siguen siendo compatibles con la versión nueva
|
package/reglas/hooks.md
CHANGED
package/reglas/markitdown.md
CHANGED