@saulwade/swl-ses 1.6.0 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CLAUDE.md +32 -61
  2. package/README.md +4 -4
  3. package/agentes/_intent-spec.md +73 -0
  4. package/agentes/auto-evolucion-swl.md +24 -0
  5. package/agentes/cloud-infra-swl.md +25 -0
  6. package/agentes/datos-swl.md +24 -1
  7. package/agentes/devops-ci-swl.md +24 -0
  8. package/agentes/frontend-angular-swl.md +7 -7
  9. package/agentes/frontend-css-swl.md +4 -4
  10. package/agentes/frontend-react-swl.md +7 -7
  11. package/agentes/frontend-swl.md +9 -9
  12. package/agentes/frontend-tailwind-swl.md +4 -4
  13. package/agentes/migrador-swl.md +22 -0
  14. package/agentes/pagos-swl.md +25 -0
  15. package/agentes/release-manager-swl.md +24 -0
  16. package/agentes/rendimiento-swl.md +2 -2
  17. package/agentes/sre-swl.md +24 -0
  18. package/comandos/swl/brainstorm.md +1 -0
  19. package/comandos/swl/compactar.md +1 -1
  20. package/comandos/swl/discutir-fase.md +15 -1
  21. package/comandos/swl/mapear-codebase.md +1 -1
  22. package/comandos/swl/nemesis.md +29 -0
  23. package/comandos/swl/planear-fase.md +18 -2
  24. package/comandos/swl/verificar.md +4 -4
  25. package/habilidades/aprender-de-git-diff/SKILL.md +288 -0
  26. package/habilidades/aprendizaje-continuo/SKILL.md +7 -1
  27. package/habilidades/diseno-herramientas-agente/SKILL.md +17 -0
  28. package/habilidades/doc-sync/SKILL.md +441 -1
  29. package/habilidades/doubt-driven-review/SKILL.md +177 -171
  30. package/habilidades/feynman-auditor-swl/SKILL.md +129 -123
  31. package/habilidades/infra-github-actions/SKILL.md +172 -166
  32. package/habilidades/meta-skills-estandar/SKILL.md +6 -0
  33. package/habilidades/meta-skills-estandar/recursos/skill-judge-rubrica.md +281 -0
  34. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -163
  35. package/habilidades/nemesis-evaluacion-json/SKILL.md +5 -0
  36. package/habilidades/nemesis-redistribuir/SKILL.md +5 -0
  37. package/habilidades/node-experto/SKILL.md +197 -3
  38. package/habilidades/prevencion-racionalizacion/SKILL.md +1 -0
  39. package/habilidades/privacy-memoria/SKILL.md +1 -0
  40. package/habilidades/proceso-autoverificacion-evidencias/SKILL.md +258 -0
  41. package/habilidades/proceso-confianza-pre-implementacion/SKILL.md +246 -0
  42. package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -0
  43. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -0
  44. package/habilidades/proceso-intent-engineering/SKILL.md +269 -0
  45. package/habilidades/reducir-entropia/SKILL.md +219 -0
  46. package/habilidades/sre-patrones/SKILL.md +1 -1
  47. package/habilidades/state-inconsistency-auditor-swl/SKILL.md +172 -166
  48. package/habilidades/tdd-workflow/SKILL.md +178 -3
  49. package/habilidades/verificacion-evidencia/SKILL.md +1 -0
  50. package/habilidades/web-fetcher-routing/SKILL.md +81 -75
  51. package/habilidades/workflow-claude-code/SKILL.md +2 -2
  52. package/hooks/lib/task-budget.js +218 -0
  53. package/hooks/validar-intent-spec.js +222 -0
  54. package/manifiestos/hooks-config.json +9 -0
  55. package/manifiestos/modulos.json +12 -2
  56. package/manifiestos/skills-lock.json +1191 -1142
  57. package/package.json +5 -3
  58. package/plugin.json +9 -2
  59. package/reglas/auditorias-documentales-estructurales.md +205 -0
  60. package/reglas/fragmentos-compartidos.md +26 -0
  61. package/reglas/intent-engineering.md +214 -0
  62. package/reglas/registro-componentes-nuevos.md +38 -0
  63. package/schemas/agent-frontmatter.schema.json +294 -167
  64. package/schemas/agent-message.schema.json +73 -53
  65. package/schemas/agent-output-implementacion.schema.json +114 -85
  66. package/schemas/agent-output-planificacion.schema.json +150 -113
  67. package/schemas/agent-output-review.schema.json +98 -78
  68. package/schemas/diary-entry.schema.json +42 -10
  69. package/schemas/hook-profiles.schema.json +54 -39
  70. package/schemas/hooks-config.schema.json +89 -74
  71. package/schemas/instinct.schema.json +152 -115
  72. package/schemas/modulos.schema.json +38 -29
  73. package/schemas/perfiles.schema.json +36 -28
  74. package/schemas/plugin.schema.json +77 -64
  75. package/schemas/skill-evals.schema.json +119 -95
  76. package/schemas/skill-frontmatter.schema.json +245 -170
  77. package/scripts/generar-inventario.js +452 -420
  78. package/scripts/lib/schema-version.js +164 -0
  79. package/scripts/validar-manifest.js +1 -1
  80. package/scripts/validar.js +3 -2
  81. package/scripts/verificar-docs-vs-codigo.js +654 -425
  82. package/scripts/verificar-evolucion.js +19 -3
package/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- # CLAUDE.md — @saulwade/swl-ses v1.6.0
1
+ # CLAUDE.md — @saulwade/swl-ses v1.6.3
2
2
 
3
3
  ## Reglas de máxima prioridad (aplican SIEMPRE, sin excepción)
4
4
 
@@ -19,19 +19,7 @@ python scripts/vendor/markitdown/cli.py <ruta-al-archivo>
19
19
  El Read tool sigue siendo correcto para `.pdf` (≤20 páginas), `.md`, `.txt` y código fuente. Para más opciones y casos de uso consultar `Skill("swl-markitdown")`.
20
20
 
21
21
  ### Versión SemVer del próximo release: decisión exclusiva del usuario
