@saulwade/swl-ses 2.5.3 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CLAUDE.md +192 -192
  2. package/README.md +600 -600
  3. package/agentes/auto-evolucion-swl.md +27 -3
  4. package/bin/swl-ses.js +32 -7
  5. package/comandos/swl/actualizar.md +174 -174
  6. package/comandos/swl/adoptar-proyecto.md +265 -265
  7. package/comandos/swl/aprender.md +836 -823
  8. package/comandos/swl/aprobar-plan.md +146 -146
  9. package/comandos/swl/auditar-deps.md +134 -134
  10. package/comandos/swl/autoresearch.md +264 -264
  11. package/comandos/swl/ayuda.md +224 -224
  12. package/comandos/swl/brainstorm.md +51 -51
  13. package/comandos/swl/briefing.md +119 -119
  14. package/comandos/swl/checkpoint.md +325 -325
  15. package/comandos/swl/claudemd.md +234 -234
  16. package/comandos/swl/compactar.md +310 -310
  17. package/comandos/swl/configurar-ci.md +235 -235
  18. package/comandos/swl/contexto.md +110 -110
  19. package/comandos/swl/contribuir.md +233 -233
  20. package/comandos/swl/crear-skill.md +292 -292
  21. package/comandos/swl/cron.md +194 -194
  22. package/comandos/swl/deuda-codigo.md +97 -97
  23. package/comandos/swl/discutir-fase.md +169 -169
  24. package/comandos/swl/ejecutar-fase.md +233 -233
  25. package/comandos/swl/evaluar-skill.md +520 -505
  26. package/comandos/swl/evolucion-continua.md +73 -0
  27. package/comandos/swl/evolucionar.md +267 -254
  28. package/comandos/swl/exportar-vault.md +583 -583
  29. package/comandos/swl/fix.md +118 -118
  30. package/comandos/swl/gateway.md +158 -158
  31. package/comandos/swl/inbox.md +116 -116
  32. package/comandos/swl/instalar.md +220 -220
  33. package/comandos/swl/instintos.md +86 -86
  34. package/comandos/swl/mapear-codebase.md +312 -312
  35. package/comandos/swl/mcp-status.md +175 -175
  36. package/comandos/swl/modelo.md +100 -100
  37. package/comandos/swl/nemesis.md +433 -433
  38. package/comandos/swl/notificaciones.md +299 -299
  39. package/comandos/swl/nuevo-proyecto.md +251 -251
  40. package/comandos/swl/planear-fase.md +263 -263
  41. package/comandos/swl/plugins.md +256 -256
  42. package/comandos/swl/predecir.md +169 -169
  43. package/comandos/swl/reflect-skills.md +125 -125
  44. package/comandos/swl/release.md +450 -450
  45. package/comandos/swl/revisar-impacto.md +201 -201
  46. package/comandos/swl/revisar.md +330 -330
  47. package/comandos/swl/seguridad.md +189 -189
  48. package/comandos/swl/sesiones.md +200 -200
  49. package/comandos/swl/skill-search.md +113 -113
  50. package/comandos/swl/status.md +343 -343
  51. package/comandos/swl/verificar.md +817 -817
  52. package/comandos/swl/wiki.md +620 -620
  53. package/gateway/cron/jobs.example.json +12 -0
  54. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -276
  55. package/habilidades/autoresearch/SKILL.md +3 -2
  56. package/habilidades/benchmark-memoria/SKILL.md +7 -7
  57. package/habilidades/changelog-generator/SKILL.md +174 -174
  58. package/habilidades/changelog-generator/scripts/parse-commits.js +2 -1
  59. package/habilidades/checkpoints-verificacion/SKILL.md +6 -0
  60. package/habilidades/context-builder/SKILL.md +4 -0
  61. package/habilidades/doubt-driven-review/SKILL.md +207 -191
  62. package/habilidades/drift-detection/SKILL.md +6 -1
  63. package/habilidades/ejecutar-fase/SKILL.md +6 -6
  64. package/habilidades/eval-framework/SKILL.md +8 -3
  65. package/habilidades/harness-claude-code/SKILL.md +312 -308
  66. package/habilidades/infra-github-actions/SKILL.md +4 -3
  67. package/habilidades/instalar-sistema/SKILL.md +227 -223
  68. package/habilidades/memoria-busqueda/SKILL.md +31 -39
  69. package/habilidades/planear-fase/SKILL.md +358 -350
  70. package/habilidades/proceso-ddia-fundamentos/SKILL.md +3 -2
  71. package/habilidades/swl-claudemd/SKILL.md +6 -7
  72. package/habilidades/swl-dashboard/SKILL.md +11 -43
  73. package/habilidades/tdd-workflow/SKILL.md +749 -744
  74. package/habilidades/validacion-ci-sistema/SKILL.md +1 -1
  75. package/hooks/agente-lifecycle.js +2 -1
  76. package/hooks/aiisms-detector.js +13 -4
  77. package/hooks/audit-trail.js +2 -1
  78. package/hooks/auto-consolidacion.js +2 -1
  79. package/hooks/captura-acciones-post.js +2 -1
  80. package/hooks/captura-acciones-session.js +2 -1
  81. package/hooks/captura-feedback-usuario.js +3 -2
  82. package/hooks/claudemd-bloat-detector.js +12 -3
  83. package/hooks/claudemd-duplicacion-detector.js +13 -3
  84. package/hooks/contexto-iteracion.js +2 -1
  85. package/hooks/degradacion-instintos.js +2 -1
  86. package/hooks/extraccion-aprendizajes.js +109 -15
  87. package/hooks/grafo-contexto.js +2 -1
  88. package/hooks/guardrail-modelo.js +2 -1
  89. package/hooks/inbox-aviso.js +2 -1
  90. package/hooks/inyeccion-contexto.js +2 -1
  91. package/hooks/lib/agent-matcher.js +2 -1
  92. package/hooks/lib/agent-routing.js +2 -1
  93. package/hooks/lib/autonomia.js +5 -3
  94. package/hooks/lib/captura-acciones.js +2 -1
  95. package/hooks/lib/consolidation-lock.js +21 -10
  96. package/hooks/lib/etapa-auto-evolucion.js +10 -4
  97. package/hooks/lib/etapa-metricas.js +2 -1
  98. package/hooks/lib/etapa-perfil-usuario.js +20 -4
  99. package/hooks/lib/evolution-tracker.js +2 -1
  100. package/hooks/lib/gateway-notify.js +193 -179
  101. package/hooks/lib/loop-telemetry.js +5 -4
  102. package/hooks/lib/mcp-health.js +2 -1
  103. package/hooks/lib/memory-search.js +4 -0
  104. package/hooks/lib/merkle-audit.js +58 -6
  105. package/hooks/lib/nudge-tracker.js +2 -1
  106. package/hooks/lib/otlp-exporter.js +2 -1
  107. package/hooks/lib/propose-step.js +3 -2
  108. package/hooks/lib/raiz-proyecto.js +102 -0
  109. package/hooks/lib/run-log.js +2 -1
  110. package/hooks/lib/singleton-guard.js +218 -27
  111. package/hooks/lib/telegram-cliente.js +17 -8
  112. package/hooks/preservar-estado-pre-compact.js +2 -1
  113. package/hooks/proteccion-rutas.js +59 -3
  114. package/hooks/registro-turnos.js +2 -1
  115. package/hooks/resumen-sesion.js +2 -1
  116. package/hooks/risk-scoring.js +2 -1
  117. package/hooks/rotar-audit-auto.js +46 -20
  118. package/hooks/session-briefing.js +127 -1
  119. package/hooks/spec-gate.js +2 -1
  120. package/hooks/sugerir-contribuir.js +6 -3
  121. package/hooks/sugerir-regenerar-inventario.js +3 -2
  122. package/hooks/tdd-gate.js +2 -1
  123. package/hooks/telemetria-agentes.js +2 -1
  124. package/hooks/telemetria-skill-routing.js +2 -1
  125. package/hooks/tracking-costos.js +4 -3
  126. package/hooks/validar-formato-post-subagente.js +2 -1
  127. package/hooks/validar-intent-spec.js +2 -1
  128. package/hooks/validar-memoria-hook.js +13 -3
  129. package/hooks/validar-planning-paths.js +2 -1
  130. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +53 -0
  131. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +372 -0
  132. package/instintos/perfil-usuario.yaml +506 -3
  133. package/instintos/proyecto.yaml +78 -0
  134. package/llms.txt +2 -2
  135. package/manifiestos/canonical-hashes.json +335 -3
  136. package/manifiestos/modulos.json +19 -14
  137. package/manifiestos/planning-paths.json +1 -0
  138. package/manifiestos/skills-lock.json +50 -50
  139. package/package.json +2 -3
  140. package/plugin.json +2 -2
  141. package/scripts/actualizar.js +3 -0
  142. package/scripts/auditar-clases-conocidas.js +32 -4
  143. package/scripts/benchmark-memoria.js +1 -0
  144. package/scripts/cli/autonomia.js +23 -0
  145. package/scripts/cli/benchmark-memoria.js +37 -0
  146. package/scripts/cli/ciclo-autonomo.js +73 -0
  147. package/scripts/cli/ciclo-fase-b.js +102 -0
  148. package/scripts/cli/guardrail-metrics.js +39 -0
  149. package/scripts/cli/loop-telemetry.js +4 -2
  150. package/scripts/cli/memoria-search.js +69 -0
  151. package/scripts/cli/nudge-accionar.js +39 -0
  152. package/scripts/cli/run-eval.js +38 -0
  153. package/scripts/cli/run-skill-evals.js +13 -2
  154. package/scripts/derivar-feature-list.js +15 -14
  155. package/scripts/desinstalar.js +11 -0
  156. package/scripts/doctor.js +24 -10
  157. package/scripts/instalador.js +85 -7
  158. package/scripts/lib/activar-hooks-proyecto.js +12 -0
  159. package/scripts/lib/auditar-invocaciones-comandos.js +96 -6
  160. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -0
  161. package/scripts/lib/ciclo-autonomo/config.js +165 -0
  162. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -0
  163. package/scripts/lib/ciclo-autonomo/fallback.js +77 -0
  164. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -0
  165. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -0
  166. package/scripts/lib/ciclo-autonomo/index.js +301 -0
  167. package/scripts/lib/ciclo-autonomo/lock.js +124 -0
  168. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -0
  169. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -0
  170. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -0
  171. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -0
  172. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +535 -0
  173. package/scripts/lib/estado.js +9 -0
  174. package/scripts/lib/gitignore-manifest.js +8 -1
  175. package/scripts/lib/hooks-settings.js +45 -0
  176. package/scripts/rotar-audit-logs.js +48 -2
  177. package/scripts/run-eval.js +1 -0
  178. package/scripts/run-skill-evals.js +287 -8
  179. package/scripts/smoke-test.js +16 -8
  180. package/scripts/tui/pantallas/install-wizard.js +403 -347
  181. package/scripts/validar.js +40 -1
