@saulwade/swl-ses 1.3.1 → 1.3.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 (34) hide show
  1. package/CLAUDE.md +199 -199
  2. package/README.md +1 -1
  3. package/bin/swl-ses.js +77 -5
  4. package/comandos/swl/aprender.md +1 -1
  5. package/comandos/swl/claudemd.md +141 -136
  6. package/comandos/swl/configurar-ci.md +227 -227
  7. package/comandos/swl/evolucion-estado.md +1 -1
  8. package/comandos/swl/evolucionar.md +3 -3
  9. package/comandos/swl/inbox.md +1 -1
  10. package/comandos/swl/reflect-skills.md +1 -1
  11. package/comandos/swl/salud.md +7 -7
  12. package/comandos/swl/skill-search.md +4 -4
  13. package/manifiestos/perfiles.json +2 -1
  14. package/manifiestos/skills-lock.json +1093 -1093
  15. package/package.json +87 -87
  16. package/plugin.json +343 -343
  17. package/scripts/auditar-claudemd.js +297 -297
  18. package/scripts/bootstrap-instintos.js +1 -1
  19. package/scripts/cli/audit-agents-gaps.js +36 -0
  20. package/scripts/cli/audit-claudemd.js +43 -0
  21. package/scripts/cli/audit-coverage-frameworks.js +39 -0
  22. package/scripts/cli/bootstrap-instincts.js +38 -0
  23. package/scripts/cli/configure-branch-protection.js +42 -0
  24. package/scripts/cli/generate-skills-lock.js +31 -0
  25. package/scripts/cli/inbox-tmux-inject.js +49 -0
  26. package/scripts/cli/reflect-skills.js +40 -0
  27. package/scripts/cli/run-skill-evals.js +47 -0
  28. package/scripts/cli/skill-discovery.js +38 -0
  29. package/scripts/cli/verify-evolution.js +36 -0
  30. package/scripts/generar-skills-lock.js +190 -190
  31. package/scripts/inbox-tmux-inject.js +6 -0
  32. package/scripts/lib/autostart-windows.js +51 -28
  33. package/scripts/lib/skill-discovery.js +11 -3
  34. package/scripts/verificar-evolucion.js +1 -1
