sdd-es 2.0.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.claude/settings.json +29 -29
  2. package/.claude/settings.local.json +10 -0
  3. package/.claude-plugin/marketplace.json +10 -7
  4. package/.claude-plugin/plugin.json +59 -37
  5. package/.gitignore +20 -0
  6. package/.mcp.json +8 -0
  7. package/LICENSE +21 -0
  8. package/README.md +77 -40
  9. package/agents/architecture-designer.md +211 -0
  10. package/agents/arquitecto.md +16 -1
  11. package/agents/asesor-datos.md +15 -1
  12. package/agents/critico.md +37 -1
  13. package/agents/desarrollador-backend.md +3 -1
  14. package/agents/desarrollador-frontend.md +11 -16
  15. package/agents/disenador-api.md +13 -1
  16. package/agents/documentador.md +3 -1
  17. package/agents/investigador.md +3 -1
  18. package/agents/operaciones.md +3 -1
  19. package/agents/product-designer.md +268 -0
  20. package/agents/revisor.md +25 -1
  21. package/agents/seguridad.md +5 -1
  22. package/agents/tester.md +3 -1
  23. package/claude-hooks/agent-memory.js +288 -0
  24. package/claude-hooks/pre-tool-guard.js +61 -9
  25. package/cli/index.js +1 -2
  26. package/commands/sdd.adr.md +196 -0
  27. package/commands/sdd.analizar.md +23 -2
  28. package/commands/sdd.ayuda.md +13 -0
  29. package/commands/sdd.compliance.md +521 -0
  30. package/commands/sdd.configurar.md +34 -1
  31. package/commands/sdd.constitucion.md +198 -23
  32. package/commands/sdd.construir.md +210 -0
  33. package/commands/sdd.crear-mcp.md +2 -0
  34. package/commands/sdd.defect-report.md +134 -0
  35. package/commands/sdd.descubrir.md +19 -0
  36. package/commands/sdd.dise/303/261ar.md +188 -0
  37. package/commands/sdd.estado.md +120 -3
  38. package/commands/sdd.exportar.md +344 -0
  39. package/commands/sdd.implementar.md +272 -52
  40. package/commands/sdd.interpretar.md +239 -0
  41. package/commands/sdd.md +93 -4
  42. package/commands/sdd.optimizar-memoria.md +47 -0
  43. package/commands/sdd.optimizar.md +164 -0
  44. package/commands/sdd.planificar.md +64 -0
  45. package/commands/sdd.retro.md +74 -0
  46. package/commands/sdd.verificar.md +81 -0
  47. package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
  48. package/configuracion-ejemplo/sdd.config.yaml +10 -0
  49. package/craft/accessibility-baseline.md +216 -0
  50. package/craft/anti-ai-slop.md +158 -0
  51. package/craft/color.md +160 -0
  52. package/craft/typography.md +121 -0
  53. package/design-systems/bold-brutalist/DESIGN.md +239 -0
  54. package/design-systems/editorial-minimal/DESIGN.md +205 -0
  55. package/design-systems/neutral-modern/DESIGN.md +227 -0
  56. package/design-systems/vibrant-consumer/DESIGN.md +257 -0
  57. package/design-systems/warm-editorial/DESIGN.md +221 -0
  58. package/docs/AGENTES.md +4 -1
  59. package/docs/CASO-COMPLETO.md +206 -0
  60. package/docs/EJEMPLOS.md +61 -185
  61. package/docs/FABRICA.md +163 -115
  62. package/docs/INICIO-RAPIDO.md +27 -79
  63. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +239 -0
  64. package/docs/MODELOS.md +3 -0
  65. package/docs/QUE-PASA-SI-FALLA.md +404 -0
  66. package/docs/README.md +43 -0
  67. package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
  68. package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
  69. package/package.json +15 -10
  70. package/plantillas/job-story-mejorar-prompt.md +107 -0
  71. package/presets/enterprise.yaml +6 -0
  72. package/presets/lean.yaml +4 -0
  73. package/presets/startup.yaml +6 -0
  74. package/skills/adr-indexer/SKILL.md +181 -0
  75. package/skills/cache-audit/SKILL.md +163 -0
  76. package/skills/critica-diseno/SKILL.md +193 -0
  77. package/skills/descubrir-idea/SKILL.md +133 -0
  78. package/skills/effort-router/SKILL.md +128 -0
  79. package/skills/elegir-direccion/SKILL.md +184 -0
  80. package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
  81. package/skills/github-connect/INDEX.md +223 -0
  82. package/skills/github-connect/INTEGRATION.md +361 -0
  83. package/skills/github-connect/QUICK-START.md +168 -0
  84. package/skills/github-connect/README.md +414 -0
  85. package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
  86. package/skills/github-connect/SKILL.md +343 -0
  87. package/skills/github-connect/STRUCTURE.txt +252 -0
  88. package/skills/github-connect/example-config.yaml +41 -0
  89. package/skills/github-connect/github-connect.sh +419 -0
  90. package/skills/interpretar-idea/SKILL.md +254 -0
  91. package/skills/mejorar-prompt/SKILL.md +237 -0
  92. package/skills/memory-compactor/SKILL.md +68 -0
  93. package/skills/modo-guiado/SKILL.md +12 -2
  94. package/skills/mutation-detector/SKILL.md +134 -0
  95. package/skills/observabilidad-consumo/SKILL.md +164 -0
  96. package/skills/token-budget/SKILL.md +177 -0
  97. package/skills/vercel-deploy/00-START-HERE.txt +364 -0
  98. package/skills/vercel-deploy/CHECKLIST.md +205 -0
  99. package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
  100. package/skills/vercel-deploy/FLOW.txt +334 -0
  101. package/skills/vercel-deploy/INDEX.md +276 -0
  102. package/skills/vercel-deploy/INTEGRATION.md +328 -0
  103. package/skills/vercel-deploy/MANIFEST.md +310 -0
  104. package/skills/vercel-deploy/README.md +65 -0
  105. package/skills/vercel-deploy/SKILL.md +356 -0
  106. package/skills/vercel-deploy/deploy.sh +298 -0
  107. package/skills/vercel-deploy/estado.json.example +205 -0
  108. package/skills/vercel-deploy/skill.yaml +323 -0
  109. package/skills/vercel-deploy/vercel-deploy.sh +216 -0
  110. package/skills/wireframe-mvp/SKILL.md +157 -0
  111. package/docs/EJEMPLO-PRACTICA.md +0 -383
  112. package/mcp-figma/README.md +0 -158
  113. package/mcp-figma/package.json +0 -7
  114. package/mcp-figma/src/component-generator.js +0 -162
  115. package/mcp-figma/src/design-system-analyzer.js +0 -247
  116. package/mcp-figma/src/figma-client.js +0 -75
  117. package/mcp-figma/src/index.js +0 -114
  118. package/mcp-figma/src/mcp.js +0 -97
  119. package/mcp-figma/src/style-mapper.js +0 -85
  120. /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
  121. /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
  122. /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
  123. /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
  124. /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
  125. /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
  126. /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
  127. /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