@@ -1,175 +1,175 @@
1
- ---
2
- name: swl:mcp-status
3
- description: >
4
- Health check de servidores MCP, descubrimiento dinamico de herramientas y
5
- gestion de conexiones MCP configuradas en swl-ses.
6
- version: 1.0.0
7
- tipo: comando
8
- ---
9
-
10
- # /swl:mcp-status — Estado y descubrimiento MCP
11
-
12
- Reporta el estado de todos los servidores MCP configurados en `.claude/settings.json`,
13
- lista sus herramientas disponibles y guarda un snapshot para referencia futura.
14
-
15
- ## Subcomandos disponibles
16
-
17
- ### Status (health check)
18
-
19
- Muestra si cada servidor responde correctamente y cuantas herramientas expone:
20
-
21
- ```bash
22
- python scripts/mcp-orchestrator.py status
23
- ```
24
-
25
- Salida esperada:
26
- ```
27
- Estado de servidores MCP:
28
- --------------------------------------------------------------------
29
- code-review-graph OK 5 tools 1203ms [stdio]
30
-
31
- Total: 1 servidores, 1 activos, 5 herramientas disponibles
32
- ```
33
-
34
- Con traza registrada en `.planning/traces/`:
35
- ```bash
36
- python scripts/mcp-orchestrator.py status --trace
37
- ```
38
-
39
- ### Discover (inventario completo)
40
-
41
- Lista todas las herramientas de todos los servidores con sus descripciones:
42
-
43
- ```bash
44
- python scripts/mcp-orchestrator.py discover
45
- ```
46
-
47
- Para un servidor especifico (via pool-manager):
48
- ```bash
49
- python scripts/mcp-pool-manager.py list-tools code-review-graph
50
- ```
51
-
52
- ### Find-tool (busqueda de herramientas)
53
-
54
- Busca herramientas por nombre o descripcion en todos los servidores activos:
55
-
56
- ```bash
57
- python scripts/mcp-orchestrator.py find-tool "review"
58
- python scripts/mcp-orchestrator.py find-tool "blast radius"
59
- ```
60
-
61
- ### Summary (ultimo snapshot sin reconectar)
62
-
63
- Muestra el ultimo estado guardado sin iniciar conexiones nuevas:
64
-
65
- ```bash
66
- python scripts/mcp-orchestrator.py summary
67
- ```
68
-
69
- Util en contextos donde no se quiere esperar la reconexion.
70
-
71
- ### Ping
72
-
73
- Verifica conectividad y tiempo de respuesta de un servidor especifico:
74
-
75
- ```bash
76
- python scripts/mcp-pool-manager.py ping
77
- python scripts/mcp-pool-manager.py ping code-review-graph
78
- ```
79
-
80
- ### Call-tool (llamada directa a herramienta)
81
-
82
- Llama una herramienta MCP directamente desde CLI para pruebas:
83
-
84
- ```bash
85
- python scripts/mcp-pool-manager.py call-tool code-review-graph <herramienta> '{"arg": "valor"}'
86
- ```
87
-
88
- ## Salida JSON
89
-
90
- Todos los subcomandos aceptan `--json` para salida estructurada:
91
-
92
- ```bash
93
- python scripts/mcp-orchestrator.py status --json
94
- python scripts/mcp-orchestrator.py discover --json | python -m json.tool
95
- python scripts/mcp-pool-manager.py list-tools --json
96
- ```
97
-
98
- ## Trazabilidad
99
-
100
- Las llamadas MCP pueden instrumentarse con `mcp-telemetry.py`:
101
-
102
- ```bash
103
- # Ver trazas de hoy
104
- python scripts/mcp-telemetry.py report
105
-
106
- # Estadisticas de los ultimos 7 dias por servidor/herramienta
107
- python scripts/mcp-telemetry.py stats --days 7
108
-
109
- # Salida JSON para procesamiento
110
- python scripts/mcp-telemetry.py stats --json
111
- ```
112
-
113
- Las trazas se guardan en formato OTLP-lite en `.planning/traces/mcp-YYYY-MM-DD.jsonl`,
114
- compatible con el sistema de trazabilidad de `telemetria-agentes.js`.
115
-
116
- ## Uso desde otro script (importacion)
117
-
118
- `mcp-telemetry.py` expone `MCPTelemetrySession` para instrumentar sesiones MCP
119
- desde otros scripts de swl-ses:
120
-
121
- ```python
122
- import sys
123
- sys.path.insert(0, 'scripts')
124
- from mcp_telemetry import MCPTelemetrySession
125
- from pathlib import Path
126
-
127
- cwd = Path('.')
128
- server_cfg = {'command': 'python', 'args': ['-m', 'mi_server']}
129
-
130
- async def ejemplo():
131
- async with MCPTelemetrySession(cwd, 'mi-server', server_cfg) as sess:
132
- tools = await sess.list_tools()
133
- result = await sess.call_tool('mi_herramienta', {'arg': 'valor'})
134
- # La traza se registra automaticamente en .planning/traces/
135
- ```
136
-
137
- ## Archivos del modulo mcp-swl
138
-
139
- | Archivo | Proposito |
140
- |---------|-----------|
141
- | `scripts/mcp-pool-manager.py` | Gestor de conexiones — CLI para list-servers, list-tools, ping, call-tool |
142
- | `scripts/mcp-telemetry.py` | Trazabilidad OTLP-lite — registra y reporta llamadas MCP |
143
- | `scripts/mcp-orchestrator.py` | Orquestador multi-servidor — status, discover, find-tool, summary |
144
- | `comandos/swl/mcp-status.md` | Esta documentacion |
145
-
146
- ## Configuracion de servidores MCP
147
-
148
- Los servidores se leen de la clave `mcpServers` en:
149
- 1. `.claude/settings.local.json` (maxima prioridad, no versionado)
150
- 2. `.claude/settings.json` (proyecto, versionado)
151
- 3. `mcp-servers.json` (alternativa independiente)
152
-
153
- Formato de configuracion:
154
- ```json
155
- {
156
- "mcpServers": {
157
- "mi-server": {
158
- "command": "npx",
159
- "args": ["-y", "@mcp/mi-server"],
160
- "env": { "MI_VAR": "valor" }
161
- },
162
- "server-http": {
163
- "url": "http://localhost:8931/sse"
164
- }
165
- }
166
- }
167
- ```
168
-
169
- ## Cuando usar este comando
170
-
171
- - Al iniciar una sesion de trabajo: verificar que los servers MCP esten activos
172
- - Antes de `/swl:revisar-impacto`: validar que `code-review-graph` responde
173
- - Al agregar un nuevo MCP server: descubrir sus herramientas con `discover`
174
- - En debugging: llamar herramientas directamente con `call-tool`
175
- - En reporting: generar snapshots para documentacion o metricas
1
+ ---
2
+ name: swl:mcp-status
3
+ description: >
4
+ Health check de servidores MCP, descubrimiento dinamico de herramientas y
5
+ gestion de conexiones MCP configuradas en swl-ses.
6
+ version: 1.0.0
7
+ tipo: comando
8
+ ---
9
+
10
+ # /swl:mcp-status — Estado y descubrimiento MCP
11
+
12
+ Reporta el estado de todos los servidores MCP configurados en `.claude/settings.json`,
13
+ lista sus herramientas disponibles y guarda un snapshot para referencia futura.
14
+
15
+ ## Subcomandos disponibles
16
+
17
+ ### Status (health check)
18
+
19
+ Muestra si cada servidor responde correctamente y cuantas herramientas expone:
20
+
21
+ ```bash
22
+ python scripts/mcp-orchestrator.py status
23
+ ```
24
+
25
+ Salida esperada:
26
+ ```
27
+ Estado de servidores MCP:
28
+ --------------------------------------------------------------------
29
+ code-review-graph OK 5 tools 1203ms [stdio]
30
+
31
+ Total: 1 servidores, 1 activos, 5 herramientas disponibles
32
+ ```
33
+
34
+ Con traza registrada en `.planning/traces/`:
35
+ ```bash
36
+ python scripts/mcp-orchestrator.py status --trace
37
+ ```
38
+
39
+ ### Discover (inventario completo)
40
+
41
+ Lista todas las herramientas de todos los servidores con sus descripciones:
42
+
43
+ ```bash
44
+ python scripts/mcp-orchestrator.py discover
45
+ ```
46
+
47
+ Para un servidor especifico (via pool-manager):
48
+ ```bash
49
+ python scripts/mcp-pool-manager.py list-tools code-review-graph
50
+ ```
51
+
52
+ ### Find-tool (busqueda de herramientas)
53
+
54
+ Busca herramientas por nombre o descripcion en todos los servidores activos:
55
+
56
+ ```bash
57
+ python scripts/mcp-orchestrator.py find-tool "review"
58
+ python scripts/mcp-orchestrator.py find-tool "blast radius"
59
+ ```
60
+
61
+ ### Summary (ultimo snapshot sin reconectar)
62
+
63
+ Muestra el ultimo estado guardado sin iniciar conexiones nuevas:
64
+
65
+ ```bash
66
+ python scripts/mcp-orchestrator.py summary
67
+ ```
68
+
69
+ Util en contextos donde no se quiere esperar la reconexion.
70
+
71
+ ### Ping
72
+
73
+ Verifica conectividad y tiempo de respuesta de un servidor especifico:
74
+
75
+ ```bash
76
+ python scripts/mcp-pool-manager.py ping
77
+ python scripts/mcp-pool-manager.py ping code-review-graph
78
+ ```
79
+
80
+ ### Call-tool (llamada directa a herramienta)
81
+
82
+ Llama una herramienta MCP directamente desde CLI para pruebas:
83
+
84
+ ```bash
85
+ python scripts/mcp-pool-manager.py call-tool code-review-graph <herramienta> '{"arg": "valor"}'
86
+ ```
87
+
88
+ ## Salida JSON
89
+
90
+ Todos los subcomandos aceptan `--json` para salida estructurada:
91
+
92
+ ```bash
93
+ python scripts/mcp-orchestrator.py status --json
94
+ python scripts/mcp-orchestrator.py discover --json | python -m json.tool
95
+ python scripts/mcp-pool-manager.py list-tools --json
96
+ ```
97
+
98
+ ## Trazabilidad
99
+
100
+ Las llamadas MCP pueden instrumentarse con `mcp-telemetry.py`:
101
+
102
+ ```bash
103
+ # Ver trazas de hoy
104
+ python scripts/mcp-telemetry.py report
105
+
106
+ # Estadisticas de los ultimos 7 dias por servidor/herramienta
107
+ python scripts/mcp-telemetry.py stats --days 7
108
+
109
+ # Salida JSON para procesamiento
110
+ python scripts/mcp-telemetry.py stats --json
111
+ ```
112
+
113
+ Las trazas se guardan en formato OTLP-lite en `.planning/traces/mcp-YYYY-MM-DD.jsonl`,
114
+ compatible con el sistema de trazabilidad de `telemetria-agentes.js`.
115
+
116
+ ## Uso desde otro script (importacion)
117
+
118
+ `mcp-telemetry.py` expone `MCPTelemetrySession` para instrumentar sesiones MCP
119
+ desde otros scripts de swl-ses:
120
+
121
+ ```python
122
+ import sys
123
+ sys.path.insert(0, 'scripts')
124
+ from mcp_telemetry import MCPTelemetrySession
125
+ from pathlib import Path
126
+
127
+ cwd = Path('.')
128
+ server_cfg = {'command': 'python', 'args': ['-m', 'mi_server']}
129
+
130
+ async def ejemplo():
131
+ async with MCPTelemetrySession(cwd, 'mi-server', server_cfg) as sess:
132
+ tools = await sess.list_tools()
133
+ result = await sess.call_tool('mi_herramienta', {'arg': 'valor'})
134
+ # La traza se registra automaticamente en .planning/traces/
135
+ ```
136
+
137
+ ## Archivos del modulo mcp-swl
138
+
139
+ | Archivo | Proposito |
140
+ |---------|-----------|
141
+ | `scripts/mcp-pool-manager.py` | Gestor de conexiones — CLI para list-servers, list-tools, ping, call-tool |
142
+ | `scripts/mcp-telemetry.py` | Trazabilidad OTLP-lite — registra y reporta llamadas MCP |
143
+ | `scripts/mcp-orchestrator.py` | Orquestador multi-servidor — status, discover, find-tool, summary |
144
+ | `comandos/swl/mcp-status.md` | Esta documentacion |
145
+
146
+ ## Configuracion de servidores MCP
147
+
148
+ Los servidores se leen de la clave `mcpServers` en:
149
+ 1. `.claude/settings.local.json` (maxima prioridad, no versionado)
150
+ 2. `.claude/settings.json` (proyecto, versionado)
151
+ 3. `mcp-servers.json` (alternativa independiente)
152
+
153
+ Formato de configuracion:
154
+ ```json
155
+ {
156
+ "mcpServers": {
157
+ "mi-server": {
158
+ "command": "npx",
159
+ "args": ["-y", "@mcp/mi-server"],
160
+ "env": { "MI_VAR": "valor" }
161
+ },
162
+ "server-http": {
163
+ "url": "http://localhost:8931/sse"
164
+ }
165
+ }
166
+ }
167
+ ```
168
+
169
+ ## Cuando usar este comando
170
+
171
+ - Al iniciar una sesion de trabajo: verificar que los servers MCP esten activos
172
+ - Antes de `/swl:revisar-impacto`: validar que `code-review-graph` responde
173
+ - Al agregar un nuevo MCP server: descubrir sus herramientas con `discover`
174
+ - En debugging: llamar herramientas directamente con `call-tool`
175
+ - En reporting: generar snapshots para documentacion o metricas
@@ -1,100 +1,100 @@
1
- ---
2
- name: swl:modelo
3
- description: Sugiere o consulta el modelo óptimo (haiku/sonnet/opus) para la tarea actual según complejidad detectada. Muestra costo relativo y justificación. Útil antes de delegar a un subagente o antes de iniciar una tarea larga.
4
- allowed_tools: ["Read", "Bash"]
5
- ---
6
-
7
- # /swl:modelo — Sugerencia de modelo por complejidad de tarea
8
-
9
- Analiza la descripción de una tarea y sugiere el modelo Claude óptimo según
10
- su complejidad. No fuerza el modelo — Claude Code lo decide — pero proporciona
11
- una recomendación fundamentada con costo relativo para que el usuario elija
12
- conscientemente.
13
-
14
- ## Cuándo usar
15
-
16
- - Antes de iniciar una tarea larga o costosa para optimizar el uso de tokens
17
- - Antes de delegar a un subagente y querer indicar qué modelo usar
18
- - Cuando se tiene duda entre sonnet y opus para una tarea ambigua
19
- - Como parte del flujo del orquestador al asignar trabajo a agentes especializados
20
-
21
- ## Uso
22
-
23
- ```
24
- /swl:modelo — Muestra modelo sugerido para el contexto actual
25
- /swl:modelo "descripción" — Sugiere modelo para la tarea descrita
26
- ```
27
-
28
- ## Paso 1 — Obtener descripción
29
-
30
- Si el usuario invocó el comando sin argumentos, inferir la tarea del contexto
31
- de la conversación activa: último mensaje del usuario, archivos abiertos, o
32
- el plan activo en `.planning/ESTADO.md`.
33
-
34
- Si el usuario pasó una descripción entre comillas, usar esa descripción directamente.
35
-
36
- ## Paso 2 — Evaluar complejidad
37
-
38
- Evaluar la complejidad con el subcomando del CLI (resuelve cross-scope: repo
39
- madre / `swl-ses` en PATH / `npx`; ver `docs/invocacion-cli-cross-scope.md`):
40
-
41
- ```bash
42
- swl-ses sugerir-modelo "DESCRIPCIÓN_DE_LA_TAREA"
43
- # fallback si swl-ses no está en PATH:
44
- # npx -y @saulwade/swl-ses@latest sugerir-modelo "DESCRIPCIÓN_DE_LA_TAREA"
45
- ```
46
-
47
- Si el subcomando falla (CLI no disponible), aplicar la tabla de routing
48
- manualmente (ver Paso 3).
49
-
50
- ## Paso 3 — Tabla de routing manual (fallback)
51
-
52
- Aplicar este criterio si el script no está disponible:
53
-
54
- | Condición | Modelo | Complejidad |
55
- |-----------|--------|-------------|
56
- | > 20 archivos afectados o > 2 lenguajes | opus | compleja |
57
- | Descripción contiene: arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo | opus | compleja |
58
- | Descripción contiene: formateo, typo, renombrar, import, lint fix, comment — Y <= 3 archivos | haiku | trivial |
59
- | Cualquier otro caso | sonnet | estándar |
60
-
61
- ## Paso 4 — Presentar resultado
62
-
63
- Presentar la sugerencia con este formato exacto:
64
-
65
- ```
66
- Modelo sugerido: [MODELO] ([costo relativo])
67
-
68
- Complejidad detectada: [trivial | estándar | compleja]
69
- Razón: [justificación de una oración]
70
-
71
- Tabla de routing:
72
- Trivial → haiku ($) Formateo, typos, lint fixes, imports
73
- Estándar → sonnet ($$) Implementación, tests, reviews, refactors
74
- Compleja → opus ($$$) Arquitectura, migraciones, seguridad, sistemas
75
-
76
- Nota: Esta es una sugerencia. Claude Code usa el modelo configurado en la sesión.
77
- Para tareas complejas, considera iniciar una sesión nueva con opus activo.
78
- ```
79
-
80
- ## Tabla de routing completa
81
-
82
- | Complejidad | Modelo | Costo | Indicadores de detección |
83
- |-------------|--------|-------|--------------------------|
84
- | Trivial | haiku | $ | formateo, typo, renombrar, import, lint fix, comment |
85
- | Estándar | sonnet | $$ | implementar, test, review, refactor, endpoint, componente, fix bug |
86
- | Compleja | opus | $$$ | arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo |
87
-
88
- **Escalado automático por contexto**:
89
- - > 20 archivos afectados → opus independiente de los indicadores de texto
90
- - > 2 lenguajes involucrados → opus independiente de los indicadores de texto
91
-
92
- ## Reglas de comportamiento
93
-
94
- - NUNCA modificar archivos como parte de este comando — es de solo lectura.
95
- - Si no hay descripción ni contexto inferable, pedir al usuario una descripción
96
- de 1 oración antes de evaluar.
97
- - La sugerencia es informativa. No bloquear ni generar error si el usuario elige
98
- un modelo distinto al sugerido.
99
- - Si el usuario pide explicación de la fórmula, explicar pass@k no aplica aquí —
100
- ese concepto está en `evaluacion-agentes`. Este comando usa heurísticas de texto.
1
+ ---
2
+ name: swl:modelo
3
+ description: Sugiere o consulta el modelo óptimo (haiku/sonnet/opus) para la tarea actual según complejidad detectada. Muestra costo relativo y justificación. Útil antes de delegar a un subagente o antes de iniciar una tarea larga.
4
+ allowed_tools: ["Read", "Bash"]
5
+ ---
6
+
7
+ # /swl:modelo — Sugerencia de modelo por complejidad de tarea
8
+
9
+ Analiza la descripción de una tarea y sugiere el modelo Claude óptimo según
10
+ su complejidad. No fuerza el modelo — Claude Code lo decide — pero proporciona
11
+ una recomendación fundamentada con costo relativo para que el usuario elija
12
+ conscientemente.
13
+
14
+ ## Cuándo usar
15
+
16
+ - Antes de iniciar una tarea larga o costosa para optimizar el uso de tokens
17
+ - Antes de delegar a un subagente y querer indicar qué modelo usar
18
+ - Cuando se tiene duda entre sonnet y opus para una tarea ambigua
19
+ - Como parte del flujo del orquestador al asignar trabajo a agentes especializados
20
+
21
+ ## Uso
22
+
23
+ ```
24
+ /swl:modelo — Muestra modelo sugerido para el contexto actual
25
+ /swl:modelo "descripción" — Sugiere modelo para la tarea descrita
26
+ ```
27
+
28
+ ## Paso 1 — Obtener descripción
29
+
30
+ Si el usuario invocó el comando sin argumentos, inferir la tarea del contexto
31
+ de la conversación activa: último mensaje del usuario, archivos abiertos, o
32
+ el plan activo en `.planning/ESTADO.md`.
33
+
34
+ Si el usuario pasó una descripción entre comillas, usar esa descripción directamente.
35
+
36
+ ## Paso 2 — Evaluar complejidad
37
+
38
+ Evaluar la complejidad con el subcomando del CLI (resuelve cross-scope: repo
39
+ madre / `swl-ses` en PATH / `npx`; ver `docs/invocacion-cli-cross-scope.md`):
40
+
41
+ ```bash
42
+ swl-ses sugerir-modelo "DESCRIPCIÓN_DE_LA_TAREA"
43
+ # fallback si swl-ses no está en PATH:
44
+ # npx -y @saulwade/swl-ses@latest sugerir-modelo "DESCRIPCIÓN_DE_LA_TAREA"
45
+ ```
46
+
47
+ Si el subcomando falla (CLI no disponible), aplicar la tabla de routing
48
+ manualmente (ver Paso 3).
49
+
50
+ ## Paso 3 — Tabla de routing manual (fallback)
51
+
52
+ Aplicar este criterio si el script no está disponible:
53
+
54
+ | Condición | Modelo | Complejidad |
55
+ |-----------|--------|-------------|
56
+ | > 20 archivos afectados o > 2 lenguajes | opus | compleja |
57
+ | Descripción contiene: arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo | opus | compleja |
58
+ | Descripción contiene: formateo, typo, renombrar, import, lint fix, comment — Y <= 3 archivos | haiku | trivial |
59
+ | Cualquier otro caso | sonnet | estándar |
60
+
61
+ ## Paso 4 — Presentar resultado
62
+
63
+ Presentar la sugerencia con este formato exacto:
64
+
65
+ ```
66
+ Modelo sugerido: [MODELO] ([costo relativo])
67
+
68
+ Complejidad detectada: [trivial | estándar | compleja]
69
+ Razón: [justificación de una oración]
70
+
71
+ Tabla de routing:
72
+ Trivial → haiku ($) Formateo, typos, lint fixes, imports
73
+ Estándar → sonnet ($$) Implementación, tests, reviews, refactors
74
+ Compleja → opus ($$$) Arquitectura, migraciones, seguridad, sistemas
75
+
76
+ Nota: Esta es una sugerencia. Claude Code usa el modelo configurado en la sesión.
77
+ Para tareas complejas, considera iniciar una sesión nueva con opus activo.
78
+ ```
79
+
80
+ ## Tabla de routing completa
81
+
82
+ | Complejidad | Modelo | Costo | Indicadores de detección |
83
+ |-------------|--------|-------|--------------------------|
84
+ | Trivial | haiku | $ | formateo, typo, renombrar, import, lint fix, comment |
85
+ | Estándar | sonnet | $$ | implementar, test, review, refactor, endpoint, componente, fix bug |
86
+ | Compleja | opus | $$$ | arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo |
87
+
88
+ **Escalado automático por contexto**:
89
+ - > 20 archivos afectados → opus independiente de los indicadores de texto
90
+ - > 2 lenguajes involucrados → opus independiente de los indicadores de texto
91
+
92
+ ## Reglas de comportamiento
93
+
94
+ - NUNCA modificar archivos como parte de este comando — es de solo lectura.
95
+ - Si no hay descripción ni contexto inferable, pedir al usuario una descripción
96
+ de 1 oración antes de evaluar.
97
+ - La sugerencia es informativa. No bloquear ni generar error si el usuario elige
98
+ un modelo distinto al sugerido.
99
+ - Si el usuario pide explicación de la fórmula, explicar pass@k no aplica aquí —
100
+ ese concepto está en `evaluacion-agentes`. Este comando usa heurísticas de texto.