elsabro 2.1.0 → 2.2.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 (46) hide show
  1. package/commands/elsabro/add-phase.md +17 -0
  2. package/commands/elsabro/add-todo.md +111 -53
  3. package/commands/elsabro/audit-milestone.md +19 -0
  4. package/commands/elsabro/check-todos.md +210 -31
  5. package/commands/elsabro/complete-milestone.md +20 -1
  6. package/commands/elsabro/debug.md +19 -0
  7. package/commands/elsabro/discuss-phase.md +18 -1
  8. package/commands/elsabro/execute.md +288 -12
  9. package/commands/elsabro/insert-phase.md +18 -1
  10. package/commands/elsabro/list-phase-assumptions.md +17 -0
  11. package/commands/elsabro/new-milestone.md +19 -0
  12. package/commands/elsabro/new.md +19 -0
  13. package/commands/elsabro/pause-work.md +19 -0
  14. package/commands/elsabro/plan-milestone-gaps.md +20 -1
  15. package/commands/elsabro/plan.md +264 -36
  16. package/commands/elsabro/progress.md +203 -79
  17. package/commands/elsabro/quick.md +19 -0
  18. package/commands/elsabro/remove-phase.md +17 -0
  19. package/commands/elsabro/research-phase.md +18 -1
  20. package/commands/elsabro/resume-work.md +19 -0
  21. package/commands/elsabro/start.md +365 -98
  22. package/commands/elsabro/verify-work.md +109 -5
  23. package/package.json +1 -1
  24. package/references/SYSTEM_INDEX.md +241 -0
  25. package/references/command-flow.md +352 -0
  26. package/references/enforcement-rules.md +331 -0
  27. package/references/error-handling-instructions.md +26 -12
  28. package/references/state-sync.md +381 -0
  29. package/references/task-dispatcher.md +388 -0
  30. package/references/tasks-integration.md +380 -0
  31. package/skills/api-microservice.md +765 -0
  32. package/skills/api-setup.md +76 -3
  33. package/skills/auth-setup.md +46 -6
  34. package/skills/chrome-extension.md +584 -0
  35. package/skills/cicd-setup.md +1206 -0
  36. package/skills/cli-tool.md +884 -0
  37. package/skills/database-setup.md +41 -5
  38. package/skills/desktop-app.md +1351 -0
  39. package/skills/expo-app.md +35 -2
  40. package/skills/full-stack-app.md +543 -0
  41. package/skills/mobile-app.md +813 -0
  42. package/skills/nextjs-app.md +33 -2
  43. package/skills/payments-setup.md +76 -1
  44. package/skills/saas-starter.md +639 -0
  45. package/skills/sentry-setup.md +41 -7
  46. package/skills/testing-setup.md +1218 -0