@@ -1,227 +1,227 @@
1
- ---
2
- name: swl:configurar-ci
3
- description: Instala y gestiona los workflows CI/CD de swl-ses en proyectos de usuarios. Subcomandos init (flujo interactivo completo), status (muestra qué está instalado) y uninstall (quita los workflows). Para setup automatizado de GitHub Actions con revisión de seguridad Claude, CI genérico y release automatizado.
4
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
- user-invocable: true
6
- version: "1.0.0"
7
- ---
8
-
9
- # /swl:configurar-ci — Setup de CI/CD en tu proyecto
10
-
11
- Orquesta la instalación de los workflows GitHub Actions de swl-ses en el proyecto donde estés trabajando.
12
-
13
- ## Subcomandos
14
-
15
- | Subcomando | Descripción |
16
- |-----------|-------------|
17
- | `init` | Flujo interactivo completo (default) |
18
- | `status` | Muestra qué workflows están instalados y qué secrets se necesitan |
19
- | `uninstall` | Quita los workflows SWL del proyecto |
20
-
21
- Si se invoca sin subcomando, ejecutar `init`.
22
-
23
- ---
24
-
25
- ## /swl:configurar-ci init
26
-
27
- Flujo interactivo paso a paso. Detecta el proyecto en el directorio actual.
28
-
29
- ### Paso 1 — Verificar contexto
30
-
31
- ```bash
32
- node -e "const p=require('./package.json');console.log('Proyecto:',p.name,'v'+p.version)" 2>/dev/null || echo "Sin package.json"
33
- ls .github/workflows/ 2>/dev/null && echo "Directorio .github/workflows existe" || echo "Directorio .github/workflows no existe"
34
- ```
35
-
36
- Mostrar al usuario qué se detectó y confirmar que es el proyecto correcto.
37
-
38
- ### Paso 2 — Preguntar qué workflows instalar (si TTY)
39
-
40
- ```
41
- ¿Qué workflows quieres instalar? (Enter para activar, espacio para omitir)
42
-
43
- [x] swl-security.yml — Revisión de seguridad con Claude en cada PR
44
- REQUIERE: secret CLAUDE_API_KEY en GitHub Settings → Secrets
45
-
46
- [x] swl-ci.yml — CI estándar (lint + test) en push y PRs
47
- Sin secrets adicionales
48
-
49
- [ ] release-please.yml — Releases automáticos desde conventional commits
50
- Sin secrets adicionales. Requiere conventional commits.
51
- ```
52
-
53
- Si el usuario omite `init` e invoca con flags directos, respetar esos flags sin preguntar:
54
- - `--with-security` / `--no-security`
55
- - `--with-ci` / `--no-ci`
56
- - `--with-release-please`
57
- - `--dry-run`
58
- - `--force`
59
-
60
- ### Paso 3 — Copiar workflows
61
-
62
- Invocar `scripts/lib/configurar-ci.js` con las opciones seleccionadas:
63
-
64
- ```javascript
65
- const { init } = require('./scripts/lib/configurar-ci');
66
- const resultado = init({
67
- withSecurity: true,
68
- withCi: true,
69
- withReleasePlease: false,
70
- // dryRun: true, // con --dry-run
71
- });
72
- ```
73
-
74
- Si hay archivos existentes en `resultado.existentes`, preguntar:
75
- ```
76
- Los siguientes workflows ya existen en .github/workflows/:
77
- - swl-security.yml
78
- ¿Sobreescribir? (s/N)
79
- ```
80
-
81
- Si el usuario dice que sí, volver a llamar `init` con `force: true`.
82
-
83
- ### Paso 4 — Configurar CLAUDE_API_KEY (solo si se instaló swl-security.yml)
84
-
85
- Preguntar:
86
- ```
87
- swl-security.yml requiere el secret CLAUDE_API_KEY en GitHub.
88
-
89
- ¿Quieres configurarlo ahora con gh CLI? (s/N)
90
- ```
91
-
92
- Si dice sí, verificar que `gh` esté disponible:
93
-
94
- ```bash
95
- gh auth status 2>&1 | head -3
96
- ```
97
-
98
- Si está autenticado, guiar al usuario para que pegue su API key (sin almacenarla):
99
-
100
- ```
101
- Pega tu CLAUDE_API_KEY (la input estará oculta):
102
- ```
103
-
104
- Luego ejecutar:
105
- ```bash
106
- gh secret set CLAUDE_API_KEY
107
- # gh leerá el valor desde stdin de forma segura
108
- ```
109
-
110
- Si `gh` no está disponible o el usuario dice que no, mostrar el link para hacerlo manualmente:
111
- ```
112
- Para configurar manualmente:
113
- https://github.com/<owner>/<repo>/settings/secrets/actions/new
114
- Nombre: CLAUDE_API_KEY
115
- Valor: tu clave de https://console.anthropic.com
116
- ```
117
-
118
- ### Paso 5 — Configurar branch protection (opcional)
119
-
120
- Preguntar:
121
- ```
122
- ¿Aplicar branch protection en main?
123
- Esto requiere gh CLI autenticado y permisos de admin en el repo.
124
- (s/N)
125
- ```
126
-
127
- Si dice sí:
128
- ```bash
129
- node scripts/configurar-branch-protection.js --dry-run
130
- # Mostrar el plan al usuario
131
- # Si confirma:
132
- node scripts/configurar-branch-protection.js
133
- ```
134
-
135
- **NOTA**: el script de branch protection vive en el repo swl-ses. Si el usuario está en su propio proyecto, advertir que debe copiar el script o usar la guía manual de GitHub Settings Branches.
136
-
137
- ### Paso 6 — Resumen final
138
-
139
- ```
140
- Setup completado:
141
- ✓ .github/workflows/swl-security.yml
142
- ✓ .github/workflows/swl-ci.yml
143
- - release-please.yml (omitido)
144
-
145
- Próximos pasos:
146
- 1. git add .github/workflows/ && git commit -m "ci: agregar workflows CI/CD swl-ses"
147
- 2. Abrir un PR para ver el workflow en acción
148
- 3. Verificar que CLAUDE_API_KEY esté en GitHub Settings → Secrets
149
- ```
150
-
151
- ---
152
-
153
- ## /swl:configurar-ci status
154
-
155
- Muestra el estado actual de los workflows SWL en el proyecto.
156
-
157
- ```javascript
158
- const { status } = require('./scripts/lib/configurar-ci');
159
- const resultado = status();
160
- ```
161
-
162
- Formato de salida:
163
-
164
- ```
165
- Workflows SWL en .github/workflows/:
166
-
167
- Instalados:
168
- ✓ swl-security.yml
169
- Secrets requeridos: CLAUDE_API_KEY (verificar en GitHub Settings)
170
- ✓ swl-ci.yml
171
- Sin secrets adicionales
172
-
173
- No instalados:
174
- - release-please.yml
175
-
176
- Para instalar los faltantes: /swl:configurar-ci init
177
- ```
178
-
179
- Si `gh` está disponible, intentar verificar si el secret existe:
180
- ```bash
181
- gh secret list 2>/dev/null | grep CLAUDE_API_KEY
182
- ```
183
-
184
- ---
185
-
186
- ## /swl:configurar-ci uninstall
187
-
188
- Elimina los workflows gestionados por swl-ses. No toca branch protection ni otros workflows.
189
-
190
- ```javascript
191
- const { uninstall } = require('./scripts/lib/configurar-ci');
192
-
193
- // Primero listar qué se eliminaría (sin confirmar)
194
- const plan = uninstall({ confirmar: false });
195
- ```
196
-
197
- Mostrar:
198
- ```
199
- Los siguientes workflows serán eliminados:
200
- - .github/workflows/swl-security.yml
201
- - .github/workflows/swl-ci.yml
202
-
203
- ¿Confirmar? (s/N)
204
- ```
205
-
206
- Si el usuario confirma:
207
- ```javascript
208
- const resultado = uninstall({ confirmar: true });
209
- ```
210
-
211
- Mostrar confirmación de archivos eliminados. Recordar que la branch protection NO se toca.
212
-
213
- ---
214
-
215
- ## Flags globales
216
-
217
- | Flag | Descripción |
218
- |------|-------------|
219
- | `--dry-run` | Muestra qué se haría sin modificar nada |
220
- | `--force` | Sobreescribe archivos existentes sin preguntar |
221
- | `--with-release-please` | Incluir release-please.yml |
222
- | `--no-security` | Omitir swl-security.yml |
223
- | `--no-ci` | Omitir swl-ci.yml |
224
-
225
- ## Skill de referencia
226
-
227
- Para troubleshooting, gotchas y guía avanzada: `Skill("infra-github-actions")`.
1
+ ---
2
+ name: swl:configurar-ci
3
+ description: Instala y gestiona los workflows CI/CD de swl-ses en proyectos de usuarios. Subcomandos init (flujo interactivo completo), status (muestra qué está instalado) y uninstall (quita los workflows). Para setup automatizado de GitHub Actions con revisión de seguridad Claude, CI genérico y release automatizado.
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
+ user-invocable: true
6
+ version: "1.0.0"
7
+ ---
8
+
9
+ # /swl:configurar-ci — Setup de CI/CD en tu proyecto
10
+
11
+ Orquesta la instalación de los workflows GitHub Actions de swl-ses en el proyecto donde estés trabajando.
12
+
13
+ ## Subcomandos
14
+
15
+ | Subcomando | Descripción |
16
+ |-----------|-------------|
17
+ | `init` | Flujo interactivo completo (default) |
18
+ | `status` | Muestra qué workflows están instalados y qué secrets se necesitan |
19
+ | `uninstall` | Quita los workflows SWL del proyecto |
20
+
21
+ Si se invoca sin subcomando, ejecutar `init`.
22
+
23
+ ---
24
+
25
+ ## /swl:configurar-ci init
26
+
27
+ Flujo interactivo paso a paso. Detecta el proyecto en el directorio actual.
28
+
29
+ ### Paso 1 — Verificar contexto
30
+
31
+ ```bash
32
+ node -e "const p=require('./package.json');console.log('Proyecto:',p.name,'v'+p.version)" 2>/dev/null || echo "Sin package.json"
33
+ ls .github/workflows/ 2>/dev/null && echo "Directorio .github/workflows existe" || echo "Directorio .github/workflows no existe"
34
+ ```
35
+
36
+ Mostrar al usuario qué se detectó y confirmar que es el proyecto correcto.
37
+
38
+ ### Paso 2 — Preguntar qué workflows instalar (si TTY)
39
+
40
+ ```
41
+ ¿Qué workflows quieres instalar? (Enter para activar, espacio para omitir)
42
+
43
+ [x] swl-security.yml — Revisión de seguridad con Claude en cada PR
44
+ REQUIERE: secret CLAUDE_API_KEY en GitHub Settings → Secrets
45
+
46
+ [x] swl-ci.yml — CI estándar (lint + test) en push y PRs
47
+ Sin secrets adicionales
48
+
49
+ [ ] release-please.yml — Releases automáticos desde conventional commits
50
+ Sin secrets adicionales. Requiere conventional commits.
51
+ ```
52
+
53
+ Si el usuario omite `init` e invoca con flags directos, respetar esos flags sin preguntar:
54
+ - `--with-security` / `--no-security`
55
+ - `--with-ci` / `--no-ci`
56
+ - `--with-release-please`
57
+ - `--dry-run`
58
+ - `--force`
59
+
60
+ ### Paso 3 — Copiar workflows
61
+
62
+ Invocar `scripts/lib/configurar-ci.js` con las opciones seleccionadas:
63
+
64
+ ```javascript
65
+ const { init } = require('./scripts/lib/configurar-ci');
66
+ const resultado = init({
67
+ withSecurity: true,
68
+ withCi: true,
69
+ withReleasePlease: false,
70
+ // dryRun: true, // con --dry-run
71
+ });
72
+ ```
73
+
74
+ Si hay archivos existentes en `resultado.existentes`, preguntar:
75
+ ```
76
+ Los siguientes workflows ya existen en .github/workflows/:
77
+ - swl-security.yml
78
+ ¿Sobreescribir? (s/N)
79
+ ```
80
+
81
+ Si el usuario dice que sí, volver a llamar `init` con `force: true`.
82
+
83
+ ### Paso 4 — Configurar CLAUDE_API_KEY (solo si se instaló swl-security.yml)
84
+
85
+ Preguntar:
86
+ ```
87
+ swl-security.yml requiere el secret CLAUDE_API_KEY en GitHub.
88
+
89
+ ¿Quieres configurarlo ahora con gh CLI? (s/N)
90
+ ```
91
+
92
+ Si dice sí, verificar que `gh` esté disponible:
93
+
94
+ ```bash
95
+ gh auth status 2>&1 | head -3
96
+ ```
97
+
98
+ Si está autenticado, guiar al usuario para que pegue su API key (sin almacenarla):
99
+
100
+ ```
101
+ Pega tu CLAUDE_API_KEY (la input estará oculta):
102
+ ```
103
+
104
+ Luego ejecutar:
105
+ ```bash
106
+ gh secret set CLAUDE_API_KEY
107
+ # gh leerá el valor desde stdin de forma segura
108
+ ```
109
+
110
+ Si `gh` no está disponible o el usuario dice que no, mostrar el link para hacerlo manualmente:
111
+ ```
112
+ Para configurar manualmente:
113
+ https://github.com/<owner>/<repo>/settings/secrets/actions/new
114
+ Nombre: CLAUDE_API_KEY
115
+ Valor: tu clave de https://console.anthropic.com
116
+ ```
117
+
118
+ ### Paso 5 — Configurar branch protection (opcional)
119
+
120
+ Preguntar:
121
+ ```
122
+ ¿Aplicar branch protection en main?
123
+ Esto requiere gh CLI autenticado y permisos de admin en el repo.
124
+ (s/N)
125
+ ```
126
+
127
+ Si dice sí:
128
+ ```bash
129
+ npx -y @saulwade/swl-ses@latest configure-branch-protection --dry-run
130
+ # Mostrar el plan al usuario
131
+ # Si confirma:
132
+ npx -y @saulwade/swl-ses@latest configure-branch-protection
133
+ ```
134
+
135
+ El subcomando `configure-branch-protection` del CLI funciona desde cualquier proyecto: detecta el repo actual con `gh repo view`, aplica las reglas a su rama `main` y reporta resultado. No depende de la ubicación del paquete swl-ses.
136
+
137
+ ### Paso 6 — Resumen final
138
+
139
+ ```
140
+ Setup completado:
141
+ ✓ .github/workflows/swl-security.yml
142
+ ✓ .github/workflows/swl-ci.yml
143
+ - release-please.yml (omitido)
144
+
145
+ Próximos pasos:
146
+ 1. git add .github/workflows/ && git commit -m "ci: agregar workflows CI/CD swl-ses"
147
+ 2. Abrir un PR para ver el workflow en acción
148
+ 3. Verificar que CLAUDE_API_KEY esté en GitHub Settings → Secrets
149
+ ```
150
+
151
+ ---
152
+
153
+ ## /swl:configurar-ci status
154
+
155
+ Muestra el estado actual de los workflows SWL en el proyecto.
156
+
157
+ ```javascript
158
+ const { status } = require('./scripts/lib/configurar-ci');
159
+ const resultado = status();
160
+ ```
161
+
162
+ Formato de salida:
163
+
164
+ ```
165
+ Workflows SWL en .github/workflows/:
166
+
167
+ Instalados:
168
+ ✓ swl-security.yml
169
+ Secrets requeridos: CLAUDE_API_KEY (verificar en GitHub Settings)
170
+ ✓ swl-ci.yml
171
+ Sin secrets adicionales
172
+
173
+ No instalados:
174
+ - release-please.yml
175
+
176
+ Para instalar los faltantes: /swl:configurar-ci init
177
+ ```
178
+
179
+ Si `gh` está disponible, intentar verificar si el secret existe:
180
+ ```bash
181
+ gh secret list 2>/dev/null | grep CLAUDE_API_KEY
182
+ ```
183
+
184
+ ---
185
+
186
+ ## /swl:configurar-ci uninstall
187
+
188
+ Elimina los workflows gestionados por swl-ses. No toca branch protection ni otros workflows.
189
+
190
+ ```javascript
191
+ const { uninstall } = require('./scripts/lib/configurar-ci');
192
+
193
+ // Primero listar qué se eliminaría (sin confirmar)
194
+ const plan = uninstall({ confirmar: false });
195
+ ```
196
+
197
+ Mostrar:
198
+ ```
199
+ Los siguientes workflows serán eliminados:
200
+ - .github/workflows/swl-security.yml
201
+ - .github/workflows/swl-ci.yml
202
+
203
+ ¿Confirmar? (s/N)
204
+ ```
205
+
206
+ Si el usuario confirma:
207
+ ```javascript
208
+ const resultado = uninstall({ confirmar: true });
209
+ ```
210
+
211
+ Mostrar confirmación de archivos eliminados. Recordar que la branch protection NO se toca.
212
+
213
+ ---
214
+
215
+ ## Flags globales
216
+
217
+ | Flag | Descripción |
218
+ |------|-------------|
219
+ | `--dry-run` | Muestra qué se haría sin modificar nada |
220
+ | `--force` | Sobreescribe archivos existentes sin preguntar |
221
+ | `--with-release-please` | Incluir release-please.yml |
222
+ | `--no-security` | Omitir swl-security.yml |
223
+ | `--no-ci` | Omitir swl-ci.yml |
224
+
225
+ ## Skill de referencia
226
+
227
+ Para troubleshooting, gotchas y guía avanzada: `Skill("infra-github-actions")`.
@@ -149,7 +149,7 @@ Template de salida:
149
149
  Al final del dashboard, sugerir acciones según las métricas:
150
150
 
151
151
  - Si `instintos.proyecto === 0` y `aprendizajes_totales > 10`:
152
- → `node scripts/bootstrap-instintos.js` (pobla desde APRENDIZAJES.md)
152
+ → `npx -y @saulwade/swl-ses@latest bootstrap-instincts` (pobla desde APRENDIZAJES.md)
153
153
 
154
154
  - Si `nudges.tasaAccion < 0.3` y `nudges.total > 5`:
155
155
  → "Muchos nudges ignorados. Revisa `.planning/evolucion/alertas-persistentes.json`"
@@ -172,7 +172,7 @@ garantizar que la evolución no degradó el skill/agente:
172
172
  ### 6.5.1 — Verificar si existe archivo de evals
173
173
 
174
174
  ```bash
175
- node scripts/run-skill-evals.js <nombre> --list 2>/dev/null | grep "<nombre>"
175
+ npx -y @saulwade/swl-ses@latest run-skill-evals <nombre> --list 2>/dev/null | grep "<nombre>"
176
176
  ```
177
177
 
178
178
  Si NO hay evals: saltar este paso y registrar en CHANGELOG:
@@ -193,7 +193,7 @@ score_baseline = (evals_pass / evals_total) * 100 × factor_peso
193
193
  Registrar:
194
194
 
195
195
  ```bash
196
- node scripts/run-skill-evals.js <nombre> --record-baseline --score=<N>
196
+ npx -y @saulwade/swl-ses@latest run-skill-evals <nombre> --record-baseline --score=<N>
197
197
  ```
198
198
 
199
199
  ### 6.5.3 — Aplicar el cambio (lo que ya hacía el Paso 6)
@@ -210,7 +210,7 @@ score_after = (evals_pass / evals_total) * 100 × factor_peso
210
210
 
211
211
  | Condición | Acción |
212
212
  |---|---|
213
- | `score_after >= score_baseline` | **Aceptar** — `node scripts/run-skill-evals.js <nombre> --record-after --score=<N>` |
213
+ | `score_after >= score_baseline` | **Aceptar** — `npx -y @saulwade/swl-ses@latest run-skill-evals <nombre> --record-after --score=<N>` |
214
214
  | `score_after < score_baseline - 5` | **Revertir** — restaurar el archivo anterior + `--record-revert --score=<N>` |
215
215
  | `score_baseline - 5 <= score_after < score_baseline` | **Requiere revisión humana** — reportar diferencia; usuario decide si acepta la regresión menor o revierte |
216
216
 
@@ -89,7 +89,7 @@ Si tu sesión de Claude Code corre dentro de `tmux`, puedes usar el daemon opt-i
89
89
 
