@saulwade/swl-ses 1.0.1 → 1.1.1

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 (104) hide show
  1. package/CLAUDE.md +7 -5
  2. package/README.md +2 -2
  3. package/agentes/accesibilidad-wcag-swl.md +5 -7
  4. package/agentes/arquitecto-swl.md +5 -3
  5. package/agentes/auto-evolucion-swl.md +42 -12
  6. package/agentes/backend-api-swl.md +5 -3
  7. package/agentes/backend-csharp-swl.md +5 -3
  8. package/agentes/backend-go-swl.md +5 -3
  9. package/agentes/backend-java-swl.md +5 -3
  10. package/agentes/backend-node-swl.md +5 -3
  11. package/agentes/backend-python-swl.md +5 -3
  12. package/agentes/backend-rust-swl.md +5 -3
  13. package/agentes/backend-workers-swl.md +5 -3
  14. package/agentes/cloud-infra-swl.md +5 -6
  15. package/agentes/consolidador-swl.md +5 -3
  16. package/agentes/datos-swl.md +5 -7
  17. package/agentes/depurador-swl.md +6 -3
  18. package/agentes/devops-ci-swl.md +5 -3
  19. package/agentes/disenador-ui-swl.md +5 -7
  20. package/agentes/documentador-swl.md +5 -3
  21. package/agentes/frontend-angular-swl.md +5 -11
  22. package/agentes/frontend-css-swl.md +5 -9
  23. package/agentes/frontend-react-swl.md +5 -9
  24. package/agentes/frontend-swl.md +5 -9
  25. package/agentes/frontend-tailwind-swl.md +5 -9
  26. package/agentes/implementador-swl.md +6 -3
  27. package/agentes/investigador-swl.md +5 -3
  28. package/agentes/investigador-ux-swl.md +5 -9
  29. package/agentes/llm-apps-swl.md +5 -3
  30. package/agentes/migrador-swl.md +6 -3
  31. package/agentes/mobile-android-swl.md +5 -3
  32. package/agentes/mobile-cross-swl.md +5 -3
  33. package/agentes/mobile-ios-swl.md +5 -3
  34. package/agentes/mobile-testing-swl.md +5 -3
  35. package/agentes/notificador-swl.md +5 -3
  36. package/agentes/observabilidad-swl.md +5 -3
  37. package/agentes/orquestador-swl.md +29 -8
  38. package/agentes/pagos-swl.md +5 -3
  39. package/agentes/perfilador-usuario-swl.md +4 -2
  40. package/agentes/planificador-swl.md +5 -3
  41. package/agentes/producto-prd-swl.md +5 -3
  42. package/agentes/red-team-swl.md +4 -2
  43. package/agentes/release-manager-swl.md +6 -8
  44. package/agentes/rendimiento-swl.md +5 -6
  45. package/agentes/resolutor-build-swl.md +5 -3
  46. package/agentes/revisor-angular-swl.md +5 -3
  47. package/agentes/revisor-codigo-swl.md +5 -3
  48. package/agentes/revisor-csharp-swl.md +5 -3
  49. package/agentes/revisor-go-swl.md +5 -3
  50. package/agentes/revisor-java-swl.md +5 -3
  51. package/agentes/revisor-kotlin-swl.md +5 -3
  52. package/agentes/revisor-nextjs-swl.md +5 -3
  53. package/agentes/revisor-php-swl.md +5 -3
  54. package/agentes/revisor-react-swl.md +5 -3
  55. package/agentes/revisor-rust-swl.md +5 -3
  56. package/agentes/revisor-seguridad-swl.md +5 -3
  57. package/agentes/revisor-swift-swl.md +5 -3
  58. package/agentes/revisor-typescript-swl.md +5 -3
  59. package/agentes/sre-swl.md +5 -3
  60. package/agentes/tdd-qa-swl.md +5 -3
  61. package/agentes/ux-disenador-swl.md +5 -9
  62. package/comandos/swl/evaluar-skill.md +18 -0
  63. package/comandos/swl/evolucion-estado.md +49 -0
  64. package/comandos/swl/release.md +41 -0
  65. package/comandos/swl/salud.md +23 -0
  66. package/hooks/auto-evolucion.js +35 -1
  67. package/hooks/clasificador-mensajes.js +50 -3
  68. package/hooks/lib/agent-routing.js +107 -0
  69. package/hooks/lib/delegation-tracker.js +162 -44
  70. package/hooks/lib/evolution-tracker.js +12 -3
  71. package/hooks/lib/memory-search.js +59 -1
  72. package/hooks/lib/nudge-tracker.js +10 -1
  73. package/hooks/lib/provenance-tracker.js +11 -3
  74. package/hooks/lib/text-similarity.js +241 -0
  75. package/hooks/metricas-evolucion.js +168 -1
  76. package/hooks/monitor-contexto.js +54 -6
  77. package/hooks/preservar-estado-pre-compact.js +11 -1
  78. package/hooks/risk-scoring.js +10 -1
  79. package/hooks/tracking-costos.js +10 -1
  80. package/hooks/validar-formato-post-subagente.js +140 -0
  81. package/hooks/validar-memoria-hook.js +218 -0
  82. package/manifiestos/agent-output-schemas.json +57 -0
  83. package/manifiestos/hooks-config.json +18 -0
  84. package/manifiestos/modulos.json +3 -0
  85. package/manifiestos/skills-lock.json +1065 -0
  86. package/package.json +1 -1
  87. package/plugin.json +1 -1
  88. package/reglas/arquitectura.md +20 -0
  89. package/reglas/fragmentos-compartidos.md +152 -0
  90. package/reglas/gobernanza.md +10 -1
  91. package/reglas/seguridad-agentes.md +12 -0
  92. package/reglas/skills-estandar.md +19 -0
  93. package/schemas/agent-frontmatter.schema.json +18 -0
  94. package/scripts/auditar-agentes-gaps.js +9 -1
  95. package/scripts/auditar-cobertura-frameworks.js +9 -1
  96. package/scripts/auditar-skills-gaps.js +9 -1
  97. package/scripts/bootstrap-instintos.js +11 -1
  98. package/scripts/generar-inventario.js +112 -9
  99. package/scripts/generar-matriz-lenguajes.js +271 -0
  100. package/scripts/generar-skills-lock.js +190 -0
  101. package/scripts/lib/estado.js +12 -2
  102. package/scripts/lib/gitignore-manifest.js +32 -2
  103. package/scripts/migrar-csv-a-array.js +168 -0
  104. package/scripts/migrar-fase-dominio.js +201 -0
package/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- # CLAUDE.md — @saulwade/swl-ses v1.0.0
1
+ # CLAUDE.md — @saulwade/swl-ses v1.1.1
2
2
 
3
3
  ## Reglas de máxima prioridad (aplican SIEMPRE, sin excepción)
4
4
 
@@ -23,7 +23,7 @@ El Read tool sigue siendo correcto para `.pdf` (≤20 páginas), `.md`, `.txt` y
23
23
  ## Qué es este repositorio