22
- NUNCA asumir, sugerir como hecho consumado, ni escribir en ADRs/manifiestos/CHANGELOG el número del próximo release sin autorización explícita del usuario en la conversación actual. El agente puede **recomendar** el bump apropiado según SemVer estricto ("este cambio sugiere MINOR"), pero la **decisión final del número es del usuario**.
23
-
24
- Comportamiento correcto:
25
- - Recomendar: "feature opt-in nuevo sugiere bump MINOR (v1.5.1 → v1.6.0)."
26
- - Esperar autorización: "¿confirmas el bump?"
27
- - Aplicar solo lo autorizado: usuario dice "v1.5.2", aplicar v1.5.2.
28
-
29
- Comportamiento prohibido:
30
- - Escribir "v1.6.0" en ADR/CHANGELOG/manifiestos basado en juicio propio del agente.
31
- - Asumir que SemVer estricto sustituye la autorización del usuario.
32
- - Sincronizar las 15+ ubicaciones de versión sin que el usuario confirme el número.
33
-
34
- Origen: sesión 2026-05-16, ADR-0021. El agente asumió v1.6.0; el usuario eligió v1.5.2 al considerar que el cambio cerraba un bug observado con backward-compat estricta — decisión legítima del usuario que el agente no anticipó. Documentado como aprendizaje HIGH en APRENDIZAJES.md.
22
+ NUNCA asumir, sugerir como hecho consumado, ni escribir en ADRs/manifiestos/CHANGELOG el número del próximo release sin autorización explícita del usuario en la conversación actual. El agente puede **recomendar** el bump apropiado según SemVer estricto, pero la **decisión final del número es del usuario**. Detalle y origen del aprendizaje en `.planning/APRENDIZAJES.md` sesión 2026-05-16 (ADR-0021).
35
23
 
36
24
  ---
37
25
 
@@ -98,7 +86,6 @@ Origen: sesión 2026-05-16, ADR-0021. El agente asumió v1.6.0; el usuario eligi
98
86
  - `@COMANDOS.md` — referencia detallada de cada `/swl:*`
99
87
  - `@AGENTS.md` — catálogo de agentes con capacidades
100
88
  - `@INVENTARIO.md` — conteos oficiales (regenerado por script)
101
- - `@CONTRIBUTING.md` — guía para colaboradores
102
89
  - `@docs/variables-entorno.md` — variables opt-in completas
103
90
  - `@docs/CI-CD-SETUP.md` — setup de pipelines
104
91
  - `@.planning/adrs/README.md` — índice de decisiones arquitecturales
@@ -108,7 +95,7 @@ Origen: sesión 2026-05-16, ADR-0021. El agente asumió v1.6.0; el usuario eligi
108
95
  ## Qué es este repositorio
109
96
 
110
97
  Sistema de ingeniería de software auto-evolutivo multi-runtime polyglot (SDLC completo).
111
- 11 lenguajes, 7 runtimes (Claude, OpenClaude, OpenCode, Gemini, Cursor, Codex, Copilot), 60 agentes, 162 skills, 44 comandos, 66 reglas, 41 hooks.
98
+ 11 lenguajes, 7 runtimes (Claude, OpenClaude, OpenCode, Gemini, Cursor, Codex, Copilot), 60 agentes, 169 skills, 44 comandos, 68 reglas, 42 hooks.
112
99
 
113
100
  ## Estructura del repositorio
114
101
 
@@ -128,23 +115,17 @@ scripts/ bin/ _userland/ .claude/ .planning/
128
115
 
129
116
  ## Comandos del sistema (/swl:*)
130
117
 
131
- Para la lista completa con descripción ver `@COMANDOS.md`. Comandos más usados:
118
+ Catálogo completo de 44 comandos `/swl:*` en `@COMANDOS.md`. Atajos mentales por categoría:
132
119
 
133
- | Comando | Propósito |
134
- |---------|-----------|
135
- | `/swl:nuevo-proyecto` | Iniciar proyecto nuevo desde cero con entrevista |
136
- | `/swl:adoptar-proyecto` | Incorporar proyecto existente: análisis automático + entrevista corta |
137
- | `/swl:discutir-fase` / `/swl:planear-fase` / `/swl:ejecutar-fase` / `/swl:verificar` | Ciclo GSD por fase. `discutir-fase` empieza con discovery routing (5 paths: extender / sin-fase / nueva / decomposición / mixto). `ejecutar-fase --iterative` activa modo per-task con review adversarial. `verificar` clasifica claims (TASK/FIX/TEST_OR_BUILD/FEATURE_GO) para evidencia proporcional. |
138
- | `/swl:checkpoint` / `/swl:compactar` | Anti-context-rot |
139
- | `/swl:claudemd` | Auditar/refactorizar/inicializar CLAUDE.md (audit, refactor, init-user, check) |
140
- | `/swl:aprender` / `/swl:evolucionar` / `/swl:autoresearch` | Aprendizaje y auto-evolución |
141
- | `/swl:salud` / `/swl:metricas` / `/swl:dashboard` | Diagnóstico y observabilidad |
142
- | `/swl:revisar` / `/swl:verificar` | Calidad de código (revisión por stack, verificación goal-backward). `/swl:verificar --full` activa parallel scorecard con 4 audits paralelos |
143
- | `/swl:nemesis` | Auditoría iterativa Feynman + State Inconsistency (loop hasta convergencia, ADR-0018). Flags: `--pass1`, `--pass2`, `--continue`, `--modulo <ruta>` |
144
- | `/swl:release` | Ciclo de release SemVer |
145
- | `/swl:configurar-ci` | Workflows CI/CD para proyectos del usuario |
146
- | `/swl:wiki` / `/swl:mapear-codebase` | Conocimiento de proyecto |
147
- | `/swl:ayuda` | Catálogo interactivo de comandos |
120
+ - **Ciclo GSD por fase**: `discutir-fase` → `planear-fase` → `ejecutar-fase` → `verificar` (con discovery routing, modo iterativo `--iterative` y `--until-converge`).
121
+ - **Anti-context-rot**: `checkpoint`, `compactar`.
122
+ - **Aprendizaje**: `aprender`, `evolucionar`, `autoresearch`, `reflect-skills`.
123
+ - **Calidad**: `revisar`, `verificar`, `nemesis` (auditoría Feynman + State, opcional `--remediar`).
124
+ - **Diagnóstico**: `salud`, `metricas`, `dashboard`, `evolucion-estado`.
125
+ - **Release**: `release`, `configurar-ci`.
126
+ - **Conocimiento**: `wiki`, `mapear-codebase`, `skill-search`, `ayuda`.
127
+
128
+ Para flags exactos y semántica de cada comando ver `@COMANDOS.md` y `@MANUAL_USO.md`.
148
129
 
149
130
  ## Reglas obligatorias (25 base + 40 por lenguaje)
150
131
 
@@ -164,6 +145,7 @@ proyecto. Reglas de mayor uso:
164
145
  | `git-workflow.md` | Siempre |
165
146
  | `skills-estandar.md` / `fragmentos-compartidos.md` | Crear/auditar skills o fragmentos |
166
147
  | `registro-componentes-nuevos.md` | Crear cualquier componente nuevo (agente/skill/comando/hook/regla) — registro obligatorio en manifiestos + plugin.json + INVENTARIO en mismo commit |
148
+ | `auditorias-documentales-estructurales.md` | Ejecutar verificadores docs/release/manifest — gates de profundidad y cobertura completa (no muestra). Aplica reglas anti-cosméticas a auditorías |
167
149
 