90
90
  ```bash
91
91
  # Correr en una terminal separada
92
- node scripts/inbox-tmux-inject.js --session claude --poll 2
92
+ npx -y @saulwade/swl-ses@latest inbox-tmux-inject --session=claude --poll=2
93
93
  ```
94
94
 
95
95
  Ese daemon monitorea `.planning/inbox/` y usa `tmux send-keys` para inyectar el comando a la sesión Claude. No funciona en Windows (no hay tmux).
@@ -31,7 +31,7 @@ Complementa a `/swl:aprender` (que trabaja sobre la sesión actual) y a `/swl:ev
31
31
  Corre el script determinista que lee los JSONL del proyecto actual y clusteriza intenciones:
32
32
 
33
33
  ```bash
34
- node scripts/reflect-skills.js --ventana 30 --umbral 3
34
+ npx -y @saulwade/swl-ses@latest reflect-skills --ventana=30 --umbral=3
35
35
  ```
36
36
 
37
37
  Parámetros:
@@ -227,7 +227,7 @@ Si la variable de entorno `SWL_AUDIT_FRAMEWORKS=1` está presente, ejecutar el
227
227
  auditor de cobertura:
228
228
 
229
229
  ```bash
230
- node scripts/auditar-cobertura-frameworks.js --resumen
230
+ npx -y @saulwade/swl-ses@latest audit-coverage-frameworks --resumen
231
231
  ```
232
232
 
233
233
  Propósito: reportar cuántos skills declaran mapeos a los 5 frameworks de
@@ -249,13 +249,13 @@ cada framework.
249
249
  **Filtrado por framework**:
250
250
 
251
251
  ```bash
