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.
- package/.claude/settings.json +29 -29
- package/.claude/settings.local.json +10 -0
- package/.claude-plugin/marketplace.json +10 -7
- package/.claude-plugin/plugin.json +59 -37
- package/.gitignore +20 -0
- package/.mcp.json +8 -0
- package/LICENSE +21 -0
- package/README.md +77 -40
- package/agents/architecture-designer.md +211 -0
- package/agents/arquitecto.md +16 -1
- package/agents/asesor-datos.md +15 -1
- package/agents/critico.md +37 -1
- package/agents/desarrollador-backend.md +3 -1
- package/agents/desarrollador-frontend.md +11 -16
- package/agents/disenador-api.md +13 -1
- package/agents/documentador.md +3 -1
- package/agents/investigador.md +3 -1
- package/agents/operaciones.md +3 -1
- package/agents/product-designer.md +268 -0
- package/agents/revisor.md +25 -1
- package/agents/seguridad.md +5 -1
- package/agents/tester.md +3 -1
- package/claude-hooks/agent-memory.js +288 -0
- package/claude-hooks/pre-tool-guard.js +61 -9
- package/cli/index.js +1 -2
- package/commands/sdd.adr.md +196 -0
- package/commands/sdd.analizar.md +23 -2
- package/commands/sdd.ayuda.md +13 -0
- package/commands/sdd.compliance.md +521 -0
- package/commands/sdd.configurar.md +34 -1
- package/commands/sdd.constitucion.md +198 -23
- package/commands/sdd.construir.md +210 -0
- package/commands/sdd.crear-mcp.md +2 -0
- package/commands/sdd.defect-report.md +134 -0
- package/commands/sdd.descubrir.md +19 -0
- package/commands/sdd.dise/303/261ar.md +188 -0
- package/commands/sdd.estado.md +120 -3
- package/commands/sdd.exportar.md +344 -0
- package/commands/sdd.implementar.md +272 -52
- package/commands/sdd.interpretar.md +239 -0
- package/commands/sdd.md +93 -4
- package/commands/sdd.optimizar-memoria.md +47 -0
- package/commands/sdd.optimizar.md +164 -0
- package/commands/sdd.planificar.md +64 -0
- package/commands/sdd.retro.md +74 -0
- package/commands/sdd.verificar.md +81 -0
- package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
- package/configuracion-ejemplo/sdd.config.yaml +10 -0
- package/craft/accessibility-baseline.md +216 -0
- package/craft/anti-ai-slop.md +158 -0
- package/craft/color.md +160 -0
- package/craft/typography.md +121 -0
- package/design-systems/bold-brutalist/DESIGN.md +239 -0
- package/design-systems/editorial-minimal/DESIGN.md +205 -0
- package/design-systems/neutral-modern/DESIGN.md +227 -0
- package/design-systems/vibrant-consumer/DESIGN.md +257 -0
- package/design-systems/warm-editorial/DESIGN.md +221 -0
- package/docs/AGENTES.md +4 -1
- package/docs/CASO-COMPLETO.md +206 -0
- package/docs/EJEMPLOS.md +61 -185
- package/docs/FABRICA.md +163 -115
- package/docs/INICIO-RAPIDO.md +27 -79
- package/docs/MEMORIA-Y-OBSERVABILIDAD.md +239 -0
- package/docs/MODELOS.md +3 -0
- package/docs/QUE-PASA-SI-FALLA.md +404 -0
- package/docs/README.md +43 -0
- package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
- package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
- package/package.json +15 -10
- package/plantillas/job-story-mejorar-prompt.md +107 -0
- package/presets/enterprise.yaml +6 -0
- package/presets/lean.yaml +4 -0
- package/presets/startup.yaml +6 -0
- package/skills/adr-indexer/SKILL.md +181 -0
- package/skills/cache-audit/SKILL.md +163 -0
- package/skills/critica-diseno/SKILL.md +193 -0
- package/skills/descubrir-idea/SKILL.md +133 -0
- package/skills/effort-router/SKILL.md +128 -0
- package/skills/elegir-direccion/SKILL.md +184 -0
- package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
- package/skills/github-connect/INDEX.md +223 -0
- package/skills/github-connect/INTEGRATION.md +361 -0
- package/skills/github-connect/QUICK-START.md +168 -0
- package/skills/github-connect/README.md +414 -0
- package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
- package/skills/github-connect/SKILL.md +343 -0
- package/skills/github-connect/STRUCTURE.txt +252 -0
- package/skills/github-connect/example-config.yaml +41 -0
- package/skills/github-connect/github-connect.sh +419 -0
- package/skills/interpretar-idea/SKILL.md +254 -0
- package/skills/mejorar-prompt/SKILL.md +237 -0
- package/skills/memory-compactor/SKILL.md +68 -0
- package/skills/modo-guiado/SKILL.md +12 -2
- package/skills/mutation-detector/SKILL.md +134 -0
- package/skills/observabilidad-consumo/SKILL.md +164 -0
- package/skills/token-budget/SKILL.md +177 -0
- package/skills/vercel-deploy/00-START-HERE.txt +364 -0
- package/skills/vercel-deploy/CHECKLIST.md +205 -0
- package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
- package/skills/vercel-deploy/FLOW.txt +334 -0
- package/skills/vercel-deploy/INDEX.md +276 -0
- package/skills/vercel-deploy/INTEGRATION.md +328 -0
- package/skills/vercel-deploy/MANIFEST.md +310 -0
- package/skills/vercel-deploy/README.md +65 -0
- package/skills/vercel-deploy/SKILL.md +356 -0
- package/skills/vercel-deploy/deploy.sh +298 -0
- package/skills/vercel-deploy/estado.json.example +205 -0
- package/skills/vercel-deploy/skill.yaml +323 -0
- package/skills/vercel-deploy/vercel-deploy.sh +216 -0
- package/skills/wireframe-mvp/SKILL.md +157 -0
- package/docs/EJEMPLO-PRACTICA.md +0 -383
- package/mcp-figma/README.md +0 -158
- package/mcp-figma/package.json +0 -7
- package/mcp-figma/src/component-generator.js +0 -162
- package/mcp-figma/src/design-system-analyzer.js +0 -247
- package/mcp-figma/src/figma-client.js +0 -75
- package/mcp-figma/src/index.js +0 -114
- package/mcp-figma/src/mcp.js +0 -97
- package/mcp-figma/src/style-mapper.js +0 -85
- /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
- /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
- /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
- /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
- /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
- /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
- /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
- /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
package/docs/INICIO-RAPIDO.md
CHANGED
|
@@ -1,116 +1,64 @@
|
|
|
1
|
-
# Inicio Rápido
|
|
1
|
+
# Inicio Rápido
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
11
|
+
## ¿Cómo empiezo?
|
|
40
12
|
|
|
41
|
-
Abre Claude Code en tu proyecto y
|
|
13
|
+
Abre Claude Code en tu proyecto y escribe:
|
|
42
14
|
|
|
43
15
|
```
|
|
44
|
-
/sdd
|
|
16
|
+
/sdd quiero una app para gestionar mis tareas
|
|
45
17
|
```
|
|
46
18
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Solo se hace una vez por proyecto.
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Flujo diario
|
|
19
|
+
O simplemente:
|
|
54
20
|
|
|
55
21
|
```
|
|
56
|
-
/sdd
|
|
22
|
+
/sdd
|
|
57
23
|
```
|
|
58
24
|
|
|
59
|
-
|
|
25
|
+
FORGE te preguntará qué quieres construir y te irá guiando paso a paso.
|
|
60
26
|
|
|
61
27
|
---
|
|
62
28
|
|
|
63
|
-
##
|
|
29
|
+
## ¿Qué hace FORGE por mí?
|
|
64
30
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
38
|
+
---
|
|
77
39
|
|
|
78
|
-
|
|
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
|
-
**
|
|
42
|
+
Necesitas tener **Node.js** instalado. Luego, en tu proyecto:
|
|
85
43
|
|
|
86
|
-
```
|
|
87
|
-
|
|
44
|
+
```bash
|
|
45
|
+
npx sdd-es init
|
|
88
46
|
```
|
|
89
47
|
|
|
90
|
-
|
|
48
|
+
Eso es todo. FORGE queda listo para usarse con Claude Code.
|
|
91
49
|
|
|
92
50
|
---
|
|
93
51
|
|
|
94
|
-
##
|
|
52
|
+
## Si algo no funciona
|
|
95
53
|
|
|
96
|
-
|
|
54
|
+
Escribe:
|
|
97
55
|
|
|
98
56
|
```
|
|
99
|
-
/sdd
|
|
57
|
+
/sdd ayuda
|
|
100
58
|
```
|
|
101
59
|
|
|
102
|
-
|
|
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
|
-
|
|
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
|
|