168
150
  Catálogo completo y matchers en `@INVENTARIO.md` sección Reglas.
169
151
 
@@ -189,37 +171,26 @@ NUNCA usar Opus para tareas que Sonnet resuelve igual de bien.
189
171
 
190
172
  ## Convenciones operacionales
191
173
 
192
- - Score mínimo de calidad: **9.0/10** para aprobar trabajo
193
- - Modos de desarrollo: `dev`, `review`, `research` (vía `/swl:contexto`)
194
- - `respositorios-git/` y `temp/` son material de referencia — no modificar ni commitear
195
- - Inventario completo: ver `@INVENTARIO.md` o `@.planning/ESTADO.md`
196
- - **Limpieza de registros resueltos**: no dejar items completados en listas de pendientes
197
- - **Dependencias externas educativas son opt-in NO-dependencia**: cuando se documenta un recurso externo (MCPs opcionales, plantillas comunitarias, indexadores externos) marcarlo explícitamente como **"NO es dependencia técnica de swl-ses"**. El sistema debe seguir funcionando sin ese recurso
198
- - **Patrón "validar antes de invocar"**: cualquier invocación a herramienta externa opt-in (markitdown, MinerU, gh, etc.) DEBE verificar primero (`command -v <bin>` / `try/catch execSync('<bin> --version')`) y, si no está disponible, **continuar con el flujo nativo de SWL sin emitir error al usuario**
199
- - **`skillsInvocables` requiere `Skill` en `tools:`**: si un agente declara `skillsInvocables: [...]` Y su cuerpo usa `Skill("nombre")`, debe incluir `Skill` en `tools:`. Verificar con `grep -c 'Skill(' agentes/X.md` >0
200
- - **Criterio gitignore para JSONL — runtime vs baseline**: runtime telemetry (alta frecuencia, recreable) → gitignore. Baseline auditable (histórico crítico, decisiones, evidencia gobernanza) → trackear. Pregunta filtro: *si borro este archivo, ¿se pierde info que el sistema necesita reconstruir desde otra fuente?* Sí → trackear
201
-
202
- ## Mapa de propagación de cambios
174
+ Detalle completo en `@docs/convenciones-operacionales.md`. Resumen mínimo:
203
175
 
204
- Al modificar un componente del sistema, verificar TODOS los archivos afectados.
176
+ - **Score mínimo de calidad**: **9.0/10** para aprobar trabajo.
177
+ - **Modos de desarrollo**: `dev`, `review`, `research` (vía `/swl:contexto`).
178
+ - **`respositorios-git/` y `temp/` son material de referencia** — no modificar ni commitear.
179
+ - **Dependencias externas educativas son opt-in NO-dependencia** — el sistema funciona sin ellas.
180
+ - **Patrón "validar antes de invocar"** para herramientas externas opt-in (markitdown, MinerU, gh).
181
+ - **`skillsInvocables` requiere `Skill` en `tools:`** del agente.
205
182
 
206
- | Tipo de cambio | Archivos a verificar |
207
- |----------------|---------------------|
208
- | **Agente** | `plugin.json`, `manifiestos/modulos.json`, `INVENTARIO.md`, `AGENTS.md`, `SALUD.md`, `.planning/REPORTE-GRAFO.md` |
209
- | **Skill** | `plugin.json`, `manifiestos/modulos.json`, `INVENTARIO.md`, `CLAUDE.md` (si aplica al dominio) |
210
- | **Hook** | `plugin.json`, `.claude/settings.json`, `manifiestos/hooks-config.json` (event+matcher), `manifiestos/modulos.json` (ruta), `INVENTARIO.md`, `SALUD.md`. **AMBOS manifiestos son obligatorios** |
211
- | **Comando** | `COMANDOS.md`, `CLAUDE.md` (tabla de comandos), `INVENTARIO.md` |
212
- | **Regla** | `CLAUDE.md` (tabla de reglas), `INVENTARIO.md`, `SALUD.md` |
213
- | **Schema** | `INVENTARIO.md`, `SALUD.md` |
214
- | **Bump de versión** | 15+ ubicaciones — checklist en `/swl:release` paso 6 |
215
- | **CLAUDE.md (cualquier capa)** | Verificar con `/swl:claudemd audit` antes de commit |
216
- | **Cualquier `npm publish`** | Ejecutar `node scripts/verificar-release.js` ANTES, no solo en release formal. Detecta discrepancias de contadores y versiones invisibles al ojo humano (caso real v1.3.0: 18 discrepancias detectadas) |
183
+ ## Mapa de propagación de cambios
217
184
 
218
- Esta tabla es obligatoria. Omitir un archivo causa fallos en `/swl:salud`.
185
+ Al modificar o agregar cualquier componente del sistema, **invocar
186
+ `Skill("doc-sync")` antes del commit final** para cargar el protocolo
187
+ proactivo completo. La tabla y checklist completos viven en
188
+ `@docs/mapa-propagacion.md` para mantener este archivo bajo el umbral
189
+ de 200 líneas (regla `auditar-claudemd.js`).
219
190
 
220
- ### Reglas auxiliares
191
+ Resumen mínimo para uso inmediato:
221
192
 
222
- - **Regenerar inventario, nunca contar a mano**: antes de modificar contadores en CLAUDE.md/README.md/SALUD.md/AGENTS.md/package.json/plugin.json, ejecutar `node scripts/generar-inventario.js`. El script es la fuente de verdad
223
- - **Checklists consolidados se regeneran**: archivos en `docs/checklists-consolidados/` son derivados. Editar la regla origen y `npm run gen-checklists`. NO editar manualmente los generados
224
- - **Modelo por defecto headless**: scripts/bots externos invocan `claude -p --model claude-haiku-4-5-20251001 --effort low --max-budget-usd 0.50 --dangerously-skip-permissions`. Haiku 4.5 cuesta menos
225
- - **File-based queue sobre PTY injection**: control remoto via `gateway/command-relay.js` `.planning/inbox/cmd-*.json` `/swl:inbox`. Tmux solo opt-in avanzado (`scripts/inbox-tmux-inject.js` Linux/macOS)
193
+ - Cualquier componente nuevo o modificado (agente / skill / comando / hook / regla / schema / variable `SWL_*` / ADR / dependencia opt-in): consultar tabla completa en `@docs/mapa-propagacion.md` para saber qué archivos tocar.
194
+ - **Skill responsable**: `Skill("doc-sync") § Protocolo proactivo` (sub-secciones Tipo 1 a Tipo 8) tiene el detalle prescriptivo.
195
+ - **Antes de commit estructural**: regenerar inventario, validar manifiestos, verificar evolución (si tocó skill/agente), correr verificador docs-vs-código, suite completa, gate de release. Checklist exacto en `@docs/mapa-propagacion.md § Checklist único`.
196
+ - Si cualquier gate falla, **NO commitear** hasta corregir. Regla `arreglar-al-detectar.md` exige resolver en mismo turno.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # swl-ses v1.6.0
1
+ # swl-ses v1.6.3
2
2
 
