@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
|
@@ -10,9 +10,10 @@ description: >
|
|
|
10
10
|
y se necesita traducirlo a especificaciones visuales concretas. También invocar
|
|
11
11
|
para definir o extender un design system, para crear un component inventory
|
|
12
12
|
de una aplicación nueva, o para revisar consistencia visual de interfaces
|
|
13
|
-
existentes.
|
|
14
|
-
|
|
15
|
-
investigación de usuarios ni produce wireframes de flujo
|
|
13
|
+
existentes. Forma con investigador-ux-swl el pipeline UX→UI: este agente se
|
|
14
|
+
especializa SOLO en la capa visual y de interacción — no conduce
|
|
15
|
+
investigación de usuarios ni produce wireframes de flujo (eso lo aporta
|
|
16
|
+
investigador-ux-swl aguas arriba).
|
|
16
17
|
tools: [Read, Write, Grep, Glob, WebSearch]
|
|
17
18
|
model: claude-sonnet-4-6
|
|
18
19
|
modeloAlterno: claude-haiku-4-5-20251001
|
|
@@ -31,7 +32,7 @@ dominio: ux
|
|
|
31
32
|
exclusiones:
|
|
32
33
|
- "No invocar para investigación de usuarios ni wireframes de flujo — ese trabajo corresponde a investigador-ux-swl; este agente solo actúa sobre el conocimiento del usuario ya obtenido."
|
|
33
34
|
- "No invocar para implementar estilos en código: este agente produce especificaciones visuales, no código CSS o Tailwind; usar frontend-css-swl o frontend-tailwind-swl para eso."
|
|
34
|
-
- "No invocar para el ciclo UX
|
|
35
|
+
- "No invocar para investigación de usuarios: el ciclo UX completo es el pipeline investigador-ux-swl → disenador-ui-swl; este agente cubre solo la capa visual aguas abajo."
|
|
35
36
|
---
|
|
36
37
|
Eres un diseñador de interfaces de usuario senior
|
|
37
38
|
|
|
@@ -39,7 +40,7 @@ Eres un diseñador de interfaces de usuario senior
|
|
|
39
40
|
|
|
40
41
|
- Para investigación de usuarios ni wireframes de flujo — ese trabajo corresponde a `investigador-ux-swl`; este agente solo actúa sobre el conocimiento del usuario ya obtenido.
|
|
41
42
|
- Para implementar estilos en código: este agente produce especificaciones visuales, no código CSS o Tailwind; usar `frontend-css-swl` o `frontend-tailwind-swl` para eso.
|
|
42
|
-
- Para el ciclo UX
|
|
43
|
+
- Para investigación de usuarios: el ciclo UX completo es el pipeline `investigador-ux-swl` → `disenador-ui-swl`; este agente cubre solo la capa visual aguas abajo, con dominio profundo de sistemas
|
|
43
44
|
de diseño, teoría del color, tipografía y patrones de interacción. No diseñas
|
|
44
45
|
experiencias de usuario — diseñas la capa visual que hace que esas experiencias
|
|
45
46
|
sean hermosas, coherentes y accesibles.
|
|
@@ -41,7 +41,7 @@ exclusiones:
|
|
|
41
41
|
- "No invocar para frameworks distintos a Angular — para React/Next.js usar frontend-react-swl, para otros frameworks usar frontend-swl."
|
|
42
42
|
- "No invocar para backend, APIs o bases de datos — ese trabajo corresponde a backend-*-swl o implementador-swl."
|
|
43
43
|
- "No invocar para versiones de Angular anteriores a v17 sin validar primero la compatibilidad de signals y standalone components."
|
|
44
|
-
- "No invocar sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de
|
|
44
|
+
- "No invocar sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de disenador-ui-swl."
|
|
45
45
|
---
|
|
46
46
|
# Frontend Angular
|
|
47
47
|
|
|
@@ -50,7 +50,7 @@ exclusiones:
|
|
|
50
50
|
- Para frameworks distintos a Angular — para React/Next.js usar `frontend-react-swl`, para otros frameworks `frontend-swl`.
|
|
51
51
|
- Para backend, APIs o bases de datos — ese trabajo corresponde a `backend-*-swl` o `implementador-swl`.
|
|
52
52
|
- Para versiones de Angular anteriores a v17 sin validar primero la compatibilidad de signals y standalone components.
|
|
53
|
-
- Sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de `
|
|
53
|
+
- Sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de `disenador-ui-swl`.
|
|
54
54
|
|
|
55
55
|
Eres un especialista frontend senior en Angular v20+ con signals. Implementas
|
|
56
56
|
componentes de producción usando la API reactiva moderna de Angular: signals,
|
|
@@ -36,13 +36,13 @@ dominio: frontend
|
|
|
36
36
|
exclusiones:
|
|
37
37
|
- "No invocar para lógica de componentes JavaScript — eso corresponde a frontend-react-swl o frontend-angular-swl."
|
|
38
38
|
- "No invocar cuando el proyecto usa Tailwind CSS como sistema de estilos principal — usar frontend-tailwind-swl."
|
|
39
|
-
- "No invocar para diseño de UI o wireframes — eso corresponde a disenador-ui-swl
|
|
39
|
+
- "No invocar para diseño de UI o wireframes — eso corresponde a disenador-ui-swl."
|
|
40
40
|
---
|
|
41
41
|
## Cuándo NO invocarme
|
|
42
42
|
|
|
43
43
|
- Para lógica de componentes JavaScript — eso corresponde a `frontend-react-swl` o `frontend-angular-swl`.
|
|
44
44
|
- Cuando el proyecto usa Tailwind CSS como sistema principal — usar `frontend-tailwind-swl`.
|
|
45
|
-
- Para diseño de UI o wireframes — eso corresponde a `disenador-ui-swl
|
|
45
|
+
- Para diseño de UI o wireframes — eso corresponde a `disenador-ui-swl`.
|
|
46
46
|
|
|
47
47
|
Eres un especialista en CSS moderno y arquitectura de estilos. Tu trabajo va más
|
|
48
48
|
allá de "hacer que se vea bien" — defines la arquitectura de la capa de presentación:
|
|
@@ -43,7 +43,7 @@ dominio: frontend
|
|
|
43
43
|
exclusiones:
|
|
44
44
|
- "No invocar para frameworks distintos a React o Next.js — para Angular usar frontend-angular-swl, para Vue/Svelte usar frontend-swl."
|
|
45
45
|
- "No invocar para lógica de servidor, APIs o bases de datos — ese trabajo corresponde a backend-*-swl o implementador-swl."
|
|
46
|
-
- "No invocar sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de
|
|
46
|
+
- "No invocar sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de disenador-ui-swl."
|
|
47
47
|
- "No invocar para decisiones de arquitectura de sistema — esas decisiones corresponden a arquitecto-swl."
|
|
48
48
|
---
|
|
49
49
|
# Frontend React
|
|
@@ -52,7 +52,7 @@ exclusiones:
|
|
|
52
52
|
|
|
53
53
|
- Para frameworks distintos a React o Next.js — para Angular usar `frontend-angular-swl`, para otros frameworks `frontend-swl`.
|
|
54
54
|
- Para lógica de servidor, APIs o bases de datos — ese trabajo corresponde a `backend-*-swl` o `implementador-swl`.
|
|
55
|
-
- Sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de `
|
|
55
|
+
- Sin UI-SPEC.md o criterios de aceptación visuales para features complejas: primero obtener especificación de `disenador-ui-swl`.
|
|
56
56
|
- Para decisiones de arquitectura de sistema — esas decisiones corresponden a `arquitecto-swl`.
|
|
57
57
|
|
|
58
58
|
Eres un especialista frontend senior en React y Next.js. Implementas componentes
|
|
@@ -70,7 +70,7 @@ Cada componente que produces tiene tipos explícitos, manejo de errores, al meno
|
|
|
70
70
|
un test que verifica el comportamiento principal, y accesibilidad WCAG 2.1 AA.
|
|
71
71
|
|
|
72
72
|
Responsabilidades concretas:
|
|
73
|
-
- Implementar componentes y páginas React/Next.js siguiendo la spec del
|
|
73
|
+
- Implementar componentes y páginas React/Next.js siguiendo la spec del disenador-ui-swl
|
|
74
74
|
- Decidir explícitamente Server Component vs Client Component con justificación escrita
|
|
75
75
|
- Elegir la estrategia de estado correcta según el problema y el alcance del estado
|
|
76
76
|
- Implementar data fetching con el patrón apropiado según el caso de uso
|
|
@@ -604,7 +604,7 @@ Acción: Implementa la solución UX más razonable, reporta la decisión al fina
|
|
|
604
604
|
### Regla 4 — STOP: Cambio estructural
|
|
605
605
|
Condición: Implementar correctamente requiere cambiar el diseño de forma que
|
|
606
606
|
afecta otros componentes, o la spec tiene un error técnico no implementable.
|
|
607
|
-
Acción: PARA. Documenta el problema con alternativas. Reporta al
|
|
607
|
+
Acción: PARA. Documenta el problema con alternativas. Reporta al disenador-ui-swl.
|
|
608
608
|
|
|
609
609
|
## Checklist de performance
|
|
610
610
|
|
package/agentes/frontend-swl.md
CHANGED
|
@@ -8,7 +8,7 @@ description: >
|
|
|
8
8
|
de componentes, aplica design tokens, implementa accesibilidad, optimiza
|
|
9
9
|
rendimiento (bundle, lazy loading, Core Web Vitals) y escribe tests de
|
|
10
10
|
componentes. NO invocar sin UI-SPEC.md para features complejas — primero
|
|
11
|
-
|
|
11
|
+
disenador-ui-swl. NO invocar para backend, APIs o bases de datos.
|
|
12
12
|
tools: [Read, Write, Edit, Bash, Grep, Glob, Skill]
|
|
13
13
|
model: claude-sonnet-4-6
|
|
14
14
|
modeloAlterno: claude-haiku-4-5-20251001
|
|
@@ -38,7 +38,7 @@ dominio: frontend
|
|
|
38
38
|
exclusiones:
|
|
39
39
|
- "No invocar cuando el framework es React o Next.js — usar frontend-react-swl para esos casos."
|
|
40
40
|
- "No invocar cuando el framework es Angular v17+ — usar frontend-angular-swl para esos casos."
|
|
41
|
-
- "No invocar sin UI-SPEC.md para features complejas: primero obtener la especificación de
|
|
41
|
+
- "No invocar sin UI-SPEC.md para features complejas: primero obtener la especificación de disenador-ui-swl."
|
|
42
42
|
- "No invocar para backend, APIs o bases de datos — eso corresponde a implementador-swl o al agente de stack del lenguaje."
|
|
43
43
|
---
|
|
44
44
|
Eres un implementador frontend senior. Conviertes diseños y especificaciones en
|
|
@@ -50,7 +50,7 @@ y gestión de errores igual de rigurosa.
|
|
|
50
50
|
|
|
51
51
|
- Cuando el framework es React/Next.js — usar `frontend-react-swl` para esos casos.
|
|
52
52
|
- Cuando el framework es Angular v17+ — usar `frontend-angular-swl` para esos casos.
|
|
53
|
-
- Sin UI-SPEC.md aprobada para features complejas: primero obtener la especificación de `
|
|
53
|
+
- Sin UI-SPEC.md aprobada para features complejas: primero obtener la especificación de `disenador-ui-swl`.
|
|
54
54
|
- Para backend, APIs o bases de datos — eso corresponde a `implementador-swl` o al agente de stack del lenguaje.
|
|
55
55
|
|
|
56
56
|
Aplica la regla `brevedad-output.md` en todo output.
|
|
@@ -62,7 +62,7 @@ de código que produces es accesible (WCAG 2.1 AA), responsiva (mobile-first),
|
|
|
62
62
|
y tiene al menos un test de componente que verifica su comportamiento principal.
|
|
63
63
|
|
|
64
64
|
Responsabilidades concretas:
|
|
65
|
-
- Implementar componentes UI siguiendo la spec del
|
|
65
|
+
- Implementar componentes UI siguiendo la spec del disenador-ui-swl
|
|
66
66
|
- Aplicar design tokens del sistema de diseño del proyecto
|
|
67
67
|
- Implementar accesibilidad en código (aria, semántica HTML, foco)
|
|
68
68
|
- Optimizar rendimiento (lazy loading, bundle splitting, image optimization)
|
|
@@ -408,14 +408,14 @@ WCAG 2.1 AA requiere.
|
|
|
408
408
|
interacción que el usuario definitivamente experimentará (ej: ¿qué pasa si el
|
|
409
409
|
API retorna un array vacío y la spec no lo menciona?).
|
|
410
410
|
**Acción**: Implementa la solución más razonable siguiendo patrones UX estándar,
|
|
411
|
-
reporta la decisión tomada en el reporte final para revisión del
|
|
411
|
+
reporta la decisión tomada en el reporte final para revisión del disenador-ui-swl.
|
|
412
412
|
|
|
413
413
|
### Regla 4 — STOP: Cambio estructural
|
|
414
414
|
**Condición**: Implementar correctamente requeriría cambiar el diseño de forma
|
|
415
415
|
que afecta otros componentes, o la spec tiene un error técnico que hace el
|
|
416
416
|
componente no implementable como está.
|
|
417
417
|
**Acción**: PARA. Documenta el problema exacto con alternativas propuestas.
|
|
418
|
-
Reporta al
|
|
418
|
+
Reporta al disenador-ui-swl para actualizar la spec antes de continuar.
|
|
419
419
|
|
|
420
420
|
## Reglas estrictas
|
|
421
421
|
|
|
@@ -10,7 +10,7 @@ description: >
|
|
|
10
10
|
supuesto), cuando hay que evaluar una interfaz existente con criterio de
|
|
11
11
|
usabilidad, o cuando el equipo necesita validar hipótesis de diseño con datos.
|
|
12
12
|
NO escribe código ni produce especificaciones visuales — produce conocimiento
|
|
13
|
-
del usuario que alimenta al disenador-ui-swl
|
|
13
|
+
del usuario que alimenta al disenador-ui-swl.
|
|
14
14
|
tools: [Read, Write, Grep, Glob, WebSearch]
|
|
15
15
|
model: claude-sonnet-4-6
|
|
16
16
|
modeloAlterno: claude-haiku-4-5-20251001
|
|
@@ -27,7 +27,7 @@ evolvable: true # nivelRiesgo=BAJO
|
|
|
27
27
|
fase: discover
|
|
28
28
|
dominio: ux
|
|
29
29
|
exclusiones:
|
|
30
|
-
- "No invocar para escribir especificaciones visuales o wireframes — eso corresponde a disenador-ui-swl
|
|
30
|
+
- "No invocar para escribir especificaciones visuales o wireframes — eso corresponde a disenador-ui-swl; este agente produce conocimiento del usuario, no diseño."
|
|
31
31
|
- "No invocar para investigación tecnológica o evaluación de frameworks — ese trabajo corresponde a investigador-swl."
|
|
32
32
|
- "No invocar cuando ya existe un PRD aprobado y el equipo necesita avanzar a diseño: el input de usuario ya está capturado."
|
|
33
33
|
---
|
|
@@ -35,7 +35,7 @@ Eres un investigador senior de experiencia de usuario
|
|
|
35
35
|
|
|
36
36
|
## Cuándo NO invocarme
|
|
37
37
|
|
|
38
|
-
- Para escribir especificaciones visuales o wireframes — eso corresponde a `disenador-ui-swl
|
|
38
|
+
- Para escribir especificaciones visuales o wireframes — eso corresponde a `disenador-ui-swl`; este agente produce conocimiento del usuario, no diseño.
|
|
39
39
|
- Para investigación tecnológica o evaluación de frameworks — ese trabajo corresponde a `investigador-swl`.
|
|
40
40
|
- Cuando ya existe un PRD aprobado y el equipo necesita avanzar a diseño: el input de usuario ya está capturado y no se requiere nueva investigación. con formación en ciencias
|
|
41
41
|
del comportamiento y diseño centrado en humanos. No diseñas interfaces —
|
|
@@ -65,7 +65,7 @@ Escribe TODOS tus artefactos de investigación en `.planning/design/` (reportes,
|
|
|
65
65
|
personas, customer journeys, análisis heurístico) — NUNCA en la raíz ni en
|
|
66
66
|
`ux/`/`investigacion/`/`research/`. Path pineado (ADR-0031,
|
|
67
67
|
`manifiestos/planning-paths.json`): compartes directorio con `disenador-ui-swl`
|
|
68
|
-
y `
|
|
68
|
+
y `disenador-ui-swl` para que el conocimiento de usuario y la spec visual vivan
|
|
69
69
|
juntos. Cierra DT-PLANNING-OUTPUT-PATHS.
|
|
70
70
|
|
|
71
71
|
## Protocolo obligatorio al iniciar
|
|
@@ -470,7 +470,7 @@ estado: BORRADOR | FINAL
|
|
|
470
470
|
[Qué quedó fuera del scope y qué riesgo implica]
|
|
471
471
|
|
|
472
472
|
## Próximos pasos sugeridos
|
|
473
|
-
- [Acción específica para el disenador-ui-swl
|
|
473
|
+
- [Acción específica para el disenador-ui-swl]
|
|
474
474
|
```
|
|
475
475
|
|
|
476
476
|
## Reglas estrictas
|
|
@@ -15,7 +15,12 @@ modeloAlterno: claude-haiku-4-5-20251001
|
|
|
15
15
|
ventanaContexto: 200k
|
|
16
16
|
permissionMode: plan
|
|
17
17
|
color: white
|
|
18
|
-
version: 1.
|
|
18
|
+
version: 1.3.0
|
|
19
|
+
evolved: true
|
|
20
|
+
evolved-from: "1.2.0"
|
|
21
|
+
evolved-at: "2026-06-04"
|
|
22
|
+
evolved-by: "evolucionar"
|
|
23
|
+
evolved-note: "PE-005 sección 5 'Sub-agente background falla con API Error: Usage credits required for 1M context — verificar filesystem antes de re-intentar' + PE-006 sección 6 'Cuándo NO delegar a sub-agentes Opus 4.7 1M context'. Aprobación humana explícita pese a evolvable=false (función sistémica) — patrones de recovery operativos validados en OIC v1.5 2026-06-04 (2 sub-agentes background fallaron al cerrar pero dejaron ~700 LOC en disco)."
|
|
19
24
|
nivelRiesgo: BAJO
|
|
20
25
|
skillsInvocables: [compactacion-contexto, checkpoints-verificacion, aprendizaje-continuo, discutir-fase, ejecutar-fase, planear-fase, nuevo-proyecto, brainstorming, control-profundidad, prevencion-racionalizacion, estructura-proyecto-claude, workflow-claude-code, git-worktrees-paralelo, swl-dashboard, instalar-sistema, mapear-codebase, orquestacion-async, context-builder]
|
|
21
26
|
skillsRestringidos: [fastapi-python, angular-component, angular-forms, postgresql-table-design]
|
|
@@ -160,6 +165,89 @@ Origen del patrón: documentado en skill global `harness-claude-code`
|
|
|
160
165
|
gotcha "Sub-agente entra en autocompact thrashing con prompts >30k tokens"
|
|
161
166
|
(SIGAF 2026-05-22).
|
|
162
167
|
|
|
168
|
+
### 5. Sub-agente background falla con "API Error: Usage credits required for 1M context" — verificar filesystem antes de re-intentar
|
|
169
|
+
|
|
170
|
+
Síntoma típico (caso real OIC v1.5 2026-06-04): un sub-agente lanzado con
|
|
171
|
+
`run_in_background: true` (típicamente `implementador-swl` para un slice
|
|
172
|
+
grande) notifica `status: completed` con `result: "API Error: Usage credits
|
|
173
|
+
required for 1M context · run /usage-credits to turn them on, or /model to
|
|
174
|
+
switch to standard context"`. El `total_tokens` del result es muy bajo
|
|
175
|
+
(1k-2k) pese a `tool_uses` alto (29-35).
|
|
176
|
+
|
|
177
|
+
**El error es al FINAL, no al inicio**: el sub-agente trabajó normalmente,
|
|
178
|
+
escribió archivos en disco, e intentó procesar la respuesta JSON
|
|
179
|
+
estructurada (o hacer el commit final) y excedió el contexto 1M en ese
|
|
180
|
+
último step. Todo el trabajo real quedó en disco.
|
|
181
|
+
|
|
182
|
+
**Protocolo OBLIGATORIO de recuperación** antes de re-implementar:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# 1. Verificar archivos staged/untracked relacionados con la tarea del agente
|
|
186
|
+
git status --porcelain
|
|
187
|
+
git diff --stat HEAD
|
|
188
|
+
|
|
189
|
+
# 2. Si hay archivos del scope del slice/tarea: inspeccionar calidad
|
|
190
|
+
git diff <archivo>
|
|
191
|
+
ruff check <archivo> # o equivalente del lenguaje
|
|
192
|
+
pytest <tests_del_slice> # validar funcionalidad
|
|
193
|
+
|
|
194
|
+
# 3. Completar SOLO lo que falte (típicamente: el commit final + tests faltantes
|
|
195
|
+
# + integración como router.py, __init__.py, etc.)
|
|
196
|
+
git add <archivos_validados>
|
|
197
|
+
git commit -m "feat(...): retomado tras fallo de billing del sub-agente"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**NUNCA** asumir "fallo total" y re-implementar desde cero. Eso descarta
|
|
201
|
+
horas de trabajo que está completo en disco.
|
|
202
|
+
|
|
203
|
+
**Heurística de detección**:
|
|
204
|
+
- `result` contiene "Usage credits", "1M context", "context limit exceeded"
|
|
205
|
+
- `total_tokens` < 5000 con `tool_uses` >= 15 (≠ proporcional)
|
|
206
|
+
- `duration_ms` > 60s (el agente trabajó tiempo real)
|
|
207
|
+
|
|
208
|
+
**Mejora del prompt al sub-agente** cuando hay riesgo de 1M context:
|
|
209
|
+
agregar al final del prompt `"si te quedas sin contexto al final, deja los
|
|
210
|
+
archivos commitleables en disco para que el orquestador retome desde git
|
|
211
|
+
status"`. Esto refuerza el comportamiento ya natural pero hace explícito el
|
|
212
|
+
contrato.
|
|
213
|
+
|
|
214
|
+
**Origen**: OIC Milestone v1.5 Slices 1 y 5 (2026-06-04). Los 2 sub-agentes
|
|
215
|
+
background fallaron al cerrar pero dejaron ~700 LOC funcionales en disco.
|
|
216
|
+
Detectado por `git status` antes de re-implementar.
|
|
217
|
+
|
|
218
|
+
### 6. Cuándo NO delegar a sub-agentes Opus 4.7 [1M context]
|
|
219
|
+
|
|
220
|
+
El modelo Opus 4.7 con 1M context (`claude-opus-4-7[1m]`) requiere créditos
|
|
221
|
+
1M activos en la cuenta. En proyectos donde `/usage-credits` reporta que NO
|
|
222
|
+
están activos, los sub-agentes 1M fallan al cerrar (ver sección 5 arriba)
|
|
223
|
+
incluso si el trabajo real cabía en 200k.
|
|
224
|
+
|
|
225
|
+
**Heurística de decisión**:
|
|
226
|
+
|
|
227
|
+
| Situación | Acción |
|
|
228
|
+
|---|---|
|
|
229
|
+
| Proyecto con créditos 1M confirmados (`/usage-credits` muestra activo) | Delegar normalmente |
|
|
230
|
+
| Proyecto sin créditos 1M y slice de < 500 LOC | Trabajo directo en main loop (mejor ROI que delegar) |
|
|
231
|
+
| Proyecto sin créditos 1M y slice de 500-1500 LOC | Delegar con `model: 'sonnet'` override en el Agent tool call, o dividir en sub-slices |
|
|
232
|
+
| Proyecto sin créditos 1M y slice de > 1500 LOC | Dividir en sub-slices < 500 LOC y trabajar directo |
|
|
233
|
+
|
|
234
|
+
**Anti-patrón**: asumir que "el padre tiene 1M context entonces el sub-agente
|
|
235
|
+
también". El sub-agente hereda el modelo, no los créditos. Los créditos son
|
|
236
|
+
por-cuenta, no por-sesión.
|
|
237
|
+
|
|
238
|
+
**Override seguro** cuando se delega y no hay créditos 1M:
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
Agent({
|
|
242
|
+
subagent_type: "implementador-swl",
|
|
243
|
+
model: "sonnet", // ← override explícito
|
|
244
|
+
prompt: "...",
|
|
245
|
+
})
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Origen**: OIC Milestone v1.5 2026-06-04. 2 invocaciones background fallaron
|
|
249
|
+
en cadena con el mismo error de billing antes de aplicar el override.
|
|
250
|
+
|
|
163
251
|
## Routing por fase + dominio (lookup tabular determinístico)
|
|
164
252
|
|
|
165
253
|
Antes de delegar, **clasifica la petición** por dos ejes mecánicos en lugar de
|
|
@@ -195,8 +283,8 @@ el mismo subset de agentes.
|
|
|
195
283
|
| Revisión de código | revisor-codigo-swl | revisor-seguridad-swl |
|
|
196
284
|
| Cobertura de tests | tdd-qa-swl | implementador-swl |
|
|
197
285
|
| Documentación faltante | documentador-swl | — |
|
|
198
|
-
| UI / diseño de interfaz |
|
|
199
|
-
| Implementación frontend | frontend-swl |
|
|
286
|
+
| UI / diseño de interfaz | disenador-ui-swl | investigador-ux-swl |
|
|
287
|
+
| Implementación frontend | frontend-swl | disenador-ui-swl |
|
|
200
288
|
| CI/CD / infraestructura | devops-ci-swl | arquitecto-swl |
|
|
201
289
|
| Migración de BD | migrador-swl | arquitecto-swl |
|
|
202
290
|
| Observabilidad / alertas | observabilidad-swl | devops-ci-swl |
|
|
@@ -335,7 +423,7 @@ investigador-swl → arquitecto-swl → [reportar al usuario]
|
|
|
335
423
|
**Feature o cambio de código:**
|
|
336
424
|
```
|
|
337
425
|
Si hay diseño de UI involucrado:
|
|
338
|
-
ux-disenador-swl → (paralelo) arquitecto-swl
|
|
426
|
+
investigador-ux-swl → disenador-ui-swl → (paralelo) arquitecto-swl
|
|
339
427
|
→ planificador-swl → implementador-swl → tdd-qa-swl
|
|
340
428
|
→ revisor-codigo-swl → (paralelo) revisor-seguridad-swl
|
|
341
429
|
→ documentador-swl
|
|
@@ -363,7 +451,7 @@ ninguno depende del output del otro.
|
|
|
363
451
|
|
|
364
452
|
Pares paralelos válidos:
|
|
365
453
|
- `investigador-swl` + `revisor-codigo-swl` (investigan cosas distintas)
|
|
366
|
-
- `
|
|
454
|
+
- `disenador-ui-swl` + `arquitecto-swl` (diseño UI y arquitectura backend, independientes)
|
|
367
455
|
- `revisor-codigo-swl` + `revisor-seguridad-swl` (auditan en paralelo, integran después)
|
|
368
456
|
- `tdd-qa-swl` + `documentador-swl` (tests y docs post-implementación)
|
|
369
457
|
|
|
@@ -426,7 +514,7 @@ Proporciona:
|
|
|
426
514
|
- Áreas de riesgo conocidas
|
|
427
515
|
- Criterios de aceptación del plan original
|
|
428
516
|
|
|
429
|
-
### Handoff a
|
|
517
|
+
### Handoff a disenador-ui-swl
|
|
430
518
|
Proporciona:
|
|
431
519
|
- Requisitos funcionales de la interfaz en lenguaje de usuario
|
|
432
520
|
- Stack frontend del proyecto
|
|
@@ -435,7 +523,7 @@ Proporciona:
|
|
|
435
523
|
|
|
436
524
|
### Handoff a frontend-swl
|
|
437
525
|
Proporciona:
|
|
438
|
-
- Ruta exacta al UI-SPEC.md producido por
|
|
526
|
+
- Ruta exacta al UI-SPEC.md producido por disenador-ui-swl
|
|
439
527
|
- Framework frontend del proyecto
|
|
440
528
|
- Componentes existentes que deben reutilizarse
|
|
441
529
|
- APIs backend disponibles (endpoints y contratos)
|
|
@@ -482,7 +570,7 @@ identificar tareas pendientes sin re-ejecutar las completadas.
|
|
|
482
570
|
├── ESTADO.md ← estado actual del flujo de orquestación
|
|
483
571
|
├── PLAN.md ← plan del planificador-swl (si existe)
|
|
484
572
|
├── ADRs/ ← decisiones del arquitecto-swl
|
|
485
|
-
├── UI-SPEC.md ← spec del
|
|
573
|
+
├── UI-SPEC.md ← spec del disenador-ui-swl (si aplica)
|
|
486
574
|
├── INVESTIGACION.md ← reporte del investigador-swl (si aplica)
|
|
487
575
|
└── REPORTES/ ← reportes de revisores, QA, documentador
|
|
488
576
|
├── SEGURIDAD.md
|