@@ -1,116 +1,64 @@
1
- # Inicio Rápido — SDD-ES
1
+ # Inicio Rápido
2
2
 
3
- SDD-ES es un plugin para Claude Code que añade un flujo estructurado para convertir ideas en código verificado. En lugar de pedirle a Claude "implementa X", defines primero qué quieres y por qué, y el sistema coordina agentes especializados para construirlo con trazabilidad completa.
3
+ ## La idea central
4
4
 
5
- ---
6
-
7
- ## Instalación
8
-
9
- Requiere **Node.js >= 18**. El instalador funciona igual en Windows, macOS y Linux.
10
-
11
- ```bash
12
- # 1. Ve a tu proyecto
13
- cd mi-proyecto
14
-
15
- # 2. Instala (camino recomendado, multiplataforma)
16
- npx sdd-es init
17
- ```
5
+ Escribe `/sdd [tu idea]` y FORGE hace el resto.
18
6
 
19
- **Windows (PowerShell)** atajo equivalente:
20
-
21
- ```powershell
22
- .\instalar.ps1
23
- ```
24
-
25
- **macOS / Linux / Git Bash** — atajo equivalente:
26
-
27
- ```bash
28
- bash /ruta/a/sdd-es/instalar.sh
29
- ```
30
-
31
- El instalador crea la carpeta `.sdd/` en tu proyecto y copia los comandos, agentes, skills y hooks de seguridad al `.claude/` local. Comprueba que todo quedó bien con:
32
-
33
- ```bash
34
- npx sdd-es doctor
35
- ```
7
+ No necesitas saber programar. No necesitas configurar nada primero. Solo describe lo que quieres construir.
36
8
 