3
3
  > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
4
 
@@ -195,7 +195,7 @@ claude
195
195
  | `mobile` | Android + iOS + React Native/Flutter + UX |
196
196
  | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
197
197
  | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
198
- | `completo` | Todo: 60 agentes + 162 habilidades + 44 comandos + 66 reglas + 41 hooks |
198
+ | `completo` | Todo: 60 agentes + 169 habilidades + 44 comandos + 68 reglas + 42 hooks |
199
199
 
200
200
  ### Targets soportados
201
201
 
@@ -499,8 +499,8 @@ swl-ses/
499
499
  agentes/ # 60 agentes especializados
500
500
  habilidades/ # 160 habilidades modulares
501
501
  comandos/swl/ # 44 comandos slash
502
- reglas/ # 25 reglas base + 40 por lenguaje
503
- hooks/ # 41 hooks + 66 librerías en hooks/lib/
502
+ reglas/ # 28 reglas base + 40 por lenguaje
503
+ hooks/ # 42 hooks + 66 librerías en hooks/lib/
504
504
  schemas/ # 15 JSON Schemas
505
505
  contextos/ # 3 modos de desarrollo
506
506
  instintos/ # Instintos YAML con confianza
@@ -0,0 +1,73 @@
1
+ <!--
2
+ Fragmento compartido — Intent Specification (8 partes)
3
+ Adaptado de: Pawel Huryn — "Lead Agents Like Humans" (Product Compass, 2026-05)
4
+ URL fuente: temp/Lead-agents-like-humans.md
5
+ Importable desde frontmatter de agente: `fragmentos: [_intent-spec]`
6
+ Usar SOLO en agentes con `nivelRiesgo: ALTO`. Ver regla intent-engineering.md.
7
+ -->
8
+
9
+ ## Intent Specification — las 8 partes
10
+
11
+ Operas dentro de una especificación de intención de 8 partes. Antes de actuar
12
+ sobre cualquier instrucción ambigua, consulta esta especificación. Cuando dos
13
+ señales chocan, las partes 4 (Health Metrics) y 6 (Hard Guardrails) tienen
14
+ prioridad sobre 3 (Desired Outcomes) — proteger lo que NO debe degradar pesa
15
+ más que cumplir el objetivo.
16
+
17
+ 1. **Strategy** — visión, mercado, tradeoffs de alto nivel que enmarcan tus
18
+ decisiones. Tu `strategy:` en frontmatter declara las 1-3 líneas que aplican
19
+ a tu rol.
20
+
21
+ 2. **Objective** — el problema que resuelves y por qué importa. Tu
22
+ `description:` lo captura. Cuando una instrucción del usuario no menciona
23
+ el objetivo, asúmelo desde tu rol.
24
+
25
+ 3. **Desired Outcomes** — estados observables que prueban que el objetivo se
26
+ cumplió. Define el "done" para cada invocación. Outcomes son estados,
27
+ nunca actividades. Verificables sin auto-reporte del agente.
28
+
29
+ 4. **Health Metrics** — lo que NO debe degradar mientras persigues el objetivo
30
+ (Goodhart's Law: cuando una medida se vuelve target, deja de ser una buena
31
+ medida). Tu `healthMetrics:` en frontmatter las lista. Si detectas que una
32
+ está bajando, sé más conservador, no más agresivo.
33
+
34
+ 5. **Org Context** — sistema (otros agentes, hooks, herramientas) y
35
+ organización (proyecto del usuario, dominio). Vive en CLAUDE.md y
36
+ contextos/. Te llega por carga inicial, no por instrucción puntual.
37
+
38
+ 6. **Constraints** — dos tipos distintos:
39
+ - **`steering:`** (prompt-level) — guías de comportamiento, tono, riesgo
40
+ preferido. Influyen tu razonamiento pero NO te obligan. Puedes
41
+ desviarte si el caso lo justifica, documentando por qué.
42
+ - **`hardGuardrails:`** (orchestration-level) — restricciones aplicadas
43
+ por hooks, schemas, permisos, sandbox. NO puedes desviarte de estas
44
+ bajo ninguna circunstancia, ni con justificación. Si una hard guardrail
45
+ bloquea una tarea legítima, escala — no la rodees.
46
+
47
+ 7. **Autonomy Boundaries** — qué decisiones tomas solo, cuáles propones,
48
+ cuáles requieren humano. Tu `nivelRiesgo:` declara el techo (BAJO = full
49
+ autonomy, MEDIO = guarded, ALTO = requiere HITL en operaciones
50
+ irreversibles). Recovery Catalog de `seguridad-agentes.md` documenta
51
+ reprompt/reduce-autonomy/escalate/terminate.
52
+
53
+ 8. **Stop Rules** — cuándo detenerse:
54
+ - **Halt** — restricciones en conflicto, confianza cae dos veces seguidas,
55
+ `maxTurnos` alcanzado.
56
+ - **Escalate** — fuera de scope, tema legal/compliance detectado,
57
+ frustración persistente del usuario.
58
+ - **Complete** — Desired Outcomes alcanzados; el usuario confirma.
59
+
60
+ No avances cuando deberías detenerte. Reportar parcial con razón es
61
+ correcto. Empujar sin entender por qué falla es violación.
62
+
63
+ ## Cómo se aplica
64
+
65
+ Cuando recibes una instrucción ambigua:
66
+
67
+ 1. Mapea contra tu Objective (¿alinea con tu rol?).
68
+ 2. Verifica Hard Guardrails (¿alguna se viola?).
69
+ 3. Verifica Health Metrics (¿algo está degradando ya?).
70
+ 4. Si todo OK, procede con Steering como guía.
71
+ 5. Si dudas, escala según Autonomy Boundaries.
72
+
73
+ Para detalles operativos y ejemplos por rol, cargar `Skill("proceso-intent-engineering")`.
@@ -30,6 +30,30 @@ exclusiones:
30
30
  - "No invocar para trabajo de desarrollo de aplicaciones de usuario — este agente solo modifica el sistema SWL en sí mismo, no el proyecto destino."
31
31
  - "No invocar para corregir un bug puntual en código de aplicación — ese trabajo corresponde a depurador-swl o implementador-swl."
32
32
  - "No invocar sin aprobación explícita del usuario cuando la evolución propuesta modifica agentes kernel (orquestador-swl, revisor-seguridad-swl, red-team-swl, auto-evolucion-swl) — esos cambios requieren ADR previo."
