@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,330 +1,330 @@
1
- ---
2
- name: swl:revisar
3
- description: >
4
- Ejecuta revisión de código especializada por tecnología. Detecta automáticamente
5
- el stack del proyecto o acepta argumento explícito. Delega al agente revisor
6
- correspondiente con el skill de lenguaje cargado. Produce reporte con severidades.
7
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "Agent"]
8
- ---
9
-
10
- # /swl:revisar — Revisión de código por tecnología
11
-
12
- Comando unificado de revisión que detecta la tecnología y delega al revisor especializado.
13
- Soporta revisión genérica, por lenguaje, por stack y por archivo específico.
14
-
15
- ## Uso
16
-
17
- ```
18
- /swl:revisar — Auto-detecta stack y revisa todo
19
- /swl:revisar python — Revisión Python (FastAPI, Django, patrones)
20
- /swl:revisar java — Revisión Java (Spring Boot, JPA, streams)
21
- /swl:revisar go — Revisión Go (concurrency, error handling, interfaces)
22
- /swl:revisar rust — Revisión Rust (ownership, unsafe, async)
23
- /swl:revisar csharp — Revisión C# (ASP.NET Core, EF Core, async)
24
- /swl:revisar kotlin — Revisión Kotlin (coroutines, Compose, null safety)
25
- /swl:revisar swift — Revisión Swift (SwiftUI, actors, concurrency)
26
- /swl:revisar php — Revisión PHP (Laravel, Eloquent, seguridad)
27
- /swl:revisar nextjs — Revisión Next.js (RSC, Server Actions, caching)
28
- /swl:revisar react — Revisión React (hooks, state, performance)
29
- /swl:revisar angular — Revisión Angular (signals, standalone, OnPush)
30
- /swl:revisar typescript — Revisión TypeScript (tipos, patrones, testing)
31
- /swl:revisar sql — Revisión SQL/PostgreSQL (queries, indices, N+1)
32
- /swl:revisar seguridad — Revisión de seguridad OWASP (todos los lenguajes)
33
- /swl:revisar <archivo> — Revisa un archivo específico (detecta lenguaje por extensión)
34
- ```
35
-
36
- ## Paso 0 — Detección de tecnología
37
-
38
- Si no se proporciona argumento, detectar automáticamente:
39
-
40
- ```bash
41
- ls package.json pyproject.toml requirements.txt go.mod Cargo.toml \
42
- *.csproj *.sln build.gradle.kts Package.swift composer.json 2>/dev/null
43
- ```
44
-
45
- Reglas de detección:
46
- - `package.json` con `"next"` → nextjs
47
- - `package.json` con `"@angular/core"` → angular
48
- - `package.json` con `"react"` (sin next ni angular) → react
49
- - `package.json` sin frameworks conocidos → typescript
50
- - `pyproject.toml` o `requirements.txt` → python
51
- - `go.mod` → go
52
- - `Cargo.toml` → rust
53
- - `*.csproj` o `*.sln` → csharp
54
- - `build.gradle.kts` → kotlin
55
- - `Package.swift` → swift
56
- - `composer.json` → php
57
- - Múltiples detectados → revisión en paralelo (ver Paso 3b)
58
-
59
- Si se proporciona un archivo como argumento, detectar por extension:
60
- `.py` → python | `.go` → go | `.rs` → rust | `.cs` → csharp |
61
- `.kt` → kotlin | `.swift` → swift | `.php` → php |
62
- `.ts` / `.tsx` → typescript | `.sql` → sql |
63
- `.js` / `.jsx` → typescript
64
-
65
- ## Paso 1 — Determinar alcance
66
-
67
- ```bash
68
- # Archivos cambiados respecto a main (preferido)
69
- git diff --name-only main...HEAD 2>/dev/null
70
-
71
- # O archivos staged
72
- git diff --cached --name-only 2>/dev/null
73
-
74
- # O commits recientes si lo anterior esta vacio
75
- git diff --name-only HEAD~10 2>/dev/null
76
- ```
77
-
78
- Filtrar por extensión del lenguaje detectado. Anunciar al usuario:
79
-
80
- ```
81
- Revisión [tecnología]: [N] archivos en alcance
82
- Agente: [nombre-del-revisor]
83
- Skills: [lista de skills que cargará]
84
- ```
85
-
86
- ## Paso 2 — Tabla de delegación
87
-
88
- | Argumento | Agente | Skills principales |
89
- |--------------|---------------------------|-----------------------------------------------------------------|
90
- | `python` | `revisor-codigo-swl` | `patrones-python`, `fastapi-experto`, `testing-python` |
91
- | `java` | `revisor-java-swl` | `java-experto`, `java-testing`, `java-patrones` |
92
- | `go` | `revisor-go-swl` | `go-experto`, `go-testing`, `go-patrones` |
93
- | `rust` | `revisor-rust-swl` | `rust-experto`, `rust-testing`, `rust-patrones` |
94
- | `csharp` | `revisor-csharp-swl` | `csharp-experto`, `csharp-testing`, `csharp-patrones` |
95
- | `kotlin` | `revisor-kotlin-swl` | `kotlin-experto`, `kotlin-testing`, `kotlin-compose` |
96
- | `swift` | `revisor-swift-swl` | `swift-experto`, `swift-testing`, `swift-patrones` |
97
- | `php` | `revisor-php-swl` | `php-experto`, `php-testing`, `php-patrones` |
98
- | `nextjs` | `revisor-nextjs-swl` | `nextjs-experto`, `nextjs-testing`, `nextjs-patrones` |
99
- | `react` | `revisor-react-swl` | `react-experto`, `react-optimizacion`, `typescript-avanzado` |
100
- | `angular` | `revisor-angular-swl` | `angular-moderno`, `angular-avanzado`, `typescript-avanzado` |
101
- | `typescript` | `revisor-typescript-swl` | `typescript-avanzado`, `node-experto` |
102
- | `sql` | `revisor-codigo-swl` | `postgresql-experto`, `sql-optimizacion` |
103
- | `seguridad` | `revisor-seguridad-swl` | `checklist-seguridad`, `auth-patrones`, `iam-secretos` |
104
-
105
- ## Paso 3a — Revisión de un solo stack
106
-
107
- Construir la instrucción al agente y delegarla con `Agent()`:
108
-
109
- ```
110
- Revisa el código [tecnología] del proyecto.
111
-
112
- Archivos a revisar:
113
- [lista de archivos filtrados por extension]
114
-
115
- Carga antes de empezar:
116
- [skills segun tabla del Paso 2]
117
-
118
- Aplica revision en dos capas:
119
-
120
- CAPA 1 — Correctitud y spec compliance:
121
- - La implementación cumple los requisitos visibles (PLAN.md, criterios de aceptación)
122
- - No hay scope creep ni código muerto
123
- - Los casos borde están manejados
124
-
125
- CAPA 2 — Calidad idiomática del lenguaje [tecnología]:
126
- - Patrones idiomáticos del lenguaje (no anti-patrones)
127
- - Error handling correcto y explícito
128
- - Sin código de debug (console.log, print, breakpoints)
129
- - Cobertura de tests básica
130
- - Performance obvios: N+1, loops anidados O(n²), carga innecesaria en memoria
131
- - Seguridad básica: inputs validados, sin secrets hardcodeados, sin SQL crudo
132
-
133
- Reporta cada hallazgo con:
134
- - Archivo y línea exacta
135
- - Severidad: CRITICO | IMPORTANTE | MENOR
136
- - Descripción clara del problema
137
- - Corrección recomendada con fragmento de código cuando aplique
138
-
139
- Al final, produce un veredicto: APROBADO | CON OBSERVACIONES | RECHAZADO
140
- ```
141
-
142
- ## Paso 3b — Revisión de múltiples stacks (auto-detect)
143
-
144
- Si el proyecto tiene varios lenguajes, lanzar los revisores en paralelo en un mismo mensaje:
145
-
146
- ```
147
- Agent("revisor-python", description="Revisar archivos Python del proyecto")
148
- Agent("revisor-frontend", description="Revisar archivos TypeScript/React/Angular del proyecto")
149
- Agent("revisor-sql", description="Revisar queries SQL y migraciones del proyecto")
150
- ```
151
-
152
- Consolidar los reportes de todos los agentes en un solo reporte final al usuario.
153
-
154
- ## Paso 4 — Verificaciones automáticas por tecnología
155
-
156
- Ejecutar ANTES de la revisión manual del agente. Los resultados se incluyen en el reporte.
157
-
158
- ### Python
159
- ```bash
160
- ruff check . --output-format=concise 2>/dev/null
161
- mypy . --ignore-missing-imports --no-error-summary 2>/dev/null
162
- pytest --tb=short -q 2>/dev/null
163
- ```
164
-
165
- ### Go
166
- ```bash
167
- go vet ./... 2>/dev/null
168
- go test -race ./... 2>/dev/null
169
- ```
170
-
171
- ### Rust
172
- ```bash
173
- cargo clippy -- -D warnings 2>/dev/null
174
- cargo test 2>/dev/null
175
- ```
176
-
177
- ### C#
178
- ```bash
179
- dotnet build -warnaserror 2>/dev/null
180
- dotnet test 2>/dev/null
181
- ```
182
-
183
- ### TypeScript / React / Angular / Next.js
184
- ```bash
185
- npx tsc --noEmit 2>/dev/null
186
- npx eslint src/ --format=compact 2>/dev/null
187
- npm test -- --watchAll=false --passWithNoTests 2>/dev/null
188
- ```
189
-
190
- ### PHP
191
- ```bash
192
- vendor/bin/phpstan analyse 2>/dev/null
193
- php artisan test 2>/dev/null
194
- ```
195
-
196
- ### Kotlin
197
- ```bash
198
- ./gradlew detekt 2>/dev/null
199
- ./gradlew test 2>/dev/null
200
- ```
201
-
202
- ### Swift
203
- ```bash
204
- swift build 2>/dev/null
205
- swift test 2>/dev/null
206
- ```
207
-
208
- ### SQL / PostgreSQL
209
- ```bash
210
- # Buscar queries dentro de loops (potencial N+1)
211
- grep -rn "execute\|query\|SELECT" --include="*.py" --include="*.ts" . 2>/dev/null | head -40
212
- # Buscar SQL crudo sin parametrizar
213
- grep -rn 'f"SELECT\|f"INSERT\|f"UPDATE\|"SELECT.*+\|"INSERT.*+' . 2>/dev/null
214
- ```
215
-
216
- ### Seguridad (todos los lenguajes)
217
- ```bash
218
- # Secrets potenciales
219
- git grep -i "password\|secret\|api_key\|token\s*=" -- "*.py" "*.ts" "*.js" "*.go" 2>/dev/null | grep -v "test\|spec\|\.example" | head -20
220
- # Funciones peligrosas
221
- grep -rn "eval(\|exec(\|shell=True\|pickle.loads\|yaml.load(" . 2>/dev/null | grep -v "test\|spec" | head -20
222
- ```
223
-
224
- ## Paso 5 — Reporte consolidado
225
-
226
- Produce el reporte directamente en la conversación con este formato:
227
-
228
- ```markdown
229
- # Revisión de Código — [tecnología]
230
-
231
- **Proyecto**: [nombre del directorio raíz]
232
- **Fecha**: [fecha actual]
233
- **Archivos revisados**: [N]
234
-
235
- ## Resumen
236
-
237
- | Severidad | Cantidad |
238
- |------------|----------|
239
- | Crítico | N |
240
- | Importante | N |
241
- | Menor | N |
242
-
243
- ## Verificaciones automáticas
244
-
245
- | Verificación | Resultado |
246
- |--------------|------------------------|
247
- | Linter | PASA / N errores |
248
- | Type check | PASA / N errores |
249
- | Tests | N pasan, N fallan |
250
- | Build | PASA / FALLA |
251
-
252
- ## Hallazgos
253
-
254
- ### Crítico
255
-
256
- 1. **[archivo:línea]** — [descripción]
257
- ```[lang]
258
- // código problemático
259
- ```
260
- **Corrección:**
261
- ```[lang]
262
- // código corregido
263
- ```
264
-
265
- ### Importante
266
-
267
- [idem]
268
-
269
- ### Menor
270
-
271
- [idem]
272
-
273
- ## Veredicto
274
-
275
- **[APROBADO | CON OBSERVACIONES | RECHAZADO]**
276
-
277
- [Una línea explicando el veredicto]
278
- ```
279
-
280
- ## Paso 6 — Revisión multi-agente en paralelo (modo profundo)
281
-
282
- Cuando el usuario dice `/swl:revisar profundo`, `/swl:revisar --profundo` o
283
- "revisión completa con todos los agentes":
284
-
285
- Lanzar **en paralelo** hasta 5 revisores especializados (además del revisor de stack):
286
-
287
- ```
288
- Agent("revisor-seguridad-swl", "Auditar seguridad OWASP de archivos cambiados")
289
- Agent("revisor-codigo-swl", "Auditar errores silenciosos: catch vacíos, except:pass, error checks sin log")
290
- Agent("tdd-qa-swl", "Evaluar cobertura de tests: gaps críticos, tests faltantes para código nuevo")
291
- Agent("documentador-swl", "Verificar documentación afectada por los cambios: README, CHANGELOG, docstrings")
292
- Agent("rendimiento-swl", "Detectar N+1, loops O(n²), carga innecesaria en memoria en archivos cambiados")
293
- ```
294
-
295
- Cada agente recibe:
296
- - Lista de archivos en alcance (del Paso 1)
297
- - Instrucción de reportar SOLO hallazgos con confianza >= 80%
298
- - Formato de salida: severidad + archivo:línea + descripción + corrección
299
-
300
- Consolidar todos los reportes en un solo reporte con secciones por agente:
301
-
302
- ```markdown
303
- ## Revisión multi-agente — [N] agentes, [M] hallazgos
304
-
305
- ### Seguridad (revisor-seguridad-swl)
306
- [hallazgos o "Sin hallazgos"]
307
-
308
- ### Errores silenciosos (revisor-codigo-swl)
309
- [hallazgos o "Sin hallazgos"]
310
-
311
- ### Cobertura de tests (tdd-qa-swl)
312
- [hallazgos o "Sin hallazgos"]
313
-
314
- ### Documentación afectada (documentador-swl)
315
- [hallazgos o "Sin hallazgos"]
316
-
317
- ### Rendimiento (rendimiento-swl)
318
- [hallazgos o "Sin hallazgos"]
319
- ```
320
-
321
- ## Reglas de comportamiento
322
-
323
- - NUNCA corregir código directamente — solo identificar y recomendar.
324
- - SIEMPRE ejecutar las verificaciones automáticas del Paso 4 antes de delegar al agente.
325
- - Si los tests fallan es CRITICO sin excepción, independientemente del lenguaje.
326
- - Para SQL: buscar siempre N+1 queries y SQL crudo sin parametrizar.
327
- - Para seguridad: aplicar `Skill("checklist-seguridad")` y verificar OWASP Top 10.
328
- - Si el argumento es un archivo que no existe, informar y terminar.
329
- - El reporte se emite siempre en la conversación. No crear archivo a menos que el usuario lo pida.
330
- - En modo profundo: lanzar los 5 agentes en paralelo para máxima eficiencia.
1
+ ---
2
+ name: swl:revisar
3
+ description: >
4
+ Ejecuta revisión de código especializada por tecnología. Detecta automáticamente
5
+ el stack del proyecto o acepta argumento explícito. Delega al agente revisor
6
+ correspondiente con el skill de lenguaje cargado. Produce reporte con severidades.
7
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "Agent"]
8
+ ---
9
+
10
+ # /swl:revisar — Revisión de código por tecnología
11
+
12
+ Comando unificado de revisión que detecta la tecnología y delega al revisor especializado.
13
+ Soporta revisión genérica, por lenguaje, por stack y por archivo específico.
14
+
15
+ ## Uso
16
+
17
+ ```
18
+ /swl:revisar — Auto-detecta stack y revisa todo
19
+ /swl:revisar python — Revisión Python (FastAPI, Django, patrones)
20
+ /swl:revisar java — Revisión Java (Spring Boot, JPA, streams)
21
+ /swl:revisar go — Revisión Go (concurrency, error handling, interfaces)
22
+ /swl:revisar rust — Revisión Rust (ownership, unsafe, async)
23
+ /swl:revisar csharp — Revisión C# (ASP.NET Core, EF Core, async)
24
+ /swl:revisar kotlin — Revisión Kotlin (coroutines, Compose, null safety)
25
+ /swl:revisar swift — Revisión Swift (SwiftUI, actors, concurrency)
26
+ /swl:revisar php — Revisión PHP (Laravel, Eloquent, seguridad)
27
+ /swl:revisar nextjs — Revisión Next.js (RSC, Server Actions, caching)
28
+ /swl:revisar react — Revisión React (hooks, state, performance)
29
+ /swl:revisar angular — Revisión Angular (signals, standalone, OnPush)
30
+ /swl:revisar typescript — Revisión TypeScript (tipos, patrones, testing)
31
+ /swl:revisar sql — Revisión SQL/PostgreSQL (queries, indices, N+1)
32
+ /swl:revisar seguridad — Revisión de seguridad OWASP (todos los lenguajes)
33
+ /swl:revisar <archivo> — Revisa un archivo específico (detecta lenguaje por extensión)
34
+ ```
35
+
36
+ ## Paso 0 — Detección de tecnología
37
+
38
+ Si no se proporciona argumento, detectar automáticamente:
39
+
40
+ ```bash
41
+ ls package.json pyproject.toml requirements.txt go.mod Cargo.toml \
42
+ *.csproj *.sln build.gradle.kts Package.swift composer.json 2>/dev/null
43
+ ```
44
+
45
+ Reglas de detección:
46
+ - `package.json` con `"next"` → nextjs
47
+ - `package.json` con `"@angular/core"` → angular
48
+ - `package.json` con `"react"` (sin next ni angular) → react
49
+ - `package.json` sin frameworks conocidos → typescript
50
+ - `pyproject.toml` o `requirements.txt` → python
51
+ - `go.mod` → go
52
+ - `Cargo.toml` → rust
53
+ - `*.csproj` o `*.sln` → csharp
54
+ - `build.gradle.kts` → kotlin
55
+ - `Package.swift` → swift
56
+ - `composer.json` → php
57
+ - Múltiples detectados → revisión en paralelo (ver Paso 3b)
58
+
59
+ Si se proporciona un archivo como argumento, detectar por extension:
60
+ `.py` → python | `.go` → go | `.rs` → rust | `.cs` → csharp |
61
+ `.kt` → kotlin | `.swift` → swift | `.php` → php |
62
+ `.ts` / `.tsx` → typescript | `.sql` → sql |
63
+ `.js` / `.jsx` → typescript
64
+
65
+ ## Paso 1 — Determinar alcance
66
+
67
+ ```bash
68
+ # Archivos cambiados respecto a main (preferido)
69
+ git diff --name-only main...HEAD 2>/dev/null
70
+
71
+ # O archivos staged
72
+ git diff --cached --name-only 2>/dev/null
73
+
74
+ # O commits recientes si lo anterior esta vacio
75
+ git diff --name-only HEAD~10 2>/dev/null
76
+ ```
77
+
78
+ Filtrar por extensión del lenguaje detectado. Anunciar al usuario:
79
+
80
+ ```
81
+ Revisión [tecnología]: [N] archivos en alcance
82
+ Agente: [nombre-del-revisor]
83
+ Skills: [lista de skills que cargará]
84
+ ```
85
+
86
+ ## Paso 2 — Tabla de delegación
87
+
88
+ | Argumento | Agente | Skills principales |
89
+ |--------------|---------------------------|-----------------------------------------------------------------|
90
+ | `python` | `revisor-codigo-swl` | `patrones-python`, `fastapi-experto`, `testing-python` |
91
+ | `java` | `revisor-java-swl` | `java-experto`, `java-testing`, `java-patrones` |
92
+ | `go` | `revisor-go-swl` | `go-experto`, `go-testing`, `go-patrones` |
93
+ | `rust` | `revisor-rust-swl` | `rust-experto`, `rust-testing`, `rust-patrones` |
94
+ | `csharp` | `revisor-csharp-swl` | `csharp-experto`, `csharp-testing`, `csharp-patrones` |
95
+ | `kotlin` | `revisor-kotlin-swl` | `kotlin-experto`, `kotlin-testing`, `kotlin-compose` |
96
+ | `swift` | `revisor-swift-swl` | `swift-experto`, `swift-testing`, `swift-patrones` |
97
+ | `php` | `revisor-php-swl` | `php-experto`, `php-testing`, `php-patrones` |
98
+ | `nextjs` | `revisor-nextjs-swl` | `nextjs-experto`, `nextjs-testing`, `nextjs-patrones` |
99
+ | `react` | `revisor-react-swl` | `react-experto`, `react-optimizacion`, `typescript-avanzado` |
100
+ | `angular` | `revisor-angular-swl` | `angular-moderno`, `angular-avanzado`, `typescript-avanzado` |
101
+ | `typescript` | `revisor-typescript-swl` | `typescript-avanzado`, `node-experto` |
102
+ | `sql` | `revisor-codigo-swl` | `postgresql-experto`, `sql-optimizacion` |
103
+ | `seguridad` | `revisor-seguridad-swl` | `checklist-seguridad`, `auth-patrones`, `iam-secretos` |
104
+
105
+ ## Paso 3a — Revisión de un solo stack
106
+
107
+ Construir la instrucción al agente y delegarla con `Agent()`:
108
+
109
+ ```
110
+ Revisa el código [tecnología] del proyecto.
111
+
112
+ Archivos a revisar:
113
+ [lista de archivos filtrados por extension]
114
+
115
+ Carga antes de empezar:
116
+ [skills segun tabla del Paso 2]
117
+
118
+ Aplica revision en dos capas:
119
+
120
+ CAPA 1 — Correctitud y spec compliance:
121
+ - La implementación cumple los requisitos visibles (PLAN.md, criterios de aceptación)
122
+ - No hay scope creep ni código muerto
123
+ - Los casos borde están manejados
124
+
125
+ CAPA 2 — Calidad idiomática del lenguaje [tecnología]:
126
+ - Patrones idiomáticos del lenguaje (no anti-patrones)
127
+ - Error handling correcto y explícito
128
+ - Sin código de debug (console.log, print, breakpoints)
129
+ - Cobertura de tests básica
130
+ - Performance obvios: N+1, loops anidados O(n²), carga innecesaria en memoria
131
+ - Seguridad básica: inputs validados, sin secrets hardcodeados, sin SQL crudo
132
+
133
+ Reporta cada hallazgo con:
134
+ - Archivo y línea exacta
135
+ - Severidad: CRITICO | IMPORTANTE | MENOR
136
+ - Descripción clara del problema
137
+ - Corrección recomendada con fragmento de código cuando aplique
138
+
139
+ Al final, produce un veredicto: APROBADO | CON OBSERVACIONES | RECHAZADO
140
+ ```
141
+
142
+ ## Paso 3b — Revisión de múltiples stacks (auto-detect)
143
+
144
+ Si el proyecto tiene varios lenguajes, lanzar los revisores en paralelo en un mismo mensaje:
145
+
146
+ ```
147
+ Agent("revisor-python", description="Revisar archivos Python del proyecto")
148
+ Agent("revisor-frontend", description="Revisar archivos TypeScript/React/Angular del proyecto")
149
+ Agent("revisor-sql", description="Revisar queries SQL y migraciones del proyecto")
150
+ ```
151
+
152
+ Consolidar los reportes de todos los agentes en un solo reporte final al usuario.
153
+
154
+ ## Paso 4 — Verificaciones automáticas por tecnología
155
+
156
+ Ejecutar ANTES de la revisión manual del agente. Los resultados se incluyen en el reporte.
157
+
158
+ ### Python
159
+ ```bash
160
+ ruff check . --output-format=concise 2>/dev/null
161
+ mypy . --ignore-missing-imports --no-error-summary 2>/dev/null
162
+ pytest --tb=short -q 2>/dev/null
163
+ ```
164
+
165
+ ### Go
166
+ ```bash
167
+ go vet ./... 2>/dev/null
168
+ go test -race ./... 2>/dev/null
169
+ ```
170
+
171
+ ### Rust
172
+ ```bash
173
+ cargo clippy -- -D warnings 2>/dev/null
174
+ cargo test 2>/dev/null
175
+ ```
176
+
177
+ ### C#
178
+ ```bash
179
+ dotnet build -warnaserror 2>/dev/null
180
+ dotnet test 2>/dev/null
181
+ ```
182
+
183
+ ### TypeScript / React / Angular / Next.js
184
+ ```bash
185
+ npx tsc --noEmit 2>/dev/null
186
+ npx eslint src/ --format=compact 2>/dev/null
187
+ npm test -- --watchAll=false --passWithNoTests 2>/dev/null
188
+ ```
189
+
190
+ ### PHP
191
+ ```bash
192
+ vendor/bin/phpstan analyse 2>/dev/null
193
+ php artisan test 2>/dev/null
194
+ ```
195
+
196
+ ### Kotlin
197
+ ```bash
198
+ ./gradlew detekt 2>/dev/null
199
+ ./gradlew test 2>/dev/null
200
+ ```
201
+
202
+ ### Swift
203
+ ```bash
204
+ swift build 2>/dev/null
205
+ swift test 2>/dev/null
206
+ ```
207
+
208
+ ### SQL / PostgreSQL
209
+ ```bash
210
+ # Buscar queries dentro de loops (potencial N+1)
211
+ grep -rn "execute\|query\|SELECT" --include="*.py" --include="*.ts" . 2>/dev/null | head -40
212
+ # Buscar SQL crudo sin parametrizar
213
+ grep -rn 'f"SELECT\|f"INSERT\|f"UPDATE\|"SELECT.*+\|"INSERT.*+' . 2>/dev/null
214
+ ```
215
+
216
+ ### Seguridad (todos los lenguajes)
217
+ ```bash
218
+ # Secrets potenciales
219
+ git grep -i "password\|secret\|api_key\|token\s*=" -- "*.py" "*.ts" "*.js" "*.go" 2>/dev/null | grep -v "test\|spec\|\.example" | head -20
220
+ # Funciones peligrosas
221
+ grep -rn "eval(\|exec(\|shell=True\|pickle.loads\|yaml.load(" . 2>/dev/null | grep -v "test\|spec" | head -20
222
+ ```
223
+
224
+ ## Paso 5 — Reporte consolidado
225
+
226
+ Produce el reporte directamente en la conversación con este formato:
227
+
228
+ ```markdown
229
+ # Revisión de Código — [tecnología]
230
+
231
+ **Proyecto**: [nombre del directorio raíz]
232
+ **Fecha**: [fecha actual]
233
+ **Archivos revisados**: [N]
234
+
235
+ ## Resumen
236
+
237
+ | Severidad | Cantidad |
238
+ |------------|----------|
239
+ | Crítico | N |
240
+ | Importante | N |
241
+ | Menor | N |
242
+
243
+ ## Verificaciones automáticas
244
+
245
+ | Verificación | Resultado |
246
+ |--------------|------------------------|
247
+ | Linter | PASA / N errores |
248
+ | Type check | PASA / N errores |
249
+ | Tests | N pasan, N fallan |
250
+ | Build | PASA / FALLA |
251
+
252
+ ## Hallazgos
253
+
254
+ ### Crítico
255
+
256
+ 1. **[archivo:línea]** — [descripción]
257
+ ```[lang]
258
+ // código problemático
259
+ ```
260
+ **Corrección:**
261
+ ```[lang]
262
+ // código corregido
263
+ ```
264
+
265
+ ### Importante
266
+
267
+ [idem]
268
+
269
+ ### Menor
270
+
271
+ [idem]
272
+
273
+ ## Veredicto
274
+
275
+ **[APROBADO | CON OBSERVACIONES | RECHAZADO]**
276
+
277
+ [Una línea explicando el veredicto]
278
+ ```
279
+
280
+ ## Paso 6 — Revisión multi-agente en paralelo (modo profundo)
281
+
282
+ Cuando el usuario dice `/swl:revisar profundo`, `/swl:revisar --profundo` o
283
+ "revisión completa con todos los agentes":
284
+
285
+ Lanzar **en paralelo** hasta 5 revisores especializados (además del revisor de stack):
286
+
287
+ ```
288
+ Agent("revisor-seguridad-swl", "Auditar seguridad OWASP de archivos cambiados")
289
+ Agent("revisor-codigo-swl", "Auditar errores silenciosos: catch vacíos, except:pass, error checks sin log")
290
+ Agent("tdd-qa-swl", "Evaluar cobertura de tests: gaps críticos, tests faltantes para código nuevo")
291
+ Agent("documentador-swl", "Verificar documentación afectada por los cambios: README, CHANGELOG, docstrings")
292
+ Agent("rendimiento-swl", "Detectar N+1, loops O(n²), carga innecesaria en memoria en archivos cambiados")
293
+ ```
294
+
295
+ Cada agente recibe:
296
+ - Lista de archivos en alcance (del Paso 1)
297
+ - Instrucción de reportar SOLO hallazgos con confianza >= 80%
298
+ - Formato de salida: severidad + archivo:línea + descripción + corrección
299
+
300
+ Consolidar todos los reportes en un solo reporte con secciones por agente:
301
+
302
+ ```markdown
303
+ ## Revisión multi-agente — [N] agentes, [M] hallazgos
304
+
305
+ ### Seguridad (revisor-seguridad-swl)
306
+ [hallazgos o "Sin hallazgos"]
307
+
308
+ ### Errores silenciosos (revisor-codigo-swl)
309
+ [hallazgos o "Sin hallazgos"]
310
+
311
+ ### Cobertura de tests (tdd-qa-swl)
312
+ [hallazgos o "Sin hallazgos"]
313
+
314
+ ### Documentación afectada (documentador-swl)
315
+ [hallazgos o "Sin hallazgos"]
316
+
317
+ ### Rendimiento (rendimiento-swl)
318
+ [hallazgos o "Sin hallazgos"]
319
+ ```
320
+
321
+ ## Reglas de comportamiento
322
+
323
+ - NUNCA corregir código directamente — solo identificar y recomendar.
324
+ - SIEMPRE ejecutar las verificaciones automáticas del Paso 4 antes de delegar al agente.
325
+ - Si los tests fallan es CRITICO sin excepción, independientemente del lenguaje.
326
+ - Para SQL: buscar siempre N+1 queries y SQL crudo sin parametrizar.
327
+ - Para seguridad: aplicar `Skill("checklist-seguridad")` y verificar OWASP Top 10.
328
+ - Si el argumento es un archivo que no existe, informar y terminar.
329
+ - El reporte se emite siempre en la conversación. No crear archivo a menos que el usuario lo pida.
330
+ - En modo profundo: lanzar los 5 agentes en paralelo para máxima eficiencia.