252
- SWL_AUDIT_FRAMEWORKS=1 node scripts/auditar-cobertura-frameworks.js --framework=nist_ai_rmf --resumen
252
+ SWL_AUDIT_FRAMEWORKS=1 npx -y @saulwade/swl-ses@latest audit-coverage-frameworks --framework=nist_ai_rmf --resumen
253
253
  ```
254
254
 
255
255
  **Persistir snapshot**:
256
256
 
257
257
  ```bash
258
- node scripts/auditar-cobertura-frameworks.js --save
258
+ npx -y @saulwade/swl-ses@latest audit-coverage-frameworks --save
259
259
  ```
260
260
 
261
261
  Persiste en `.planning/evolucion/cobertura-frameworks.json` para comparación
@@ -271,7 +271,7 @@ Si la variable de entorno `SWL_AUDIT_AGENTES=1` está presente, ejecutar el
271
271
  auditor de agentes:
272
272
 
273
273
  ```bash
274
- node scripts/auditar-agentes-gaps.js --resumen
274
+ npx -y @saulwade/swl-ses@latest audit-agents-gaps --resumen
275
275
  ```
276
276
 
277
277
  Propósito: reportar cuántos agentes carecen de Exclusion Clause (campo
@@ -294,7 +294,7 @@ monolíticos, secciones canónicas (Stack/Comandos/Code style/Conventions),
294
294
  uso de `@references`, placeholders sin reemplazar.
295
295
 
296
296
  ```bash