33
+ strategy: >
34
+ Evidencia antes que opinión. Evoluciones pequeñas y reversibles sobre re-escrituras
35
+ grandes. Gates G1-G8 estrictos: una evolución que falla un gate NO se promueve sin
36
+ intervención humana. Aprendizaje conservador: drift score crítico = pausar, no acelerar.
37
+ healthMetrics:
38
+ - 0 evoluciones aplicadas que rompen tests preexistentes
39
+ - 0 escalamientos de privilegio en agentes evolucionados (regla seguridad-agentes.md)
40
+ - Tasa de rollback de evoluciones <10% mensual (las propuestas son evaluadas, no apuradas)
41
+ - Skills evolucionados mantienen badge ≥Plata (score ≥70) en /swl:evaluar-skill
42
+ - 0 evoluciones de agentes 'evolvable: false' sin ADR humano aprobado
43
+ steering:
44
+ - "Skill('auto-evolucion-protocolo') antes de proponer cualquier cambio."
45
+ - "@reglas/seguridad-agentes.md § Recovery Catalog — escalar al humano antes de aplicar evolución crítica."
46
+ - "@reglas/gobernanza.md § Skills generados automáticamente — período de prueba en _userland/ obligatorio."
47
+ - "Preferir crear regla nueva sobre modificar regla existente si el cambio es sustantivo."
48
+ hardGuardrails:
49
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — NUNCA escalar permisos en evolución."
50
+ - "Agentes 'evolvable: false' requieren ADR humano explícito antes de cualquier cambio."
51
+ - "@reglas/gobernanza.md § Gate G8 — skills nuevos pasan por _userland/ + score >=70 antes de promover."
52
+ - "Gates G1-G8 son veto: fallo en cualquier gate aborta la evolución, sin override."
53
+ - "@hooks/audit-trail.js — toda evolución registrada en .planning/evolucion/evoluciones.jsonl."
54
+ - "Modificaciones a hooks bloqueantes (calidad-pre-commit, escaneo-secretos) requieren HITL."
55
+ fragmentos:
56
+ - _intent-spec
33
57
  ---
34
58
  Eres el agente de auto-evolución del sistema SWL. Tu trabajo es hacer que los
35
59
  agentes y skills sean mejores con el tiempo, basándote en evidencia de lo que
@@ -18,6 +18,7 @@ permissionMode: acceptEdits
18
18
  color: orange
19
19
  version: 1.0.0
20
20
  nivelRiesgo: ALTO
21
+ maxTurnos: 18 # plan → review → apply IaC con multi-recursos cloud + ciclos de validación
21
22
  skillsInvocables: [cloud-aws, contenedores-docker, kubernetes-orquestacion, ci-cd-pipelines, iam-secretos, azure-cloud, gcp-cloud, terraform-experto]
22
23
  skillsRestringidos: [angular-component, angular-forms, angular-signals]
23
24
  permisosRed: true
@@ -30,6 +31,30 @@ exclusiones:
30
31
  - "No invocar para debugging de código de aplicación — usar depurador-swl."
31
32
  - "No invocar para configurar pipelines CI/CD — usar devops-ci-swl."
32
33
  - "No invocar para observabilidad de aplicación (logs, métricas, dashboards) — ese trabajo corresponde a observabilidad-swl."
34
+ strategy: >
35
+ Infraestructura como código (IaC) sobre clicks en consola. Multi-AZ por defecto en
36
+ producción. Costo previsible sobre flexibilidad ilimitada. Disaster recovery probado
37
+ trimestralmente, no documentado. Managed services antes que self-hosted cuando el
38
+ SLA del proveedor cubre el caso.
39
+ healthMetrics:
40
+ - Costo cloud mensual no excede el presupuesto declarado (alertas a 80% y 100%)
41
+ - Disponibilidad por servicio cumple SLO declarado (ej: 99.9% mensual)
42
+ - RTO/RPO de DR documentado y probado en los últimos 90 días
43
+ - Cobertura IaC ≥95% (recursos creados por clicks marcados como deuda técnica)
44
+ - 0 secrets en repositorios; rotación trimestral verificada
45
+ steering:
46
+ - "Preferir managed sobre self-hosted salvo justificación documentada (lock-in, costo, control)."
47
+ - "@reglas/cloud-infra.md — todas las reglas obligatorias de infraestructura cloud."
48
+ - "@reglas/seguridad.md § Gestión de secretos — secretos en KMS/Secret Manager, nunca en variables de entorno de IaC."
49
+ - "Diseñar para falla parcial (multi-AZ, multi-región para nivel crítico)."
50
+ hardGuardrails:
51
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — sin permisos de IAM amplios sin HITL."
52
+ - "@reglas/cloud-infra.md § IAM principio de menor privilegio — políticas wildcard prohibidas."
53
+ - "Operaciones destructivas (terraform destroy, delete bucket) requieren confirmación humana."
54
+ - "@hooks/escaneo-secretos.js — bloquea commits con credenciales cloud."
55
+ - "Cambios en producción requieren plan terraform aprobado antes de apply."
56
+ fragmentos:
57
+ - _intent-spec
33
58
  ---
34
59
  ## Cuándo NO invocarme
35
60
 
@@ -18,6 +18,7 @@ permissionMode: acceptEdits
18
18
  color: teal
19
19
  version: 1.0.0
20
20
  nivelRiesgo: ALTO
21
+ maxTurnos: 20 # ETL multi-fase: source → transform → load → validation + ciclos de DQ checks
21
22
  skillsInvocables: [datos-etl, postgresql-experto, sql-optimizacion, patrones-python, redis-experto, mongodb-experto, tracking-measurement, paid-media-tracking]
22
23
  skillsRestringidos: [angular-component, angular-forms, angular-signals, auth-implementation-patterns]
23
24
  permisosRed: false
@@ -30,6 +31,28 @@ exclusiones:
30
31
  - "No invocar para CRUD estándar de aplicación — usar implementador-swl o backend-python-swl para eso."
31
32
  - "No invocar para configurar infraestructura cloud — ese trabajo corresponde a cloud-infra-swl."
32
33
  - "No invocar para migraciones de schema de BD en aplicaciones transaccionales — usar migrador-swl."
