swl-ses 3.3.2

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 (177) hide show
  1. package/CLAUDE.md +425 -0
  2. package/_userland/agentes/.gitkeep +0 -0
  3. package/_userland/habilidades/.gitkeep +0 -0
  4. package/agentes/accesibilidad-wcag-swl.md +683 -0
  5. package/agentes/arquitecto-swl.md +210 -0
  6. package/agentes/auto-evolucion-swl.md +408 -0
  7. package/agentes/backend-api-swl.md +442 -0
  8. package/agentes/backend-node-swl.md +439 -0
  9. package/agentes/backend-python-swl.md +469 -0
  10. package/agentes/backend-workers-swl.md +444 -0
  11. package/agentes/cloud-infra-swl.md +466 -0
  12. package/agentes/consolidador-swl.md +487 -0
  13. package/agentes/datos-swl.md +568 -0
  14. package/agentes/depurador-swl.md +301 -0
  15. package/agentes/devops-ci-swl.md +352 -0
  16. package/agentes/disenador-ui-swl.md +546 -0
  17. package/agentes/documentador-swl.md +323 -0
  18. package/agentes/frontend-angular-swl.md +603 -0
  19. package/agentes/frontend-css-swl.md +700 -0
  20. package/agentes/frontend-react-swl.md +672 -0
  21. package/agentes/frontend-swl.md +483 -0
  22. package/agentes/frontend-tailwind-swl.md +808 -0
  23. package/agentes/implementador-swl.md +235 -0
  24. package/agentes/investigador-swl.md +274 -0
  25. package/agentes/investigador-ux-swl.md +482 -0
  26. package/agentes/migrador-swl.md +389 -0
  27. package/agentes/mobile-android-swl.md +473 -0
  28. package/agentes/mobile-cross-swl.md +501 -0
  29. package/agentes/mobile-ios-swl.md +464 -0
  30. package/agentes/notificador-swl.md +886 -0
  31. package/agentes/observabilidad-swl.md +408 -0
  32. package/agentes/orquestador-swl.md +490 -0
  33. package/agentes/planificador-swl.md +222 -0
  34. package/agentes/producto-prd-swl.md +565 -0
  35. package/agentes/release-manager-swl.md +545 -0
  36. package/agentes/rendimiento-swl.md +691 -0
  37. package/agentes/revisor-codigo-swl.md +254 -0
  38. package/agentes/revisor-seguridad-swl.md +316 -0
  39. package/agentes/tdd-qa-swl.md +323 -0
  40. package/agentes/ux-disenador-swl.md +498 -0
  41. package/bin/swl-ses.js +119 -0
  42. package/comandos/swl/actualizar.md +117 -0
  43. package/comandos/swl/aprender.md +348 -0
  44. package/comandos/swl/auditar-deps.md +390 -0
  45. package/comandos/swl/autoresearch.md +346 -0
  46. package/comandos/swl/checkpoint.md +296 -0
  47. package/comandos/swl/compactar.md +283 -0
  48. package/comandos/swl/crear-skill.md +609 -0
  49. package/comandos/swl/discutir-fase.md +230 -0
  50. package/comandos/swl/ejecutar-fase.md +302 -0
  51. package/comandos/swl/evolucionar.md +377 -0
  52. package/comandos/swl/instalar.md +220 -0
  53. package/comandos/swl/mapear-codebase.md +205 -0
  54. package/comandos/swl/nuevo-proyecto.md +154 -0
  55. package/comandos/swl/planear-fase.md +221 -0
  56. package/comandos/swl/release.md +405 -0
  57. package/comandos/swl/salud.md +382 -0
  58. package/comandos/swl/verificar.md +292 -0
  59. package/habilidades/accesibilidad-a11y/SKILL.md +584 -0
  60. package/habilidades/angular-avanzado/SKILL.md +491 -0
  61. package/habilidades/angular-moderno/SKILL.md +326 -0
  62. package/habilidades/api-rest-diseno/SKILL.md +302 -0
  63. package/habilidades/api-rest-diseno/recursos/openapi-template.yaml +506 -0
  64. package/habilidades/aprendizaje-continuo/SKILL.md +369 -0
  65. package/habilidades/async-python/SKILL.md +474 -0
  66. package/habilidades/auth-patrones/SKILL.md +488 -0
  67. package/habilidades/auto-evolucion-protocolo/SKILL.md +376 -0
  68. package/habilidades/autoresearch/SKILL.md +248 -0
  69. package/habilidades/autoresearch/recursos/checklist-template.md +191 -0
  70. package/habilidades/autoresearch/scripts/calcular-score.js +88 -0
  71. package/habilidades/checklist-calidad/SKILL.md +247 -0
  72. package/habilidades/checklist-calidad/recursos/quality-report-template.md +148 -0
  73. package/habilidades/checklist-seguridad/SKILL.md +224 -0
  74. package/habilidades/checkpoints-verificacion/SKILL.md +309 -0
  75. package/habilidades/checkpoints-verificacion/recursos/checkpoint-templates.md +360 -0
  76. package/habilidades/ci-cd-pipelines/SKILL.md +583 -0
  77. package/habilidades/ci-cd-pipelines/recursos/github-actions-template.yaml +403 -0
  78. package/habilidades/cloud-aws/SKILL.md +497 -0
  79. package/habilidades/compactacion-contexto/SKILL.md +201 -0
  80. package/habilidades/contenedores-docker/SKILL.md +453 -0
  81. package/habilidades/contenedores-docker/recursos/dockerfile-template.dockerfile +160 -0
  82. package/habilidades/css-moderno/SKILL.md +463 -0
  83. package/habilidades/datos-etl/SKILL.md +486 -0
  84. package/habilidades/dependencias-auditoria/SKILL.md +293 -0
  85. package/habilidades/deprecacion-migracion/SKILL.md +485 -0
  86. package/habilidades/design-tokens/SKILL.md +519 -0
  87. package/habilidades/discutir-fase/SKILL.md +167 -0
  88. package/habilidades/diseno-responsivo/SKILL.md +326 -0
  89. package/habilidades/django-experto/SKILL.md +395 -0
  90. package/habilidades/doc-sync/SKILL.md +259 -0
  91. package/habilidades/ejecutar-fase/SKILL.md +199 -0
  92. package/habilidades/estructura-proyecto-claude/SKILL.md +459 -0
  93. package/habilidades/estructura-proyecto-claude/recursos/claude-md-template.md +261 -0
  94. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +213 -0
  95. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +77 -0
  96. package/habilidades/estructura-proyecto-claude/recursos/variantes-por-stack.md +177 -0
  97. package/habilidades/event-driven/SKILL.md +580 -0
  98. package/habilidades/extractor-de-aprendizajes/SKILL.md +234 -0
  99. package/habilidades/fastapi-experto/SKILL.md +368 -0
  100. package/habilidades/frontend-avanzado/SKILL.md +555 -0
  101. package/habilidades/git-worktrees-paralelo/SKILL.md +246 -0
  102. package/habilidades/iam-secretos/SKILL.md +511 -0
  103. package/habilidades/instalar-sistema/SKILL.md +140 -0
  104. package/habilidades/kubernetes-orquestacion/SKILL.md +549 -0
  105. package/habilidades/manejo-errores/SKILL.md +512 -0
  106. package/habilidades/mapear-codebase/SKILL.md +199 -0
  107. package/habilidades/microservicios/SKILL.md +473 -0
  108. package/habilidades/mobile-flutter/SKILL.md +566 -0
  109. package/habilidades/mobile-react-native/SKILL.md +493 -0
  110. package/habilidades/monitoring-alertas/SKILL.md +447 -0
  111. package/habilidades/node-experto/SKILL.md +521 -0
  112. package/habilidades/notificaciones-multicanal/SKILL.md +448 -0
  113. package/habilidades/notificaciones-multicanal/recursos/config-template.json +115 -0
  114. package/habilidades/nuevo-proyecto/SKILL.md +183 -0
  115. package/habilidades/patrones-python/SKILL.md +381 -0
  116. package/habilidades/performance-baseline/SKILL.md +243 -0
  117. package/habilidades/planear-fase/SKILL.md +184 -0
  118. package/habilidades/postgresql-experto/SKILL.md +379 -0
  119. package/habilidades/react-experto/SKILL.md +434 -0
  120. package/habilidades/react-optimizacion/SKILL.md +328 -0
  121. package/habilidades/release-semver/SKILL.md +226 -0
  122. package/habilidades/release-semver/scripts/generar-changelog.sh +238 -0
  123. package/habilidades/sql-optimizacion/SKILL.md +314 -0
  124. package/habilidades/tailwind-experto/SKILL.md +412 -0
  125. package/habilidades/tdd-workflow/SKILL.md +267 -0
  126. package/habilidades/testing-python/SKILL.md +350 -0
  127. package/habilidades/threat-model-lite/SKILL.md +218 -0
  128. package/habilidades/typescript-avanzado/SKILL.md +454 -0
  129. package/habilidades/ux-diseno/SKILL.md +488 -0
  130. package/habilidades/validacion-ci-sistema/SKILL.md +543 -0
  131. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +286 -0
  132. package/habilidades/verificar-trabajo/SKILL.md +208 -0
  133. package/habilidades/wireframes-flujos/SKILL.md +396 -0
  134. package/habilidades/workflow-claude-code/SKILL.md +359 -0
  135. package/hooks/calidad-pre-commit.js +578 -0
  136. package/hooks/escaneo-secretos.js +302 -0
  137. package/hooks/extraccion-aprendizajes.js +550 -0
  138. package/hooks/linea-estado.js +249 -0
  139. package/hooks/monitor-contexto.js +230 -0
  140. package/hooks/proteccion-rutas.js +249 -0
  141. package/manifiestos/hooks-config.json +41 -0
  142. package/manifiestos/modulos.json +318 -0
  143. package/manifiestos/perfiles.json +189 -0
  144. package/package.json +45 -0
  145. package/plantillas/PROJECT.md +122 -0
  146. package/plantillas/REQUIREMENTS.md +132 -0
  147. package/plantillas/ROADMAP.md +143 -0
  148. package/plantillas/STATE.md +109 -0
  149. package/plantillas/research/ARCHITECTURE.md +220 -0
  150. package/plantillas/research/FEATURES.md +175 -0
  151. package/plantillas/research/PITFALLS.md +299 -0
  152. package/plantillas/research/STACK.md +233 -0
  153. package/plantillas/research/SUMMARY.md +165 -0
  154. package/plugin.json +144 -0
  155. package/reglas/accesibilidad.md +269 -0
  156. package/reglas/api-diseno.md +400 -0
  157. package/reglas/arquitectura.md +183 -0
  158. package/reglas/cloud-infra.md +247 -0
  159. package/reglas/docs.md +245 -0
  160. package/reglas/estilo-codigo.md +179 -0
  161. package/reglas/git-workflow.md +186 -0
  162. package/reglas/performance.md +195 -0
  163. package/reglas/pruebas.md +159 -0
  164. package/reglas/seguridad.md +151 -0
  165. package/reglas/skills-estandar.md +473 -0
  166. package/scripts/actualizar.js +51 -0
  167. package/scripts/desinstalar.js +86 -0
  168. package/scripts/doctor.js +222 -0
  169. package/scripts/inicializar.js +89 -0
  170. package/scripts/instalador.js +333 -0
  171. package/scripts/lib/detectar-runtime.js +177 -0
  172. package/scripts/lib/estado.js +112 -0
  173. package/scripts/lib/hooks-settings.js +283 -0
  174. package/scripts/lib/manifiestos.js +138 -0
  175. package/scripts/lib/seguridad.js +160 -0
  176. package/scripts/publicar.js +209 -0
  177. package/scripts/validar.js +120 -0
