@saulwade/swl-ses 1.6.1 → 1.6.3

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 (50) hide show
  1. package/CLAUDE.md +2 -2
  2. package/README.md +4 -4
  3. package/agentes/_intent-spec.md +73 -0
  4. package/agentes/auto-evolucion-swl.md +24 -0
  5. package/agentes/cloud-infra-swl.md +25 -0
  6. package/agentes/datos-swl.md +23 -0
  7. package/agentes/devops-ci-swl.md +24 -0
  8. package/agentes/migrador-swl.md +22 -0
  9. package/agentes/pagos-swl.md +25 -0
  10. package/agentes/release-manager-swl.md +24 -0
  11. package/agentes/sre-swl.md +24 -0
  12. package/comandos/swl/planear-fase.md +16 -0
  13. package/habilidades/aprender-de-git-diff/SKILL.md +288 -0
  14. package/habilidades/diseno-herramientas-agente/SKILL.md +17 -1
  15. package/habilidades/meta-skills-estandar/SKILL.md +6 -0
  16. package/habilidades/meta-skills-estandar/recursos/skill-judge-rubrica.md +281 -0
  17. package/habilidades/proceso-autoverificacion-evidencias/SKILL.md +258 -0
  18. package/habilidades/proceso-confianza-pre-implementacion/SKILL.md +246 -0
  19. package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -0
  20. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -0
  21. package/habilidades/proceso-intent-engineering/SKILL.md +269 -0
  22. package/habilidades/reducir-entropia/SKILL.md +219 -0
  23. package/hooks/lib/task-budget.js +218 -0
  24. package/hooks/validar-intent-spec.js +222 -0
  25. package/manifiestos/hooks-config.json +9 -0
  26. package/manifiestos/modulos.json +11 -2
  27. package/manifiestos/skills-lock.json +90 -41
  28. package/package.json +2 -2
  29. package/plugin.json +9 -2
  30. package/reglas/fragmentos-compartidos.md +26 -0
  31. package/reglas/intent-engineering.md +214 -0
  32. package/reglas/registro-componentes-nuevos.md +38 -0
  33. package/schemas/agent-frontmatter.schema.json +294 -167
  34. package/schemas/agent-message.schema.json +73 -53
  35. package/schemas/agent-output-implementacion.schema.json +114 -85
  36. package/schemas/agent-output-planificacion.schema.json +150 -113
  37. package/schemas/agent-output-review.schema.json +98 -78
  38. package/schemas/diary-entry.schema.json +42 -10
  39. package/schemas/hook-profiles.schema.json +54 -39
  40. package/schemas/hooks-config.schema.json +89 -74
  41. package/schemas/instinct.schema.json +152 -115
  42. package/schemas/modulos.schema.json +38 -29
  43. package/schemas/perfiles.schema.json +36 -28
  44. package/schemas/plugin.schema.json +77 -64
  45. package/schemas/skill-evals.schema.json +119 -95
  46. package/schemas/skill-frontmatter.schema.json +245 -170
  47. package/scripts/generar-inventario.js +3 -1
  48. package/scripts/lib/schema-version.js +164 -0
  49. package/scripts/validar-manifest.js +1 -1
  50. package/scripts/validar.js +3 -2