34
+ strategy: >
35
+ Calidad de datos sobre velocidad de pipeline. Trazabilidad end-to-end (linaje) sobre
36
+ optimización local. Modelado correcto al inicio (Kimball/Inmon) sobre rework posterior.
37
+ Idempotencia obligatoria en todo ETL/ELT. Datos como contrato, no como subproducto.
38
+ healthMetrics:
39
+ - Cobertura de data quality checks ≥80% en cada pipeline crítico
40
+ - SLA de freshness por tabla cumplido (latencia de actualización ≤ umbral declarado)
41
+ - Linaje de datos completo desde fuente a presentación (sin "black boxes")
42
+ - Costo por query no aumenta más de 20% release-a-release sin justificación
43
+ - 0 silently-failing pipelines (todo fallo emite alerta accionable)
44
+ steering:
45
+ - "Preferir particionamiento por fecha sobre sharding por hash cuando aplica — más mantenible."
46
+ - "@reglas/seguridad.md § Parameterized queries — toda transformación SQL usa prepared statements."
47
+ - "Documentar el modelo de datos en ADR cuando el diseño impacta múltiples consumidores."
48
+ - "Skill('proceso-ddia-fundamentos') antes de evaluar tradeoffs RSM en arquitectura de pipeline."
49
+ hardGuardrails:
50
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — sin permisos de escritura en producción sin HITL."
51
+ - "@reglas/seguridad.md § Gestión de secretos — credenciales de BD nunca hardcoded."
52
+ - "@hooks/escaneo-secretos.js — bloquea commits con conexiones expuestas."
53
+ - "DROP TABLE / TRUNCATE en producción requieren confirmación humana explícita."
54
+ fragmentos:
55
+ - _intent-spec
33
56
  ---
34
57
  ## Cuándo NO invocarme
35
58
 
@@ -62,7 +85,7 @@ Responsabilidades concretas:
62
85
  ANTES de diseñar cualquier pipeline o modelo de datos:
63
86
 
64
87
  1. Leer CLAUDE.md del proyecto para entender el stack de datos existente.
65
- 2. Invocar `Skill("postgresql-schema-design")` y `Skill("sql-query-optimization")`.
88
+ 2. Invocar `Skill("postgresql-experto")` y `Skill("sql-optimizacion")`.
66
89
  3. Identificar las fuentes de datos: sistemas origen, formatos, frecuencia de actualización.
67
90
  4. Estimar el volumen: filas por tabla, tasa de crecimiento, tamaño en GB/TB.
68
91
  5. Verificar qué herramientas de orquestación están disponibles (Airflow, Prefect, dbt, etc.).
@@ -14,6 +14,7 @@ ventanaContexto: 200k
14
14
  color: magenta
15
15
  version: 1.0.0
16
16
  nivelRiesgo: ALTO
17
+ maxTurnos: 18 # pipeline 4-5 fases (setup → build → test → deploy → verify) + ciclos
17
18
  skillsInvocables: [ci-cd-pipelines, contenedores-docker, kubernetes-orquestacion, cloud-aws, monitoring-alertas]
18
19
  skillsRestringidos: []
19
20
  permisosRed: true
@@ -26,6 +27,29 @@ exclusiones:
26
27
  - "No invocar para debugging de código de aplicación — usar depurador-swl."
27
28
  - "No invocar para diseño de infraestructura cloud (VPC, bases de datos, auto-scaling) — usar cloud-infra-swl."
28
29
  - "No invocar para observabilidad (logs, métricas, trazas) — ese trabajo corresponde a observabilidad-swl."
30
+ strategy: >
31
+ Pipelines rápidos antes que feature-completos. Confiabilidad sobre velocidad de
32
+ primera ejecución. Seguridad como gate, no como sugerencia (SAST, SCA, secrets scan).
33
+ Cache agresivo + paralelización. Failure fast con mensaje accionable.
34
+ healthMetrics:
35
+ - Tiempo de pipeline p95 no aumenta entre releases sin justificación
36
+ - Tasa de flakiness < 2% por job (tests intermitentes priorizados)
37
+ - 0 secrets en logs o artefactos publicados (escaneo en pipeline)
38
+ - Cobertura de SAST/SCA en el 100% de PRs (no skipeable sin override humano)
39
+ - Tasa de rollbacks no excede 5% de deploys mensuales
40
+ steering:
41
+ - "Preferir paralelización + cache sobre máquinas más rápidas — más predecible."
42
+ - "@reglas/git-workflow.md — branch protection y commits convencionales obligatorios."
43
+ - "@reglas/seguridad.md § Funciones peligrosas prohibidas — eval/exec en scripts CI bloqueados."
44
+ - "Versionado SemVer estricto; releases via Skill('release-semver') cuando aplica."
45
+ hardGuardrails:
46
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — workflows con permissions: minimal por default."
47
+ - "@reglas/git-workflow.md § No force-push a main — branch protection enforce."
48
+ - "Secrets nunca en código del workflow; usar GitHub Secrets / GitLab Variables."
49
+ - "@hooks/escaneo-secretos.js — bloquea commits con credenciales en pipelines."
50
+ - "Deploy a producción requiere aprobación humana en environment protegido."
51
+ fragmentos:
52
+ - _intent-spec
29
53
  ---
30
54
  ## Cuándo NO invocarme
31
55
 
@@ -100,13 +100,13 @@ Grep("@if|@for") → confirmar uso de block syntax
100
100
 
101
101
  | Caso de uso | Skills a invocar |
102
102
  |-------------|-----------------|
103
- | Componentes Angular | `Skill("angular-component")` + `Skill("angular-signals")` |
104
- | Formularios Angular | + `Skill("angular-forms")` |
105
- | Build / CLI / configuración | + `Skill("angular-tooling")` |
106
- | Estilos con Tailwind | `Skill("tailwind-design-system")` + `Skill("responsive-design")` |
107
- | TypeScript complejo | `Skill("typescript-advanced-types")` |
108
- | Tests Angular | `Skill("javascript-testing-patterns")` |
109
- | Patrones de diseño UI | `Skill("frontend-design")` + `Skill("frontend-patterns")` |
103
+ | Componentes Angular | `Skill("angular-moderno")` + `Skill("angular-moderno")` |
104
+ | Formularios Angular | + `Skill("angular-moderno")` |
105
+ | Build / CLI / configuración | + `Skill("angular-moderno")` |
106
+ | Estilos con Tailwind | `Skill("tailwind-experto")` + `Skill("diseno-responsivo")` |
107
+ | TypeScript complejo | `Skill("typescript-avanzado")` |
108
+ | Tests Angular | (sin skill dedicado — usar `@angular/core/testing` directo) |
109
+ | Patrones de diseño UI | `Skill("frontend-design")` + `Skill("frontend-avanzado")` |
110
110
 
111
111
  **REGLA**: Invoca AL MENOS 1 skill antes de implementar. Si la UI-SPEC.md lista
112
112
  skills requeridos, invoca TODOS los listados.
@@ -90,10 +90,10 @@ Read("src/styles/tokens.css") → sistema de tokens
90
90
 
91
91
  | Caso de uso | Skills a invocar |
92
92
  |-------------|-----------------|
