@saulwade/swl-ses 2.6.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/CLAUDE.md +197 -197
  2. package/README.md +600 -600
  3. package/agentes/_intent-spec.md +73 -73
  4. package/agentes/_propose-step.md +90 -90
  5. package/agentes/accesibilidad-wcag-swl.md +690 -690
  6. package/agentes/arquitecto-swl.md +267 -267
  7. package/agentes/auto-evolucion-swl.md +932 -932
  8. package/agentes/backend-csharp-swl.md +420 -420
  9. package/agentes/backend-go-swl.md +390 -390
  10. package/agentes/backend-java-swl.md +281 -281
  11. package/agentes/backend-rust-swl.md +364 -364
  12. package/agentes/backend-workers-swl.md +482 -482
  13. package/agentes/cloud-infra-swl.md +509 -509
  14. package/agentes/consolidador-swl.md +541 -541
  15. package/agentes/depurador-swl.md +352 -352
  16. package/agentes/devops-ci-swl.md +400 -400
  17. package/agentes/disenador-ui-swl.md +569 -569
  18. package/agentes/documentador-swl.md +345 -345
  19. package/agentes/frontend-angular-swl.md +621 -621
  20. package/agentes/frontend-css-swl.md +716 -716
  21. package/agentes/frontend-react-swl.md +692 -692
  22. package/agentes/frontend-swl.md +496 -496
  23. package/agentes/frontend-tailwind-swl.md +826 -826
  24. package/agentes/investigador-swl.md +432 -432
  25. package/agentes/investigador-ux-swl.md +505 -505
  26. package/agentes/migrador-swl.md +442 -442
  27. package/agentes/mobile-android-swl.md +511 -511
  28. package/agentes/mobile-cross-swl.md +541 -541
  29. package/agentes/mobile-ios-swl.md +502 -502
  30. package/agentes/mobile-testing-swl.md +302 -302
  31. package/agentes/nemesis-auditor-swl.md +285 -285
  32. package/agentes/observabilidad-swl.md +438 -438
  33. package/agentes/pagos-swl.md +310 -310
  34. package/agentes/perfilador-usuario-swl.md +321 -321
  35. package/agentes/planificador-swl.md +399 -399
  36. package/agentes/producto-prd-swl.md +589 -589
  37. package/agentes/red-team-swl.md +218 -218
  38. package/agentes/release-manager-swl.md +590 -590
  39. package/agentes/rendimiento-swl.md +713 -713
  40. package/agentes/revisor-angular-swl.md +278 -278
  41. package/agentes/revisor-csharp-swl.md +264 -264
  42. package/agentes/revisor-go-swl.md +259 -259
  43. package/agentes/revisor-java-swl.md +257 -257
  44. package/agentes/revisor-kotlin-swl.md +273 -273
  45. package/agentes/revisor-nextjs-swl.md +281 -281
  46. package/agentes/revisor-php-swl.md +271 -271
  47. package/agentes/revisor-react-swl.md +278 -278
  48. package/agentes/revisor-rust-swl.md +346 -346
  49. package/agentes/revisor-seguridad-swl.md +399 -399
  50. package/agentes/revisor-swift-swl.md +268 -268
  51. package/agentes/revisor-typescript-swl.md +346 -346
  52. package/agentes/tdd-qa-swl.md +393 -393
  53. package/comandos/swl/actualizar.md +174 -174
  54. package/comandos/swl/adoptar-proyecto.md +265 -265
  55. package/comandos/swl/aprender.md +836 -836
  56. package/comandos/swl/aprobar-plan.md +146 -146
  57. package/comandos/swl/auditar-deps.md +134 -134
  58. package/comandos/swl/autoresearch.md +264 -264
  59. package/comandos/swl/ayuda.md +224 -224
  60. package/comandos/swl/brainstorm.md +51 -51
  61. package/comandos/swl/briefing.md +119 -119
  62. package/comandos/swl/checkpoint.md +325 -325
  63. package/comandos/swl/claudemd.md +234 -234
  64. package/comandos/swl/compactar.md +310 -310
  65. package/comandos/swl/configurar-ci.md +235 -235
  66. package/comandos/swl/contexto.md +110 -110
  67. package/comandos/swl/contribuir.md +233 -233
  68. package/comandos/swl/crear-skill.md +292 -292
  69. package/comandos/swl/cron.md +194 -194
  70. package/comandos/swl/discutir-fase.md +169 -169
  71. package/comandos/swl/ejecutar-fase.md +233 -233
  72. package/comandos/swl/evaluar-skill.md +520 -520
  73. package/comandos/swl/evolucion-continua.md +73 -73
  74. package/comandos/swl/evolucionar.md +267 -267
  75. package/comandos/swl/exportar-vault.md +583 -583
  76. package/comandos/swl/fix.md +118 -118
  77. package/comandos/swl/gateway.md +158 -158
  78. package/comandos/swl/inbox.md +116 -116
  79. package/comandos/swl/instalar.md +220 -220
  80. package/comandos/swl/instintos.md +86 -86
  81. package/comandos/swl/mapear-codebase.md +312 -312
  82. package/comandos/swl/mcp-status.md +175 -175
  83. package/comandos/swl/modelo.md +100 -100
  84. package/comandos/swl/nemesis.md +433 -433
  85. package/comandos/swl/notificaciones.md +299 -299
  86. package/comandos/swl/nuevo-proyecto.md +251 -251
  87. package/comandos/swl/planear-fase.md +263 -263
  88. package/comandos/swl/plugins.md +256 -256
  89. package/comandos/swl/predecir.md +169 -169
  90. package/comandos/swl/reflect-skills.md +125 -125
  91. package/comandos/swl/release.md +450 -450
  92. package/comandos/swl/revisar-impacto.md +201 -201
  93. package/comandos/swl/revisar.md +330 -330
  94. package/comandos/swl/seguridad.md +189 -189
  95. package/comandos/swl/sesiones.md +200 -200
  96. package/comandos/swl/skill-search.md +113 -113
  97. package/comandos/swl/status.md +345 -345
  98. package/comandos/swl/verificar.md +817 -817
  99. package/comandos/swl/wiki.md +620 -620
  100. package/gateway/cron/jobs.example.json +12 -12
  101. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -294
  102. package/habilidades/backend-async-postgres-testing/SKILL.md +2 -1
  103. package/habilidades/changelog-generator/SKILL.md +174 -174
  104. package/habilidades/compactacion-contexto/SKILL.md +2 -1
  105. package/habilidades/contenedores-docker/SKILL.md +4 -2
  106. package/habilidades/doubt-driven-review/SKILL.md +207 -207
  107. package/habilidades/drift-detection/SKILL.md +1 -1
  108. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  109. package/habilidades/extractor-de-aprendizajes/SKILL.md +8 -2
  110. package/habilidades/git-worktrees-paralelo/SKILL.md +19 -1
  111. package/habilidades/harness-claude-code/SKILL.md +314 -314
  112. package/habilidades/instalar-sistema/SKILL.md +227 -227
  113. package/habilidades/planear-fase/SKILL.md +358 -358
  114. package/habilidades/prevencion-sobreingenieria/recursos/soluciones-nativas.md +166 -166
  115. package/habilidades/prevencion-sobreingenieria/recursos/variables-residuales-post-refactor.md +85 -85
  116. package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -147
  117. package/habilidades/release-semver/SKILL.md +2 -2
  118. package/habilidades/tdd-workflow/SKILL.md +749 -749
  119. package/hooks/agente-lifecycle.js +1 -1
  120. package/hooks/audit-trail.js +1 -1
  121. package/hooks/auto-consolidacion.js +1 -1
  122. package/hooks/captura-acciones-post.js +1 -1
  123. package/hooks/captura-acciones-session.js +1 -1
  124. package/hooks/captura-feedback-usuario.js +1 -1
  125. package/hooks/contexto-iteracion.js +1 -1
  126. package/hooks/contexto-subagente.js +68 -68
  127. package/hooks/degradacion-instintos.js +1 -1
  128. package/hooks/grafo-contexto.js +1 -1
  129. package/hooks/guardrail-modelo.js +1 -1
  130. package/hooks/inbox-aviso.js +1 -1
  131. package/hooks/inyeccion-contexto.js +1 -1
  132. package/hooks/lib/agent-matcher.js +1 -1
  133. package/hooks/lib/agent-routing.js +1 -1
  134. package/hooks/lib/captura-acciones.js +1 -1
  135. package/hooks/lib/etapa-metricas.js +1 -1
  136. package/hooks/lib/evolution-tracker.js +1 -1
  137. package/hooks/lib/gateway-notify.js +193 -193
  138. package/hooks/lib/mcp-health.js +1 -1
  139. package/hooks/lib/notificacion-formato.js +58 -0
  140. package/hooks/lib/nudge-tracker.js +1 -1
  141. package/hooks/lib/otlp-exporter.js +1 -1
  142. package/hooks/lib/propose-step.js +1 -1
  143. package/hooks/lib/raiz-proyecto.js +127 -102
  144. package/hooks/lib/run-log.js +1 -1
  145. package/hooks/lib/singleton-guard.js +20 -13
  146. package/hooks/lib/telegram-cliente.js +11 -3
  147. package/hooks/notificacion-telegram.js +13 -3
  148. package/hooks/preservar-estado-pre-compact.js +1 -1
  149. package/hooks/registro-turnos.js +1 -1
  150. package/hooks/resumen-sesion.js +1 -1
  151. package/hooks/risk-scoring.js +1 -1
  152. package/hooks/session-briefing.js +1 -1
  153. package/hooks/spec-gate.js +1 -1
  154. package/hooks/sugerir-regenerar-inventario.js +1 -1
  155. package/hooks/tdd-gate.js +1 -1
  156. package/hooks/telemetria-agentes.js +1 -1
  157. package/hooks/telemetria-skill-routing.js +1 -1
  158. package/hooks/tracking-costos.js +1 -1
  159. package/hooks/validar-formato-post-subagente.js +1 -1
  160. package/hooks/validar-intent-spec.js +1 -1
  161. package/hooks/validar-planning-paths.js +1 -1
  162. package/llms.txt +29 -29
  163. package/manifiestos/canonical-hashes.json +5588 -5257
  164. package/manifiestos/hooks-config.json +469 -469
  165. package/manifiestos/invariantes-criticos.json +30 -30
  166. package/manifiestos/modulos.json +1429 -1428
  167. package/manifiestos/skills-lock.json +1275 -1275
  168. package/package.json +94 -94
  169. package/plugin.json +369 -369
  170. package/scripts/auditar-clases-conocidas.js +134 -134
  171. package/scripts/bootstrap-instintos.js +85 -14
  172. package/scripts/canario-hooks.js +166 -166
  173. package/scripts/cli/autonomia.js +23 -23
  174. package/scripts/cli/benchmark-memoria.js +37 -37
  175. package/scripts/cli/ciclo-autonomo.js +73 -73
  176. package/scripts/cli/ciclo-fase-b.js +102 -102
  177. package/scripts/cli/guardrail-metrics.js +39 -39
  178. package/scripts/cli/memoria-search.js +69 -69
  179. package/scripts/cli/nudge-accionar.js +39 -39
  180. package/scripts/cli/run-eval.js +38 -38
  181. package/scripts/doctor.js +26 -3
  182. package/scripts/evidencia-valor.js +101 -101
  183. package/scripts/field-report.js +16 -16
  184. package/scripts/instalador.js +13 -0
  185. package/scripts/lib/activar-hooks-proyecto.js +116 -116
  186. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -174
  187. package/scripts/lib/ciclo-autonomo/config.js +165 -165
  188. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -174
  189. package/scripts/lib/ciclo-autonomo/fallback.js +77 -77
  190. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -139
  191. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -112
  192. package/scripts/lib/ciclo-autonomo/index.js +301 -301
  193. package/scripts/lib/ciclo-autonomo/lock.js +124 -124
  194. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -122
  195. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -240
  196. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -248
  197. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -190
  198. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +535 -535
  199. package/scripts/lib/evidencia-valor.js +228 -228
  200. package/scripts/lib/expandir-targets.js +71 -71
  201. package/scripts/lib/limpiar-basura-global.js +161 -0
  202. package/scripts/lib/toml-merge.js +204 -204
  203. package/scripts/mcp-server/auth.js +105 -105
  204. package/scripts/mcp-server/cache.js +106 -106
  205. package/scripts/tui/pantallas/install-wizard.js +403 -403
  206. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +0 -53
  207. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +0 -372