@@ -0,0 +1,388 @@
1
+ # ELSABRO Task Dispatcher
2
+
3
+ ## Propósito
4
+
5
+ Despacho inteligente de tareas a subagentes con **selección automática de modelo** según el tipo de tarea. Maximiza eficiencia usando el modelo correcto para cada trabajo.
6
+
7
+ ## Matriz de Selección de Modelo
8
+
9
+ ```
10
+ ┌─────────────────────────────────────────────────────────────────────────┐
11
+ │ MODELO SEGÚN TIPO DE TAREA │
12
+ ├─────────────────────────────────────────────────────────────────────────┤
13
+ │ │
14
+ │ HAIKU (rápido, económico) OPUS (máximo razonamiento) │
15
+ │ ───────────────────────── ────────────────────────── │
16
+ │ • Buscar archivos (Glob/Grep) • Escribir código nuevo │
17
+ │ • Leer y resumir código • Code review profundo │
18
+ │ • Mapear estructura • Debugging complejo │
19
+ │ • Exploración general • Decisiones arquitectónicas │
20
+ │ • Listar dependencias • Análisis de seguridad │
21
+ │ • Verificaciones simples • Refactoring significativo │
22
+ │ • Clarificación de requisitos │
23
+ │ │
24
+ │ SONNET (balance) │
25
+ │ ──────────────── │
26
+ │ • Tests unitarios │
27
+ │ • Documentación técnica │
28
+ │ • Cambios pequeños de código │
29
+ │ • Validación de patrones │
30
+ │ │
31
+ └─────────────────────────────────────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## Regla de Decisión
35
+
36
+ ```
37
+ SI la tarea:
38
+ - NO escribe código nuevo
39
+ - NO toma decisiones arquitectónicas
40
+ - NO requiere razonamiento complejo
41
+ → USA HAIKU
42
+
43
+ SI la tarea:
44
+ - Escribe tests o documentación
45
+ - Hace cambios menores de código
46
+ - Valida sin crear nuevo
47
+ → USA SONNET
48
+
49
+ SI la tarea:
50
+ - Escribe código nuevo significativo
51
+ - Toma decisiones de arquitectura
52
+ - Requiere análisis profundo
53
+ - Hace code review crítico
54
+ → USA OPUS
55
+ ```
56
+
57
+ ## Mapeo de Agentes a Modelos
58
+
59
+ ### Siempre HAIKU (exploración)
60
+ | Agente | Razón |
61
+ |--------|-------|
62
+ | `Explore` | Solo busca archivos y lee |
63
+ | `Plan` (mapeo) | Estructura sin crear |
64
+ | `feature-dev:code-explorer` | Análisis de patrones existentes |
65
+
66
+ ### Siempre OPUS (razonamiento profundo)
67
+ | Agente | Razón |
68
+ |--------|-------|
69
+ | `elsabro-analyst` | Clarificación y entrevistas |
70
+ | `elsabro-planner` | Diseño de arquitectura |
71
+ | `elsabro-debugger` | Investigación metódica |
72
+ | `elsabro-executor` | Implementación con TDD |
73
+ | `elsabro-orchestrator` | Coordinación compleja |
74
+ | `feature-dev:code-architect` | Decisiones de diseño |
75
+ | `pr-review-toolkit:code-reviewer` | Review profundo |
76
+ | `pr-review-toolkit:silent-failure-hunter` | Análisis de edge cases |
77
+ | `pr-review-toolkit:pr-test-analyzer` | Análisis profundo de cobertura |
78
+
79
+ ### Siempre SONNET (balance)
80
+ | Agente | Razón |
81
+ |--------|-------|
82
+ | `elsabro-verifier` | Validación estructurada |
83
+ | `elsabro-qa` | Diseño de tests |
84
+ | `elsabro-tech-writer` | Documentación |
85
+ | `elsabro-scrum-master` | Gestión de sprints |
86
+ | `elsabro-ux-designer` | Diseño UI/UX |
87
+ | `elsabro-quick-dev` | Cambios rápidos |
88
+
89
+ ### Dinámico (según contexto)
90
+ | Agente | Modelo por defecto | Escalar a OPUS si... |
91
+ |--------|-------------------|----------------------|
92
+ | `elsabro-yolo-dev` | SONNET | Código crítico |
93
+
94
+ ## Protocolo de Despacho
95
+
96
+ ### 1. Clasificar Tarea
97
+
98
+ ```javascript
99
+ function classifyTask(task) {
100
+ // Exploración pura → HAIKU
101
+ if (task.actions.every(a => ['read', 'glob', 'grep', 'list'].includes(a))) {
102
+ return 'exploration';
103
+ }
104
+
105
+ // Escritura de código → OPUS
106
+ if (task.actions.some(a => ['write', 'edit', 'create'].includes(a))
107
+ && task.scope === 'significant') {
108
+ return 'implementation';
109
+ }
110
+
111
+ // Testing/docs → SONNET
112
+ if (task.type === 'test' || task.type === 'documentation') {
113
+ return 'validation';
114
+ }
115
+
116
+ // Default según complejidad
117
+ return task.complexity > 0.7 ? 'implementation' : 'validation';
118
+ }
119
+ ```
120
+
121
+ ### 2. Seleccionar Modelo
122
+
123
+ ```javascript
124
+ function selectModel(taskType) {
125
+ const modelMap = {
126
+ 'exploration': 'haiku',
127
+ 'validation': 'sonnet',
128
+ 'implementation': 'opus'
129
+ };
130
+ return modelMap[taskType] || 'sonnet';
131
+ }
132
+ ```
133
+
134
+ ### 3. Despachar a Subagente
135
+
136
+ ```javascript
137
+ function dispatch(task, agent) {
138
+ const taskType = classifyTask(task);
139
+ const model = selectModel(taskType);
140
+
141
+ return Task({
142
+ subagent_type: agent,
143
+ model: model,
144
+ description: task.description,
145
+ prompt: task.prompt
146
+ });
147
+ }
148
+ ```
149
+
150
+ ## Ejecución Paralela
151
+
152
+ ### Cuándo Paralelizar
153
+
154
+ ```
155
+ PARALELO (un solo mensaje con múltiples Task):
156
+ - Tareas independientes sin dependencias
157
+ - Misma wave/fase
158
+ - No modifican los mismos archivos
159
+
160
+ SECUENCIAL:
161
+ - Tarea B depende del output de A
162
+ - Modifican los mismos archivos
163
+ - Una tarea determina si otra se ejecuta
164
+ ```
165
+
166
+ ### Patrón de Paralelización con Tasks API
167
+
168
+ ```javascript
169
+ // 1. Crear Tasks con dependencias
170
+ const explorationTasks = [
171
+ TaskCreate({ subject: "Explore files", metadata: { model: "haiku" }}),
172
+ TaskCreate({ subject: "Map patterns", metadata: { model: "haiku" }}),
173
+ TaskCreate({ subject: "Analyze deps", metadata: { model: "haiku" }})
174
+ ];
175
+
176
+ // 2. Crear Task agregadora
177
+ const aggregator = TaskCreate({
178
+ subject: "Aggregate exploration results",
179
+ metadata: { type: "aggregator" }
180
+ });
181
+
182
+ // 3. Configurar dependencias
183
+ TaskUpdate({ taskId: aggregator.id, addBlockedBy: explorationTasks.map(t => t.id) });
184
+
185
+ // 4. Marcar in_progress y lanzar EN UN SOLO MENSAJE
186
+ explorationTasks.forEach(t => TaskUpdate({ taskId: t.id, status: "in_progress" }));
187
+
188
+ // 5. Lanzar agentes (PARALELO REAL)
189
+ Task({ subagent_type: "Explore", model: "haiku", prompt: "..." }) |
190
+ Task({ subagent_type: "feature-dev:code-explorer", model: "haiku", prompt: "..." }) |
191
+ Task({ subagent_type: "Plan", model: "haiku", prompt: "..." })
192
+
193
+ // 6. Al completar cada uno
194
+ explorationTasks.forEach(t => TaskUpdate({ taskId: t.id, status: "completed" }));
195
+
196
+ // 7. Agregador se desbloquea automáticamente
197
+ ```
198
+
199
+ ## Visualización del Despacho
200
+
201
+ ```
202
+ ┌─────────────────────────────────────────────────────────────────────────┐
203
+ │ TASK DISPATCH VISUALIZATION │
204
+ ├─────────────────────────────────────────────────────────────────────────┤
205
+ │ │
206
+ │ INPUT: "Implementar validación de formulario" │
207
+ │ │
208
+ │ ┌─────────────────┐ │
209
+ │ │ CLASSIFY TASK │ │
210
+ │ │ type: implement │ │
211
+ │ │ scope: signif. │ │
212
+ │ └────────┬────────┘ │
213
+ │ │ │
214
+ │ ▼ │
215
+ │ ┌─────────────────┐ │
216
+ │ │ SELECT MODEL │ │
217
+ │ │ → OPUS │ │
218
+ │ └────────┬────────┘ │
219
+ │ │ │
220
+ │ ▼ │
221
+ │ ┌─────────────────┐ │
222
+ │ │ SELECT AGENT │ │
223
+ │ │ → elsabro-exec │ │
224
+ │ └────────┬────────┘ │
225
+ │ │ │
226
+ │ ▼ │
227
+ │ ┌─────────────────────────────────────┐ │
228
+ │ │ DISPATCH │ │
229
+ │ │ Task(elsabro-executor, opus, ...) │ │
230
+ │ └─────────────────────────────────────┘ │
231
+ │ │
232
+ └─────────────────────────────────────────────────────────────────────────┘
233
+ ```
234
+
235
+ ## Ejemplos de Despacho
236
+
237
+ ### Ejemplo 1: Exploración (HAIKU x3 paralelo)
238
+
239
+ ```javascript
240
+ // Tarea: "Entender cómo funciona la autenticación"
241
+ // Tipo: exploration
242
+ // Modelo: HAIKU (x3 en paralelo)
243
+
244
+ Task({
245
+ subagent_type: "Explore",
246
+ model: "haiku",
247
+ description: "Buscar archivos de auth",
248
+ prompt: "Busca archivos relacionados con autenticación..."
249
+ }) |
250
+ Task({
251
+ subagent_type: "feature-dev:code-explorer",
252
+ model: "haiku",
253
+ description: "Analizar patrones de auth",
254
+ prompt: "Analiza los patrones de autenticación..."
255
+ }) |
256
+ Task({
257
+ subagent_type: "Plan",
258
+ model: "haiku",
259
+ description: "Mapear flujo de auth",
260
+ prompt: "Mapea el flujo de autenticación..."
261
+ })
262
+ ```
263
+
264
+ ### Ejemplo 2: Implementación (OPUS x2 paralelo)
265
+
266
+ ```javascript
267
+ // Tarea: "Agregar validación de email"
268
+ // Tipo: implementation
269
+ // Modelo: OPUS (x2 en paralelo)
270
+
271
+ Task({
272
+ subagent_type: "elsabro-executor",
273
+ model: "opus",
274
+ description: "Implementar validación",
275
+ prompt: "Implementa validación de email con Zod..."
276
+ }) |
277
+ Task({
278
+ subagent_type: "feature-dev:code-architect",
279
+ model: "opus",
280
+ description: "Validar arquitectura",
281
+ prompt: "Verifica que la implementación siga patrones..."
282
+ })
283
+ ```
284
+
285
+ ### Ejemplo 3: Verificación (OPUS x3 paralelo)
286
+
287
+ ```javascript
288
+ // Tarea: "Verificar calidad del código"
289
+ // Tipo: validation (pero review profundo → OPUS)
290
+ // Modelo: OPUS (x3 en paralelo)
291
+
292
+ Task({
293
+ subagent_type: "pr-review-toolkit:code-reviewer",
294
+ model: "opus",
295
+ description: "Code review",
296
+ prompt: "Revisa el código buscando bugs..."
297
+ }) |
298
+ Task({
299
+ subagent_type: "pr-review-toolkit:silent-failure-hunter",
300
+ model: "opus",
301
+ description: "Buscar errores ocultos",
302
+ prompt: "Busca errores silenciosos..."
303
+ }) |
304
+ Task({
305
+ subagent_type: "pr-review-toolkit:pr-test-analyzer",
306
+ model: "opus",
307
+ description: "Analizar tests",
308
+ prompt: "Verifica cobertura de tests..."
309
+ })
310
+ ```
311
+
312
+ ## Métricas de Eficiencia
313
+
314
+ ```
315
+ ┌─────────────────────────────────────────────────────────────────────────┐
316
+ │ EFFICIENCY METRICS │
317
+ ├─────────────────────────────────────────────────────────────────────────┤
318
+ │ │
319
+ │ ANTES (sin dispatcher): │
320
+ │ - Todo con OPUS → Alto costo, lento │
321
+ │ - Sin paralelismo → Secuencial │
322
+ │ - Sin tracking → Estado perdido │
323
+ │ │
324
+ │ DESPUÉS (con dispatcher): │
325
+ │ - HAIKU para exploración → 70% más rápido, 90% más barato │
326
+ │ - OPUS solo para código → Calidad donde importa │
327
+ │ - 3+ agentes paralelos → Fase 2x-3x más rápida │
328
+ │ - Tasks API → Estado persistente entre sesiones │
329
+ │ │
330
+ │ AHORRO ESTIMADO POR SESIÓN: │
331
+ │ - Tokens: -40% (HAIKU en exploración) │
332
+ │ - Tiempo: -50% (paralelismo) │
333
+ │ - Calidad: +30% (OPUS donde importa) │
334
+ │ │
335
+ └─────────────────────────────────────────────────────────────────────────┘
336
+ ```
337
+
338
+ ## Integración con Comandos
339
+
340
+ ### Comandos que usan Task Dispatcher
341
+
342
+ | Comando | Fase Exploración | Fase Implementación | Fase Verificación |
343
+ |---------|-----------------|---------------------|-------------------|
344
+ | `/elsabro:execute` | HAIKU x3 | OPUS x2 | OPUS x3 |
345
+ | `/elsabro:plan` | HAIKU x3 | OPUS x1 | - |
346
+ | `/elsabro:verify-work` | - | - | OPUS x3 |
347
+ | `/elsabro:debug` | HAIKU x2 | OPUS x1 | SONNET x1 |
348
+ | `/elsabro:research-phase` | HAIKU x3 | - | - |
349
+ | `/elsabro:map-codebase` | HAIKU x4 | - | - |
350
+
351
+ ### Frontmatter Recomendado
352
+
353
+ ```yaml
354
+ ---
355
+ name: execute
356
+ description: Ejecutar planes con dispatcher inteligente
357
+ allowed-tools:
358
+ - Task
359
+ - TaskCreate
360
+ - TaskUpdate
361
+ - TaskList
362
+ - TaskGet
363
+ dispatcher:
364
+ exploration:
365
+ agents: [Explore, feature-dev:code-explorer, Plan]
366
+ model: haiku
367
+ parallel: true
368
+ implementation:
369
+ agents: [elsabro-executor, feature-dev:code-architect]
370
+ model: opus
371
+ parallel: true
372
+ verification:
373
+ agents: [pr-review-toolkit:code-reviewer, pr-review-toolkit:silent-failure-hunter, pr-review-toolkit:pr-test-analyzer]
374
+ model: opus
375
+ parallel: true
376
+ ---
377
+ ```
378
+
379
+ ## Checklist de Uso
380
+
381
+ Antes de despachar tareas:
382
+
383
+ - [ ] ¿Clasificaste el tipo de tarea? (exploration/validation/implementation)
384
+ - [ ] ¿Seleccionaste el modelo correcto? (haiku/sonnet/opus)
385
+ - [ ] ¿Las tareas son independientes? → Paralelo
386
+ - [ ] ¿Creaste Tasks API para tracking?
387
+ - [ ] ¿Configuraste dependencias con blockedBy?
388
+ - [ ] ¿Lanzaste agentes paralelos en UN SOLO mensaje?