@@ -1,85 +1,114 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "title": "AgentOutputImplementacion",
4
- "description": "Schema para output estructurado del agente implementador. Garantiza formato parseable para el orquestador.",
5
- "type": "object",
6
- "required": ["estado", "slicesCompletados", "slicesTotal", "commits"],
7
- "properties": {
8
- "estado": {
9
- "type": "string",
10
- "enum": ["COMPLETADO", "PARCIAL", "BLOQUEADO"],
11
- "description": "Estado final de la implementacion"
12
- },
13
- "slicesCompletados": {
14
- "type": "integer",
15
- "minimum": 0,
16
- "description": "Cantidad de slices completados exitosamente"
17
- },
18
- "slicesTotal": {
19
- "type": "integer",
20
- "minimum": 1,
21
- "description": "Cantidad total de slices en el plan"
22
- },
23
- "commits": {
24
- "type": "array",
25
- "items": {
26
- "type": "object",
27
- "required": ["hash", "slice", "mensaje"],
28
- "properties": {
29
- "hash": {
30
- "type": "string",
31
- "description": "Hash corto del commit (7 chars)"
32
- },
33
- "slice": {
34
- "type": "string",
35
- "description": "ID del slice (ej: T-01)"
36
- },
37
- "mensaje": {
38
- "type": "string",
39
- "description": "Mensaje del commit"
40
- }
41
- }
42
- }
43
- },
44
- "desviaciones": {
45
- "type": "array",
46
- "items": {
47
- "type": "object",
48
- "required": ["slice", "regla", "descripcion"],
49
- "properties": {
50
- "slice": {
51
- "type": "string",
52
- "description": "ID del slice donde ocurrio la desviacion"
53
- },
54
- "regla": {
55
- "type": "string",
56
- "enum": ["AUTO-FIX", "AUTO-ADD", "AUTO-FIX-TEST", "STOP"],
57
- "description": "Regla de desviacion aplicada (1-4)"
58
- },
59
- "descripcion": {
60
- "type": "string",
61
- "description": "Que se desvio y por que"
62
- }
63
- }
64
- },
65
- "default": []
66
- },
67
- "pendiente": {
68
- "type": "string",
69
- "description": "Descripcion del bloqueo (solo si estado = BLOQUEADO o PARCIAL)"
70
- },
71
- "tokenUsage": {
72
- "type": "object",
73
- "properties": {
74
- "input": { "type": "integer", "minimum": 0 },
75
- "output": { "type": "integer", "minimum": 0 }
76
- },
77
- "description": "Tokens consumidos en la implementacion"
78
- },
79
- "toolCalls": {
80
- "type": "integer",
81
- "minimum": 0,
82
- "description": "Total de tool calls ejecutados"
83
- }
84
- }
85
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$schemaVersion": "1.0.0",
4
+ "title": "AgentOutputImplementacion",
5
+ "description": "Schema para output estructurado del agente implementador. Garantiza formato parseable para el orquestador.",
6
+ "type": "object",
7
+ "required": [
8
+ "estado",
9
+ "slicesCompletados",
10
+ "slicesTotal",
11
+ "commits"
12
+ ],
13
+ "properties": {
14
+ "estado": {
15
+ "type": "string",
16
+ "enum": [
17
+ "COMPLETADO",
18
+ "PARCIAL",
19
+ "BLOQUEADO"
20
+ ],
21
+ "description": "Estado final de la implementacion"
22
+ },
23
+ "slicesCompletados": {
24
+ "type": "integer",
25
+ "minimum": 0,
26
+ "description": "Cantidad de slices completados exitosamente"
27
+ },
28
+ "slicesTotal": {
29
+ "type": "integer",
30
+ "minimum": 1,
31
+ "description": "Cantidad total de slices en el plan"
32
+ },
33
+ "commits": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "required": [
38
+ "hash",
39
+ "slice",
40
+ "mensaje"
41
+ ],
42
+ "properties": {
43
+ "hash": {
44
+ "type": "string",
45
+ "description": "Hash corto del commit (7 chars)"
46
+ },
47
+ "slice": {
48
+ "type": "string",
49
+ "description": "ID del slice (ej: T-01)"
50
+ },
51
+ "mensaje": {
52
+ "type": "string",
53
+ "description": "Mensaje del commit"
54
+ }
55
+ }
56
+ }
57
+ },
58
+ "desviaciones": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "object",
62
+ "required": [
63
+ "slice",
64
+ "regla",
65
+ "descripcion"
66
+ ],
67
+ "properties": {
68
+ "slice": {
69
+ "type": "string",
70
+ "description": "ID del slice donde ocurrio la desviacion"
71
+ },
72
+ "regla": {
73
+ "type": "string",
74
+ "enum": [
75
+ "AUTO-FIX",
76
+ "AUTO-ADD",
77
+ "AUTO-FIX-TEST",
78
+ "STOP"
79
+ ],
80
+ "description": "Regla de desviacion aplicada (1-4)"
81
+ },
82
+ "descripcion": {
83
+ "type": "string",
84
+ "description": "Que se desvio y por que"
85
+ }
86
+ }
87
+ },
88
+ "default": []
89
+ },
90
+ "pendiente": {
91
+ "type": "string",
92
+ "description": "Descripcion del bloqueo (solo si estado = BLOQUEADO o PARCIAL)"
93
+ },
94
+ "tokenUsage": {
95
+ "type": "object",
96
+ "properties": {
97
+ "input": {
98
+ "type": "integer",
99
+ "minimum": 0
100
+ },
101
+ "output": {
102
+ "type": "integer",
103
+ "minimum": 0
104
+ }
105
+ },
106
+ "description": "Tokens consumidos en la implementacion"
107
+ },
108
+ "toolCalls": {
109
+ "type": "integer",
110
+ "minimum": 0,
111
+ "description": "Total de tool calls ejecutados"
112
+ }
113
+ }
114
+ }
@@ -1,113 +1,150 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "title": "AgentOutputPlanificacion",
4
- "description": "Schema para output estructurado del agente planificador. Formato parseable para ejecutar-fase.",
5
- "type": "object",
6
- "required": ["tareas", "oleadas", "duracionEstimada"],
7
- "properties": {
8
- "tareas": {
9
- "type": "array",
10
- "minItems": 1,
11
- "items": {
12
- "type": "object",
13
- "required": ["id", "titulo", "tipo", "descripcion", "entregable", "verificacion", "tiempoEstimado"],
14
- "properties": {
15
- "id": {
16
- "type": "string",
17
- "pattern": "^T-\\d{2,3}$",
18
- "description": "ID de la tarea (ej: T-01, T-02)"
19
- },
20
- "titulo": {
21
- "type": "string",
22
- "description": "Nombre descriptivo de la tarea"
23
- },
24
- "tipo": {
25
- "type": "string",
26
- "enum": ["AFK", "HITL"],
27
- "description": "AFK = autonoma, HITL = requiere decision humana"
28
- },
29
- "descripcion": {
30
- "type": "string",
31
- "minLength": 20,
32
- "description": "Que hacer, sin ambiguedad"
33
- },
34
- "entregable": {
35
- "type": "string",
36
- "description": "Que existe cuando la tarea esta completa"
37
- },
38
- "verificacion": {
39
- "type": "string",
40
- "description": "Comando o condicion observable para verificar"
41
- },
42
- "dependencias": {
43
- "type": "array",
44
- "items": {
45
- "type": "string",
46
- "pattern": "^T-\\d{2,3}$"
47
- },
48
- "default": [],
49
- "description": "IDs de tareas que deben completarse antes"
50
- },
51
- "tiempoEstimado": {
52
- "type": "string",
53
- "description": "Estimacion (ej: 30 min, 1h)"
54
- },
55
- "oleada": {
56
- "type": "integer",
57
- "minimum": 1,
58
- "description": "Numero de oleada a la que pertenece"
59
- }
60
- }
61
- }
62
- },
63
- "oleadas": {
64
- "type": "array",
65
- "minItems": 1,
66
- "items": {
67
- "type": "object",
68
- "required": ["numero", "nombre", "tareas"],
69
- "properties": {
70
- "numero": {
71
- "type": "integer",
72
- "minimum": 1
73
- },
74
- "nombre": {
75
- "type": "string",
76
- "description": "Nombre conceptual de la oleada"
77
- },
78
- "tareas": {
79
- "type": "array",
80
- "items": {
81
- "type": "string",
82
- "pattern": "^T-\\d{2,3}$"
83
- },
84
- "description": "IDs de tareas en esta oleada"
85
- }
86
- }
87
- }
88
- },
89
- "riesgos": {
90
- "type": "array",
91
- "items": {
92
- "type": "object",
93
- "required": ["tarea", "riesgo", "mitigacion"],
94
- "properties": {
95
- "tarea": { "type": "string" },
96
- "riesgo": { "type": "string" },
97
- "probabilidad": { "type": "string", "enum": ["baja", "media", "alta"] },
98
- "mitigacion": { "type": "string" }
99
- }
100
- },
101
- "default": []
102
- },
103
- "duracionEstimada": {
104
- "type": "string",
105
- "description": "Duracion total estimada (ej: 4h, 2 dias)"
106
- },
107
- "tareasHITL": {
108
- "type": "integer",
109
- "minimum": 0,
110
- "description": "Cantidad de tareas que requieren intervencion humana"
111
- }
112
- }
113
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$schemaVersion": "1.0.0",
4
+ "title": "AgentOutputPlanificacion",
5
+ "description": "Schema para output estructurado del agente planificador. Formato parseable para ejecutar-fase.",
6
+ "type": "object",
7
+ "required": [
8
+ "tareas",
9
+ "oleadas",
10
+ "duracionEstimada"
11
+ ],
12
+ "properties": {
13
+ "tareas": {
14
+ "type": "array",
15
+ "minItems": 1,
16
+ "items": {
17
+ "type": "object",
18
+ "required": [
19
+ "id",
20
+ "titulo",
21
+ "tipo",
22
+ "descripcion",
23
+ "entregable",
24
+ "verificacion",
25
+ "tiempoEstimado"
26
+ ],
27
+ "properties": {
28
+ "id": {
29
+ "type": "string",
30
+ "pattern": "^T-\\d{2,3}$",
31
+ "description": "ID de la tarea (ej: T-01, T-02)"
32
+ },
33
+ "titulo": {
34
+ "type": "string",
35
+ "description": "Nombre descriptivo de la tarea"
36
+ },
37
+ "tipo": {
38
+ "type": "string",
39
+ "enum": [
40
+ "AFK",
41
+ "HITL"
42
+ ],
43
+ "description": "AFK = autonoma, HITL = requiere decision humana"
44
+ },
45
+ "descripcion": {
46
+ "type": "string",
47
+ "minLength": 20,
48
+ "description": "Que hacer, sin ambiguedad"
49
+ },
50
+ "entregable": {
51
+ "type": "string",
52
+ "description": "Que existe cuando la tarea esta completa"
53
+ },
54
+ "verificacion": {
55
+ "type": "string",
56
+ "description": "Comando o condicion observable para verificar"
57
+ },
58
+ "dependencias": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string",
62
+ "pattern": "^T-\\d{2,3}$"
63
+ },
64
+ "default": [],
65
+ "description": "IDs de tareas que deben completarse antes"
66
+ },
67
+ "tiempoEstimado": {
68
+ "type": "string",
69
+ "description": "Estimacion (ej: 30 min, 1h)"
70
+ },
71
+ "oleada": {
72
+ "type": "integer",
73
+ "minimum": 1,
74
+ "description": "Numero de oleada a la que pertenece"
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "oleadas": {
80
+ "type": "array",
81
+ "minItems": 1,
82
+ "items": {
83
+ "type": "object",
84
+ "required": [
85
+ "numero",
86
+ "nombre",
87
+ "tareas"
88
+ ],
89
+ "properties": {
90
+ "numero": {
91
+ "type": "integer",
92
+ "minimum": 1
93
+ },
94
+ "nombre": {
95
+ "type": "string",
96
+ "description": "Nombre conceptual de la oleada"
97
+ },
98
+ "tareas": {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string",
102
+ "pattern": "^T-\\d{2,3}$"
103
+ },
104
+ "description": "IDs de tareas en esta oleada"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "riesgos": {
110
+ "type": "array",
111
+ "items": {
112
+ "type": "object",
113
+ "required": [
114
+ "tarea",
115
+ "riesgo",
116
+ "mitigacion"
117
+ ],
118
+ "properties": {
119
+ "tarea": {
120
+ "type": "string"
121
+ },
122
+ "riesgo": {
123
+ "type": "string"
124
+ },
125
+ "probabilidad": {
126
+ "type": "string",
127
+ "enum": [
128
+ "baja",
129
+ "media",
130
+ "alta"
131
+ ]
132
+ },
133
+ "mitigacion": {
134
+ "type": "string"
135
+ }
136
+ }
137
+ },
138
+ "default": []
139
+ },
140
+ "duracionEstimada": {
141
+ "type": "string",
142
+ "description": "Duracion total estimada (ej: 4h, 2 dias)"
143
+ },
144
+ "tareasHITL": {
145
+ "type": "integer",
146
+ "minimum": 0,
147
+ "description": "Cantidad de tareas que requieren intervencion humana"
148
+ }
149
+ }
150
+ }
@@ -1,78 +1,98 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "title": "AgentOutputReview",
4
- "description": "Schema para output estructurado de agentes revisores (codigo, seguridad, lenguaje). Garantiza formato parseable entre agentes.",
5
- "type": "object",
6
- "required": ["veredicto", "criticos", "mayores", "menores", "hallazgos"],
7
- "properties": {
8
- "veredicto": {
9
- "type": "string",
10
- "enum": ["APROBADO", "APROBADO_CON_OBSERVACIONES", "REQUIERE_CORRECCIONES", "RECHAZADO"],
11
- "description": "Resultado global de la revision"
12
- },
13
- "criticos": {
14
- "type": "integer",
15
- "minimum": 0,
16
- "description": "Cantidad de hallazgos criticos (bloquean merge)"
17
- },
18
- "mayores": {
19
- "type": "integer",
20
- "minimum": 0,
21
- "description": "Cantidad de hallazgos mayores (requieren atencion)"
22
- },
23
- "menores": {
24
- "type": "integer",
25
- "minimum": 0,
26
- "description": "Cantidad de hallazgos menores (sugerencias)"
27
- },
28
- "hallazgos": {
29
- "type": "array",
30
- "items": {
31
- "type": "object",
32
- "required": ["severidad", "archivo", "descripcion"],
33
- "properties": {
34
- "severidad": {
35
- "type": "string",
36
- "enum": ["CRITICO", "MAYOR", "MENOR"],
37
- "description": "Nivel de severidad del hallazgo"
38
- },
39
- "archivo": {
40
- "type": "string",
41
- "description": "Ruta del archivo afectado"
42
- },
43
- "linea": {
44
- "type": "integer",
45
- "minimum": 1,
46
- "description": "Numero de linea (opcional)"
47
- },
48
- "descripcion": {
49
- "type": "string",
50
- "description": "Que se encontro"
51
- },
52
- "fix": {
53
- "type": "string",
54
- "description": "Como corregirlo"
55
- },
56
- "cvss": {
57
- "type": "number",
58
- "minimum": 0,
59
- "maximum": 10,
60
- "description": "Score CVSSv3 (solo para revisor-seguridad)"
61
- }
62
- }
63
- }
64
- },
65
- "cobertura": {
66
- "type": "number",
67
- "minimum": 0,
68
- "maximum": 100,
69
- "description": "Porcentaje de cobertura de tests (si aplica)"
70
- },
71
- "score": {
72
- "type": "number",
73
- "minimum": 0,
74
- "maximum": 10,
75
- "description": "Score global de calidad 0-10"
76
- }
77
- }
78
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$schemaVersion": "1.0.0",
4
+ "title": "AgentOutputReview",
5
+ "description": "Schema para output estructurado de agentes revisores (codigo, seguridad, lenguaje). Garantiza formato parseable entre agentes.",
6
+ "type": "object",
7
+ "required": [
8
+ "veredicto",
9
+ "criticos",
10
+ "mayores",
11
+ "menores",
12
+ "hallazgos"
13
+ ],
14
+ "properties": {
15
+ "veredicto": {
16
+ "type": "string",
17
+ "enum": [
18
+ "APROBADO",
19
+ "APROBADO_CON_OBSERVACIONES",
20
+ "REQUIERE_CORRECCIONES",
21
+ "RECHAZADO"
22
+ ],
23
+ "description": "Resultado global de la revision"
24
+ },
25
+ "criticos": {
26
+ "type": "integer",
27
+ "minimum": 0,
28
+ "description": "Cantidad de hallazgos criticos (bloquean merge)"
29
+ },
30
+ "mayores": {
31
+ "type": "integer",
32
+ "minimum": 0,
33
+ "description": "Cantidad de hallazgos mayores (requieren atencion)"
34
+ },
35
+ "menores": {
36
+ "type": "integer",
37
+ "minimum": 0,
38
+ "description": "Cantidad de hallazgos menores (sugerencias)"
39
+ },
40
+ "hallazgos": {
41
+ "type": "array",
42
+ "items": {
43
+ "type": "object",
44
+ "required": [
45
+ "severidad",
46
+ "archivo",
47
+ "descripcion"
48
+ ],
49
+ "properties": {
50
+ "severidad": {
51
+ "type": "string",
52
+ "enum": [
53
+ "CRITICO",
54
+ "MAYOR",
55
+ "MENOR"
56
+ ],
57
+ "description": "Nivel de severidad del hallazgo"
58
+ },
59
+ "archivo": {
60
+ "type": "string",
61
+ "description": "Ruta del archivo afectado"
62
+ },
63
+ "linea": {
64
+ "type": "integer",
65
+ "minimum": 1,
66
+ "description": "Numero de linea (opcional)"
67
+ },
68
+ "descripcion": {
69
+ "type": "string",
70
+ "description": "Que se encontro"
71
+ },
72
+ "fix": {
73
+ "type": "string",
74
+ "description": "Como corregirlo"
75
+ },
76
+ "cvss": {
77
+ "type": "number",
78
+ "minimum": 0,
79
+ "maximum": 10,
80
+ "description": "Score CVSSv3 (solo para revisor-seguridad)"
81
+ }
82
+ }
83
+ }
84
+ },
85
+ "cobertura": {
86
+ "type": "number",
87
+ "minimum": 0,
88
+ "maximum": 100,
89
+ "description": "Porcentaje de cobertura de tests (si aplica)"
90
+ },
91
+ "score": {
92
+ "type": "number",
93
+ "minimum": 0,
94
+ "maximum": 10,
95
+ "description": "Score global de calidad 0-10"
96
+ }
97
+ }
98
+ }