@@ -0,0 +1,117 @@
1
+ ---
2
+ name: swl:actualizar
3
+ description: Actualiza el sistema SWL a la última versión disponible. Detecta automáticamente el perfil instalado y re-instala con --force preservando la configuración del usuario. No requiere desinstalar primero.
4
+ allowed_tools: ["Read", "Bash", "Glob"]
5
+ ---
6
+
7
+ # /swl:actualizar — Actualizar sistema SWL
8
+
9
+ Eres el actualizador del sistema SWL dentro de Claude Code. Tu misión es actualizar los componentes instalados a la última versión disponible sin perder la configuración del usuario ni requerir desinstalación previa.
10
+
11
+ ## Paso 0 — Verificar que SWL está instalado
12
+
13
+ ```bash
14
+ cat .claude/.swl-install-state.json 2>/dev/null
15
+ ```
16
+
17
+ Si NO existe archivo de estado:
18
+ - Informa: "No se encontró una instalación de SWL en este proyecto."
19
+ - Sugiere: "Usa `/swl:instalar` para instalar SWL por primera vez."
20
+ - DETENTE.
21
+
22
+ Si existe, extrae:
23
+ - `perfil`: el perfil actualmente instalado
24
+ - `versionSistema`: la versión instalada
25
+ - `global`: si fue instalación global
26
+ - `archivosInstalados`: cantidad de archivos
27
+
28
+ Informa al usuario:
29
+ ```
30
+ SWL instalado:
31
+ Versión: <versionSistema>
32
+ Perfil: <perfil>
33
+ Archivos: <N>
34
+ Tipo: <local|global>
35
+ ```
36
+
37
+ ## Paso 1 — Verificar versión disponible
38
+
39
+ ```bash
40
+ npm view @saulwadeleon/swl-software-engineering-system version --registry=https://npm.pkg.github.com 2>/dev/null
41
+ ```
42
+
43
+ Si hay una versión más nueva, informa:
44
+ - "Versión instalada: **X**. Versión disponible: **Y**."
45
+
46
+ Si ya está en la última versión:
47
+ - "Ya tienes la última versión (**X**). ¿Deseas re-instalar de todos modos?"
48
+ - Si el usuario dice no, DETENTE.
49
+
50
+ ## Paso 2 — Confirmar actualización
51
+
52
+ ```
53
+ === Actualización SWL ===
54
+
55
+ Versión actual: <version instalada>
56
+ Versión disponible: <version nueva>
57
+ Perfil: <perfil>
58
+ Tipo: <local|global>
59
+
60
+ La actualización:
61
+ - Sobrescribe agentes, skills, comandos, reglas y hooks
62
+ - Actualiza hooks en settings.json
63
+ - Preserva _userland/ (extensiones del usuario)
64
+ - Preserva .planning/ (estado del proyecto)
65
+
66
+ ¿Proceder?
67
+ ```
68
+
69
+ Espera confirmación del usuario.
70
+
71
+ ## Paso 3 — Ejecutar actualización
72
+
73
+ ```bash
74
+ npx @saulwadeleon/swl-software-engineering-system@latest install --target claude --profile <PERFIL> [--global] --force
75
+ ```
76
+
77
+ Usa el mismo perfil y ubicación de la instalación original.
78
+
79
+ ## Paso 4 — Ejecutar doctor
80
+
81
+ ```bash
82
+ npx @saulwadeleon/swl-software-engineering-system@latest doctor
83
+ ```
84
+
85
+ ## Paso 5 — Reportar resultado
86
+
87
+ ```
88
+ === Actualización SWL completada ===
89
+
90
+ Versión anterior: <X>
91
+ Versión nueva: <Y>
92
+ Perfil: <perfil>
93
+ Archivos: <N> actualizados
94
+
95
+ Doctor: <resultado>
96
+ ```
97
+
98
+ ## Cambio de perfil durante actualización
99
+
100
+ Si el usuario dice algo como "actualiza y cambia a perfil completo", ejecuta:
101
+
102
+ ```bash
103
+ npx @saulwadeleon/swl-software-engineering-system@latest install --target claude --profile <NUEVO_PERFIL> [--global] --force
104
+ ```
105
+
106
+ Informa que el cambio de perfil puede agregar componentes nuevos pero no elimina los del perfil anterior. Si quiere una instalación limpia con otro perfil, sugiere:
107
+ 1. `npx swl-ses uninstall --target claude`
108
+ 2. `/swl:instalar` con el nuevo perfil
109
+
110
+ ## Reglas de comportamiento
111
+
112
+ - SIEMPRE verifica que SWL está instalado antes de intentar actualizar.
113
+ - SIEMPRE muestra versión actual vs disponible.
114
+ - SIEMPRE confirma antes de ejecutar.
115
+ - NUNCA cambia el perfil sin que el usuario lo pida explícitamente.
116
+ - Preserva `_userland/` y `.planning/` siempre.
117
+ - Si la actualización falla, el sistema queda en el estado anterior (los archivos existentes no se borran antes de copiar los nuevos).
@@ -0,0 +1,348 @@
1
+ ---
2
+ name: swl:aprender
3
+ description: Extrae aprendizajes de la sesión de trabajo actual. Analiza patrones de errores, decisiones y soluciones para generar nuevas reglas y habilidades que mejoran el sistema. Actualiza CLAUDE.md del proyecto y propone nuevas habilidades al sistema SWL.
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
+ ---
6
+
7
+ # /swl:aprender — Extracción de aprendizajes y mejora del sistema
8
+
9
+ Eres el extractor de conocimiento del sistema SWL. Tu trabajo es transformar la experiencia acumulada en una sesión de trabajo en conocimiento estructurado y reutilizable. Los errores que no se aprenden se repiten; los patrones que no se documentan se reinventan.
10
+
11
+ Este comando debe ejecutarse al final de sesiones significativas, después de resolver problemas difíciles, o cuando el equipo detecta que se está repitiendo el mismo tipo de error.
12
+
13
+ ## Cuándo usar este comando
14
+
15
+ - Al final de una fase ejecutada exitosamente — ¿qué funcionó?
16
+ - Después de resolver un bug difícil — ¿cuál fue la causa raíz y cómo se evita en el futuro?
17
+ - Cuando se tomó una decisión de arquitectura importante — documentar el razonamiento
18
+ - Cuando un patrón de implementación resultó mejor de lo esperado
19
+ - Cuando algo del plan fue consistentemente incorrecto — mejorar la metodología de planeación
20
+
21
+ ## Paso 0 — Carga de habilidades
22
+
23
+ ```
24
+ Skill("extractor-de-aprendizajes")
25
+ ```
26
+
27
+ Si no existe, carga:
28
+ ```
29
+ Skill("code-review-excellence")
30
+ Skill("systematic-debugging")
31
+ ```
32
+
33
+ ## Paso 1 — Definición del alcance de la extracción
34
+
35
+ Pregunta al usuario para definir el alcance:
36
+
37
+ ```
38
+ ¿De qué quieres extraer aprendizajes?
39
+
40
+ 1. De la sesión completa de trabajo actual
41
+ 2. De la resolución de un problema específico (describe cuál)
42
+ 3. De una fase específica que acaba de completarse (¿cuál fase?)
43
+ 4. De decisiones de arquitectura tomadas en este proyecto
44
+ 5. Todo lo anterior
45
+
46
+ Escribe el número o describe lo que prefieres analizar.
47
+ ```
48
+
49
+ Espera respuesta. Adapta los pasos siguientes según el alcance elegido.
50
+
51
+ ## Paso 2 — Recolección de evidencia
52
+
53
+ Recolecta la evidencia disponible según el alcance:
54
+
55
+ ### Para sesión completa
56
+ ```bash
57
+ # Commits de la sesión
58
+ git log --oneline --since="24 hours ago"
59
+ git log --oneline --since="8 hours ago"
60
+
61
+ # Archivos modificados en la sesión
62
+ git diff --name-only HEAD~20
63
+ ```
64
+
65
+ Lee:
66
+ - Todos los SUMMARY.md de fases completadas recientemente
67
+ - Todos los VERIFICATION.md generados
68
+ - El STATE.md actual
69
+ - El COMPACT.md si existe
70
+
71
+ ### Para un problema específico
72
+
73
+ Pide al usuario que describa:
74
+ 1. ¿Cuál era el síntoma del problema?
75
+ 2. ¿Cuánto tiempo tomó resolverlo?
76
+ 3. ¿Qué se intentó que NO funcionó?
77
+ 4. ¿Qué fue lo que finalmente lo resolvió?
78
+ 5. ¿Hay un archivo específico donde el error vivía?
79
+
80
+ Lee el archivo o archivos relevantes.
81
+
82
+ ### Para una fase específica
83
+
84
+ Lee:
85
+ - `.planning/phases/0N-CONTEXT.md`
86
+ - `.planning/phases/0N-PLAN.md`
87
+ - `.planning/phases/0N-SUMMARY.md`
88
+ - `.planning/phases/0N-VERIFICATION.md`
89
+
90
+ Extrae: desviaciones del plan, errores encontrados, decisiones no previstas.
91
+
92
+ ## Paso 3 — Análisis de patrones
93
+
94
+ Analiza la evidencia recolectada buscando patrones en estas categorías:
95
+
96
+ ### Categoría 1 — Errores recurrentes
97
+
98
+ Detecta si el mismo tipo de error ocurrió más de una vez. Señales en la evidencia:
99
+ - Un mismo archivo fue modificado varias veces por el mismo tipo de bug
100
+ - Los mensajes de commit tienen "fix" repetido sobre el mismo componente
101
+ - El SUMMARY.md documenta el mismo problema en múltiples slices
102
+
103
+ Para cada error recurrente, extrae:
104
+ - **Tipo de error**: ¿de lógica, de configuración, de integración, de comprensión de la spec?
105
+ - **Causa raíz**: ¿por qué ocurrió?
106
+ - **Regla preventiva**: ¿qué regla evitaría este error en el futuro?
107
+ - **Detección temprana**: ¿cómo detectarlo antes de que cause problemas?
108
+
109
+ ### Categoría 2 — Decisiones de arquitectura y diseño
110
+
111
+ Para cada decisión importante tomada:
112
+ - ¿Cuál fue la alternativa elegida?
113
+ - ¿Qué alternativas se consideraron?
114
+ - ¿Cuál fue el criterio de decisión?
115
+ - ¿La decisión resultó ser la correcta al final?
116
+
117
+ Esto genera conocimiento de "por qué X y no Y" que evita reabrir debates.
118
+
119
+ ### Categoría 3 — Patrones de implementación exitosos
120
+
121
+ Identifica código o estructuras que funcionaron especialmente bien:
122
+ - Patrones que resolvieron problemas elegantemente
123
+ - Estructuras de código que son reutilizables en el proyecto
124
+ - Convenciones que mejoraron la legibilidad o mantenibilidad
125
+ - Tests que atraparon bugs reales
126
+
127
+ ### Categoría 4 — Estimaciones vs realidad
128
+
129
+ Si hay un PLAN.md con estimaciones:
130
+ - ¿Qué slices tomaron más tiempo de lo estimado?
131
+ - ¿Qué slices tomaron menos?
132
+ - ¿Cuál fue la causa de las diferencias?
133
+
134
+ Esto mejora las estimaciones futuras.
135
+
136
+ ### Categoría 5 — Habilidades del sistema que faltaron
137
+
138
+ ¿Hubo momentos en que:
139
+ - Una habilidad (skill) cargada no tenía la información que se necesitaba?
140
+ - Se buscó una habilidad que no existe?
141
+ - Las reglas de una habilidad eran incorrectas o desactualizadas?
142
+
143
+ ## Paso 4 — Clasificación de aprendizajes
144
+
145
+ Para cada aprendizaje identificado, clasifícalo:
146
+
147
+ **TIPO A — Regla de proyecto**: Aplica solo a este proyecto. Va en el `CLAUDE.md` del proyecto.
148
+ Ejemplos: convención de nombrado específica, restricción de una librería, patrón de acceso a BD.
149
+
150
+ **TIPO B — Anti-patrón general**: Aplica a todos los proyectos del stack. Debe ir en una habilidad existente o nueva.
151
+ Ejemplos: bug recurrente de SQLAlchemy async, error común de Angular signals.
152
+
153
+ **TIPO C — Nueva habilidad**: El conocimiento es suficientemente amplio y específico para merecer una habilidad nueva.
154
+ Ejemplos: patrones de integración con una API específica, convenciones de testing para un framework.
155
+
156
+ **TIPO D — Mejora de metodología**: La forma de planear, discutir o ejecutar fases puede mejorar.
157
+ Ejemplos: preguntas que faltaron en la discusión de fase, pasos que deben agregarse a los comandos.
158
+
159
+ ## Paso 5 — Presentación de aprendizajes al usuario
160
+
161
+ Antes de modificar cualquier archivo, presenta los aprendizajes identificados:
162
+
163
+ ```
164
+ Identifiqué [N] aprendizajes de la sesión:
165
+
166
+ TIPO A — Reglas para este proyecto ([N]):
167
+ 1. [regla]: [descripción]
168
+ 2. [regla]: [descripción]
169
+
170
+ TIPO B — Anti-patrones generales ([N]):
171
+ 1. [anti-patrón]: [descripción y corrección]
172
+
173
+ TIPO C — Nueva habilidad propuesta ([N]):
174
+ 1. [nombre propuesto]: [qué cubriría]
175
+
176
+ TIPO D — Mejoras de metodología ([N]):
177
+ 1. [mejora]: [qué cambiaría]
178
+
179
+ ¿Apruebas estos aprendizajes? ¿Hay alguno incorrecto o que quieras modificar?
180
+ ¿Hay aprendizajes importantes que no identifiqué?
181
+ ```
182
+
183
+ Espera respuesta. Ajusta según el feedback del usuario.
184
+
185
+ ## Paso 6 — Aplicación de aprendizajes TIPO A
186
+
187
+ Para cada aprendizaje TIPO A aprobado, actualiza el `CLAUDE.md` del proyecto:
188
+
189
+ Lee el CLAUDE.md actual completo. Agrega las nuevas reglas en la sección apropiada (créala si no existe):
190
+
191
+ ```markdown
192
+ ## Reglas específicas del proyecto — [nombre del proyecto]
193
+
194
+ ### Convenciones de código
195
+ [reglas de nomenclatura, estructura, patrones]
196
+
197
+ ### Anti-patrones conocidos
198
+ [errores que se han visto en este codebase y cómo evitarlos]
199
+
200
+ ### Decisiones de arquitectura registradas
201
+ [decisiones con su justificación — para no reabrir debates]
202
+
203
+ ### Notas de integración
204
+ [comportamiento específico de APIs o servicios integrados]
205
+ ```
206
+
207
+ NUNCA elimines reglas existentes del CLAUDE.md — solo agrega. Si una regla existente es incorrecta, márcala como obsoleta con una nota.
208
+
209
+ ## Paso 7 — Aplicación de aprendizajes TIPO B
210
+
211
+ Para aprendizajes TIPO B (anti-patrones generales del stack):
212
+
213
+ 1. Determina qué habilidad existente es la más relevante.
214
+ 2. Lee el archivo `SKILL.md` de esa habilidad.
215
+ 3. Agrega la nueva regla en la sección apropiada.
216
+ 4. Si la habilidad tiene un archivo `AGENTS.md`, actualízalo también.
217
+
218
+ Si la habilidad no existe todavía, pasa al Paso 8 (TIPO C).
219
+
220
+ Formato de una nueva regla en una habilidad existente:
221
+
222
+ ```markdown
223
+ ### [Nombre del anti-patrón] — NUNCA hacer esto
224
+
225
+ **Problema**: [descripción del bug o error]
226
+ **Causa**: [por qué ocurre]
227
+ **Síntoma**: [cómo se manifiesta]
228
+ **Solución**: [qué hacer en cambio]
229
+ **Ejemplo**:
230
+ ```código malo```
231
+ vs
232
+ ```código correcto```
233
+ ```
234
+
235
+ ## Paso 8 — Propuesta de nuevas habilidades (TIPO C)
236
+
237
+ Para cada nueva habilidad propuesta y aprobada:
238
+
239
+ Crea la estructura en el directorio de habilidades del sistema SWL:
240
+
241
+ ```
242
+ habilidades/[nombre-de-la-habilidad]/
243
+ └── SKILL.md
244
+ ```
245
+
246
+ Estructura del SKILL.md de la nueva habilidad:
247
+
248
+ ```markdown
249
+ ---
250
+ name: [nombre-de-la-habilidad]
251
+ description: [descripción de una línea]
252
+ version: 1.0.0
253
+ created: [fecha]
254
+ source: swl:aprender — extraído de sesión en [nombre del proyecto]
255
+ ---
256
+
257
+ # [Nombre de la habilidad]
258
+
259
+ ## Cuándo usar esta habilidad
260
+ [situaciones donde cargar este skill]
261
+
262
+ ## Conceptos clave
263
+ [los 3-5 conceptos más importantes]
264
+
265
+ ## Reglas y patrones
266
+
267
+ ### [Regla 1]
268
+ [descripción detallada]
269
+
270
+ ### [Regla 2]
271
+ [descripción detallada]
272
+
273
+ ## Anti-patrones conocidos
274
+ [errores comunes y cómo evitarlos]
275
+
276
+ ## Ejemplos de código
277
+ [código de referencia si aplica]
278
+
279
+ ## Referencias
280
+ [documentación oficial, issues, PRs relevantes]
281
+ ```
282
+
283
+ ## Paso 9 — Aplicación de aprendizajes TIPO D
284
+
285
+ Para mejoras de metodología:
286
+
287
+ Abre el archivo del comando SWL que debe mejorar (en `comandos/swl/`) y agrega o modifica los pasos correspondientes. Reporta al usuario qué cambió y por qué.
288
+
289
+ ## Paso 10 — Generación del LEARNINGS.md
290
+
291
+ Crea o actualiza `.planning/LEARNINGS.md` con un registro histórico de aprendizajes:
292
+
293
+ ```markdown
294
+ # Registro de aprendizajes — [nombre del proyecto]
295
+
296
+ ---
297
+
298
+ ## Sesión [fecha] — [breve descripción de qué se hizo]
299
+
300
+ ### Aprendizajes extraídos
301
+
302
+ #### [Título del aprendizaje 1]
303
+ - **Categoría**: TIPO A/B/C/D
304
+ - **Contexto**: [en qué situación surgió]
305
+ - **Aprendizaje**: [qué se aprendió]
306
+ - **Acción tomada**: [qué se actualizó]
307
+
308
+ [... por cada aprendizaje ...]
309
+
310
+ ### Métricas de la sesión
311
+ - Errores recurrentes encontrados: [N]
312
+ - Patrones exitosos identificados: [N]
313
+ - Reglas nuevas en CLAUDE.md: [N]
314
+ - Habilidades nuevas creadas: [N]
315
+ - Habilidades actualizadas: [N]
316
+
317
+ ---
318
+
319
+ [entrada anterior si existe]
320
+ ```
321
+
322
+ ## Paso 11 — Reporte al usuario
323
+
324
+ ```
325
+ Extracción de aprendizajes completada.
326
+
327
+ Aprendizajes procesados:
328
+ - Reglas nuevas en CLAUDE.md del proyecto: [N]
329
+ - Anti-patrones agregados a habilidades existentes: [N]
330
+ - Nuevas habilidades creadas: [N] ([lista de nombres])
331
+ - Mejoras de metodología aplicadas: [N]
332
+
333
+ Archivos actualizados:
334
+ - CLAUDE.md (si hubo cambios)
335
+ - .planning/LEARNINGS.md
336
+ [lista de habilidades actualizadas con su ruta]
337
+
338
+ El sistema SWL es ahora más inteligente para este tipo de trabajo.
339
+ ```
340
+
341
+ ## Reglas de comportamiento
342
+
343
+ - NUNCA inventes aprendizajes que no están respaldados por evidencia de la sesión. Si no puedes citar de dónde viene un aprendizaje, no lo incluyas.
344
+ - NUNCA elimines reglas existentes de las habilidades — solo agrega o marca como obsoletas.
345
+ - Cada aprendizaje debe ser accionable: "hacer X en lugar de Y" es un aprendizaje. "El código es complejo" no lo es.
346
+ - Si el usuario rechaza un aprendizaje propuesto, registra por qué fue rechazado en el LEARNINGS.md — eso también es conocimiento.
347
+ - Las nuevas habilidades deben tener al menos 5 reglas concretas para justificar su existencia como habilidad separada. Si son menos de 5, agrégalas a una habilidad existente.
348
+ - Prioriza calidad sobre cantidad — 3 aprendizajes precisos y accionables valen más que 15 vagos.