37
9
  ---
38
10
 
39
- ## Primera vez en un proyecto
11
+ ## ¿Cómo empiezo?
40
12
 
41
- Abre Claude Code en tu proyecto y ejecuta:
13
+ Abre Claude Code en tu proyecto y escribe:
42
14
 
43
15
  ```
44
- /sdd.constitucion
16
+ /sdd quiero una app para gestionar mis tareas
45
17
  ```
46
18
 
47
- Claude te hace preguntas sobre tu proyecto (stack, principios, estándares de calidad) y genera `.sdd/memoria/constitucion.md` — la ley del proyecto que todos los agentes respetan.
48
-
49
- Solo se hace una vez por proyecto.
50
-
51
- ---
52
-
53
- ## Flujo diario
19
+ O simplemente:
54
20
 
55
21
  ```
56
- /sdd.especificar [descripción de lo que quieres]
22
+ /sdd
57
23
  ```
58
24
 
59
- Desde ahí el sistema te guía paso a paso. No necesitas memorizar el resto de comandos — `/sdd` solo te pregunta qué quieres y enruta automáticamente.
25
+ FORGE te preguntará qué quieres construir y te irá guiando paso a paso.
60
26
 
61
27
  ---
62
28
 
63
- ## Los 4 comandos que más usarás
29
+ ## ¿Qué hace FORGE por mí?
64
30
 
65
- | Comando | Para qué |
66
- |---|---|
67
- | `/sdd` | Punto de entrada di lo que quieres en lenguaje natural |
68
- | `/sdd.especificar [idea]` | Convertir una idea en spec con criterios de aceptación |
69
- | `/sdd.implementar` | Ejecutar las tareas con los agentes especializados |
70
- | `/sdd.estado` | Ver dashboard del proyecto |
31
+ 1. **Entiende tu idea** — te hace solo las preguntas necesarias para aclarar qué quieres.
32
+ 2. **Hace el plan** — decide cómo construirlo sin que tengas que saber de tecnología.
33
+ 3. **Lo construye** escribe el código, lo prueba y lo verifica.
34
+ 4. **Te informa en tu idioma** te dice "tu login está listo" en vez de "pipeline_step=verify".
71
35
 
72
- ---
73
-
74
- ## ¿Eres nuevo en programación?
36
+ Tú solo confirmas con "sí" entre pasos. FORGE hace el trabajo.
75
37
 
76
- SDD-ES tiene un **perfil guiado** para personas con poca o ninguna experiencia. Durante `/sdd.constitucion` puedes elegirlo (o el sistema lo detecta automáticamente por la forma en que hablas).
38
+ ---
77
39
 
78
- En perfil guiado:
79
- - No ves comandos ni tecnicismos — solo preguntas en lenguaje normal
80
- - El sistema elige el stack por ti
81
- - Confirmas con "sí" entre cada paso
82
- - Al final, Claude publica tu app en internet
40
+ ## Instalación
83
41
 
84
- **Atajo directo para no-programadores:**
42
+ Necesitas tener **Node.js** instalado. Luego, en tu proyecto:
85
43
 