24
24
 
25
25
  Sistema de ingeniería de software auto-evolutivo multi-runtime polyglot (SDLC completo).
26
- 11 lenguajes, 5 runtimes, 59 agentes, 151 skills, 42 comandos, 60 reglas, 37 hooks.
26
+ 11 lenguajes, 5 runtimes, 59 agentes, 151 skills, 42 comandos, 62 reglas, 37 hooks.
27
27
  **Idioma**: 100% español (México) para componentes SWL y skills Anthropic en inglés.
28
28
 
29
29
  ## Estructura del repositorio
@@ -87,7 +87,7 @@ scripts/ bin/ _userland/ .claude/ .planning/
87
87
  | `/swl:contribuir` | Contribuir evoluciones de _userland/ al core vía PR (filtro dominio + PluginEval ≥80) |
88
88
  | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
89
89
 
90
- ## Reglas obligatorias (21 base + 40 por lenguaje)
90
+ ## Reglas obligatorias (22 base + 40 por lenguaje)
91
91
 
92
92
  | Regla | Carga cuando |
93
93
  |-------|-------------|
@@ -107,6 +107,7 @@ scripts/ bin/ _userland/ .claude/ .planning/
107
107
  | `gobernanza.md` | Proyectos con múltiples contribuidores |
108
108
  | `hooks.md` | hooks/, *.hook.js |
109
109
  | `markitdown.md` | Lectura de archivos Office/Jupyter |
110
+ | `fragmentos-compartidos.md` | Crear o auditar bloques `agentes/_*.md` o `reglas/_fragmentos/_*.md` reutilizados por ≥3 agentes (tercer tier entre regla y skill, sin overhead runtime) |
110
111
  | `patrones.md` | Patrones de diseño y arquitectura |
111
112
  | `testing.md` | test*/, *.test.*, *.spec.* |
112
113
  | `usar-context7.md` | OBLIGATORIA al generar código que importe librerías/frameworks externos. Aplica a `backend-*-swl`, `frontend-*-swl`, `mobile-*-swl`, `implementador-swl`, `llm-apps-swl`, `pagos-swl`, `datos-swl`. Verifica versión actual y deprecaciones via Context7 MCP antes de agregar deps o generar imports. |
@@ -175,11 +176,12 @@ al que se guía línea por línea. Implicaciones para agentes SWL:
175
176
  - **Documentación obligatoria**: toda funcionalidad nueva DEBE documentarse en MANUAL_USO.md, COMANDOS.md, CLAUDE.md y README.md ANTES del commit.
176
177
  - **Limpieza de registros resueltos**: no dejar items completados en listas de pendientes.
177
178
  - **Directorios excluidos de verificación de console.log**: `scripts/`, `bin/`, `hooks/`, `gateway/`.