297
- node scripts/auditar-claudemd.js --json
297
+ npx -y @saulwade/swl-ses@latest audit-claudemd --json
298
298
  ```
299
299
 
300
300
  Veredictos posibles:
@@ -322,7 +322,7 @@ Si existe `manifiestos/skills-lock.json`, comparar el hash actual de cada
322
322
  skills entre release y release.
323
323
 
324
324
  ```bash
325
- node scripts/generar-skills-lock.js --check
325
+ npx -y @saulwade/swl-ses@latest generate-skills-lock --check
326
326
  ```
327
327
 
328
328
  Estados posibles:
@@ -333,7 +333,7 @@ Estados posibles:
333
333
  | `✗ skills-lock DRIFT detectado` | Skills modificados, nuevos o faltantes | Listar diferencias y proponer regenerar |
334
334
 
335
335
  Si NO existe el lock (proyecto fresco o pre-1.1.0), este paso se omite y
336
- emite advertencia sugerente: `node scripts/generar-skills-lock.js`.
336
+ emite advertencia sugerente: `npx -y @saulwade/swl-ses@latest generate-skills-lock`.
337
337
 
338
338
  El lock se regenera automáticamente como parte de `/swl:release`. Drift
339
339
  fuera de release indica ediciones manuales no committed.
@@ -32,16 +32,16 @@ Si falta, indicar al usuario que actualice SWL con `/swl:actualizar`.
32
32
  ### Sin query (catálogo completo)
33
33
 
34
34
  ```bash
35
- node scripts/lib/skill-discovery.js
35
+ npx -y @saulwade/swl-ses@latest skill-discovery
36
36
  ```
37
37
 
38
38
  ### Con query (búsqueda filtrada)
39
39
 
40
40
  ```bash
41
- node scripts/lib/skill-discovery.js "<query>"
41
+ npx -y @saulwade/swl-ses@latest skill-discovery "<query>"
42
42
  ```
43
43
 
44
- Ejemplo: `node scripts/lib/skill-discovery.js "typescript"` muestra skills de TypeScript.
44
+ Ejemplo: `npx -y @saulwade/swl-ses@latest skill-discovery "typescript"` muestra skills de TypeScript.
45
45
 
46
46
  ### Búsqueda por intent (--intent)
47
47
 
@@ -75,7 +75,7 @@ o por las keywords del dominio en la descripción.
75
75
  ### Reconstruir índice
76
76
 
77
77
  ```bash
78
- node scripts/lib/skill-discovery.js --rebuild
78
+ npx -y @saulwade/swl-ses@latest skill-discovery --rebuild
79
79
  ```
80
80
 
81
81
  ## Paso 3 — Presentar resultados
@@ -398,7 +398,8 @@
398
398
  "hooks-multica",
399
399
  "graphify-swl",
400
400
  "mcp-swl",
401
- "mcp-server-swl"
401
+ "mcp-server-swl",
402
+ "claudemd-auditor"
402
403
  ]
403
404
  }
404
405
  }