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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elsabro",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Sistema de desarrollo AI-powered para Claude Code - El mejor asistente para crear apps sin experiencia previa",
5
5
  "bin": {
6
6
  "elsabro": "bin/install.js"
@@ -0,0 +1,241 @@
1
+ # ELSABRO System Index
2
+
3
+ ## ARQUITECTURA DEL SISTEMA
4
+
5
+ ```
6
+ ┌─────────────────────────────────────────────────────────────────────────────┐
7
+ │ ELSABRO SYSTEM │
8
+ ├─────────────────────────────────────────────────────────────────────────────┤
9
+ │ │
10
+ │ ┌──────────────────────────────────────────────────────────────────────┐ │
11
+ │ │ ENTRY POINT │ │
12
+ │ │ /elsabro:start │ │
13
+ │ │ (Orquestador Principal) │ │
14
+ │ └────────────────────────────┬─────────────────────────────────────────┘ │
15
+ │ │ │
16
+ │ ▼ │
17
+ │ ┌────────────────────────────────────────────────────────────────────────┐ │
18
+ │ │ CORE WORKFLOW │ │
19
+ │ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ ┌───────────────┐ │ │
20
+ │ │ │ :new │→ │ :plan │→ │ :execute │→ │ :verify-work │ │ │
21
+ │ │ │ (setup) │ │(design) │ │(implement) │ │ (check) │ │ │
22
+ │ │ └─────────┘ └─────────┘ └─────────────┘ └───────────────┘ │ │
23
+ │ │ ↑ │ │ │
24
+ │ │ └───── :debug ──┘ │ │
25
+ │ └────────────────────────────────────────────────────────────────────────┘ │
26
+ │ │
27
+ │ ┌────────────────────────────────────────────────────────────────────────┐ │
28
+ │ │ SHARED STATE │ │
29
+ │ │ .elsabro/state.json │ │
30
+ │ │ (Sincronización entre comandos) │ │
31
+ │ └────────────────────────────────────────────────────────────────────────┘ │
32
+ │ │
33
+ │ ┌────────────────────────────────────────────────────────────────────────┐ │
34
+ │ │ TASK DISPATCHER │ │
35
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
36
+ │ │ │ HAIKU │ │ SONNET │ │ OPUS │ │ │
37
+ │ │ │ Exploración │ │ Balance │ │ Implementar │ │ │
38
+ │ │ │ (rápido) │ │ (flexible) │ │ (calidad) │ │ │
39
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
40
+ │ └────────────────────────────────────────────────────────────────────────┘ │
41
+ │ │
42
+ └─────────────────────────────────────────────────────────────────────────────┘
43
+ ```
44
+
45
+ ---
46
+
47
+ ## ARCHIVOS DE REFERENCIA
48
+
49
+ ### 1. `enforcement-rules.md`
50
+ **Propósito**: Reglas NO negociables que todo comando debe seguir
51
+ **Contiene**:
52
+ - Secuencia obligatoria: TaskCreate → TaskUpdate → Task → TaskUpdate
53
+ - Mínimos de agentes por fase
54
+ - Matriz completa de todos los comandos (29 comandos)
55
+ - Políticas de paralelismo
56
+
57
+ ### 2. `state-sync.md`
58
+ **Propósito**: Protocolo de sincronización de estado entre comandos
59
+ **Contiene**:
60
+ - Código de sincronización para copiar a cada comando
61
+ - Fases por comando
62
+ - Contexto que pasa cada comando al siguiente
63
+ - Transiciones válidas entre comandos
64
+
65
+ ### 3. `command-flow.md`
66
+ **Propósito**: Flujo de navegación y estado compartido
67
+ **Contiene**:
68
+ - Diagrama de flujo principal
69
+ - Estructura de `.elsabro/state.json`
70
+ - Checkpoints entre comandos
71
+ - Recuperación de contexto
72
+
73
+ ### 4. `task-dispatcher.md`
74
+ **Propósito**: Selección automática de modelo según tipo de tarea
75
+ **Contiene**:
76
+ - Matriz modelo-tipo de tarea
77
+ - Configuración de agentes por comando
78
+ - Políticas de ejecución paralela
79
+ - Integración con Claude Code Tasks API
80
+
81
+ ### 4.1. `tasks-integration.md` (NUEVO)
82
+ **Propósito**: Integración con Claude Code Tasks API como backend único
83
+ **Contiene**:
84
+ - Arquitectura unificada (ELSABRO commands + Tasks API)
85
+ - Metadata schema para TODOs, phases, milestones
86
+ - Migración de `.planning/TODOS.md` a Tasks API
87
+ - Ejemplos de implementación para cada comando
88
+
89
+ ### 5. `error-handling-instructions.md`
90
+ **Propósito**: Manejo consistente de errores
91
+ **Contiene**:
92
+ - Clasificación (CRITICAL, HIGH, MEDIUM, LOW)
93
+ - Display visual de errores
94
+ - Políticas de retry
95
+ - Actualización de estado después de errores
96
+
97
+ ### 6. `source-hierarchy.md`
98
+ **Propósito**: Prioridad de fuentes de información
99
+ **Contiene**:
100
+ - Context7 > Docs > WebSearch > Training
101
+ - Verificación de versiones
102
+ - Proceso de research
103
+
104
+ ### 7. `token-optimization.md`
105
+ **Propósito**: Uso eficiente del contexto
106
+ **Contiene**:
107
+ - Regla del 50%
108
+ - Lazy loading
109
+ - Wave execution
110
+
111
+ ---
112
+
113
+ ## ESTADO UNIFICADO
114
+
115
+ **Archivo principal**: `.elsabro/state.json`
116
+
117
+ ```json
118
+ {
119
+ "version": "1.0.0",
120
+ "created_at": "ISO timestamp",
121
+ "updated_at": "ISO timestamp",
122
+
123
+ "current_flow": {
124
+ "command": "string",
125
+ "phase": "string",
126
+ "started_at": "ISO timestamp"
127
+ },
128
+
129
+ "context": {
130
+ "project_type": "greenfield | brownfield | continuation",
131
+ "tech_stack": ["array"],
132
+ "current_feature": "string | null"
133
+ },
134
+
135
+ "history": [
136
+ {
137
+ "command": "string",
138
+ "completed_at": "ISO timestamp",
139
+ "result": "string",
140
+ "artifact": "path | null"
141
+ }
142
+ ],
143
+
144
+ "pending_tasks": [],
145
+ "blocked_on": null,
146
+ "suggested_next": "string | null",
147
+
148
+ "errors": {
149
+ "count": 0,
150
+ "lastError": null
151
+ }
152
+ }
153
+ ```
154
+
155
+ **Archivo legible**: `.elsabro/context.md` (para humanos)
156
+
157
+ ---
158
+
159
+ ## SKILLS PROFESIONALES
160
+
161
+ | Skill | Stack | Versiones |
162
+ |-------|-------|-----------|
163
+ | `full-stack-app` | Next.js 15 + React 19 + Prisma 6 + PostgreSQL | Específicas |
164
+ | `saas-starter` | Full-stack + Stripe 2024-12-18 | Específicas |
165
+ | `mobile-app` | Expo SDK 52 + React Native | Específicas |
166
+ | `api-microservice` | Fastify + OpenAPI + Docker | Parciales |
167
+ | `chrome-extension` | Manifest V3 + Vite + TypeScript | Parciales |
168
+
169
+ ---
170
+
171
+ ## CHECKLIST DE CONSISTENCIA
172
+
173
+ Para verificar que el sistema está correctamente configurado:
174
+
175
+ ### Comandos Core
176
+ - [ ] `start.md` tiene sección `<enforcement>` y `<state_sync>`
177
+ - [ ] `plan.md` tiene sección `<state_sync>` y `dispatcher` en frontmatter
178
+ - [ ] `execute.md` tiene sección `<state_sync>` y `dispatcher` en frontmatter
179
+ - [ ] `verify-work.md` tiene sección `<state_sync>` y `dispatcher` en frontmatter
180
+
181
+ ### Referencias
182
+ - [ ] Todos los archivos usan `.elsabro/state.json` (NO `.planning/SESSION.md`)
183
+ - [ ] `enforcement-rules.md` tiene matriz para los 29 comandos
184
+ - [ ] `state-sync.md` tiene código de sincronización completo
185
+
186
+ ### Skills
187
+ - [ ] Cada skill tiene `tags` en frontmatter
188
+ - [ ] Cada skill tiene versiones específicas de tecnologías
189
+ - [ ] Cada skill tiene `<verification>` ejecutable
190
+
191
+ ---
192
+
193
+ ## FLUJO DE EJECUCIÓN TÍPICO
194
+
195
+ ```
196
+ 1. Usuario ejecuta /elsabro:start
197
+ └─ Lee .elsabro/state.json (si existe)
198
+ └─ Lanza 2 HAIKU en paralelo para detectar contexto
199
+ └─ Muestra opciones según proyecto (greenfield/brownfield/continuation)
200
+ └─ Actualiza state.json con current_flow
201
+ └─ Invoca siguiente comando con Skill tool
202
+
203
+ 2. /elsabro:plan toma control
204
+ └─ Lee state.json (contexto de start)
205
+ └─ Lanza 3 HAIKU en paralelo para explorar
206
+ └─ Lanza 1 OPUS para crear RESEARCH.md y PLAN.md
207
+ └─ Lanza 1 SONNET para validar plan
208
+ └─ Actualiza state.json (plan_file, ready_for_execution)
209
+ └─ Sugiere /elsabro:execute
210
+
211
+ 3. /elsabro:execute toma control
212
+ └─ Lee state.json (plan_file)
213
+ └─ Lanza 3 HAIKU en paralelo para explorar
214
+ └─ Lanza 2+ OPUS en paralelo para implementar (por wave)
215
+ └─ Lanza 3 OPUS en paralelo para verificar
216
+ └─ Actualiza state.json (changed_files, commits)
217
+ └─ Sugiere /elsabro:verify-work
218
+
219
+ 4. /elsabro:verify-work finaliza
220
+ └─ Lee state.json (changed_files)
221
+ └─ Lanza 3 OPUS en paralelo para verificación exhaustiva
222
+ └─ Genera VERIFICATION-REPORT.md
223
+ └─ Actualiza state.json (verification_result)
224
+ └─ Si PASS: "Listo para merge"
225
+ └─ Si FAIL: Sugiere /elsabro:execute para fix
226
+ ```
227
+
228
+ ---
229
+
230
+ ## REGLAS DE ORO
231
+
232
+ 1. **TaskCreate ANTES de cualquier acción**
233
+ 2. **TaskUpdate(in_progress) ANTES de Task()**
234
+ 3. **Tasks API como backend único** (NO duplicar con sistemas custom)
235
+ 4. **Metadata schema consistente** para type, priority, category
236
+ 5. **TaskList para sincronización** (NO archivos .md separados)
237
+ 6. **Mínimo 3 agentes HAIKU para exploración**
238
+ 7. **OPUS para implementación y verificación**
239
+ 8. **Context7 ANTES de escribir código con librerías**
240
+ 9. **Paralelismo OBLIGATORIO cuando las tareas son independientes**
241
+ 10. **Pasar contexto via Task metadata** al siguiente comando
@@ -0,0 +1,352 @@
1
+ # ELSABRO Command Flow & Synchronization
2
+
3
+ ## ESTADO COMPARTIDO
4
+
5
+ Los comandos ELSABRO se sincronizan a través de un sistema de estado compartido. Esto permite que cada comando sepa dónde está el usuario en el flujo y qué contexto necesita.
6
+
7
+ ---
8
+
9
+ ## FLUJO PRINCIPAL
10
+
11
+ ```
12
+ ┌─────────────────────────────────────────────────────────────────────┐
13
+ │ /elsabro:start │
14
+ │ (Entry Point - Orquestador) │
15
+ └─────────────────────────┬───────────────────────────────────────────┘
16
+
17
+ ┌───────────────┼───────────────┬───────────────┐
18
+ ▼ ▼ ▼ ▼
19
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
20
+ │ :new │ │ :plan │ │ :debug │ │ :quick │
21
+ │ Proyecto │ │ Feature │ │ Bugs │ │ Rápido │
22
+ │ nuevo │ │ nueva │ │ │ │ │
23
+ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘
24
+ │ │ │ │
25
+ ▼ ▼ ▼ ▼
26
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
27
+ │ :execute │◄───│ :execute │◄───│ :execute │ │
28
+ │ │ │ │ │ │ │
29
+ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
30
+ │ │ │ │
31
+ └───────────────┴───────────────┴───────────────┘
32
+
33
+
34
+ ┌──────────────┐
35
+ │ :verify-work │
36
+ │ (Siempre) │
37
+ └──────────────┘
38
+ ```
39
+
40
+ ---
41
+
42
+ ## ARCHIVO DE ESTADO: .elsabro/state.json
43
+
44
+ Cada proyecto ELSABRO mantiene un archivo de estado en `.elsabro/state.json`:
45
+
46
+ ```json
47
+ {
48
+ "version": "1.0.0",
49
+ "created_at": "2024-01-15T10:30:00Z",
50
+ "updated_at": "2024-01-15T14:45:00Z",
51
+
52
+ "current_flow": {
53
+ "command": "execute",
54
+ "phase": "implementation",
55
+ "started_at": "2024-01-15T14:30:00Z"
56
+ },
57
+
58
+ "context": {
59
+ "project_type": "fullstack",
60
+ "tech_stack": ["nextjs", "prisma", "postgresql"],
61
+ "current_feature": "auth-system"
62
+ },
63
+
64
+ "history": [
65
+ {
66
+ "command": "start",
67
+ "completed_at": "2024-01-15T10:30:00Z",
68
+ "result": "redirected_to_new"
69
+ },
70
+ {
71
+ "command": "new",
72
+ "completed_at": "2024-01-15T11:00:00Z",
73
+ "result": "project_created"
74
+ },
75
+ {
76
+ "command": "plan",
77
+ "completed_at": "2024-01-15T12:30:00Z",
78
+ "result": "plan_approved",
79
+ "artifact": ".planning/auth-plan.md"
80
+ }
81
+ ],
82
+
83
+ "pending_tasks": [],
84
+ "blocked_on": null
85
+ }
86
+ ```
87
+
88
+ ---
89
+
90
+ ## SINCRONIZACIÓN ENTRE COMANDOS
91
+
92
+ ### Regla 1: Leer Estado Antes de Actuar
93
+
94
+ **OBLIGATORIO**: Todo comando debe leer `.elsabro/state.json` al iniciar.
95
+
96
+ ```typescript
97
+ // Pseudo-código - cada comando hace esto primero
98
+ const state = readState(".elsabro/state.json");
99
+
100
+ if (!state) {
101
+ // Primera vez - inicializar
102
+ createState();
103
+ }
104
+
105
+ // Verificar si hay flujo en progreso
106
+ if (state.current_flow && state.current_flow.command !== thisCommand) {
107
+ // Advertir al usuario
108
+ warn(`Hay un flujo de ${state.current_flow.command} en progreso`);
109
+ askUser("¿Continuar con ese flujo o iniciar uno nuevo?");
110
+ }
111
+ ```
112
+
113
+ ### Regla 2: Actualizar Estado al Cambiar de Fase
114
+
115
+ **OBLIGATORIO**: Actualizar `current_flow` al cambiar de fase o comando.
116
+
117
+ ```typescript
118
+ // Al iniciar una fase
119
+ updateState({
120
+ current_flow: {
121
+ command: "execute",
122
+ phase: "exploration",
123
+ started_at: new Date().toISOString()
124
+ }
125
+ });
126
+
127
+ // Al completar
128
+ updateState({
129
+ current_flow: null,
130
+ history: [...state.history, {
131
+ command: "execute",
132
+ completed_at: new Date().toISOString(),
133
+ result: "success"
134
+ }]
135
+ });
136
+ ```
137
+
138
+ ### Regla 3: Pasar Contexto Entre Comandos
139
+
140
+ **OBLIGATORIO**: Los comandos deben preservar y extender el contexto.
141
+
142
+ | De | A | Contexto Pasado |
143
+ |----|---|-----------------|
144
+ | start | new | project_type, user_level |
145
+ | start | plan | existing_codebase_info |
146
+ | new | plan | tech_stack, project_structure |
147
+ | plan | execute | plan_file_path, acceptance_criteria |
148
+ | execute | verify-work | changed_files, test_locations |
149
+ | debug | execute | root_cause, fix_approach |
150
+
151
+ ---
152
+
153
+ ## PUNTOS DE SINCRONIZACIÓN
154
+
155
+ ### Checkpoint 1: Después de start
156
+
157
+ ```json
158
+ {
159
+ "checkpoint": "post_start",
160
+ "data": {
161
+ "user_intent": "create_new_app | add_feature | fix_bug | understand",
162
+ "detected_context": "greenfield | brownfield | continuation",
163
+ "next_command": "new | plan | debug | analyst"
164
+ }
165
+ }
166
+ ```
167
+
168
+ ### Checkpoint 2: Después de plan
169
+
170
+ ```json
171
+ {
172
+ "checkpoint": "post_plan",
173
+ "data": {
174
+ "plan_file": ".planning/feature-xyz.md",
175
+ "phases": ["setup", "core", "integration", "tests"],
176
+ "estimated_complexity": "low | medium | high",
177
+ "ready_for_execution": true
178
+ }
179
+ }
180
+ ```
181
+
182
+ ### Checkpoint 3: Después de execute
183
+
184
+ ```json
185
+ {
186
+ "checkpoint": "post_execute",
187
+ "data": {
188
+ "changed_files": ["src/auth.ts", "src/api/login.ts"],
189
+ "tests_added": ["tests/auth.test.ts"],
190
+ "commits": ["abc123", "def456"],
191
+ "verification_pending": true
192
+ }
193
+ }
194
+ ```
195
+
196
+ ---
197
+
198
+ ## TRANSICIONES VÁLIDAS
199
+
200
+ ```
201
+ start → new ✓ (proyecto nuevo)
202
+ start → plan ✓ (feature en proyecto existente)
203
+ start → debug ✓ (resolver problema)
204
+ start → quick ✓ (tarea simple)
205
+
206
+ new → plan ✓ (siguiente paso natural)
207
+ new → execute ✗ (necesita plan primero)
208
+
209
+ plan → execute ✓ (ejecutar el plan)
210
+ plan → plan ✓ (refinar plan)
211
+
212
+ execute → verify ✓ (verificar trabajo)
213
+ execute → execute ✓ (continuar implementación)
214
+
215
+ verify → execute ✓ (corregir problemas encontrados)
216
+ verify → [done] ✓ (trabajo completado)
217
+
218
+ debug → execute ✓ (aplicar fix)
219
+ debug → plan ✓ (fix complejo necesita plan)
220
+
221
+ quick → verify ✓ (verificar tarea rápida)
222
+ quick → [done] ✓ (tarea completada)
223
+ ```
224
+
225
+ ---
226
+
227
+ ## RECUPERACIÓN DE CONTEXTO
228
+
229
+ ### Cuando el Usuario Vuelve
230
+
231
+ Si el usuario vuelve después de una pausa:
232
+
233
+ 1. **Leer estado**: `.elsabro/state.json`
234
+ 2. **Detectar flujo incompleto**: `current_flow !== null`
235
+ 3. **Ofrecer opciones**:
236
+ ```
237
+ Veo que estabas en medio de [comando] fase [fase].
238
+
239
+ ¿Qué quieres hacer?
240
+ 1) Continuar donde lo dejaste
241
+ 2) Empezar algo nuevo (esto descartará el progreso)
242
+ 3) Ver resumen de lo que falta
243
+ ```
244
+
245
+ ### Resume Automático
246
+
247
+ Si `current_flow.phase === "implementation"` y hay archivos modificados sin commit:
248
+
249
+ ```
250
+ Detecté cambios sin guardar de tu última sesión:
251
+ - src/auth.ts (modificado)
252
+ - src/api/login.ts (nuevo)
253
+
254
+ ¿Quieres que continúe la implementación o prefieres revisar primero?
255
+ ```
256
+
257
+ ---
258
+
259
+ ## INTEGRACIÓN CON ENFORCEMENT RULES
260
+
261
+ Cada punto de sincronización debe respetar las reglas de `/references/enforcement-rules.md`:
262
+
263
+ 1. **TaskCreate** antes de cada transición de comando
264
+ 2. **TaskUpdate(in_progress)** antes de ejecutar la lógica
265
+ 3. **Parallelism** cuando la transición involucra múltiples operaciones
266
+ 4. **TaskUpdate(completed)** y actualizar `state.json` al finalizar
267
+
268
+ ---
269
+
270
+ ## COMANDOS QUE MODIFICAN ESTADO
271
+
272
+ | Comando | Lee Estado | Escribe Estado | Crea Artefactos |
273
+ |---------|-----------|----------------|-----------------|
274
+ | start | SÍ | SÍ | NO |
275
+ | new | SÍ | SÍ | SÍ (.elsabro/, estructura) |
276
+ | plan | SÍ | SÍ | SÍ (.planning/*.md) |
277
+ | execute | SÍ | SÍ | SÍ (código, tests) |
278
+ | verify-work | SÍ | SÍ | SÍ (reportes) |
279
+ | debug | SÍ | SÍ | OPCIONAL |
280
+ | quick | SÍ | SÍ | VARIABLE |
281
+ | help | NO | NO | NO |
282
+ | settings | SÍ | SÍ | NO |
283
+
284
+ ---
285
+
286
+ ## EJEMPLO COMPLETO: Flujo de Nueva Feature
287
+
288
+ ```
289
+ Usuario: "Quiero agregar sistema de pagos"
290
+
291
+ 1. /elsabro:start
292
+ - Lee state.json → proyecto existente
293
+ - Detecta: brownfield
294
+ - Usuario elige: "Agregar algo"
295
+ - Actualiza state: { user_intent: "add_feature", next: "plan" }
296
+ - Redirige a /elsabro:plan
297
+
298
+ 2. /elsabro:plan
299
+ - Lee state.json → sabe que viene de start, es feature nueva
300
+ - TaskCreate("Explorar codebase para payments")
301
+ - Task(haiku) x3 [paralelo] → exploración
302
+ - TaskCreate("Generar plan de payments")
303
+ - Task(opus) x2 → genera plan
304
+ - Guarda .planning/payments-plan.md
305
+ - Actualiza state: { plan_file: "...", ready_for_execution: true }
306
+ - Usuario aprueba → sugiere /elsabro:execute
307
+
308
+ 3. /elsabro:execute
309
+ - Lee state.json → sabe el plan, los archivos
310
+ - TaskCreate("Implementar fase 1: setup Stripe")
311
+ - Task(haiku) x3 [paralelo] → exploración
312
+ - Task(opus) x2 [paralelo] → implementación
313
+ - Task(opus) x3 [paralelo] → verificación
314
+ - Actualiza state: { changed_files: [...], commits: [...] }
315
+ - Sugiere /elsabro:verify-work
316
+
317
+ 4. /elsabro:verify-work
318
+ - Lee state.json → sabe qué archivos verificar
319
+ - Task(opus) x3 [paralelo] → verificación exhaustiva
320
+ - Actualiza state: { verification: "passed" }
321
+ - DONE
322
+ ```
323
+
324
+ ---
325
+
326
+ ## ANTI-PATRONES
327
+
328
+ ### NO hacer:
329
+
330
+ 1. **Ignorar estado existente**
331
+ ```
332
+ ✗ Empezar fresh sin leer state.json
333
+ ✓ Siempre leer y ofrecer continuar si hay flujo
334
+ ```
335
+
336
+ 2. **Saltar comandos**
337
+ ```
338
+ ✗ start → execute (sin plan)
339
+ ✓ start → plan → execute
340
+ ```
341
+
342
+ 3. **No actualizar estado**
343
+ ```
344
+ ✗ Completar comando sin escribir state.json
345
+ ✓ Actualizar estado al inicio y fin de cada fase
346
+ ```
347
+
348
+ 4. **Perder contexto entre comandos**
349
+ ```
350
+ ✗ Cada comando empieza de cero
351
+ ✓ Pasar contexto relevante entre comandos
352
+ ```