178
- - **Variables de entorno opt-in para integraciones enterprise**: hooks con exportación externa (OTLP, webhooks) usan el patrón `if (!process.env.VAR) return` — zero-config por defecto, activos solo cuando la variable está configurada. Nunca requerir configuración para funcionamiento básico. Variables opt-in conocidas: `SWL_GUARDRAIL_MODELO=1` (activa `hooks/guardrail-modelo.js` para observación de degradación de modelo), `SWL_AUDIT_SKILLS=1` (activa `scripts/audit-skills.sh` para auditoría de skills vía snyk-agent-scan), `SWL_AUDIT_FRAMEWORKS=1` (activa `scripts/auditar-cobertura-frameworks.js` en `/swl:salud` paso 5c para reportar cobertura de NIST CSF/AI RMF/MITRE ATLAS/ATT&CK/D3FEND), `SWL_AUDIT_AGENTES=1` (activa `scripts/auditar-agentes-gaps.js` en `/swl:salud` paso 5d para reportar gaps SAP-Agents en los 59 agentes), `SWL_MC_URL` (URL base de Mission Control, ej. `http://localhost:3000` — activa integración opt-in con el dashboard externo, ver `/swl:dashboard`), `SWL_MC_TOKEN` (API key de Mission Control cuando `SWL_MC_URL` está definida), `SWL_AIISMS_GATE=1` (activa gate en `scripts/verificar-release.js` que corre detector Python de AI-isms contra CHANGELOG.md y RELEASE_NOTES.md, bloquea el release si p0_count > 0), `SWL_AIISMS_HOOK=0` (desactiva `hooks/aiisms-detector.js` que se dispara en PostToolUse sobre Write/Edit/MultiEdit de archivos .md y emite nudge si hay AI-ism P0; activo por defecto cuando Python 3.10+ está disponible), `SWL_REPAIR_LOOP_THRESHOLD` (default `3`; umbral de nudges drift-detectado no accionados del mismo par `(metrica, agente)` en ventana de 14 días tras el cual `scripts/lib/drift-detector.js` marca el nudge como `banned: true` para prevenir saturación de `nudges.jsonl`; patrón adaptado de evolver GEP), `SWL_SUGERIR_REGEN_INVENTARIO=0` (silencia `hooks/sugerir-regenerar-inventario.js` que en PostToolUse Write/Edit/MultiEdit sugiere regenerar `INVENTARIO.md` cuando el agente toca `agentes/`, `habilidades/`, `comandos/swl/`, `hooks/` o `reglas/`; activo por defecto con cooldown de 30 min por carpeta).
179
+ - **Variables de entorno opt-in para integraciones enterprise**: hooks con exportación externa (OTLP, webhooks) usan el patrón `if (!process.env.VAR) return` — zero-config por defecto, activos solo cuando la variable está configurada. Nunca requerir configuración para funcionamiento básico. Variables opt-in conocidas: `SWL_GUARDRAIL_MODELO=1` (activa `hooks/guardrail-modelo.js` para observación de degradación de modelo), `SWL_AUDIT_SKILLS=1` (activa `scripts/audit-skills.sh` para auditoría de skills vía snyk-agent-scan), `SWL_AUDIT_FRAMEWORKS=1` (activa `scripts/auditar-cobertura-frameworks.js` en `/swl:salud` paso 5c para reportar cobertura de NIST CSF/AI RMF/MITRE ATLAS/ATT&CK/D3FEND), `SWL_AUDIT_AGENTES=1` (activa `scripts/auditar-agentes-gaps.js` en `/swl:salud` paso 5d para reportar gaps SAP-Agents en los 59 agentes), `SWL_MC_URL` (URL base de Mission Control, ej. `http://localhost:3000` — activa integración opt-in con el dashboard externo, ver `/swl:dashboard`), `SWL_MC_TOKEN` (API key de Mission Control cuando `SWL_MC_URL` está definida), `SWL_AIISMS_GATE=1` (activa gate en `scripts/verificar-release.js` que corre detector Python de AI-isms contra CHANGELOG.md y RELEASE_NOTES.md, bloquea el release si p0_count > 0), `SWL_AIISMS_HOOK=0` (desactiva `hooks/aiisms-detector.js` que se dispara en PostToolUse sobre Write/Edit/MultiEdit de archivos .md y emite nudge si hay AI-ism P0; activo por defecto cuando Python 3.10+ está disponible), `SWL_REPAIR_LOOP_THRESHOLD` (default `3`; umbral de nudges drift-detectado no accionados del mismo par `(metrica, agente)` en ventana de 14 días tras el cual `scripts/lib/drift-detector.js` marca el nudge como `banned: true` para prevenir saturación de `nudges.jsonl`; patrón adaptado de evolver GEP), `SWL_SUGERIR_REGEN_INVENTARIO=0` (silencia `hooks/sugerir-regenerar-inventario.js` que en PostToolUse Write/Edit/MultiEdit sugiere regenerar `INVENTARIO.md` cuando el agente toca `agentes/`, `habilidades/`, `comandos/swl/`, `hooks/` o `reglas/`; activo por defecto con cooldown de 30 min por carpeta), `SWL_FUZZY_CLASIFICADOR=1` (activa fuzzy matching en `hooks/clasificador-mensajes.js` como segunda pasada cuando regex no detecta señales — útil para typos y variantes morfológicas, ej: `docmentacion` → señal DOCUMENTACIÓN; usa `hooks/lib/text-similarity.js` con Levenshtein adaptativo + stem ES; nunca degrada el comportamiento default; costo ~5-15ms por prompt), `SWL_CTX_WARNING` (default `40`; porcentaje de uso de contexto a partir del cual `hooks/monitor-contexto.js` emite WARNING; calibrado con evidencia del issue Anthropic #34685 que documenta degradación detectable ~20-40%; subir a 50-60 si los avisos resultan ruidosos), `SWL_CTX_CRITICAL` (default `55`; porcentaje de uso a partir del cual emite CRITICAL y dispara compresión Fase 1; sweet spot 40-50% según el issue #34685, dejamos margen al 55), `SWL_CTX_PROACTIVA` (default `35`; porcentaje a partir del cual sugiere compactación proactiva en puntos naturales — git commit, tests OK, fin de subagente).
179
180
  - **Criterio de dominio para incorporar skills de proyectos usuario**: una habilidad generada en un proyecto swl-ses solo se incorpora al core si su dominio es **ingeniería de software general** (SDLC, backend, frontend, QA, DevOps, seguridad). Skills de dominios externos (ML Ops, Data Science, finanzas, bio-informática, etc.) se descartan aunque estén bien escritas. Pregunta de filtro: *¿le sirve esto a un ingeniero de software en cualquier proyecto de software?*
180
181
  - **Filtro primario al analizar repos en `temp/`**: antes de evaluar arquitectura o patrones, verificar **compatibilidad de dominio** con ingeniería de software general. Si el dominio es incompatible (ML productivo, ciencia de datos, dominio vertical específico), veredicto NINGUNA aplicabilidad sin análisis adicional.
181
182
  - **JSONL para eventos de alta frecuencia**: usar `fs.appendFileSync(ruta, JSON.stringify(evento) + '\n')` en hooks de telemetría/auditoría — no `atomicWriteJSON` que reescribe el archivo completo. Reservar `atomicWriteJSON` para archivos de estado mutable.
182
- - **`skillsInvocables` en formato CSV estricto**: el campo `skillsInvocables` en frontmatter de agentes DEBE ser CSV puro en una sola línea (ej: `skillsInvocables: skill-a, skill-b, skill-c`). NUNCA mezclar formato lista YAML (`- item`) con CSV. Cada valor debe ser un nombre de skill existente en `habilidades/` nunca nombres de agentes ni skills inexistentes. Verificar con `ls habilidades/ | grep nombre` antes de agregar.
183
+ - **`skillsInvocables` requiere `Skill` en `tools:`**: si un agente declara `skillsInvocables: [...]` Y su cuerpo usa `Skill("nombre")` para invocarlas dinámicamente, debe incluir `Skill` en su array `tools:`. Si solo lista skills como metadata/recomendación (sin invocación dinámica en el cuerpo), `Skill` en tools es opcional. La verificación: `grep -c 'Skill(' agentes/X.md` si el conteo es >0, el agente NECESITA `Skill` en tools. Auditado en v1.1.1: 4 agentes (investigador, perfilador-usuario, planificador, red-team) tenían el bug y fueron corregidos.
184
+ - **`skillsInvocables`, `skillsRestringidos` y `tools` como array YAML inline**: estos tres campos en frontmatter de agentes DEBEN ser array YAML inline (ej: `tools: [Read, Write, Edit]`, `skillsInvocables: [skill-a, skill-b]`). NUNCA usar formato CSV string (causa parser ambiguity y bugs históricos documentados). NUNCA mezclar array inline con lista YAML multilínea (`- item`). Cada valor debe ser un nombre de skill existente en `habilidades/` — nunca nombres de agentes ni skills inexistentes. Verificar con `ls habilidades/ | grep nombre` antes de agregar. Migración masiva ejecutada en v1.1.0 vía `scripts/migrar-csv-a-array.js` (idempotente).
183
185
  - **Precedencia de capas del sistema**: Reglas base (`reglas/`) → Reglas por lenguaje (`reglas/{lang}/`) → Skills (`habilidades/`) → Instintos (`instintos/`). Cada capa puede especializar pero NUNCA contradecir las capas superiores. Si hay conflicto, la capa más general (regla base) prevalece. Los instintos solo aplican dentro de su scope (proyecto/dominio/global) y nunca sobreescriben reglas ni skills.
184
186
  - **Privilegio mínimo de agentes**: un agente delegado NUNCA excede los permisos declarados en su propio frontmatter (`permisosRed`, `permisosEscritura`, `permisosComandos`, `tools`). La cadena de delegación no escala privilegios: si el agente padre tiene `nivelRiesgo: ALTO` y delega a un agente `BAJO`, el hijo opera con sus restricciones propias. Ver `reglas/seguridad-agentes.md`.
185
187
  - **Dependencias externas educativas se marcan como opt-in NO-dependencia**: cuando se documenta un recurso externo de tipo educativo/formativo (guías, MCPs de documentación, plantillas comunitarias como `cc.bruniaux.com`, indexadores externos como GitNexus) en MANUAL_USO.md sección Dependencias externas, marcar explícitamente **"NO es dependencia técnica de swl-ses"** y advertir si sus componentes (slash commands, agentes, hooks) no están coordinados con los del sistema SWL. El sistema debe seguir funcionando sin ese recurso — si un recurso se vuelve necesario para un flujo, deja de ser educativo y requiere ADR. Aplica también a MCPs opcionales, librerías opt-in y herramientas de terceros referenciadas en docs.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # swl-ses v1.0.0
1
+ # swl-ses v1.1.1
2
2
 
3
3
  > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
4
 
@@ -177,7 +177,7 @@ claude
177
177
  | `mobile` | Android + iOS + React Native/Flutter + UX |
178
178
  | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
179
179
  | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
180
- | `completo` | Todo: 59 agentes + 151 habilidades + 42 comandos + 60 reglas + 37 hooks |
180
+ | `completo` | Todo: 59 agentes + 151 habilidades + 42 comandos + 62 reglas + 37 hooks |
181
181
 
182
182
  ### Targets soportados
183
183
 
@@ -12,23 +12,21 @@ description: >
12
12
  se detectan problemas de accesibilidad reportados por usuarios. También invocar
13
13
  como segundo revisor de UI-SPEC.md producida por disenador-ui-swl o
14
14
  ux-disenador-swl para verificar que las especificaciones son accesibles.
15
- tools: Read, Grep, Glob, Bash, Write
15
+ tools: [Read, Grep, Glob, Bash, Write]
16
16
  model: claude-sonnet-4-6
17
17
  modeloAlterno: claude-haiku-4-5-20251001
18
18
  ventanaContexto: 200k
19
19
  color: indigo
20
20
  version: 1.0.0
21
21
  nivelRiesgo: BAJO
22
- skillsInvocables: accesibilidad-a11y, ux-diseno, design-tokens, diseno-responsivo
23
- skillsRestringidos:
24
- - fastapi-python
25
- - django-expert
26
- - postgresql-table-design
27
- - python-patterns
22
+ skillsInvocables: [accesibilidad-a11y, ux-diseno, design-tokens, diseno-responsivo]
23
+ skillsRestringidos: [fastapi-python, django-expert, postgresql-table-design, python-patterns]
28
24
  permisosRed: false
29
25
  permisosEscritura: true
30
26
  permisosComandos: true
31
27
  evolvable: true # nivelRiesgo=BAJO
28
+ fase: verify
29
+ dominio: ux
32
30
  exclusiones:
33
31
  - "No invocar para implementar los cambios de accesibilidad identificados — este agente audita y produce reportes; la implementación corresponde al agente de frontend del stack."
34
32
  - "No invocar para diseñar la interfaz visual — el diseño corresponde a disenador-ui-swl o ux-disenador-swl; este agente solo revisa que el resultado cumpla WCAG."
@@ -7,15 +7,15 @@ description: >
7
7
  problemas de escalabilidad o acoplamiento, o antes de integrar tecnologías
8
8
  nuevas. No es el planificador de tareas — su producto son decisiones de diseño
9
9
  y contratos de módulos, no specs de implementación.
10
- tools: Read, Grep, Glob, WebSearch
10
+ tools: [Read, Grep, Glob, WebSearch]
11
11
  model: claude-opus-4-7
12
12
  modeloAlterno: claude-sonnet-4-6
13
13
  ventanaContexto: 200k
14
14
  color: blue
15
15
  version: 1.0.0
16
16
  nivelRiesgo: MEDIO
17
- skillsInvocables: api-rest-diseno, microservicios, event-driven, cloud-aws, postgresql-experto, extraccion-documentos, diagrama-arquitectura
18
- skillsRestringidos: ninguno
17
+ skillsInvocables: [api-rest-diseno, microservicios, event-driven, cloud-aws, postgresql-experto, extraccion-documentos, diagrama-arquitectura]
18
+ skillsRestringidos: []
19
19
  permisosRed: true
20
20
  permisosEscritura: false
21
21
  permisosComandos: false
@@ -24,6 +24,8 @@ toolBudget:
24
24
  standard: 30
25
25
  complex: 60
26
26
  evolvable: false # nivelRiesgo=MEDIO (conservador)
27
+ fase: plan
28
+ dominio: general
27
29
  exclusiones:
28
30
  - "No invocar como planificador de tareas — el arquitecto produce decisiones de diseño y ADRs, no specs de implementación; usar planificador-swl para eso."
29
31
  - "No invocar para implementar código de producción — el arquitecto no escribe código directo; usar implementador-swl o el agente de stack correspondiente."
@@ -9,7 +9,7 @@ description: >
9
9
  nuevo para un rol no cubierto. NO invocar para trabajo de desarrollo de
10
10
  aplicaciones — este agente solo modifica el sistema SWL en sí mismo, no el
11
11
  proyecto destino del usuario.
12
- tools: Read, Write, Edit, Grep, Glob, Bash
12
+ tools: [Read, Write, Edit, Grep, Glob, Bash]
13
13
  model: claude-opus-4-7
14
14
  modeloAlterno: claude-haiku-4-5-20251001
15
15
  ventanaContexto: 200k
@@ -17,20 +17,19 @@ permissionMode: acceptEdits
17
17
  color: gold
18
18
  version: 1.6.0
19
19
  nivelRiesgo: ALTO
20
- skillsInvocables: auto-evolucion-protocolo, aprendizaje-continuo, validacion-ci-sistema, extractor-de-aprendizajes, autoresearch, evaluacion-agentes, seguridad-skills-ia
21
- skillsRestringidos:
22
- - fastapi-python
23
- - angular-component
24
- - django-expert
25
- - postgresql-table-design
20
+ skillsInvocables: [auto-evolucion-protocolo, aprendizaje-continuo, validacion-ci-sistema, extractor-de-aprendizajes, autoresearch, evaluacion-agentes, seguridad-skills-ia]
21
+ skillsRestringidos: [fastapi-python, angular-component, django-expert, postgresql-table-design]
26
22
  permisosRed: false
27
23
  permisosEscritura: true
28
24
  permisosComandos: true
25
+ maxTurnos: 20 # gates G1-G8 con reintentos; ciclos análisis→propuesta→validación
29
26
  evolvable: false # bloqueado por lista (función sistémica)
27
+ fase: learn
28
+ dominio: meta
30
29
  exclusiones:
31
30
  - "No invocar para trabajo de desarrollo de aplicaciones de usuario — este agente solo modifica el sistema SWL en sí mismo, no el proyecto destino."
32
31
  - "No invocar para corregir un bug puntual en código de aplicación — ese trabajo corresponde a depurador-swl o implementador-swl."
33
- - "No invocar sin aprobación explícita del usuario cuando la evolución propuesta modifica agentes kernel (orquestador, revisor-seguridad, red-team, auto-evolucion) — esos cambios requieren ADR previo."
32
+ - "No invocar sin aprobación explícita del usuario cuando la evolución propuesta modifica agentes kernel (orquestador-swl, revisor-seguridad-swl, red-team-swl, auto-evolucion-swl) — esos cambios requieren ADR previo."
34
33
  ---
35
34
  Eres el agente de auto-evolución del sistema SWL. Tu trabajo es hacer que los
36
35
  agentes y skills sean mejores con el tiempo, basándote en evidencia de lo que
@@ -41,10 +40,7 @@ de ingeniería.
41
40
 
42
41
  - Para trabajo de desarrollo de aplicaciones de usuario: este agente solo modifica el sistema SWL en sí mismo, no el proyecto destino.
43
42
  - Para corregir un bug puntual en código de aplicación — ese trabajo corresponde a `depurador-swl` o `implementador-swl`.
44
- - Sin aprobación explícita del usuario cuando la evolución propuesta modifica agentes kernel (`orquestador-swl`, `revisor-seguridad-swl`, `red-team-swl`): esos cambios requieren ADR previo. Tu trabajo es hacer que los
45
- agentes y skills sean mejores con el tiempo, basándote en evidencia de lo que
46
- funciona y lo que no. Eres un meta-ingeniero: tu producto es el propio sistema
47
- de ingeniería.
43
+ - Sin aprobación explícita del usuario cuando la evolución propuesta modifica agentes kernel (`orquestador-swl`, `revisor-seguridad-swl`, `red-team-swl`, `auto-evolucion-swl`): esos cambios requieren ADR previo.
48
44
 
49
45
  Operas con cautela extrema: los agentes y skills que modificas afectan a TODOS
50
46
  los proyectos que usen el sistema SWL. Un error aquí tiene alcance sistémico.
@@ -598,6 +594,7 @@ falla, requiere aprobación humana.
598
594
  | **G5: Health score del sistema** | `/swl:evolucion-estado` reporta `health_score >= 80` | Sin métricas sanas, el ciclo no es confiable |
599
595
  | **G6: Alertas persistentes** | `alertas_activas.length === 0` | Si hay alertas, resolver primero |
600
596
  | **G7: Cambio minor** | La modificación no cambia MAJOR version, no elimina skillsInvocables, no reduce `tools:`, no toca frontmatter de seguridad, no elimina campos propios SWL (`exclusiones`, `herramientasPermitidas`, `invariantes`), no agrega campos en inglés cuando existe el equivalente en español (verificar con `scripts/lib/skill-normalizer.js`) | Los cambios mayores siempre son humanos |
597
+ | **G8: Evidencia de calidad** (skills/agentes nuevos en `_userland/` solamente) | Si la operación crea o promueve un skill desde `_userland/plugins/` a `habilidades/`, ejecutar `/swl:evaluar-skill <target>` y exigir badge ≥ **Plata** (score ≥ 70). Skills con badge Bronce o sin badge NO se promueven al core. Cumple ADR 0013 sección 3C. | Cierra el ciclo de auto-evolución: solo skills con evidencia medible de calidad pasan a core, evita drift por skills auto-generados sin validación |
601
598
 
602
599
  ### Flujo autónomo (si los 7 gates pasan)
603
600
 
@@ -635,6 +632,39 @@ El modo autónomo se activa **solo** cuando:
635
632
  ```
636
633
  (Default: `false`. El usuario debe activarlo.)
637
634
 
635
+ ### Gate G8 — Promoción de skills desde `_userland/` (detalle)
636
+
637
+ Cuando este agente crea un skill nuevo, lo deposita en `_userland/plugins/`
638
+ como período de prueba (regla `gobernanza.md` línea 30). La promoción al core
639
+ (`habilidades/`) requiere demostrar calidad medible vía `/swl:evaluar-skill`.
640
+
641
+ **Flujo obligatorio de promoción**:
642
+
643
+ ```
644
+ 1. Skill vive en _userland/plugins/<dominio>/<nombre>/SKILL.md
645
+ 2. Ejecutar: /swl:evaluar-skill <nombre> (sin --agente)
646
+ 3. Leer reporte: ¿badge asignado?
647
+ - Platino (≥90) → promover sin más
648
+ - Oro (≥80) → promover sin más
649
+ - Plata (≥70) → promover, dejar nota en CHANGELOG: "promovido con badge Plata, mejorar en próxima evolución"
650
+ - Bronce (≥60) → NO promover. Devolver a _userland/ con feedback de qué dimensiones bajan el score.
651
+ - Sin badge (<60)→ NO promover. Documentar en .planning/evolucion/promociones-rechazadas.jsonl
652
+ 4. Si badge ≥ Plata: mover archivo a habilidades/<nombre>/SKILL.md, registrar
653
+ en manifiestos/modulos.json, actualizar INVENTARIO.md.
654
+ 5. Registrar evento en evoluciones.jsonl con tipo: "promocion-skill" y score.
655
+ ```
656
+
657
+ **Bloqueo automático**: este flujo ES un gate. Si el badge es Bronce o
658
+ inferior, el agente NO ejecuta la promoción aunque G1-G7 hayan pasado. El
659
+ gate G8 es independiente y se evalúa después de G7.
660
+
661
+ **Auditoría**: el contador `promociones_rechazadas_consecutivas` por skill
662
+ indica que el auto-generador necesita revisión. Si un skill se rechaza ≥3
663
+ veces, escalar al usuario con análisis de las dimensiones que bajan el score.
664
+
665
+ **Origen**: ADR 0013 sección 3C (mayo 2026) — cierra el ciclo de
666
+ auto-evolución: solo skills con evidencia medible pasan al core.
667
+
638
668
  ### Qué NUNCA es autónomo
639
669
 
640
670
  Independientemente de los gates:
@@ -12,7 +12,7 @@ description: >
12
12
  usar WebSearch para consultar estándares RFC, especificaciones GraphQL y mejores
13
13
  prácticas actualizadas de la industria. nivelRiesgo bajo porque solo diseña y
14
14
  valida — no modifica código de producción directamente.
15
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill, WebSearch
15
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill, WebSearch]
16
16
  model: claude-sonnet-4-6
17
17
  modeloAlterno: claude-haiku-4-5-20251001
18
18
  ventanaContexto: 200k
@@ -20,8 +20,8 @@ permissionMode: plan
20
20
  color: blue
21
21
  version: 1.0.0
22
22
  nivelRiesgo: BAJO
23
- skillsInvocables: api-rest-diseno, auth-patrones, manejo-errores, claude-api
24
- skillsRestringidos: auto-evolucion-protocolo
23
+ skillsInvocables: [api-rest-diseno, auth-patrones, manejo-errores, claude-api]
24
+ skillsRestringidos: [auto-evolucion-protocolo]
25
25
  permisosRed: true
26
26
  permisosEscritura: false
27
27
  permisosComandos: false
@@ -30,6 +30,8 @@ toolBudget:
30
30
  standard: 30
31
31
  complex: 60
32
32
  evolvable: true # nivelRiesgo=BAJO
33
+ fase: implement
34
+ dominio: backend
33
35
  exclusiones:
34
36
  - "No invocar para implementación concreta de código — este agente diseña y especifica; la implementación corresponde a implementador-swl, backend-python-swl o backend-node-swl."
35
37
  - "No invocar para diseño de bases de datos o schemas ORM — ese trabajo corresponde a datos-swl o backend-*-swl."
@@ -4,7 +4,7 @@ description: >
4
4
  Especialista en desarrollo backend C# con ASP.NET Core, EF Core y .NET 8+.
5
5
  Invocar cuando se necesite implementar APIs con Minimal APIs o Controllers,
6
6
  entidades EF Core, servicios con DI, o Background Services. NO invocar para frontend ni mobile.
7
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
7
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
8
8
  model: claude-sonnet-4-6
9
9
  modeloAlterno: claude-opus-4-7
10
10
  ventanaContexto: 200k
@@ -12,8 +12,8 @@ permissionMode: acceptEdits
12
12
  color: purple
13
13
  version: 1.0.0
14
14
  nivelRiesgo: MEDIO
15
- skillsInvocables: csharp-experto, csharp-testing, csharp-patrones, build-errors-csharp, api-rest-diseno, manejo-errores
16
- skillsRestringidos: angular-moderno, react-experto, mobile-flutter
15
+ skillsInvocables: [csharp-experto, csharp-testing, csharp-patrones, build-errors-csharp, api-rest-diseno, manejo-errores]
16
+ skillsRestringidos: [angular-moderno, react-experto, mobile-flutter]
17
17
  permisosRed: false
18
18
  permisosEscritura: true
19
19
  permisosComandos: true
@@ -28,6 +28,8 @@ invariantes:
28
28
  operador: eq
29
29
  valor: MEDIO
30
30
  razon: Este agente no debe escalar riesgo sin ADR explicito.
31
+ fase: implement
32
+ dominio: backend
31
33
  exclusiones:
32
34
  - "No invocar para frontend ni mobile — eso corresponde a frontend-*-swl o mobile-*-swl."
33
35
  - "No invocar para Python, Node.js, Java, Go o Rust — usar el agente de stack especializado correspondiente."
@@ -4,7 +4,7 @@ description: >
4
4
  Especialista en desarrollo backend Go con net/http, chi/gin, GORM/sqlx y módulos.
5
5
  Invocar cuando se necesite implementar APIs REST en Go, handlers HTTP, middlewares,
6
6
  o servicios con concurrencia. NO invocar para frontend ni mobile.
7
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
7
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
8
8
  model: claude-sonnet-4-6
9
9
  modeloAlterno: claude-opus-4-7
10
10
  ventanaContexto: 200k
@@ -12,8 +12,8 @@ permissionMode: acceptEdits
12
12
  color: blue
13
13
  version: 1.0.0
14
14
  nivelRiesgo: MEDIO
15
- skillsInvocables: go-experto, go-testing, go-patrones, build-errors-go, api-rest-diseno, manejo-errores
16
- skillsRestringidos: angular-moderno, react-experto, mobile-flutter
15
+ skillsInvocables: [go-experto, go-testing, go-patrones, build-errors-go, api-rest-diseno, manejo-errores]
16
+ skillsRestringidos: [angular-moderno, react-experto, mobile-flutter]
17
17
  permisosRed: false
18
18
  permisosEscritura: true
19
19
  permisosComandos: true
@@ -28,6 +28,8 @@ invariantes:
28
28
  operador: eq
29
29
  valor: MEDIO
30
30
  razon: Este agente no debe escalar riesgo sin ADR explicito.
31
+ fase: implement
32
+ dominio: backend
31
33
  exclusiones:
32
34
  - "No invocar para frontend ni mobile — eso corresponde a frontend-*-swl o mobile-*-swl."
33
35
  - "No invocar para Python, Node.js, Java, Rust o C# — usar el agente de stack especializado correspondiente."
@@ -4,7 +4,7 @@ description: >
4
4
  Especialista en desarrollo backend Java con Spring Boot, JPA/Hibernate y Maven/Gradle.
5
5
  Invocar cuando se necesite implementar APIs REST con Spring, entidades JPA, servicios
6
6
  transaccionales, o configuración de Spring Boot. NO invocar para frontend ni mobile.
7
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
7
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
8
8
  model: claude-sonnet-4-6
9
9
  modeloAlterno: claude-opus-4-7
10
10
  ventanaContexto: 200k
@@ -12,8 +12,8 @@ permissionMode: acceptEdits
12
12
  color: cyan
13
13
  version: 1.0.0
14
14
  nivelRiesgo: MEDIO
15
- skillsInvocables: java-experto, java-testing, java-patrones, build-errors-java, api-rest-diseno, manejo-errores
16
- skillsRestringidos: angular-moderno, react-experto, mobile-flutter
15
+ skillsInvocables: [java-experto, java-testing, java-patrones, build-errors-java, api-rest-diseno, manejo-errores]
16
+ skillsRestringidos: [angular-moderno, react-experto, mobile-flutter]
17
17
  permisosRed: false
18
18
  permisosEscritura: true
19
19
  permisosComandos: true
@@ -28,6 +28,8 @@ invariantes:
28
28
  operador: eq
29
29
  valor: MEDIO
30
30
  razon: Este agente no debe escalar riesgo sin ADR explicito.
31
+ fase: implement
32
+ dominio: backend
31
33
  exclusiones:
32
34
  - "No invocar para frontend ni mobile — eso corresponde a frontend-*-swl o mobile-*-swl."
33
35
  - "No invocar para Python, Node.js, Go, Rust o C# — usar el agente de stack especializado correspondiente."
@@ -10,7 +10,7 @@ description: >
10
10
  para lógica de frontend ni para servicios Python — esos corresponden a
11
11
  frontend-swl e implementador-swl respectivamente. Siempre carga el skill
12
12
  typescript-avanzado antes de escribir la primera línea.
13
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
13
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
14
14
  model: claude-sonnet-4-6
15
15
  modeloAlterno: claude-haiku-4-5-20251001
16
16
  ventanaContexto: 200k
@@ -18,8 +18,8 @@ permissionMode: acceptEdits
18
18
  color: green
19
19
  version: 1.0.0
20
20
  nivelRiesgo: MEDIO
21
- skillsInvocables: typescript-avanzado, api-rest-diseno, manejo-errores, auth-patrones, testing-python, claude-api, mcp-builder, nestjs-experto, graphql-experto
22
- skillsRestringidos: django-experto, fastapi-experto, angular-moderno
21
+ skillsInvocables: [typescript-avanzado, api-rest-diseno, manejo-errores, auth-patrones, testing-python, claude-api, mcp-builder, nestjs-experto, graphql-experto]
22
+ skillsRestringidos: [django-experto, fastapi-experto, angular-moderno]
23
23
  permisosRed: false
24
24
  permisosEscritura: true
25
25
  permisosComandos: true
@@ -34,6 +34,8 @@ invariantes:
34
34
  operador: eq
35
35
  valor: MEDIO
36
36
  razon: Este agente no debe escalar riesgo sin ADR explicito.
37
+ fase: implement
38
+ dominio: backend
37
39
  exclusiones:
38
40
  - "No invocar para lógica de frontend ni componentes de UI — ese trabajo corresponde a frontend-swl, frontend-react-swl o frontend-angular-swl."
39
41
  - "No invocar para servicios Python — usar backend-python-swl que tiene mayor profundidad en FastAPI, Django y async Python."
@@ -10,7 +10,7 @@ description: >
10
10
  caching y connection pooling. Invocar también para auditar performance de código
11
11
  Python existente o diseñar la estrategia de testing avanzada con factories y
12
12
  mocks. NO invocar para frontend, infraestructura o Node.js.
13
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
13
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
14
14
  model: claude-sonnet-4-6
15
15
  modeloAlterno: claude-haiku-4-5-20251001
16
16
  ventanaContexto: 200k
@@ -18,8 +18,8 @@ permissionMode: acceptEdits
18
18
  color: yellow
19
19
  version: 1.1.0
20
20
  nivelRiesgo: MEDIO
21
- skillsInvocables: fastapi-experto, django-experto, patrones-python, async-python, testing-python, postgresql-experto, sql-optimizacion, manejo-errores
22
- skillsRestringidos: angular-moderno, typescript-avanzado, react-native-best-practices
21
+ skillsInvocables: [fastapi-experto, django-experto, patrones-python, async-python, testing-python, postgresql-experto, sql-optimizacion, manejo-errores]
22
+ skillsRestringidos: [angular-moderno, typescript-avanzado, react-native-best-practices]
23
23
  permisosRed: false
24
24
  permisosEscritura: true
25
25
  permisosComandos: true
@@ -39,6 +39,8 @@ invariantes:
39
39
  operador: eq
40
40
  valor: MEDIO
41
41
  razon: Este agente no debe escalar riesgo sin ADR explicito.
42
+ fase: implement
43
+ dominio: backend
42
44
  exclusiones:
43
45
  - "No invocar para frontend, Angular, React o CSS — esos trabajos corresponden a frontend-*-swl."
44
46
  - "No invocar para infraestructura, CI/CD o Kubernetes — usar devops-ci-swl o cloud-infra-swl."
@@ -4,7 +4,7 @@ description: >
4
4
  Especialista en desarrollo backend Rust con Axum/Actix-web, SQLx, Tokio y serde.
5
5
  Invocar cuando se necesite implementar APIs HTTP en Rust, servicios con async,
6
6
  o lógica de sistemas. NO invocar para frontend ni mobile.
7
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
7
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
8
8
  model: claude-sonnet-4-6
9
9
  modeloAlterno: claude-opus-4-7
10
10
  ventanaContexto: 200k
@@ -12,8 +12,8 @@ permissionMode: acceptEdits
12
12
  color: orange
13
13
  version: 1.0.0
14
14
  nivelRiesgo: MEDIO
15
- skillsInvocables: rust-experto, rust-testing, rust-patrones, build-errors-rust, api-rest-diseno, manejo-errores
16
- skillsRestringidos: angular-moderno, react-experto, mobile-flutter
15
+ skillsInvocables: [rust-experto, rust-testing, rust-patrones, build-errors-rust, api-rest-diseno, manejo-errores]
16
+ skillsRestringidos: [angular-moderno, react-experto, mobile-flutter]
17
17
  permisosRed: false
18
18
  permisosEscritura: true
19
19
  permisosComandos: true
@@ -28,6 +28,8 @@ invariantes:
28
28
  operador: eq
29
29
  valor: MEDIO
30
30
  razon: Este agente no debe escalar riesgo sin ADR explicito.
31
+ fase: implement
32
+ dominio: backend
31
33
  exclusiones:
32
34
  - "No invocar para frontend ni mobile — eso corresponde a frontend-*-swl o mobile-*-swl."
33
35
  - "No invocar para Python, Node.js, Java, Go o C# — usar el agente de stack especializado correspondiente."
@@ -11,7 +11,7 @@ description: >
11
11
  ni para componentes frontend — esos corresponden a backend-api-swl y
12
12
  frontend-swl. Invocar junto con backend-python-swl o backend-node-swl para
13
13
  la implementación concreta según el stack del proyecto.
14
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
14
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
15
15
  model: claude-sonnet-4-6
16
16
  modeloAlterno: claude-haiku-4-5-20251001
17
17
  ventanaContexto: 200k
@@ -19,8 +19,8 @@ permissionMode: acceptEdits
19
19
  color: orange
20
20
  version: 1.0.0
21
21
  nivelRiesgo: MEDIO
22
- skillsInvocables: async-python, event-driven, monitoring-alertas, manejo-errores
23
- skillsRestringidos: angular-moderno, frontend-design, typescript-avanzado
22
+ skillsInvocables: [async-python, event-driven, monitoring-alertas, manejo-errores]
23
+ skillsRestringidos: [angular-moderno, frontend-design, typescript-avanzado]
24
24
  permisosRed: false
25
25
  permisosEscritura: true
26
26
  permisosComandos: true
@@ -35,6 +35,8 @@ invariantes:
35
35
  operador: eq
36
36
  valor: MEDIO
37
37
  razon: Este agente no debe escalar riesgo sin ADR explicito.
38
+ fase: implement
39
+ dominio: backend
38
40
  exclusiones:
39
41
  - "No invocar para APIs síncronas ni endpoints REST — ese trabajo corresponde a backend-api-swl o backend-*-swl."
40
42
  - "No invocar para componentes frontend — ese trabajo corresponde a frontend-swl o frontend-*-swl."
@@ -10,7 +10,7 @@ description: >
10
10
  cuando se necesita diseñar una estrategia de DR, o al evaluar servicios
11
11
  managed versus self-hosted. No invocar para debugging de código de aplicación
12
12
  (usar depurador-swl), ni para configurar pipelines CI/CD (usar devops-ci-swl).
13
- tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
13
+ tools: [Read, Write, Edit, Bash, Grep, Glob, WebSearch]
14
14
  model: claude-sonnet-4-6
15
15
  modeloAlterno: claude-haiku-4-5-20251001
16
16
  ventanaContexto: 200k
@@ -18,15 +18,14 @@ permissionMode: acceptEdits
18
18
  color: orange
19
19
  version: 1.0.0
20
20
  nivelRiesgo: ALTO
21
- skillsInvocables: cloud-aws, contenedores-docker, kubernetes-orquestacion, ci-cd-pipelines, iam-secretos, azure-cloud, gcp-cloud, terraform-experto
22
- skillsRestringidos:
23
- - angular-component
24
- - angular-forms
25
- - angular-signals
21
+ skillsInvocables: [cloud-aws, contenedores-docker, kubernetes-orquestacion, ci-cd-pipelines, iam-secretos, azure-cloud, gcp-cloud, terraform-experto]
22
+ skillsRestringidos: [angular-component, angular-forms, angular-signals]
26
23
  permisosRed: true
27
24
  permisosEscritura: true
28
25
  permisosComandos: true
29
26
  evolvable: false # nivelRiesgo=ALTO
27
+ fase: release
28
+ dominio: infra
30
29
  exclusiones:
31
30
  - "No invocar para debugging de código de aplicación — usar depurador-swl."
32
31
  - "No invocar para configurar pipelines CI/CD — usar devops-ci-swl."
@@ -6,7 +6,7 @@ description: >
6
6
  patrones validados y convenciones emergentes. Invocar como ÚLTIMO paso del flujo
7
7
  de trabajo, después de que el revisor-codigo-swl o tdd-qa-swl aprueben el trabajo.
8
8
  NO invocar a mitad de sesión ni antes de verificar calidad.
9
- tools: Read, Write, Edit, Grep, Glob
9
+ tools: [Read, Write, Edit, Grep, Glob]
10
10
  model: claude-sonnet-4-6
11
11
  modeloAlterno: claude-haiku-4-5-20251001
12
12
  ventanaContexto: 200k
@@ -14,8 +14,8 @@ permissionMode: acceptEdits
14
14
  color: silver
15
15
  version: 1.0.0
16
16
  nivelRiesgo: MEDIO
17
- skillsInvocables: extractor-de-aprendizajes, auto-evolucion-protocolo, checklist-calidad, memoria-busqueda, privacy-memoria, wiki-conocimiento
18
- skillsRestringidos: ninguno
17
+ skillsInvocables: [extractor-de-aprendizajes, auto-evolucion-protocolo, checklist-calidad, memoria-busqueda, privacy-memoria, wiki-conocimiento]
18
+ skillsRestringidos: []
19
19
  permisosRed: false
20
20
  permisosEscritura: true
21
21
  permisosComandos: false
@@ -24,6 +24,8 @@ toolBudget:
24
24
  standard: 30
25
25
  complex: 60
26
26
  evolvable: false # nivelRiesgo=MEDIO (conservador)
27
+ fase: learn
28
+ dominio: meta
27
29
  exclusiones:
28
30
  - "No invocar a mitad de sesión ni antes de que revisor-codigo-swl o tdd-qa-swl aprueben el trabajo — la consolidación requiere calidad verificada."
29
31
  - "No invocar para generar documentación técnica de features (runbooks, guías de integración) — ese trabajo corresponde a documentador-swl."
@@ -10,7 +10,7 @@ description: >
10
10
  existentes, o cuando se diseña una capa de datos para reporting/BI. No
11
11
  invocar para CRUD estándar de aplicación (usar implementador-swl), ni para
12
12
  configurar infraestructura cloud (usar cloud-infra-swl).
13
- tools: Read, Write, Edit, Bash, Grep, Glob, Skill
13
+ tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
14
14
  model: claude-sonnet-4-6
15
15
  modeloAlterno: claude-haiku-4-5-20251001
16
16
  ventanaContexto: 200k
@@ -18,16 +18,14 @@ permissionMode: acceptEdits
18
18
  color: teal
19
19
  version: 1.0.0
20
20
  nivelRiesgo: ALTO
21
- skillsInvocables: datos-etl, postgresql-experto, sql-optimizacion, patrones-python, redis-experto, mongodb-experto, tracking-measurement, paid-media-tracking
22
- skillsRestringidos:
23
- - angular-component
24
- - angular-forms
25
- - angular-signals
26
- - auth-implementation-patterns
21
+ skillsInvocables: [datos-etl, postgresql-experto, sql-optimizacion, patrones-python, redis-experto, mongodb-experto, tracking-measurement, paid-media-tracking]
22
+ skillsRestringidos: [angular-component, angular-forms, angular-signals, auth-implementation-patterns]
27
23
  permisosRed: false
28
24
  permisosEscritura: true
29
25
  permisosComandos: true
30
26
  evolvable: false # nivelRiesgo=ALTO
27
+ fase: implement
28
+ dominio: data
31
29
  exclusiones:
32
30
  - "No invocar para CRUD estándar de aplicación — usar implementador-swl o backend-python-swl para eso."
33
31
  - "No invocar para configurar infraestructura cloud — ese trabajo corresponde a cloud-infra-swl."
@@ -6,7 +6,7 @@ description: >
6
6
  reportado con síntomas concretos, un error en producción con stack trace, o
7
7
  cuando el desarrollador encuentra un comportamiento inesperado que no puede
8
8
  explicar. No invocar para preguntas generales de arquitectura — usar planificador-swl.
9
- tools: Read, Write, Edit, Bash, Grep, Glob
9
+ tools: [Read, Write, Edit, Bash, Grep, Glob]
10
10
  model: claude-sonnet-4-6
11
11
  permissionMode: acceptEdits
12
12
  modeloAlterno: claude-haiku-4-5-20251001
@@ -14,8 +14,8 @@ ventanaContexto: 200k
14
14
  color: red
15
15
  version: 1.0.0
16
16
  nivelRiesgo: MEDIO
17
- skillsInvocables: patrones-python, fastapi-experto, async-python, manejo-errores, testing-python
18
- skillsRestringidos: ninguno
17
+ skillsInvocables: [patrones-python, fastapi-experto, async-python, manejo-errores, testing-python]
18
+ skillsRestringidos: []
19
19
  permisosRed: false
20
20
  permisosEscritura: true
21
21
  permisosComandos: true
@@ -23,6 +23,7 @@ toolBudget:
23
23
  simple: 15
24
24
  standard: 30
25
25
  complex: 60
26
+ maxTurnos: 12 # método científico iterativo: reproducir → hipótesis → prueba → confirmar
26
27
  evolvable: true
27
28
  evolvable_scope: [description, examples, instructions]
28
29
  invariantes:
@@ -30,6 +31,8 @@ invariantes:
30
31
  operador: eq
31
32
  valor: MEDIO
32
33
  razon: Este agente no debe escalar riesgo sin ADR explicito.
34
+ fase: implement
35
+ dominio: general
33
36
  exclusiones:
34
37
  - "No invocar para implementar features nuevas — este agente diagnostica y corrige bugs, no construye funcionalidad nueva."
35
38
  - "No invocar para errores de build o compilación — ese trabajo corresponde a resolutor-build-swl."
@@ -7,19 +7,21 @@ description: >
7
7
  nuevo, optimizar uno existente que es lento o inestable, preparar una release,
8
8
  crear o ajustar imágenes Docker, o definir el flujo de despliegue de una feature.
9
9
  No invocar para debugging de código de aplicación — usar depurador-swl.
10
- tools: Read, Write, Edit, Bash, Grep, Glob
10
+ tools: [Read, Write, Edit, Bash, Grep, Glob]
11
11
  model: claude-sonnet-4-6
12
12
  modeloAlterno: claude-haiku-4-5-20251001
13
13
  ventanaContexto: 200k
14
14
  color: magenta
15
15
  version: 1.0.0
16
16
  nivelRiesgo: ALTO
17
- skillsInvocables: ci-cd-pipelines, contenedores-docker, kubernetes-orquestacion, cloud-aws, monitoring-alertas
18
- skillsRestringidos: ninguno
17
+ skillsInvocables: [ci-cd-pipelines, contenedores-docker, kubernetes-orquestacion, cloud-aws, monitoring-alertas]
18
+ skillsRestringidos: []
19
19
  permisosRed: true
20
20
  permisosEscritura: true
21
21
  permisosComandos: true
22
22
  evolvable: false # nivelRiesgo=ALTO
23
+ fase: release
24
+ dominio: infra
23
25
  exclusiones:
24
26
  - "No invocar para debugging de código de aplicación — usar depurador-swl."
25
27
  - "No invocar para diseño de infraestructura cloud (VPC, bases de datos, auto-scaling) — usar cloud-infra-swl."