@saulwade/swl-ses 2.5.2 → 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 (183) hide show
  1. package/CLAUDE.md +194 -192
  2. package/README.md +600 -600
  3. package/agentes/auto-evolucion-swl.md +27 -3
  4. package/bin/swl-ses.js +32 -6
  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 +314 -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/release-semver/SKILL.md +4 -2
  72. package/habilidades/swl-claudemd/SKILL.md +6 -7
  73. package/habilidades/swl-dashboard/SKILL.md +11 -43
  74. package/habilidades/tdd-workflow/SKILL.md +749 -744
  75. package/habilidades/validacion-ci-sistema/SKILL.md +1 -1
  76. package/hooks/agente-lifecycle.js +2 -1
  77. package/hooks/aiisms-detector.js +13 -4
  78. package/hooks/audit-trail.js +2 -1
  79. package/hooks/auto-consolidacion.js +2 -1
  80. package/hooks/captura-acciones-post.js +2 -1
  81. package/hooks/captura-acciones-session.js +2 -1
  82. package/hooks/captura-feedback-usuario.js +3 -2
  83. package/hooks/claudemd-bloat-detector.js +12 -3
  84. package/hooks/claudemd-duplicacion-detector.js +13 -3
  85. package/hooks/contexto-iteracion.js +2 -1
  86. package/hooks/degradacion-instintos.js +2 -1
  87. package/hooks/extraccion-aprendizajes.js +109 -15
  88. package/hooks/grafo-contexto.js +2 -1
  89. package/hooks/guardrail-modelo.js +2 -1
  90. package/hooks/inbox-aviso.js +2 -1
  91. package/hooks/inyeccion-contexto.js +2 -1
  92. package/hooks/lib/agent-matcher.js +2 -1
  93. package/hooks/lib/agent-routing.js +2 -1
  94. package/hooks/lib/autonomia.js +5 -3
  95. package/hooks/lib/captura-acciones.js +2 -1
  96. package/hooks/lib/consolidation-lock.js +21 -10
  97. package/hooks/lib/etapa-auto-evolucion.js +10 -4
  98. package/hooks/lib/etapa-metricas.js +2 -1
  99. package/hooks/lib/etapa-perfil-usuario.js +20 -4
  100. package/hooks/lib/evolution-tracker.js +2 -1
  101. package/hooks/lib/gateway-notify.js +193 -179
  102. package/hooks/lib/loop-telemetry.js +5 -4
  103. package/hooks/lib/mcp-health.js +2 -1
  104. package/hooks/lib/memory-search.js +4 -0
  105. package/hooks/lib/merkle-audit.js +58 -6
  106. package/hooks/lib/nudge-tracker.js +2 -1
  107. package/hooks/lib/otlp-exporter.js +2 -1
  108. package/hooks/lib/propose-step.js +3 -2
  109. package/hooks/lib/raiz-proyecto.js +102 -0
  110. package/hooks/lib/run-log.js +2 -1
  111. package/hooks/lib/singleton-guard.js +218 -27
  112. package/hooks/lib/telegram-cliente.js +17 -8
  113. package/hooks/preservar-estado-pre-compact.js +2 -1
  114. package/hooks/proteccion-rutas.js +59 -3
  115. package/hooks/registro-turnos.js +2 -1
  116. package/hooks/resumen-sesion.js +2 -1
  117. package/hooks/risk-scoring.js +2 -1
  118. package/hooks/rotar-audit-auto.js +46 -20
  119. package/hooks/session-briefing.js +127 -1
  120. package/hooks/spec-gate.js +2 -1
  121. package/hooks/sugerir-contribuir.js +6 -3
  122. package/hooks/sugerir-regenerar-inventario.js +3 -2
  123. package/hooks/tdd-gate.js +2 -1
  124. package/hooks/telemetria-agentes.js +2 -1
  125. package/hooks/telemetria-skill-routing.js +2 -1
  126. package/hooks/tracking-costos.js +4 -3
  127. package/hooks/validar-formato-post-subagente.js +2 -1
  128. package/hooks/validar-intent-spec.js +2 -1
  129. package/hooks/validar-memoria-hook.js +13 -3
  130. package/hooks/validar-planning-paths.js +2 -1
  131. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +53 -0
  132. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +372 -0
  133. package/instintos/perfil-usuario.yaml +506 -3
  134. package/instintos/proyecto.yaml +78 -0
  135. package/llms.txt +2 -2
  136. package/manifiestos/canonical-hashes.json +664 -2
  137. package/manifiestos/modulos.json +19 -14
  138. package/manifiestos/planning-paths.json +1 -0
  139. package/manifiestos/skills-lock.json +53 -53
  140. package/package.json +2 -3
  141. package/plugin.json +2 -2
  142. package/scripts/actualizar.js +3 -0
  143. package/scripts/auditar-clases-conocidas.js +32 -4
  144. package/scripts/benchmark-memoria.js +1 -0
  145. package/scripts/cli/autonomia.js +23 -0
  146. package/scripts/cli/benchmark-memoria.js +37 -0
  147. package/scripts/cli/ciclo-autonomo.js +73 -0
  148. package/scripts/cli/ciclo-fase-b.js +102 -0
  149. package/scripts/cli/guardrail-metrics.js +39 -0
  150. package/scripts/cli/loop-telemetry.js +4 -2
  151. package/scripts/cli/memoria-search.js +69 -0
  152. package/scripts/cli/nudge-accionar.js +39 -0
  153. package/scripts/cli/run-eval.js +38 -0
  154. package/scripts/cli/run-skill-evals.js +13 -2
  155. package/scripts/derivar-feature-list.js +15 -14
  156. package/scripts/desinstalar.js +11 -0
  157. package/scripts/doctor.js +24 -10
  158. package/scripts/instalador.js +106 -7
  159. package/scripts/lib/activar-hooks-proyecto.js +116 -0
  160. package/scripts/lib/auditar-invocaciones-comandos.js +96 -6
  161. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -0
  162. package/scripts/lib/ciclo-autonomo/config.js +165 -0
  163. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -0
  164. package/scripts/lib/ciclo-autonomo/fallback.js +77 -0
  165. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -0
  166. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -0
  167. package/scripts/lib/ciclo-autonomo/index.js +301 -0
  168. package/scripts/lib/ciclo-autonomo/lock.js +124 -0
  169. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -0
  170. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -0
  171. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -0
  172. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -0
  173. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +535 -0
  174. package/scripts/lib/estado.js +9 -0
  175. package/scripts/lib/evidencia-valor.js +1 -1
  176. package/scripts/lib/gitignore-manifest.js +8 -1
  177. package/scripts/lib/hooks-settings.js +45 -0
  178. package/scripts/rotar-audit-logs.js +48 -2
  179. package/scripts/run-eval.js +1 -0
  180. package/scripts/run-skill-evals.js +287 -8
  181. package/scripts/smoke-test.js +16 -8
  182. package/scripts/tui/pantallas/install-wizard.js +403 -347
  183. package/scripts/validar.js +40 -1