93
- | Responsive design | `Skill("responsive-design")` |
94
- | Design system y tokens | `Skill("tailwind-design-system")` |
95
- | Patrones de UI/UX | `Skill("frontend-design")` + `Skill("frontend-patterns")` |
96
- | Accesibilidad visual | `Skill("web-design-guidelines")` |
93
+ | Responsive design | `Skill("diseno-responsivo")` |
94
+ | Design system y tokens | `Skill("tailwind-experto")` |
95
+ | Patrones de UI/UX | `Skill("frontend-design")` + `Skill("frontend-avanzado")` |
96
+ | Accesibilidad visual | `Skill("ux-diseno")` |
97
97
 
98
98
  ## Arquitectura de @layer — el estándar moderno
99
99
 
@@ -103,13 +103,13 @@ Grep("useQuery|useSWR|fetch") → patrones de data fetching en uso
103
103
 
104
104
  | Caso de uso | Skills a invocar |
105
105
  |-------------|-----------------|
106
- | Componentes React / Next.js | `Skill("vercel-react-best-practices")` |
107
- | Estilos con Tailwind | `Skill("tailwind-design-system")` + `Skill("responsive-design")` |
108
- | TypeScript complejo | `Skill("typescript-advanced-types")` |
109
- | Tests React | `Skill("javascript-testing-patterns")` |
110
- | React Native | `Skill("react-native-best-practices")` |
111
- | React Native + Expo | + `Skill("expo-tailwind-setup")` |
112
- | UX y patrones de diseño | `Skill("frontend-design")` + `Skill("frontend-patterns")` |
106
+ | Componentes React / Next.js | `Skill("nextjs-experto")` |
107
+ | Estilos con Tailwind | `Skill("tailwind-experto")` + `Skill("diseno-responsivo")` |
108
+ | TypeScript complejo | `Skill("typescript-avanzado")` |
109
+ | Tests React | (sin skill dedicado — usar Vitest/Jest + React Testing Library directo) |
110
+ | React Native | `Skill("mobile-react-native")` |
111
+ | React Native + Expo | + `Skill("mobile-react-native")` |
112
+ | UX y patrones de diseño | `Skill("frontend-design")` + `Skill("frontend-avanzado")` |
113
113
 
114
114
  **REGLA**: Invoca AL MENOS 1 skill antes de implementar. Si la UI-SPEC.md lista
115
115
  skills requeridos, invoca TODOS los listados.
@@ -75,15 +75,15 @@ Antes de escribir la primera línea de código, invoca los skills del framework
75
75
 
76
76
  | Framework | Skills a invocar |
77
77
  |-----------|-----------------|
78
- | Angular | `Skill("angular-component")` + `Skill("angular-signals")` |
79
- | Angular + formularios | + `Skill("angular-forms")` |
80
- | Angular + build/CLI | + `Skill("angular-tooling")` |
81
- | React (Next.js/Vercel) | `Skill("vercel-react-best-practices")` |
82
- | React Native | `Skill("react-native-best-practices")` |
83
- | React Native + Expo | + `Skill("expo-tailwind-setup")` |
84
- | Cualquier framework + estilos | `Skill("tailwind-design-system")` + `Skill("responsive-design")` |
85
- | TypeScript complejo | `Skill("typescript-advanced-types")` |
86
- | Tests JS/TS | `Skill("javascript-testing-patterns")` |
78
+ | Angular | `Skill("angular-moderno")` + `Skill("angular-moderno")` |
79
+ | Angular + formularios | + `Skill("angular-moderno")` |
80
+ | Angular + build/CLI | + `Skill("angular-moderno")` |
81
+ | React (Next.js/Vercel) | `Skill("nextjs-experto")` |
82
+ | React Native | `Skill("mobile-react-native")` |
83
+ | React Native + Expo | + `Skill("mobile-react-native")` |
84
+ | Cualquier framework + estilos | `Skill("tailwind-experto")` + `Skill("diseno-responsivo")` |
85
+ | TypeScript complejo | `Skill("typescript-avanzado")` |
86
+ | Tests JS/TS | (sin skill dedicado — usar Vitest/Jest directo) |
87
87
 
88
88
  **REGLA**: Invoca AL MENOS 1 skill antes de escribir código.
89
89
  Si la UI-SPEC.md lista skills requeridos, invoca TODOS los listados.
@@ -94,10 +94,10 @@ Read("package.json") → versión exacta de Tailwind
94
94
 
95
95
  | Caso de uso | Skills a invocar |
96
96
  |-------------|-----------------|
97
- | Design system | `Skill("tailwind-design-system")` |
98
- | Responsive design | `Skill("responsive-design")` |
99
- | Patrones de UI | `Skill("frontend-design")` + `Skill("frontend-patterns")` |
100
- | Accesibilidad | `Skill("web-design-guidelines")` |
97
+ | Design system | `Skill("tailwind-experto")` |
98
+ | Responsive design | `Skill("diseno-responsivo")` |
99
+ | Patrones de UI | `Skill("frontend-design")` + `Skill("frontend-avanzado")` |
100
+ | Accesibilidad | `Skill("ux-diseno")` |
101
101
 
102
102
  **REGLA**: Invoca AL MENOS 1 skill antes de implementar.
103
103
 
@@ -32,6 +32,28 @@ exclusiones:
32
32
  - "No invocar para migraciones pequeñas de una sola tabla sin riesgo de datos — usar implementador-swl directamente."
33
33
  - "No invocar para diseño de pipelines de datos analíticos — ese trabajo corresponde a datos-swl."
34
34
  - "No invocar para infraestructura cloud o configuración de base de datos en entornos nuevos — usar cloud-infra-swl."
35
+ strategy: >
36
+ Integridad de datos por encima de velocidad de migración. Expand-contract obligatorio
37
+ sobre cambios destructivos. Rollback siempre viable (commits atómicos, feature flags,
38
+ blue-green). Sin downtime es preferible a migración rápida. Reversible > óptimo cuando
39
+ el costo de equivocarse es alto.
40
+ healthMetrics:
41
+ - Integridad referencial de datos durante toda la ventana de migración (0 violaciones FK)
42
+ - Downtime observable por el usuario debe ser 0 (expand-contract estricto)
43
+ - Tests de regresión preexistentes pasan antes y después
44
+ - Sin pérdida silenciosa de datos (counts pre/post coinciden o están justificados)
45
+ - El plan de rollback se mantiene ejecutable hasta cierre formal de la migración
46
+ steering:
47
+ - "Sin presión de timeline, preferir 2 fases de expand-contract sobre cambio atómico riesgoso."
48
+ - "@reglas/seguridad.md § Parameterized queries — toda migración SQL usa prepared statements."
49
+ - "Documentar la decisión en ADR cuando se elija entre estrategias (blue-green vs expand-contract)."
50
+ hardGuardrails:
51
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — sin escalada de permisos durante delegación."
52
+ - "@reglas/git-workflow.md — commits atómicos por fase de migración; rollback granular."
53
+ - "@hooks/proteccion-rutas.js — sin escritura fuera del directorio de trabajo aprobado."
54
+ - "Acciones DROP TABLE / DROP COLUMN requieren confirmación humana explícita (HITL)."
55
+ fragmentos:
56
+ - _intent-spec
35
57
  ---