86
- ```
87
- /sdd.crear-app [describe tu idea]
44
+ ```bash
45
+ npx sdd-es init
88
46
  ```
89
47
 
90
- Ver el recorrido completo en [FABRICA.md](FABRICA.md).
48
+ Eso es todo. FORGE queda listo para usarse con Claude Code.
91
49
 
92
50
  ---
93
51
 
94
- ## Crear una herramienta para Claude
52
+ ## Si algo no funciona
95
53
 
96
- Si quieres que Claude pueda hacer algo nuevo (consultar una API, acceder a tus archivos, etc.):
54
+ Escribe:
97
55
 
98
56
  ```
99
- /sdd.crear-mcp [describe qué hace la herramienta]
57
+ /sdd ayuda
100
58
  ```
101
59
 
102
- Genera un servidor MCP funcional empaquetado como `.mcpb` instalable con una línea.
103
-
104
- ---
105
-
106
- ## Si algo sale mal o quieres retomar
107
-
108
- ```
109
- /sdd.estado # ¿dónde estoy?
110
- /sdd.implementar continuar # retomar desde la última tarea
111
- /sdd.ayuda # lista completa de comandos
112
- ```
60
+ FORGE te explicará qué está pasando y qué hacer.
113
61
 
114
62
  ---
115
63
 
116
- ## Ejemplo completo ver [EJEMPLO-PRACTICA.md](EJEMPLO-PRACTICA.md)
64
+ Para usuarios avanzados que quieren ver todos los comandos disponibles: [FLUJO.md](FLUJO.md)
@@ -0,0 +1,239 @@
1
+ # Memoria, Observabilidad y Optimización de Tokens en SDD-ES
2
+
3
+ Este documento explica cómo SDD-ES mantiene continuidad entre sesiones (memoria por agente), cómo monitorizar el consumo de agentes sin depender del conteo de tokens del modelo, y cómo usar las nuevas técnicas de optimización de tokens (v2.6.0).
4
+
5
+ ---
6
+
7
+ ## 1. Memoria por agente
8
+
9
+ ### Qué es
10
+
11
+ > **Desde v2.6.0, todos los agentes activos tienen memoria persistente.** Además del Grupo OPUS, los agentes `desarrollador-backend`, `desarrollador-frontend`, `tester`, `documentador` y `operaciones` registran sus cambios en su propio archivo de memoria, lo que garantiza continuidad entre sesiones para todo el pipeline SDD.
12
+
13
+ Cada agente activo (Grupo OPUS — arquitecto, asesor-datos, disenador-api, critico — más desarrollador-backend, desarrollador-frontend, tester, documentador y operaciones) tiene un archivo de memoria persistente en:
14
+
15
+ ```
16
+ .sdd/memoria/agente-{nombre}.md
17
+ ```
18
+
19
+ Este archivo crece automáticamente durante la sesión: cada vez que el agente escribe un archivo, el hook `PostToolUse` registra la fecha, el archivo modificado y un resumen del contenido.
20
+
21
+ ### Para qué sirve
22
+
23
+ Claude Code no mantiene contexto entre sesiones. El archivo de memoria resuelve este problema: al inicio de una nueva sesión, el agente lee su archivo de memoria y recupera las decisiones tomadas en sesiones anteriores — qué arquitectura se eligió, qué restricciones aplican, qué se acordó con el usuario.
24
+
25
+ ### Cómo funciona el hook
26
+
27
+ El hook `claude-hooks/agent-memory.js` se ejecuta como `PostToolUse` tras cada `Write` o `Edit`. Lee la variable de entorno `CLAUDE_AGENT_NAME` que Claude Code inyecta cuando hay un subagente activo, y si el agente es uno de los cuatro del Grupo OPUS, añade una entrada al archivo de memoria correspondiente.
28
+
29
+ Desde v2.6.0, el hook también emite una alerta por stderr cuando la memoria de un agente supera 50KB:
30
+
31
+ ```
32
+ ⚠️ [agent-memory] Memoria de arquitecto supera 52KB — considera ejecutar /sdd.optimizar memoria
33
+ ```
34
+
35
+ ### Formato de una entrada de memoria
36
+
37
+ ```markdown
38
+ ## 2026-06-13 — .sdd/especificaciones/2026-06-13-auth/spec.md
39
+ > # Especificación: Autenticación con magic link — Decisión: usar Resend para emails
40
+ ```
41
+
42
+ ### Cuándo leer la memoria
43
+
44
+ Los agentes leen su archivo de memoria al inicio de cada invocación. No necesitas hacer nada manualmente: si el archivo existe, el agente lo lee.
45
+
46
+ ### Cuándo comprimir la memoria
47
+
48
+ Cuando la memoria supera 80 entradas o 50KB, empieza a consumir ventana de contexto sin aportar valor (entradas antiguas del mismo archivo son redundantes). Usa:
49
+
50
+ ```
51
+ /sdd.optimizar memoria
52
+ ```
53
+
54
+ Esto invoca `memory-compactor`, que deduplica entradas del mismo archivo (conserva solo la más reciente) y aplica compresión caveman (Nivel Full de `compresion-tokens`). Siempre guarda un backup `.original`.
55
+
56
+ ---
57
+
58
+ ## 2. Ledger de consumo (observabilidad)
59
+
60
+ ### Qué es
61
+
62
+ `.sdd/observabilidad/consumo.jsonl` es un archivo de líneas JSON (una por evento) que registra cada escritura de archivo por cualquier agente, incluyendo el agente principal. Se escribe en tiempo real por el mismo hook `agent-memory.js`.
63
+
64
+ Ejemplo de una línea del ledger:
65
+
66
+ ```json
67
+ {"ts":"2026-06-13T14:32:07.123Z","agente":"arquitecto","tool":"Write","archivo":".sdd/especificaciones/2026-06-13-auth/spec.md","bytes":4821}
68
+ ```
69
+
70
+ ### Campos
71
+
72
+ | Campo | Descripción |
73
+ |-------|-------------|
74
+ | `ts` | Timestamp ISO 8601 del momento de escritura |
75
+ | `agente` | Nombre del agente (`CLAUDE_AGENT_NAME`) o `"main"` si es la sesión principal |
76
+ | `tool` | Herramienta usada: `Write`, `Edit`, `MultiEdit` |
77
+ | `archivo` | Ruta del archivo modificado |
78
+ | `bytes` | Tamaño en bytes del contenido escrito |
79
+
80
+ ### Limitación importante
81
+
82
+ Los `bytes` miden el tamaño del contenido escrito en cada invocación — **no el consumo real de tokens del modelo**. Claude Code no expone el conteo de tokens al hook. Los bytes son un **proxy de magnitud**: escrituras grandes correlacionan con más trabajo, pero no son equivalentes a la facturación de la API.
83
+
84
+ Para costos exactos, usa el dashboard de Anthropic Console o la API de usage.
85
+
86
+ ### Cómo usar el ledger
87
+
88
+ ```
89
+ /sdd.estado consumo
90
+ ```
91
+
92
+ Esto invoca `observabilidad-consumo` y produce:
93
+ - Tabla de invocaciones y bytes por agente
94
+ - Alertas de fan-out (>5 agentes distintos, >20 invocaciones de un mismo agente)
95
+ - Top momentos de actividad por minuto
96
+
97
+ ### Vaciar el ledger entre sesiones
98
+
99
+ ```bash
100
+ echo "" > .sdd/observabilidad/consumo.jsonl
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 3. Técnicas de optimización de tokens (v2.6.0)
106
+
107
+ ### El comando unificado
108
+
109
+ ```
110
+ /sdd.optimizar
111
+ ```
112
+
113
+ Ejecuta el ciclo completo de 6 pasos: consumo → routing → compresión de memoria → auditoría de caché → presupuesto → reporte con acciones ordenadas por impacto.
114
+
115
+ Subcomandos disponibles:
116
+
117
+ | Subcomando | Qué hace |
118
+ |---|---|
119
+ | `/sdd.optimizar` | Ciclo completo |
120
+ | `/sdd.optimizar tokens` | Solo effort-router + cache-audit |
121
+ | `/sdd.optimizar memoria` | Solo memory-compactor |
122
+ | `/sdd.optimizar presupuesto` | Solo token-budget |
123
+
124
+ ---
125
+
126
+ ### Técnica 1 — Effort routing (mayor impacto)
127
+
128
+ La skill `effort-router` recomienda el modelo y nivel de esfuerzo correcto para cada agente según la fase actual. Evita pagar Opus cuando la tarea es mecánica.
129
+
130
+ **Regla de oro:** si el agente toma una decisión que no se puede deshacer → Opus. Si ejecuta una decisión ya tomada → Sonnet o Haiku.
131
+
132
+ | Grupo | Fases | Ahorro vs. Opus-en-todo |
133
+ |---|---|---|
134
+ | A — Opus siempre | especificacion, planificacion, analisis | 0% |
135
+ | B — Sonnet suficiente | implementacion (backend/frontend), verificacion, qa | ~40% |
136
+ | C — Haiku suficiente | tests, docs, deploy, retro | ~80% |
137
+
138
+ Ahorro típico en una fase de `implementacion` completa: **~56%**.
139
+
140
+ ---
141
+
142
+ ### Técnica 2 — Compresión de memoria (previene degradación de contexto)
143
+
144
+ La skill `memory-compactor` actúa sobre `.sdd/memoria/agente-*.md`:
145
+
146
+ 1. **Deduplica**: misma ruta modificada en fechas distintas → conserva solo la más reciente (reduce 40-60% en proyectos largos)
147
+ 2. **Comprime**: aplica el diccionario caveman de `compresion-tokens` (Nivel Full, 80+ pares de reemplazos) sobre el texto de cada entrada
148
+ 3. **Backup**: guarda `.original` antes de tocar nada
149
+
150
+ Cuándo actúa: cuando hay >80 entradas O >50KB en algún archivo de memoria.
151
+
152
+ ---
153
+
154
+ ### Técnica 3 — Auditoría de caché
155
+
156
+ La skill `cache-audit` detecta los 3 patrones que invalidan el prompt caching silenciosamente:
157
+
158
+ | Invalidador | Severidad | Fix |
159
+ |---|---|---|
160
+ | Timestamps dinámicos en el system prompt (`2026-06-13`) | Alta | Mover al final del prompt, en bloque separado |
161
+ | UUIDs / IDs de sesión embebidos en el prompt | Alta | Pasar como argumento, no como parte del system prompt |
162
+ | Contenido JSONL (`consumo.jsonl`) embebido en el prompt | Media | Leer con tool `Read` cuando se necesite |
163
+
164
+ El prompt caching reduce hasta un 90% el costo de tokens de entrada para bloques estables. Un solo invalidador en el sistema prompt anula el beneficio completo.
165
+
166
+ ---
167
+
168
+ ### Técnica 4 — Presupuesto por fase
169
+
170
+ La skill `token-budget` proyecta el costo relativo de las fases restantes y recomienda cuándo usar PTC paralelo vs. serial. Si hay historial en `consumo.jsonl`, calibra los pesos con la velocidad real de la sesión.
171
+
172
+ Regla de paralelización (de `orquestacion-ptc`):
173
+
174
+ | Tareas pendientes | Estrategia | Ahorro estimado |
175
+ |---|---|---|
176
+ | 1-2 | Serial directo | — |
177
+ | 3-5 independientes | PTC paralelo | ~70% |
178
+ | 6-10 independientes | PTC en 2 lotes | ~65% |
179
+ | Con dependencias | Serial (respetar grafo) | — |
180
+
181
+ ---
182
+
183
+ ## 4. Cómo controlar los agentes con estos datos
184
+
185
+ ### Detectar paralelización innecesaria
186
+
187
+ Si el ledger muestra >5 agentes activos en una sola fase, revisar `orquestacion-ptc`. Si los agentes se bloquean entre sí (uno necesita el output del otro), paralelizarlos desperdicia tokens.
188
+
189
+ Señal del ledger: muchos agentes distintos con pocas invocaciones cada uno → fan-out excesivo.
190
+
191
+ ### Detectar agentes en loop
192
+
193
+ Si un agente tiene >20 invocaciones en el ledger de una sesión, está probablemente en un ciclo de auto-corrección.
194
+
195
+ Solución: `/sdd.estado agentes` y verificar condiciones de salida claras.
196
+
197
+ ### Detectar memoria que conviene comprimir
198
+
199
+ La alerta del hook (`⚠️ Memoria supera 50KB`) es la señal principal. También visible desde `/sdd.optimizar`.
200
+
201
+ ---
202
+
203
+ ## 5. Arquitectura del sistema (v2.6.0)
204
+
205
+ ```
206
+ claude-hooks/
207
+ agent-memory.js ← Hook PostToolUse (Write/Edit/MultiEdit)
208
+ → .sdd/memoria/agente-{nombre}.md (4 agentes OPUS)
209
+ → .sdd/observabilidad/consumo.jsonl (todos los agentes)
210
+ → stderr: alerta si memoria supera 50KB
211
+
212
+ skills/
213
+ observabilidad-consumo/ ← Lee consumo.jsonl, produce reporte, detecta fan-out
214
+ effort-router/ ← Routing Haiku/Sonnet/Opus por fase (v2.6.0)
215
+ memory-compactor/ ← Deduplicación + compresión de .sdd/memoria/ (v2.6.0)
216
+ cache-audit/ ← Detecta invalidadores silenciosos de caché (v2.6.0)
217
+ token-budget/ ← Proyecta costo por fase + recomendación PTC (v2.6.0)
218
+ compresion-tokens/ ← Diccionario caveman — reutilizado por memory-compactor
219
+ orquestacion-ptc/ ← Criterios PTC — reutilizados por token-budget
220
+
221
+ commands/
222
+ sdd.estado.md ← /sdd.estado consumo
223
+ sdd.optimizar.md ← Ciclo completo de optimización (v2.6.0)
224
+ sdd.comprimir.md ← /sdd.comprimir memoria → memory-compactor
225
+ ```
226
+
227
+ ---
228
+
229
+ ## 6. Tabla completa de skills de eficiencia
230
+
231
+ | Skill | Qué hace | Cuándo usarla |
232
+ |-------|----------|---------------|
233
+ | `observabilidad-consumo` | Reporte del ledger JSONL | Siempre, o desde `/sdd.estado consumo` |
234
+ | `effort-router` | Recomienda Haiku/Sonnet/Opus por fase | Al inicio de cada fase o desde `/sdd.optimizar` |
235
+ | `memory-compactor` | Deduplica y comprime `.sdd/memoria/` | Cuando hay alerta de 50KB o desde `/sdd.optimizar memoria` |
236
+ | `cache-audit` | Detecta invalidadores de caché | Antes de `/sdd.implementar` en proyectos grandes |
237
+ | `token-budget` | Proyecta costo de fases restantes | Antes de fases costosas (analisis, implementacion larga) |
238
+ | `orquestacion-ptc` | Explica cuándo paralelizar agentes | Fan-out alto en el ledger |
239
+ | `compresion-tokens` | Comprime cualquier archivo `.sdd/` | Memoria muy larga, specs verbosas |
package/docs/MODELOS.md CHANGED
@@ -15,6 +15,9 @@
15
15
  | critico | **opus** | sonnet | haiku | Requiere razonamiento abstracto |
16
16
  | seguridad | **opus** | — | sonnet, haiku | Auditoría debe ser exhaustiva |
17
17
  | documentador | **sonnet** | haiku | opus (overkill) | Generación estructurada |
18
+ | investigador | **sonnet** | opus (investigación profunda) | haiku | Análisis comparativo |
19
+ | product-designer | **opus** | sonnet (MVPs) | haiku | Decisiones de producto irreversibles |
20
+ | architecture-designer | **sonnet** | opus (stacks complejos) | haiku | Propuesta técnica estructurada |
18
21
 
19
22
  ## Filosofía
20
23