@@ -1,310 +1,310 @@
1
- ---
2
- name: swl:compactar
3
- description: Anti-context-rot. Guarda el estado completo del trabajo actual, genera un resumen denso de todo lo hecho y prepara el contexto para una sesión fresca. Úsalo cuando el contexto de la conversación se vuelve largo o cuando hay pérdida de coherencia.
4
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
- ---
6
-
7
- # /swl:compactar — Gestión de contexto y anti-rot
8
-
9
- Eres el gestor de continuidad del proyecto SWL. El "context rot" (degradación del contexto) ocurre cuando la conversación se vuelve tan larga que el modelo pierde precisión, repite errores ya resueltos o pierde el hilo del trabajo. Tu trabajo es prevenir ese deterioro.
10
-
11
- Este comando es diferente de `/swl:checkpoint`: mientras checkpoint guarda estado para reanudar *después*, compactar prepara el contexto para continuar *en la misma sesión o en la siguiente*, generando un briefing denso que permite un arranque de contexto fresco sin pérdida de información.
12
-
13
- ## Señales de que necesitas este comando
14
-
15
- - La conversación tiene más de 30 intercambios
16
- - El modelo empieza a olvidar decisiones tomadas antes en la sesión
17
- - Hay inconsistencias entre lo que se dijo al inicio y lo que se está haciendo
18
- - El usuario dice "creía que habíamos decidido que..." y hay discrepancia
19
- - Estás a punto de empezar una tarea larga y quieres contexto limpio
20
-
21
- ## Paso 0 — Carga de habilidades
22
-
23
- ```
24
- Skill("compactacion-contexto")
25
- ```
26
-
27
- Si no existe, busca alternativas en `~/.claude/skills/` (skills oficiales de Anthropic) o procede sin skill auxiliar — el algoritmo de 5 fases es zero-deps. Documenta lo que cargaste o que procediste sin skill.
28
-
29
- ## Paso 1 — Auditoría del contexto activo
30
-
31
- Antes de compactar, audita el estado del trabajo haciendo una lectura rápida:
32
-
33
- ### Archivos de planeación
34
- Lee en orden:
35
- 1. `.planning/PROYECTO.md`
36
- 2. `.planning/HOJA-RUTA.md`
37
- 3. `.planning/ESTADO.md` (si existe)
38
- 4. `.planning/continue-here.md` (si existe)
39
- 5. El PLAN.md de la fase activa
40
- 6. El RESUMEN.md de la fase activa (si existe)
41
- 7. El CONTEXTO.md de la fase activa
42
-
43
- ### Estado de Git
44
- ```bash
45
- git log --oneline -30
46
- git status
47
- git stash list
48
- ```
49
-
50
- ### Código reciente
51
- Identifica los 5 archivos de código más recientemente modificados:
52
- ```bash
53
- git log --name-only --pretty=format: -10 | grep -v '^$' | sort -u | head -20
54
- ```
55
-
56
- Lee brevemente esos archivos para entender el estado actual del código.
57
-
58
- ## Paso 2 — Construcción del mapa de decisiones
59
-
60
- Reconstruye el árbol de decisiones importantes de la sesión. Busca en los archivos de planeación y en la conversación activa:
61
-
62
- ### Decisiones de arquitectura
63
- - ¿Qué patrón arquitectónico se eligió y por qué?
64
- - ¿Qué alternativas se descartaron?
65
-
66
- ### Decisiones de implementación
67
- - ¿Qué librerías/versiones se eligieron?
68
- - ¿Qué workarounds se aplicaron y por qué?
69
- - ¿Qué cambios respecto al plan original se hicieron?
70
-
71
- ### Decisiones de producto
72
- - ¿Qué funcionalidades se incluyeron o excluyeron?
73
- - ¿Qué prioridades cambiaron durante la ejecución?
74
-
75
- ### Convenciones establecidas
76
- - Convenciones de nomenclatura de archivos
77
- - Estructura de módulos
78
- - Patrones de código adoptados en este proyecto
79
-
80
- ## Paso 3 — Inventario de trabajo completado
81
-
82
- Genera una lista completa y precisa de todo lo que se hizo:
83
-
84
- ### Por fase y slice
85
- Para cada fase ejecutada, lista:
86
- - Nombre y descripción de la fase
87
- - Slices completados con descripción de 1 línea
88
- - Commits creados (hash corto + mensaje)
89
- - Archivos creados (nuevos, no existentes antes del proyecto)
90
- - Archivos modificados (existían y se cambiaron)
91
-
92
- ### Por área funcional
93
- Agrupa el trabajo por área:
94
- - Modelos de datos: qué tablas/colecciones se crearon
95
- - Endpoints/servicios: qué funcionalidad se expuso
96
- - Frontend: qué vistas/componentes se crearon
97
- - Infraestructura: qué configuración se estableció
98
- - Tests: qué cobertura existe
99
-
100
- ## Paso 4 — Inventario de trabajo pendiente
101
-
102
- ### Pendiente en la fase actual
103
- Si hay un plan con tareas sin completar, lista exactamente:
104
- - Slice actual: última tarea completada y siguiente tarea
105
- - Slices restantes: lista con nombre y descripción breve
106
-
107
- ### Pendiente en el proyecto
108
- Todas las fases con estado "Pendiente" del HOJA-RUTA.md.
109
-
110
- ### Deuda técnica registrada
111
- De los RESUMEN.md y VERIFICACION.md: lista de items de deuda con su severidad.
112
-
113
- ### Decisiones pendientes
114
- De los archivos de contexto y plan: todo lo marcado como "[POR DEFINIR]", "[REQUIERE DECISIÓN]", o "[PENDIENTE DE ACLARAR]".
115
-
116
- ## Paso 5 — Generación del COMPACTACION.md
117
-
118
- Crea `.planning/COMPACTACION.md` — el briefing de contexto denso:
119
-
120
- ```markdown
121
- # Contexto compactado — [nombre del proyecto]
122
-
123
- **Compactado**: [fecha y hora]
124
- **Versión**: [número incremental — llevar contador]
125
- **Estado del proyecto**: [En progreso | Fase N de M completada]
126
-
127
- ---
128
-
129
- ## TL;DR — Para leer en 60 segundos
130
-
131
- **Proyecto**: [nombre] — [descripción de 1 oración]
132
- **Stack**: [tecnologías principales en una línea]
133
- **Posición actual**: Fase N — [nombre] — [estado]
134
- **Próximo comando**: `[comando exacto]`
135
- **Bloqueantes activos**: [N — listar si hay, o "ninguno"]
136
-
137
- ---
138
-
139
- ## Mapa de decisiones críticas
140
-
141
- ### No repetir estas discusiones — ya están resueltas
142
-
143
- | Decisión | Resolución | Razón |
144
- |----------|-----------|-------|
145
- | [tema] | [qué se decidió] | [por qué] |
146
- | [tema] | [qué se decidió] | [por qué] |
147
-
148
- ### Convenciones de código en este proyecto
149
-
150
- [lista de convenciones adoptadas — nombrado, estructura, patrones]
151
-
152
- ### Restricciones conocidas
153
-
154
- [lista de cosas que NO se pueden hacer en este proyecto y por qué]
155
-
156
- ---
157
-
158
- ## Trabajo completado
159
-
160
- ### Fase 1 — [nombre] — COMPLETADA
161
- - [descripción de 2-3 oraciones de qué se hizo]
162
- - Archivos clave: [lista de 3-5 archivos más importantes]
163
- - Tests: [N tests, cobertura si conocida]
164
-
165
- [... por cada fase completada ...]
166
-
167
- ### Fase N — [nombre] — EN PROGRESO
168
- **Completado**:
169
- - [slice 1]: [descripción]
170
- - [slice 2]: [descripción]
171
-
172
- **Pendiente**:
173
- - [slice 3]: [descripción] — PRÓXIMO
174
- - [slice 4]: [descripción]
175
-
176
- ---
177
-
178
- ## Estado técnico actual
179
-
180
- ### Arquitectura implementada hasta ahora
181
- [descripción breve pero completa de la arquitectura real — no la planificada, la real]
182
-
183
- ### Modelos de datos existentes
184
- [lista de tablas/colecciones/modelos con sus campos principales]
185
-
186
- ### Endpoints existentes
187
- [lista de endpoints implementados con método y ruta]
188
-
189
- ### Componentes frontend existentes
190
- [lista de componentes/vistas implementadas]
191
-
192
- ---
193
-
194
- ## Trabajo pendiente
195
-
196
- ### Inmediato (esta sesión o la siguiente)
197
- [lista ordenada por prioridad]
198
-
199
- ### Corto plazo (próximas fases)
200
- [fases pendientes del roadmap]
201
-
202
- ### Deuda técnica registrada
203
- [lista con severidad]
204
-
205
- ---
206
-
207
- ## Decisiones pendientes que requieren respuesta humana
208
-
209
- [lista numerada — las que bloquean el trabajo van primero]
210
-
211
- 1. **[BLOQUEANTE]** [pregunta]
212
- 2. **[NO BLOQUEANTE]** [pregunta]
213
-
214
- ---
215
-
216
- ## Contexto de la última sesión de trabajo
217
-
218
- [narrativa de 3-5 oraciones describiendo qué se hizo en la sesión actual, qué problemas se encontraron, qué decisiones se tomaron, y dónde se paró]
219
-
220
- ---
221
-
222
- ## Cómo usar este documento al arrancar sesión nueva
223
-
224
- 1. Lee la sección TL;DR primero.
225
- 2. Lee "Mapa de decisiones críticas" para no repetir discusiones.
226
- 3. Ejecuta `[comando de continuación]`.
227
- 4. Carga las habilidades relevantes según el stack.
228
- 5. Lee el PLAN.md de la fase activa si vas a ejecutar.
229
- ```
230
-
231
- ## Paso 6 — Actualización del ESTADO.md
232
-
233
- Actualiza `.planning/ESTADO.md` con referencia al COMPACTACION.md:
234
-
235
- Agrega al inicio del ESTADO.md:
236
- ```markdown
237
- > Contexto compactado disponible: `.planning/COMPACTACION.md` — [fecha]
238
- > Para contexto completo, lee COMPACTACION.md antes de ESTADO.md.
239
- ```
240
-
241
- ## Paso 7 — Preparación del contexto fresco
242
-
243
- Genera una instrucción de arranque para la próxima sesión. Esta instrucción es lo que el usuario puede copiar y pegar al inicio de una conversación nueva:
244
-
245
- ```
246
- Para retomar el trabajo en [nombre del proyecto]:
247
-
248
- 1. El proyecto está en [directorio absoluto]
249
- 2. Lee .planning/COMPACTACION.md para el contexto completo
250
- 3. El próximo comando es: [comando exacto]
251
- 4. Hay [N] decisiones pendientes en el COMPACTACION.md sección "Decisiones pendientes"
252
-
253
- Copia y pega este mensaje al inicio de la nueva sesión.
254
- ```
255
-
256
- ## Paso 8 — Reporte al usuario
257
-
258
- ```
259
- Contexto compactado.
260
-
261
- Resumen de la compactación:
262
- - Decisiones críticas documentadas: [N]
263
- - Trabajo completado capturado: [N slices en M fases]
264
- - Trabajo pendiente mapeado: [N slices en K fases]
265
- - Deuda técnica registrada: [N items]
266
- - Decisiones pendientes: [N (M bloqueantes)]
267
-
268
- Archivos actualizados:
269
- - .planning/COMPACTACION.md (creado/actualizado)
270
- - .planning/ESTADO.md (referencia agregada)
271
-
272
- El estado está a salvo en disco. IMPORTANTE: este comando NO compacta la
273
- ventana de contexto — eso es una operación del harness que el agente no
274
- puede ejecutar. Para compactar de verdad, AHORA ejecuta TÚ una de estas:
275
-
276
- /compact ← built-in de Claude Code: trunca la ventana usando
277
- el estado ya persistido (recomendado para seguir
278
- en la misma sesión)
279
- /clear o sesión nueva ← arranque limpio; pega la instrucción de arranque
280
- del Paso 7
281
-
282
- Próximo comando de trabajo (tras compactar): [comando exacto]
283
- ```
284
-
285
- ## Paso 9 — Por qué este comando NO compacta la ventana (límite del harness)
286
-
287
- La compactación REAL del contexto (truncar la conversación) es una operación
288
- exclusiva del harness de Claude Code: el `/compact` built-in o el auto-compact.
289
- Un comando `/swl:*` corre DENTRO de la conversación y el modelo no tiene
290
- ninguna herramienta para truncar su propia ventana — por diseño.
291
-
292
- División de responsabilidades:
293
-
294
- | Mitad | Quién | Qué hace |
295
- |-------|-------|----------|
296
- | `/swl:compactar` | el agente | Persiste el estado a disco (COMPACTACION.md + ESTADO.md) para que NADA se pierda al truncar |
297
- | `/compact` | el usuario (harness) | Trunca la ventana de verdad. Sin la mitad anterior, perdería las decisiones no escritas |
298
-
299
- El error a prevenir: ejecutar `/compact` SIN haber corrido `/swl:compactar`
300
- antes (estado solo en la memoria de la conversación → se pierde). El orden
301
- correcto siempre es: `/swl:compactar` → `/compact`.
302
-
303
- ## Reglas de comportamiento
304
-
305
- - El COMPACTACION.md debe reemplazar la necesidad de releer toda la conversación. Si alguien lo lee, debe poder continuar el trabajo.
306
- - NUNCA comprimas o elimines información importante. La densidad viene de estructura, no de omisión.
307
- - Las decisiones en el "Mapa de decisiones críticas" son sagradas — si están ahí, no se vuelven a discutir.
308
- - Lleva un número de versión incremental en el COMPACTACION.md. Cada compactación es una nueva versión.
309
- - Si hay un COMPACTACION.md previo, léelo antes de crear el nuevo — puede tener decisiones que no están en otros archivos.
310
- - El documento debe poder leerse en menos de 5 minutos. Si es más largo, has incluido demasiado detalle.
1
+ ---
2
+ name: swl:compactar
3
+ description: Anti-context-rot. Guarda el estado completo del trabajo actual, genera un resumen denso de todo lo hecho y prepara el contexto para una sesión fresca. Úsalo cuando el contexto de la conversación se vuelve largo o cuando hay pérdida de coherencia.
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
+ ---
6
+
7
+ # /swl:compactar — Gestión de contexto y anti-rot
8
+
9
+ Eres el gestor de continuidad del proyecto SWL. El "context rot" (degradación del contexto) ocurre cuando la conversación se vuelve tan larga que el modelo pierde precisión, repite errores ya resueltos o pierde el hilo del trabajo. Tu trabajo es prevenir ese deterioro.
10
+
11
+ Este comando es diferente de `/swl:checkpoint`: mientras checkpoint guarda estado para reanudar *después*, compactar prepara el contexto para continuar *en la misma sesión o en la siguiente*, generando un briefing denso que permite un arranque de contexto fresco sin pérdida de información.
12
+
13
+ ## Señales de que necesitas este comando
14
+
15
+ - La conversación tiene más de 30 intercambios
16
+ - El modelo empieza a olvidar decisiones tomadas antes en la sesión
17
+ - Hay inconsistencias entre lo que se dijo al inicio y lo que se está haciendo
18
+ - El usuario dice "creía que habíamos decidido que..." y hay discrepancia
19
+ - Estás a punto de empezar una tarea larga y quieres contexto limpio
20
+
21
+ ## Paso 0 — Carga de habilidades
22
+
23
+ ```
24
+ Skill("compactacion-contexto")
25
+ ```
26
+
27
+ Si no existe, busca alternativas en `~/.claude/skills/` (skills oficiales de Anthropic) o procede sin skill auxiliar — el algoritmo de 5 fases es zero-deps. Documenta lo que cargaste o que procediste sin skill.
28
+
29
+ ## Paso 1 — Auditoría del contexto activo
30
+
31
+ Antes de compactar, audita el estado del trabajo haciendo una lectura rápida:
32
+
33
+ ### Archivos de planeación
34
+ Lee en orden:
35
+ 1. `.planning/PROYECTO.md`
36
+ 2. `.planning/HOJA-RUTA.md`
37
+ 3. `.planning/ESTADO.md` (si existe)
38
+ 4. `.planning/continue-here.md` (si existe)
39
+ 5. El PLAN.md de la fase activa
40
+ 6. El RESUMEN.md de la fase activa (si existe)
41
+ 7. El CONTEXTO.md de la fase activa
42
+
43
+ ### Estado de Git
44
+ ```bash
45
+ git log --oneline -30
46
+ git status
47
+ git stash list
48
+ ```
49
+
50
+ ### Código reciente
51
+ Identifica los 5 archivos de código más recientemente modificados:
52
+ ```bash
53
+ git log --name-only --pretty=format: -10 | grep -v '^$' | sort -u | head -20
54
+ ```
55
+
56
+ Lee brevemente esos archivos para entender el estado actual del código.
57
+
58
+ ## Paso 2 — Construcción del mapa de decisiones
59
+
60
+ Reconstruye el árbol de decisiones importantes de la sesión. Busca en los archivos de planeación y en la conversación activa:
61
+
62
+ ### Decisiones de arquitectura
63
+ - ¿Qué patrón arquitectónico se eligió y por qué?
64
+ - ¿Qué alternativas se descartaron?
65
+
66
+ ### Decisiones de implementación
67
+ - ¿Qué librerías/versiones se eligieron?
68
+ - ¿Qué workarounds se aplicaron y por qué?
69
+ - ¿Qué cambios respecto al plan original se hicieron?
70
+
71
+ ### Decisiones de producto
72
+ - ¿Qué funcionalidades se incluyeron o excluyeron?
73
+ - ¿Qué prioridades cambiaron durante la ejecución?
74
+
75
+ ### Convenciones establecidas
76
+ - Convenciones de nomenclatura de archivos
77
+ - Estructura de módulos
78
+ - Patrones de código adoptados en este proyecto
79
+
80
+ ## Paso 3 — Inventario de trabajo completado
81
+
82
+ Genera una lista completa y precisa de todo lo que se hizo:
83
+
84
+ ### Por fase y slice
85
+ Para cada fase ejecutada, lista:
86
+ - Nombre y descripción de la fase
87
+ - Slices completados con descripción de 1 línea
88
+ - Commits creados (hash corto + mensaje)
89
+ - Archivos creados (nuevos, no existentes antes del proyecto)
90
+ - Archivos modificados (existían y se cambiaron)
91
+
92
+ ### Por área funcional
93
+ Agrupa el trabajo por área:
94
+ - Modelos de datos: qué tablas/colecciones se crearon
95
+ - Endpoints/servicios: qué funcionalidad se expuso
96
+ - Frontend: qué vistas/componentes se crearon
97
+ - Infraestructura: qué configuración se estableció
98
+ - Tests: qué cobertura existe
99
+
100
+ ## Paso 4 — Inventario de trabajo pendiente
101
+
102
+ ### Pendiente en la fase actual
103
+ Si hay un plan con tareas sin completar, lista exactamente:
104
+ - Slice actual: última tarea completada y siguiente tarea
105
+ - Slices restantes: lista con nombre y descripción breve
106
+
107
+ ### Pendiente en el proyecto
108
+ Todas las fases con estado "Pendiente" del HOJA-RUTA.md.
109
+
110
+ ### Deuda técnica registrada
111
+ De los RESUMEN.md y VERIFICACION.md: lista de items de deuda con su severidad.
112
+
113
+ ### Decisiones pendientes
114
+ De los archivos de contexto y plan: todo lo marcado como "[POR DEFINIR]", "[REQUIERE DECISIÓN]", o "[PENDIENTE DE ACLARAR]".
115
+
116
+ ## Paso 5 — Generación del COMPACTACION.md
117
+
118
+ Crea `.planning/COMPACTACION.md` — el briefing de contexto denso:
119
+
120
+ ```markdown
121
+ # Contexto compactado — [nombre del proyecto]
122
+
123
+ **Compactado**: [fecha y hora]
124
+ **Versión**: [número incremental — llevar contador]
125
+ **Estado del proyecto**: [En progreso | Fase N de M completada]
126
+
127
+ ---
128
+
129
+ ## TL;DR — Para leer en 60 segundos
130
+
131
+ **Proyecto**: [nombre] — [descripción de 1 oración]
132
+ **Stack**: [tecnologías principales en una línea]
133
+ **Posición actual**: Fase N — [nombre] — [estado]
134
+ **Próximo comando**: `[comando exacto]`
135
+ **Bloqueantes activos**: [N — listar si hay, o "ninguno"]
136
+
137
+ ---
138
+
139
+ ## Mapa de decisiones críticas
140
+
141
+ ### No repetir estas discusiones — ya están resueltas
142
+
143
+ | Decisión | Resolución | Razón |
144
+ |----------|-----------|-------|
145
+ | [tema] | [qué se decidió] | [por qué] |
146
+ | [tema] | [qué se decidió] | [por qué] |
147
+
148
+ ### Convenciones de código en este proyecto
149
+
150
+ [lista de convenciones adoptadas — nombrado, estructura, patrones]
151
+
152
+ ### Restricciones conocidas
153
+
154
+ [lista de cosas que NO se pueden hacer en este proyecto y por qué]
155
+
156
+ ---
157
+
158
+ ## Trabajo completado
159
+
160
+ ### Fase 1 — [nombre] — COMPLETADA
161
+ - [descripción de 2-3 oraciones de qué se hizo]
162
+ - Archivos clave: [lista de 3-5 archivos más importantes]
163
+ - Tests: [N tests, cobertura si conocida]
164
+
165
+ [... por cada fase completada ...]
166
+
167
+ ### Fase N — [nombre] — EN PROGRESO
168
+ **Completado**:
169
+ - [slice 1]: [descripción]
170
+ - [slice 2]: [descripción]
171
+
172
+ **Pendiente**:
173
+ - [slice 3]: [descripción] — PRÓXIMO
174
+ - [slice 4]: [descripción]
175
+
176
+ ---
177
+
178
+ ## Estado técnico actual
179
+
180
+ ### Arquitectura implementada hasta ahora
181
+ [descripción breve pero completa de la arquitectura real — no la planificada, la real]
182
+
183
+ ### Modelos de datos existentes
184
+ [lista de tablas/colecciones/modelos con sus campos principales]
185
+
186
+ ### Endpoints existentes
187
+ [lista de endpoints implementados con método y ruta]
188
+
189
+ ### Componentes frontend existentes
190
+ [lista de componentes/vistas implementadas]
191
+
192
+ ---
193
+
194
+ ## Trabajo pendiente
195
+
196
+ ### Inmediato (esta sesión o la siguiente)
197
+ [lista ordenada por prioridad]
198
+
199
+ ### Corto plazo (próximas fases)
200
+ [fases pendientes del roadmap]
201
+
202
+ ### Deuda técnica registrada
203
+ [lista con severidad]
204
+
205
+ ---
206
+
207
+ ## Decisiones pendientes que requieren respuesta humana
208
+
209
+ [lista numerada — las que bloquean el trabajo van primero]
210
+
211
+ 1. **[BLOQUEANTE]** [pregunta]
212
+ 2. **[NO BLOQUEANTE]** [pregunta]
213
+
214
+ ---
215
+
216
+ ## Contexto de la última sesión de trabajo
217
+
218
+ [narrativa de 3-5 oraciones describiendo qué se hizo en la sesión actual, qué problemas se encontraron, qué decisiones se tomaron, y dónde se paró]
219
+
220
+ ---
221
+
222
+ ## Cómo usar este documento al arrancar sesión nueva
223
+
224
+ 1. Lee la sección TL;DR primero.
225
+ 2. Lee "Mapa de decisiones críticas" para no repetir discusiones.
226
+ 3. Ejecuta `[comando de continuación]`.
227
+ 4. Carga las habilidades relevantes según el stack.
228
+ 5. Lee el PLAN.md de la fase activa si vas a ejecutar.
229
+ ```
230
+
231
+ ## Paso 6 — Actualización del ESTADO.md
232
+
233
+ Actualiza `.planning/ESTADO.md` con referencia al COMPACTACION.md:
234
+
235
+ Agrega al inicio del ESTADO.md:
236
+ ```markdown
237
+ > Contexto compactado disponible: `.planning/COMPACTACION.md` — [fecha]
238
+ > Para contexto completo, lee COMPACTACION.md antes de ESTADO.md.
239
+ ```
240
+
241
+ ## Paso 7 — Preparación del contexto fresco
242
+
243
+ Genera una instrucción de arranque para la próxima sesión. Esta instrucción es lo que el usuario puede copiar y pegar al inicio de una conversación nueva:
244
+
245
+ ```
246
+ Para retomar el trabajo en [nombre del proyecto]:
247
+
248
+ 1. El proyecto está en [directorio absoluto]
249
+ 2. Lee .planning/COMPACTACION.md para el contexto completo
250
+ 3. El próximo comando es: [comando exacto]
251
+ 4. Hay [N] decisiones pendientes en el COMPACTACION.md sección "Decisiones pendientes"
252
+
253
+ Copia y pega este mensaje al inicio de la nueva sesión.
254
+ ```
255
+
256
+ ## Paso 8 — Reporte al usuario
257
+
258
+ ```
259
+ Contexto compactado.
260
+
261
+ Resumen de la compactación:
262
+ - Decisiones críticas documentadas: [N]
263
+ - Trabajo completado capturado: [N slices en M fases]
264
+ - Trabajo pendiente mapeado: [N slices en K fases]
265
+ - Deuda técnica registrada: [N items]
266
+ - Decisiones pendientes: [N (M bloqueantes)]
267
+
268
+ Archivos actualizados:
269
+ - .planning/COMPACTACION.md (creado/actualizado)
270
+ - .planning/ESTADO.md (referencia agregada)
271
+
272
+ El estado está a salvo en disco. IMPORTANTE: este comando NO compacta la
273
+ ventana de contexto — eso es una operación del harness que el agente no
274
+ puede ejecutar. Para compactar de verdad, AHORA ejecuta TÚ una de estas:
275
+
276
+ /compact ← built-in de Claude Code: trunca la ventana usando
277
+ el estado ya persistido (recomendado para seguir
278
+ en la misma sesión)
279
+ /clear o sesión nueva ← arranque limpio; pega la instrucción de arranque
280
+ del Paso 7
281
+
282
+ Próximo comando de trabajo (tras compactar): [comando exacto]
283
+ ```
284
+
285
+ ## Paso 9 — Por qué este comando NO compacta la ventana (límite del harness)
286
+
287
+ La compactación REAL del contexto (truncar la conversación) es una operación
288
+ exclusiva del harness de Claude Code: el `/compact` built-in o el auto-compact.
289
+ Un comando `/swl:*` corre DENTRO de la conversación y el modelo no tiene
290
+ ninguna herramienta para truncar su propia ventana — por diseño.
291
+
292
+ División de responsabilidades:
293
+
294
+ | Mitad | Quién | Qué hace |
295
+ |-------|-------|----------|
296
+ | `/swl:compactar` | el agente | Persiste el estado a disco (COMPACTACION.md + ESTADO.md) para que NADA se pierda al truncar |
297
+ | `/compact` | el usuario (harness) | Trunca la ventana de verdad. Sin la mitad anterior, perdería las decisiones no escritas |
298
+
299
+ El error a prevenir: ejecutar `/compact` SIN haber corrido `/swl:compactar`
300
+ antes (estado solo en la memoria de la conversación → se pierde). El orden
301
+ correcto siempre es: `/swl:compactar` → `/compact`.
302
+
303
+ ## Reglas de comportamiento
304
+
305
+ - El COMPACTACION.md debe reemplazar la necesidad de releer toda la conversación. Si alguien lo lee, debe poder continuar el trabajo.
306
+ - NUNCA comprimas o elimines información importante. La densidad viene de estructura, no de omisión.
307
+ - Las decisiones en el "Mapa de decisiones críticas" son sagradas — si están ahí, no se vuelven a discutir.
308
+ - Lleva un número de versión incremental en el COMPACTACION.md. Cada compactación es una nueva versión.
309
+ - Si hay un COMPACTACION.md previo, léelo antes de crear el nuevo — puede tener decisiones que no están en otros archivos.
310
+ - El documento debe poder leerse en menos de 5 minutos. Si es más largo, has incluido demasiado detalle.