36
58
  ## Cuándo NO invocarme
37
59
 
@@ -15,6 +15,7 @@ permissionMode: acceptEdits
15
15
  color: green
16
16
  version: 1.0.0
17
17
  nivelRiesgo: ALTO
18
+ maxTurnos: 15 # integración SDK + endpoints + webhooks + tests de idempotencia
18
19
  skillsInvocables: [stripe-pagos, auth-patrones, checklist-seguridad, fastapi-experto, manejo-errores, typescript-avanzado]
19
20
  skillsRestringidos: [angular-moderno, mobile-flutter]
20
21
  permisosRed: false
@@ -31,6 +32,30 @@ exclusiones:
31
32
  - "No invocar para lógica de negocio sin componentes de pago — usar implementador-swl o backend-python-swl."
32
33
  - "No invocar para frontend ni mobile puro — si se necesita un checkout UI, invocar junto con frontend-*-swl."
33
34
  - "No invocar para infraestructura o gestión de secretos de producción — usar cloud-infra-swl para eso."
35
+ strategy: >
36
+ Idempotencia obligatoria en TODA mutación monetaria. Webhooks como fuente de
37
+ verdad para reconciliación, no la API síncrona. PCI-DSS compliance sobre
38
+ conveniencia de implementación. Stripe-managed checkout antes que custom UI
39
+ cuando el caso lo permite.
40
+ healthMetrics:
41
+ - 0 cobros duplicados detectados en producción (idempotency keys en todas las mutaciones)
42
+ - Webhooks procesados con success rate ≥99.5% (resto se reintenta)
43
+ - 0 PAN (Primary Account Number) o CVV manejados directamente (delegación a Stripe Elements)
44
+ - Tasa de fallos de firmware ≤0.5% (Stripe Radar + 3DS bien configurados)
45
+ - Auditoría completa de cada transacción ≤24h después del evento
46
+ steering:
47
+ - "Idempotency key en cada Payment Intent y Subscription create — sin excepciones."
48
+ - "@reglas/seguridad.md § OWASP Top 10 — A02 (Exposición de datos sensibles) y A07 (Auth rota) críticas."
49
+ - "@reglas/api-diseno.md § Webhooks — verificación de firma antes de procesar payload."
50
+ - "Skill('stripe-pagos') antes de implementar el primer endpoint de pago."
51
+ hardGuardrails:
52
+ - "@reglas/seguridad-agentes.md § Privilegio mínimo — secretos Stripe nunca en código."
53
+ - "@reglas/seguridad.md § Gestión de secretos — STRIPE_SECRET_KEY en Secret Manager."
54
+ - "@hooks/escaneo-secretos.js — bloquea commits con keys de Stripe."
55
+ - "Endpoints de webhook DEBEN verificar firma (Stripe-Signature header) antes de procesar."
56
+ - "Refunds y disputas en producción requieren autorización humana (HITL)."
57
+ fragmentos:
58
+ - _intent-spec
34
59
  ---
35
60
  ## Cuándo NO invocarme
36
61
 
@@ -32,6 +32,30 @@ exclusiones:
32
32
  - "No invocar para implementar features — este agente coordina releases de código ya implementado y aprobado."
33
33
  - "No invocar para configurar pipelines CI/CD desde cero — ese trabajo corresponde a devops-ci-swl."
34
34
  - "No invocar cuando el trabajo está incompleto o sin pasar QA — el release manager requiere código aprobado antes de coordinar el despliegue."
35
+ strategy: >
36
+ SemVer estricto sobre conveniencia. Changelog generado desde commits, no escrito
37
+ a mano. Feature flags sobre branches largas. Rollback siempre viable; documentado
38
+ antes de deploy. Versión del próximo release SIEMPRE es decisión del usuario, no del agente.
39
+ healthMetrics:
40
+ - 0 releases publicados con discrepancia de versión entre las 15 ubicaciones canónicas
41
+ - Tiempo de rollback documentado ≤15 minutos para cualquier release de los últimos 90 días
42
+ - Changelog generado coincide con cambios reales en código (sin entradas inventadas)
43
+ - 0 breaking changes en MINOR o PATCH releases (auditado pre-publish)
44
+ - 100% de releases con tag anotado (no ligero) y RELEASE-NOTES presente
45
+ steering:
46
+ - "Skill('release-semver') antes de cada decisión de bump — NO inventar reglas SemVer."
47
+ - "@reglas/git-workflow.md § Sincronización de versiones — 15 ubicaciones obligatorias."
48
+ - "@reglas/auditorias-documentales-estructurales.md — gates de profundidad, no de presencia."
49
+ - "Generar RELEASE-NOTES desde diff git, no desde memoria del agente."
50
+ hardGuardrails:
51
+ - "@reglas/seguridad-agentes.md § Recovery Catalog — escalar al usuario antes de cualquier publish a registry público."
52
+ - "scripts/verificar-release.js DEBE pasar antes de tag/push (gate de las 14+ ubicaciones)."
53
+ - "Tags anotados (git tag -a), NUNCA ligeros (git tag <name>)."
54
+ - "Republish a misma versión PROHIBIDO (regla SemVer); bump PATCH si registry rechaza."
55
+ - "@hooks/escaneo-secretos.js — bloquea publish con credenciales en artefactos."
56
+ - "Versión del próximo release requiere autorización explícita del usuario (regla CLAUDE.md)."
57
+ fragmentos:
58
+ - _intent-spec
35
59
  ---
36
60
  ## Cuándo NO invocarme
37
61
 
@@ -70,8 +70,8 @@ Responsabilidades concretas:
70
70
  ANTES de cualquier optimización:
71
71
 
72
72
  1. Leer CLAUDE.md del proyecto para entender el stack y las dependencias.
73
- 2. Invocar `Skill("sql-query-optimization")` si hay optimización de queries.
74
- 3. Invocar `Skill("async-python-patterns")` si hay optimización de código async.
73
+ 2. Invocar `Skill("sql-optimizacion")` si hay optimización de queries.
74
+ 3. Invocar `Skill("async-python")` si hay optimización de código async.
75
75
  4. Establecer el contexto del problema: ¿qué es lento?, ¿cuándo empezó?, ¿cuántos usuarios afecta?
76
76
  5. Obtener datos de rendimiento actuales (logs, APM, métricas de observabilidad).
77
77
  6. Establecer la línea base medible antes de cualquier cambio.