@@ -1,220 +1,220 @@
1
- ---
2
- name: swl:instalar
3
- description: Instala o actualiza el sistema SWL en el proyecto actual desde dentro de Claude Code. Pregunta interactivamente al usuario el perfil y la ubicación (local/global) antes de ejecutar. Ejecuta init + install + doctor automáticamente.
4
- allowed_tools: ["Read", "Bash", "Glob"]
5
- ---
6
-
7
- # /swl:instalar — Instalar sistema SWL desde Claude Code
8
-
9
- Eres el instalador del sistema SWL dentro de Claude Code. Tu misión es ejecutar la instalación completa del sistema de ingeniería de software, de forma que todos los agentes, skills, comandos, reglas y hooks queden operativos.
10
-
11
- **IMPORTANTE**: Este comando es INTERACTIVO. Debes consultar al usuario antes de proceder con la instalación. No asumas valores por defecto silenciosamente.
12
-
13
- ## Paso 0 — Verificación de prerrequisitos
14
-
15
- Antes de preguntar nada al usuario, verifica silenciosamente:
16
-
17
- 1. Node.js >= 18:
18
- ```bash
19
- node --version
20
- ```
21
-
22
- 2. npx disponible:
23
- ```bash
24
- npx --version
25
- ```
26
-
27
- 3. Registry de GitHub Packages configurado:
28
- ```bash
29
- npm config get @saul-wade:registry
30
- ```
31
-
32
- Si Node.js < 18 o npx no existe, DETENTE y dile al usuario qué instalar.
33
-
34
- Si el registry no está configurado, informa al usuario:
35
- - "Para instalar SWL necesitas configurar el registry de GitHub Packages. Ejecuta en tu terminal:"
36
- - `npm config set @saul-wade:registry https://npm.pkg.github.com`
37
- - "Y asegúrate de tener un token de acceso configurado en ~/.npmrc"
38
- - DETENTE hasta que el usuario confirme que lo configuró.
39
-
40
- ## Paso 1 — Detectar estado actual
41
-
42
- Verifica si SWL ya está instalado:
43
-
44
- ```bash
45
- cat .claude/.swl-install-state.json 2>/dev/null
46
- ```
47
-
48
- Si ya existe una instalación, informa:
49
- - "SWL ya está instalado con perfil **X** (versión Y)."
50
- - Pregunta: "¿Deseas **actualizar** a la última versión (mismo perfil), **cambiar de perfil**, o **cancelar**?"
51
- - Si actualiza: usa el mismo perfil con `--force`
52
- - Si cambia perfil: continúa al Paso 2 para elegir nuevo perfil
53
-
54
- Si NO existe instalación, continúa al Paso 2.
55
-
56
- ## Paso 2 — Preguntar ubicación de instalación
57
-
58
- Pregunta al usuario dónde quiere instalar. Presenta las dos opciones con explicación clara:
59
-
60
- **Pregunta**: "¿Dónde quieres instalar SWL?"
61
-
62
- - **Local (este proyecto)** — Instala en `.claude/` del proyecto actual. Cada proyecto puede tener su propio perfil y configuración. Los hooks y reglas solo aplican a este proyecto. **Recomendado para la mayoría de casos.**
63
-
64
- - **Global (todos los proyectos)** — Instala en `~/.claude/` (directorio home). SWL estará disponible en todos los proyectos donde uses Claude Code. Los hooks y reglas se aplican globalmente. **Recomendado solo si usas SWL en todos tus proyectos.**
65
-
66
- Espera la respuesta del usuario antes de continuar.
67
-
68
- ## Paso 3 — Preguntar perfil de instalación
69
-
70
- Si el usuario no especificó perfil en los argumentos del comando, pregunta qué perfil quiere.
71
-
72
- **Pregunta**: "¿Qué perfil de SWL quieres instalar?"
73
-
74
- Presenta los perfiles organizados por caso de uso:
75
-
76
- **Mínimo**:
77
- - `core` — Orquestador + agentes base + reglas + comandos esenciales (50 archivos)
78
-
79
- **Backend**:
80
- - `backend-python` — Core + Python, FastAPI, Django, APIs, datos (75 archivos)
81
- - `backend-node` — Core + Node.js, TypeScript, APIs (70 archivos)
82
-
83
- **Frontend**:
84
- - `frontend-react` — Core + React, Next.js, CSS, UX (72 archivos)
85
- - `frontend-angular` — Core + Angular, CSS, UX (72 archivos)
86
-
87
- **Fullstack**:
88
- - `fullstack-python-angular` — Backend Python + Frontend Angular (100 archivos)
89
- - `fullstack-node-react` — Backend Node + Frontend React (100 archivos)
90
-
91
- **Especializado**:
92
- - `mobile` — Core + Android, iOS, React Native, Flutter (65 archivos)
93
- - `devops` — Core + infra, cloud, CI/CD, seguridad (78 archivos)
94
-
95
- **Completo**:
96
- - `completo` — Todo SWL: 37 agentes + 61 skills + 15 comandos + 11 reglas + 6 hooks (128 archivos)
97
-
98
- Espera la respuesta del usuario antes de continuar.
99
-
100
- ## Paso 4 — Confirmar antes de ejecutar
101
-
102
- Antes de ejecutar, muestra un resumen de lo que se va a hacer:
103
-
104
- ```
105
- === Plan de instalación SWL ===
106
-
107
- Ubicación: <Local (.claude/) | Global (~/.claude/)>
108
- Perfil: <perfil seleccionado>
109
- Componentes: ~<N> archivos
110
-
111
- Se ejecutarán 3 pasos:
112
- 1. init — crear .planning/ y _userland/
113
- 2. install — copiar agentes, skills, comandos, reglas y hooks
114
- 3. doctor — verificar que todo quedó correctamente instalado
115
-
116
- ¿Proceder con la instalación?
117
- ```
118
-
119
- Espera confirmación explícita del usuario.
120
-
121
- ## Paso 5 — Ejecutar init
122
-
123
- ```bash
124
- npx -y @saulwade/swl-ses@latest init
125
- ```
126
-
127
- Esto crea:
128
- - `.planning/` con plantillas (PROYECTO.md, REQUISITOS.md, HOJA-RUTA.md, ESTADO.md)
129
- - `.planning/research/` con templates de investigación
130
- - `_userland/agentes/` y `_userland/habilidades/` para extensiones del usuario
131
-
132
- Si reporta archivos omitidos (ya existen), eso es normal.
133
-
134
- ## Paso 6 — Ejecutar install
135
-
136
- Construye el comando según las respuestas del usuario:
137
-
138
- ```bash
139
- npx -y @saulwade/swl-ses@latest install --target claude --profile <PERFIL> [--global] [--force]
140
- ```
141
-
142
- - `<PERFIL>`: el perfil que eligió el usuario
143
- - `--global`: agregar si eligió instalación global
144
- - `--force`: agregar si ya existía una instalación previa
145
-
146
- Este paso:
147
- - Copia agentes a `.claude/agents/` (o `~/.claude/agents/` si global)
148
- - Copia skills a `.claude/skills/`
149
- - Copia comandos a `.claude/commands/swl/`
150
- - Copia reglas a `.claude/rules/`
151
- - Copia hooks a `./hooks/` (o `~/.claude/hooks/` si global)
152
- - Registra hooks en `.claude/settings.json` automáticamente
153
- - Guarda estado en `.claude/.swl-install-state.json`
154
-
155
- ## Paso 7 — Ejecutar doctor
156
-
157
- ```bash
158
- npx -y @saulwade/swl-ses@latest doctor
159
- ```
160
-
161
- Verifica que todo quedó correctamente instalado:
162
- - Node.js compatible
163
- - Runtime detectado
164
- - `.planning/` completo
165
- - Archivos íntegros
166
- - Hooks registrados en settings.json
167
-
168
- ## Paso 8 — Reportar resultado al usuario
169
-
170
- Presenta un resumen claro:
171
-
172
- ```
173
- === Instalación SWL completada ===
174
-
175
- Perfil: <perfil>
176
- Ubicación: <local (.claude/) | global (~/.claude/)>
177
- Agentes: <N> instalados
178
- Skills: <N> instalados
179
- Comandos: <N> instalados
180
- Reglas: <N> instaladas
181
- Hooks: <N> registrados en settings.json
182
-
183
- Doctor: <resultado>
184
-
185
- Siguiente paso:
186
- /swl:nuevo-proyecto → si es un proyecto nuevo
187
- /swl:mapear-codebase → si ya hay código existente
188
- /swl:status salud → para diagnóstico profundo del sistema
189
- ```
190
-
191
- Si la instalación fue local, menciona: "Para instalar SWL en otro proyecto, abre Claude Code en ese proyecto y ejecuta `/swl:instalar` nuevamente."
192
-
193
- Si la instalación fue global, menciona: "SWL estará disponible en todos los proyectos donde uses Claude Code."
194
-
195
- ## Atajos (argumentos en línea)
196
-
197
- Si el usuario pasa argumentos directamente, usa esos valores sin preguntar lo que ya especificó:
198
-
199
- ```
200
- /swl:instalar --profile backend-python → preguntar solo ubicación
201
- /swl:instalar --global → preguntar solo perfil
202
- /swl:instalar --profile completo --global → confirmar y ejecutar directamente
203
- /swl:instalar --profile core --local → confirmar y ejecutar directamente
204
- ```
205
-
206
- Solo pregunta lo que NO se especificó en los argumentos.
207
-
208
- ## Reglas de comportamiento
209
-
210
- - SIEMPRE pregunta ubicación (local/global) si no se especificó en argumentos.
211
- - SIEMPRE pregunta perfil si no se especificó en argumentos.
212
- - SIEMPRE confirma el plan antes de ejecutar.
213
- - SIEMPRE ejecuta los 3 pasos (init, install, doctor) en orden secuencial.
214
- - NUNCA omitas el paso de doctor — es la verificación de que todo funciona.
215
- - Si algún paso falla, DETENTE y reporta el error. No continúes con los siguientes pasos.
216
- - Si el usuario no tiene Node.js 18+, sugiere instalarlo antes de continuar.
217
- - Si el usuario no tiene el registry configurado, NO intentes instalar — solo guíalo.
218
- - Si el usuario pide un perfil que no existe, muestra la tabla de perfiles disponibles.
219
- - Este comando NO modifica código del proyecto — solo instala componentes SWL en `.claude/` y `.planning/`.
220
- - Para actualización: `npx -y @saulwade/swl-ses@latest update` detecta automáticamente el perfil instalado y actualiza sin preguntar perfil.
1
+ ---
2
+ name: swl:instalar
3
+ description: Instala o actualiza el sistema SWL en el proyecto actual desde dentro de Claude Code. Pregunta interactivamente al usuario el perfil y la ubicación (local/global) antes de ejecutar. Ejecuta init + install + doctor automáticamente.
4
+ allowed_tools: ["Read", "Bash", "Glob"]
5
+ ---
6
+
7
+ # /swl:instalar — Instalar sistema SWL desde Claude Code
8
+
9
+ Eres el instalador del sistema SWL dentro de Claude Code. Tu misión es ejecutar la instalación completa del sistema de ingeniería de software, de forma que todos los agentes, skills, comandos, reglas y hooks queden operativos.
10
+
11
+ **IMPORTANTE**: Este comando es INTERACTIVO. Debes consultar al usuario antes de proceder con la instalación. No asumas valores por defecto silenciosamente.
12
+
13
+ ## Paso 0 — Verificación de prerrequisitos
14
+
15
+ Antes de preguntar nada al usuario, verifica silenciosamente:
16
+
17
+ 1. Node.js >= 18:
18
+ ```bash
19
+ node --version
20
+ ```
21
+
22
+ 2. npx disponible:
23
+ ```bash
24
+ npx --version
25
+ ```
26
+
27
+ 3. Registry de GitHub Packages configurado:
28
+ ```bash
29
+ npm config get @saul-wade:registry
30
+ ```
31
+
32
+ Si Node.js < 18 o npx no existe, DETENTE y dile al usuario qué instalar.
33
+
34
+ Si el registry no está configurado, informa al usuario:
35
+ - "Para instalar SWL necesitas configurar el registry de GitHub Packages. Ejecuta en tu terminal:"
36
+ - `npm config set @saul-wade:registry https://npm.pkg.github.com`
37
+ - "Y asegúrate de tener un token de acceso configurado en ~/.npmrc"
38
+ - DETENTE hasta que el usuario confirme que lo configuró.
39
+
40
+ ## Paso 1 — Detectar estado actual
41
+
42
+ Verifica si SWL ya está instalado:
43
+
44
+ ```bash
45
+ cat .claude/.swl-install-state.json 2>/dev/null
46
+ ```
47
+
48
+ Si ya existe una instalación, informa:
49
+ - "SWL ya está instalado con perfil **X** (versión Y)."
50
+ - Pregunta: "¿Deseas **actualizar** a la última versión (mismo perfil), **cambiar de perfil**, o **cancelar**?"
51
+ - Si actualiza: usa el mismo perfil con `--force`
52
+ - Si cambia perfil: continúa al Paso 2 para elegir nuevo perfil
53
+
54
+ Si NO existe instalación, continúa al Paso 2.
55
+
56
+ ## Paso 2 — Preguntar ubicación de instalación
57
+
58
+ Pregunta al usuario dónde quiere instalar. Presenta las dos opciones con explicación clara:
59
+
60
+ **Pregunta**: "¿Dónde quieres instalar SWL?"
61
+
62
+ - **Local (este proyecto)** — Instala en `.claude/` del proyecto actual. Cada proyecto puede tener su propio perfil y configuración. Los hooks y reglas solo aplican a este proyecto. **Recomendado para la mayoría de casos.**
63
+
64
+ - **Global (todos los proyectos)** — Instala en `~/.claude/` (directorio home). SWL estará disponible en todos los proyectos donde uses Claude Code. Los hooks y reglas se aplican globalmente. **Recomendado solo si usas SWL en todos tus proyectos.**
65
+
66
+ Espera la respuesta del usuario antes de continuar.
67
+
68
+ ## Paso 3 — Preguntar perfil de instalación
69
+
70
+ Si el usuario no especificó perfil en los argumentos del comando, pregunta qué perfil quiere.
71
+
72
+ **Pregunta**: "¿Qué perfil de SWL quieres instalar?"
73
+
74
+ Presenta los perfiles organizados por caso de uso:
75
+
76
+ **Mínimo**:
77
+ - `core` — Orquestador + agentes base + reglas + comandos esenciales (50 archivos)
78
+
79
+ **Backend**:
80
+ - `backend-python` — Core + Python, FastAPI, Django, APIs, datos (75 archivos)
81
+ - `backend-node` — Core + Node.js, TypeScript, APIs (70 archivos)
82
+
83
+ **Frontend**:
84
+ - `frontend-react` — Core + React, Next.js, CSS, UX (72 archivos)
85
+ - `frontend-angular` — Core + Angular, CSS, UX (72 archivos)
86
+
87
+ **Fullstack**:
88
+ - `fullstack-python-angular` — Backend Python + Frontend Angular (100 archivos)
89
+ - `fullstack-node-react` — Backend Node + Frontend React (100 archivos)
90
+
91
+ **Especializado**:
92
+ - `mobile` — Core + Android, iOS, React Native, Flutter (65 archivos)
93
+ - `devops` — Core + infra, cloud, CI/CD, seguridad (78 archivos)
94
+
95
+ **Completo**:
96
+ - `completo` — Todo SWL: 37 agentes + 61 skills + 15 comandos + 11 reglas + 6 hooks (128 archivos)
97
+
98
+ Espera la respuesta del usuario antes de continuar.
99
+
100
+ ## Paso 4 — Confirmar antes de ejecutar
101
+
102
+ Antes de ejecutar, muestra un resumen de lo que se va a hacer:
103
+
104
+ ```
105
+ === Plan de instalación SWL ===
106
+
107
+ Ubicación: <Local (.claude/) | Global (~/.claude/)>
108
+ Perfil: <perfil seleccionado>
109
+ Componentes: ~<N> archivos
110
+
111
+ Se ejecutarán 3 pasos:
112
+ 1. init — crear .planning/ y _userland/
113
+ 2. install — copiar agentes, skills, comandos, reglas y hooks
114
+ 3. doctor — verificar que todo quedó correctamente instalado
115
+
116
+ ¿Proceder con la instalación?
117
+ ```
118
+
119
+ Espera confirmación explícita del usuario.
120
+
121
+ ## Paso 5 — Ejecutar init
122
+
123
+ ```bash
124
+ npx -y @saulwade/swl-ses@latest init
125
+ ```
126
+
127
+ Esto crea:
128
+ - `.planning/` con plantillas (PROYECTO.md, REQUISITOS.md, HOJA-RUTA.md, ESTADO.md)
129
+ - `.planning/research/` con templates de investigación
130
+ - `_userland/agentes/` y `_userland/habilidades/` para extensiones del usuario
131
+
132
+ Si reporta archivos omitidos (ya existen), eso es normal.
133
+
134
+ ## Paso 6 — Ejecutar install
135
+
136
+ Construye el comando según las respuestas del usuario:
137
+
138
+ ```bash
139
+ npx -y @saulwade/swl-ses@latest install --target claude --profile <PERFIL> [--global] [--force]
140
+ ```
141
+
142
+ - `<PERFIL>`: el perfil que eligió el usuario
143
+ - `--global`: agregar si eligió instalación global
144
+ - `--force`: agregar si ya existía una instalación previa
145
+
146
+ Este paso:
147
+ - Copia agentes a `.claude/agents/` (o `~/.claude/agents/` si global)
148
+ - Copia skills a `.claude/skills/`
149
+ - Copia comandos a `.claude/commands/swl/`
150
+ - Copia reglas a `.claude/rules/`
151
+ - Copia hooks a `./hooks/` (o `~/.claude/hooks/` si global)
152
+ - Registra hooks en `.claude/settings.json` automáticamente
153
+ - Guarda estado en `.claude/.swl-install-state.json`
154
+
155
+ ## Paso 7 — Ejecutar doctor
156
+
157
+ ```bash
158
+ npx -y @saulwade/swl-ses@latest doctor
159
+ ```
160
+
161
+ Verifica que todo quedó correctamente instalado:
162
+ - Node.js compatible
163
+ - Runtime detectado
164
+ - `.planning/` completo
165
+ - Archivos íntegros
166
+ - Hooks registrados en settings.json
167
+
168
+ ## Paso 8 — Reportar resultado al usuario
169
+
170
+ Presenta un resumen claro:
171
+
172
+ ```
173
+ === Instalación SWL completada ===
174
+
175
+ Perfil: <perfil>
176
+ Ubicación: <local (.claude/) | global (~/.claude/)>
177
+ Agentes: <N> instalados
178
+ Skills: <N> instalados
179
+ Comandos: <N> instalados
180
+ Reglas: <N> instaladas
181
+ Hooks: <N> registrados en settings.json
182
+
183
+ Doctor: <resultado>
184
+
185
+ Siguiente paso:
186
+ /swl:nuevo-proyecto → si es un proyecto nuevo
187
+ /swl:mapear-codebase → si ya hay código existente
188
+ /swl:status salud → para diagnóstico profundo del sistema
189
+ ```
190
+
191
+ Si la instalación fue local, menciona: "Para instalar SWL en otro proyecto, abre Claude Code en ese proyecto y ejecuta `/swl:instalar` nuevamente."
192
+
193
+ Si la instalación fue global, menciona: "SWL estará disponible en todos los proyectos donde uses Claude Code."
194
+
195
+ ## Atajos (argumentos en línea)
196
+
197
+ Si el usuario pasa argumentos directamente, usa esos valores sin preguntar lo que ya especificó:
198
+
199
+ ```
200
+ /swl:instalar --profile backend-python → preguntar solo ubicación
201
+ /swl:instalar --global → preguntar solo perfil
202
+ /swl:instalar --profile completo --global → confirmar y ejecutar directamente
203
+ /swl:instalar --profile core --local → confirmar y ejecutar directamente
204
+ ```
205
+
206
+ Solo pregunta lo que NO se especificó en los argumentos.
207
+
208
+ ## Reglas de comportamiento
209
+
210
+ - SIEMPRE pregunta ubicación (local/global) si no se especificó en argumentos.
211
+ - SIEMPRE pregunta perfil si no se especificó en argumentos.
212
+ - SIEMPRE confirma el plan antes de ejecutar.
213
+ - SIEMPRE ejecuta los 3 pasos (init, install, doctor) en orden secuencial.
214
+ - NUNCA omitas el paso de doctor — es la verificación de que todo funciona.
215
+ - Si algún paso falla, DETENTE y reporta el error. No continúes con los siguientes pasos.
216
+ - Si el usuario no tiene Node.js 18+, sugiere instalarlo antes de continuar.
217
+ - Si el usuario no tiene el registry configurado, NO intentes instalar — solo guíalo.
218
+ - Si el usuario pide un perfil que no existe, muestra la tabla de perfiles disponibles.
219
+ - Este comando NO modifica código del proyecto — solo instala componentes SWL en `.claude/` y `.planning/`.
220
+ - Para actualización: `npx -y @saulwade/swl-ses@latest update` detecta automáticamente el perfil instalado y actualiza sin preguntar perfil.
@@ -1,86 +1,86 @@
1
- ---
2
- name: swl:instintos
3
- description: Gestiona instintos YAML del sistema de aprendizaje continuo
4
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
- ---
6
-
7
- # /swl:instintos
8
-
9
- Gestiona los instintos del sistema de aprendizaje continuo SWL.
10
-
11
- ## Uso
12
-
13
- ```
14
- /swl:instintos — Lista instintos activos ordenados por confianza
15
- /swl:instintos list — Lista todos los instintos con su estado
16
- /swl:instintos add "patrón" — Agrega un instinto manual con confidence 0.5
17
- /swl:instintos promote [id] — Promueve un instinto (confidence > 0.8) a skill
18
- /swl:instintos merge [id1] [id2] — Fusiona instintos relacionados
19
- /swl:instintos degrade [id] — Degrada manualmente un instinto
20
- /swl:instintos stats — Muestra estadísticas del sistema de instintos
21
- ```
22
-
23
- ## Comportamiento
24
-
25
- ### list
26
-
27
- 1. Leer `instintos/proyecto.yaml` y `instintos/global.yaml`
28
- 2. Mostrar tabla ordenada por confidence descendente:
29
-
30
- ```
31
- | ID | Patrón | Conf. | Scope | Evidencias | Estado |
32
- |----------|-------------------------|-------|---------|------------|----------|
33
- | inst-001 | conventional commits | 0.90 | project | 12 | active |
34
- ```
35
-
36
- ### add "patrón"
37
-
38
- 1. Generar siguiente ID secuencial
39
- 2. Crear instinto con confidence 0.5, scope project, status active
40
- 3. Escribir en `instintos/proyecto.yaml`
41
- 4. Incrementar `total_instintos` en el archivo
42
-
43
- ### promote [id]
44
-
45
- 1. Verificar que confidence > 0.8
46
- 2. Generar estructura de skill en `habilidades/` basada en el patrón
47
- 3. Cambiar status a "promoted"
48
- 4. Registrar en manifiestos
49
-
50
- ### merge [id1] [id2]
51
-
52
- 1. Combinar evidence_count
53
- 2. Promediar confidence
54
- 3. Archivar el instinto con menos evidencia (status: archived)
55
- 4. Actualizar el sobreviviente con el evidence_count combinado
56
-
57
- ### degrade [id]
58
-
59
- 1. Incrementar `contradictions` en 1
60
- 2. Reducir confidence en 0.1
61
- 3. Si confidence < 0.3: cambiar status a "degraded"
62
- 4. Escribir cambios en el archivo YAML correspondiente
63
-
64
- ### stats
65
-
66
- Mostrar:
67
- - Total de instintos por scope
68
- - Promedio de confidence
69
- - Instintos más fuertes (top 5 por confidence)
70
- - Instintos en riesgo de degradación (confidence < 0.4)
71
- - Instintos promovidos a skills
72
-
73
- ## Integración
74
-
75
- - `extraccion-aprendizajes.js` crea instintos automáticamente al finalizar sesiones
76
- - `degradacion-instintos.js` reduce confidence cuando se contradicen patrones
77
- - `/swl:evolucionar` analiza instintos para proponer mejoras al sistema
78
- - `/swl:aprender` puede generar instintos nuevos como resultado del análisis
79
-
80
- ## Archivos
81
-
82
- | Archivo | Descripción |
83
- |---------|-------------|
84
- | `instintos/proyecto.yaml` | Instintos de scope project y domain |
85
- | `instintos/global.yaml` | Instintos promovidos a scope global (confidence > 0.8) |
86
- | `schemas/instinct.schema.json` | Schema JSON para validación de estructura |
1
+ ---
2
+ name: swl:instintos
3
+ description: Gestiona instintos YAML del sistema de aprendizaje continuo
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
+ ---
6
+
7
+ # /swl:instintos
8
+
9
+ Gestiona los instintos del sistema de aprendizaje continuo SWL.
10
+
11
+ ## Uso
12
+
13
+ ```
14
+ /swl:instintos — Lista instintos activos ordenados por confianza
15
+ /swl:instintos list — Lista todos los instintos con su estado
16
+ /swl:instintos add "patrón" — Agrega un instinto manual con confidence 0.5
17
+ /swl:instintos promote [id] — Promueve un instinto (confidence > 0.8) a skill
18
+ /swl:instintos merge [id1] [id2] — Fusiona instintos relacionados
19
+ /swl:instintos degrade [id] — Degrada manualmente un instinto
20
+ /swl:instintos stats — Muestra estadísticas del sistema de instintos
21
+ ```
22
+
23
+ ## Comportamiento
24
+
25
+ ### list
26
+
27
+ 1. Leer `instintos/proyecto.yaml` y `instintos/global.yaml`
28
+ 2. Mostrar tabla ordenada por confidence descendente:
29
+
30
+ ```
31
+ | ID | Patrón | Conf. | Scope | Evidencias | Estado |
32
+ |----------|-------------------------|-------|---------|------------|----------|
33
+ | inst-001 | conventional commits | 0.90 | project | 12 | active |
34
+ ```
35
+
36
+ ### add "patrón"
37
+
38
+ 1. Generar siguiente ID secuencial
39
+ 2. Crear instinto con confidence 0.5, scope project, status active
40
+ 3. Escribir en `instintos/proyecto.yaml`
41
+ 4. Incrementar `total_instintos` en el archivo
42
+
43
+ ### promote [id]
44
+
45
+ 1. Verificar que confidence > 0.8
46
+ 2. Generar estructura de skill en `habilidades/` basada en el patrón
47
+ 3. Cambiar status a "promoted"
48
+ 4. Registrar en manifiestos
49
+
50
+ ### merge [id1] [id2]
51
+
52
+ 1. Combinar evidence_count
53
+ 2. Promediar confidence
54
+ 3. Archivar el instinto con menos evidencia (status: archived)
55
+ 4. Actualizar el sobreviviente con el evidence_count combinado
56
+
57
+ ### degrade [id]
58
+
59
+ 1. Incrementar `contradictions` en 1
60
+ 2. Reducir confidence en 0.1
61
+ 3. Si confidence < 0.3: cambiar status a "degraded"
62
+ 4. Escribir cambios en el archivo YAML correspondiente
63
+
64
+ ### stats
65
+
66
+ Mostrar:
67
+ - Total de instintos por scope
68
+ - Promedio de confidence
69
+ - Instintos más fuertes (top 5 por confidence)
70
+ - Instintos en riesgo de degradación (confidence < 0.4)
71
+ - Instintos promovidos a skills
72
+
73
+ ## Integración
74
+
75
+ - `extraccion-aprendizajes.js` crea instintos automáticamente al finalizar sesiones
76
+ - `degradacion-instintos.js` reduce confidence cuando se contradicen patrones
77
+ - `/swl:evolucionar` analiza instintos para proponer mejoras al sistema
78
+ - `/swl:aprender` puede generar instintos nuevos como resultado del análisis
79
+
80
+ ## Archivos
81
+
82
+ | Archivo | Descripción |
83
+ |---------|-------------|
84
+ | `instintos/proyecto.yaml` | Instintos de scope project y domain |
85
+ | `instintos/global.yaml` | Instintos promovidos a scope global (confidence > 0.8) |
86
+ | `schemas/instinct.schema.json` | Schema JSON para validación de estructura |