elsabro 2.0.1 → 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 +496 -52
  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 +75 -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 +130 -2
  21. package/commands/elsabro/start.md +365 -98
  22. package/commands/elsabro/verify-work.md +271 -12
  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
@@ -1,10 +1,27 @@
1
1
  ---
2
2
  name: add-phase
3
3
  description: Agregar una nueva fase al final del milestone actual
4
+ sync:
5
+ reads: [".elsabro/state.json"]
6
+ writes: [".elsabro/state.json"]
4
7
  ---
5
8
 
6
9
  # /elsabro:add-phase
7
10
 
11
+ <state_sync>
12
+ ## SINCRONIZACION DE ESTADO
13
+
14
+ **IMPORTAR**: Ver `/references/state-sync.md` para protocolo completo.
15
+
16
+ ### Al Iniciar
17
+ - Leer `.elsabro/state.json`
18
+ - Verificar contexto actual del milestone/phase
19
+
20
+ ### Al Completar
21
+ - Registrar cambio en `history`
22
+ - Actualizar `context` si corresponde
23
+ </state_sync>
24
+
8
25
  <command-name>add-phase</command-name>
9
26
 
10
27
  ## Propósito
@@ -1,6 +1,11 @@
1
1
  ---
2
2
  name: add-todo
3
3
  description: Agregar un item al todo list del proyecto actual
4
+ allowed-tools:
5
+ - TaskCreate
6
+ - TaskList
7
+ - Read
8
+ - AskUserQuestion
4
9
  ---
5
10
 
6
11
  # /elsabro:add-todo
@@ -9,7 +14,7 @@ description: Agregar un item al todo list del proyecto actual
9
14
 
10
15
  ## Propósito
11
16
 
12
- Agregar tareas rápidas al todo list del proyecto. Para items que no merecen ser una fase o story completa.
17
+ Agregar tareas rápidas al todo list del proyecto usando **Claude Code Tasks API** como backend. Para items que no merecen ser una fase o story completa.
13
18
 
14
19
  ## Cuándo Usar
15
20
 
@@ -63,96 +68,149 @@ Agregar tareas rápidas al todo list del proyecto. Para items que no merecen ser
63
68
  | `medium` | Normal (default) |
64
69
  | `low` | Cuando haya tiempo |
65
70
 
66
- ## Almacenamiento
71
+ ---
67
72
 
68
- Todos se guardan en `.planning/TODOS.md`:
73
+ ## Implementación (Tasks API)
69
74
 
70
- ```markdown
71
- # Project TODOs
75
+ <implementation>
76
+ Cuando el usuario ejecuta `/elsabro:add-todo`:
72
77
 
73
- ## Critical 🔴
74
- - [ ] Fix authentication token refresh (#123)
78
+ ### 1. Parse Arguments
75
79
 
76
- ## High Priority 🟠
77
- - [ ] Update React to v18.3 (tech-debt)
78
- - [ ] Add loading states to dashboard (ux)
80
+ ```
81
+ INPUT: /elsabro:add-todo "Fix typo in README" --priority=high --category=docs
82
+ PARSE:
83
+ - description: "Fix typo in README"
84
+ - priority: "high" (default: "medium")
85
+ - category: "docs" (default: "chore")
86
+ - due: null (opcional)
87
+ - milestone: null (opcional)
88
+ ```
79
89
 
80
- ## Medium Priority 🟡
81
- - [ ] Fix typo in README (docs) - Added 2024-01-20
82
- - [ ] Add error boundary (tech-debt)
83
- - [ ] Document API endpoints (docs)
90
+ ### 2. Crear Task
91
+
92
+ ```javascript
93
+ TaskCreate({
94
+ subject: "Fix typo in README",
95
+ description: "User-created TODO: Fix typo in README\n\nCategory: docs\nPriority: high",
96
+ activeForm: "Working on: Fix typo in README",
97
+ metadata: {
98
+ type: "todo",
99
+ priority: "high",
100
+ category: "docs",
101
+ due_date: null,
102
+ milestone_id: null,
103
+ created_by: "user",
104
+ source_command: "add-todo",
105
+ created_at: "ISO-8601 timestamp"
106
+ }
107
+ })
108
+ ```
84
109
 
85
- ## Low Priority ⬜
86
- - [ ] Investigate dark mode (idea)
87
- - [ ] Consider adding PWA support (idea)
110
+ ### 3. Output
88
111
 
89
- ## Completed ✅
90
- - [x] Set up CI pipeline (2024-01-18)
91
- - [x] Add basic tests (2024-01-19)
92
112
  ```
113
+ ✓ TODO added (Task #<ID>)
93
114
 
94
- ## Interactivo
115
+ Subject: Fix typo in README
116
+ Priority: high
117
+ Category: docs
118
+ Due: -
95
119
 
96
- ```bash
97
- /elsabro:add-todo
120
+ View all: /elsabro:check-todos
98
121
  ```
99
122
 
123
+ ### 4. Contar TODOs existentes
124
+
125
+ ```javascript
126
+ // Listar todos los tasks tipo "todo"
127
+ TaskList()
128
+ .filter(t => t.metadata?.type === "todo" && t.status !== "completed")
129
+
130
+ // Mostrar conteo por prioridad
131
+ Total TODOs: 8 (2 high, 4 medium, 2 low)
100
132
  ```
101
- Add new TODO:
133
+ </implementation>
102
134
 
103
- Description: Update error messages
104
- Priority (critical/high/medium/low): high
105
- Category (bug/tech-debt/docs/chore/idea/question): ux
106
- Due date (optional):
135
+ ---
136
+
137
+ ## Modo Interactivo
107
138
 
108
- Added: "Update error messages" [high/ux]
139
+ ```bash
140
+ /elsabro:add-todo
109
141
  ```
110
142
 
143
+ Si no se proporciona descripción, usar AskUserQuestion:
144
+
145
+ ```javascript
146
+ AskUserQuestion({
147
+ questions: [
148
+ {
149
+ question: "What TODO do you want to add?",
150
+ header: "Description",
151
+ options: [
152
+ { label: "Bug fix", description: "Minor bug to fix" },
153
+ { label: "Tech debt", description: "Code improvement" },
154
+ { label: "Documentation", description: "Docs to write" },
155
+ { label: "Other", description: "Custom description" }
156
+ ],
157
+ multiSelect: false
158
+ }
159
+ ]
160
+ })
161
+ ```
162
+
163
+ ---
164
+
111
165
  ## Opciones
112
166
 
113
167
  ```bash
114
168
  --priority, -p # critical/high/medium/low
115
169
  --category, -c # Category tag
116
- --due, -d # Due date
117
- --milestone, -m # Link to milestone
118
- --phase # Link to phase
170
+ --due, -d # Due date (ISO-8601)
171
+ --milestone, -m # Link to milestone ID
172
+ --phase # Link to phase ID
119
173
  ```
120
174
 
121
- ## Quick Add
175
+ ## Quick Add (Batch)
122
176
 
123
- Para agregar múltiples todos rápidamente:
177
+ Para agregar múltiples todos:
124
178
 
125
179
  ```bash
126
180
  /elsabro:add-todo --batch
127
181
  ```
128
182
 
183
+ ```javascript
184
+ // Crear múltiples Tasks en paralelo
185
+ TaskCreate({ subject: "Fix button alignment", metadata: {...} })
186
+ TaskCreate({ subject: "Add form validation", metadata: {...} })
187
+ TaskCreate({ subject: "Update user docs", metadata: {...} })
129
188
  ```
130
- Enter TODOs (one per line, empty to finish):
131
- > Fix button alignment
132
- > Add form validation
133
- > Update user docs
134
- >
135
189
 
136
- Added 3 TODOs (all medium priority)
137
- ```
138
-
139
- ## Output
190
+ ---
140
191
 
192
+ ## Metadata Schema
193
+
194
+ ```json
195
+ {
196
+ "type": "todo",
197
+ "priority": "critical|high|medium|low",
198
+ "category": "bug|tech-debt|docs|chore|idea|question",
199
+ "due_date": "ISO-8601 | null",
200
+ "milestone_id": "M001 | null",
201
+ "phase_id": "P001 | null",
202
+ "created_by": "user|system",
203
+ "source_command": "add-todo",
204
+ "created_at": "ISO-8601"
205
+ }
141
206
  ```
142
- ✓ TODO added
143
207
 
144
- Description: Fix typo in README
145
- Priority: medium
146
- Category: docs
147
- Due: -
148
-
149
- Total TODOs: 8 (2 high, 4 medium, 2 low)
150
-
151
- View all: /elsabro:check-todos
152
- ```
208
+ ---
153
209
 
154
210
  ## Integración
155
211
 
156
212
  - View with `/elsabro:check-todos`
157
213
  - Referenced in `/elsabro:progress`
158
214
  - Can be promoted to phase task with `/elsabro:add-phase`
215
+ - Persists across sessions via Tasks API
216
+ - Supports dependencies with `blocks/blockedBy`
@@ -1,10 +1,29 @@
1
1
  ---
2
2
  name: audit-milestone
3
3
  description: Auditar el estado actual de un milestone - progreso, riesgos y recomendaciones
4
+ sync:
5
+ reads: [".elsabro/state.json"]
6
+ writes: [".elsabro/state.json", ".elsabro/context.md"]
4
7
  ---
5
8
 
6
9
  # /elsabro:audit-milestone
7
10
 
11
+ <state_sync>
12
+ ## SINCRONIZACION DE ESTADO
13
+
14
+ **IMPORTAR**: Ver `/references/state-sync.md` para protocolo completo.
15
+
16
+ ### Al Iniciar
17
+ - Leer `.elsabro/state.json`
18
+ - Verificar si hay flujo en progreso
19
+ - Actualizar `current_flow.command` con este comando
20
+
21
+ ### Al Completar
22
+ - Registrar en `history`
23
+ - Actualizar `context` con informacion del milestone
24
+ - Limpiar `current_flow`
25
+ </state_sync>
26
+
8
27
  <command-name>audit-milestone</command-name>
9
28
 
10
29
  ## Propósito
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  name: check-todos
3
3
  description: Ver y gestionar el todo list del proyecto
4
+ allowed-tools:
5
+ - TaskList
6
+ - TaskGet
7
+ - TaskUpdate
8
+ - Read
9
+ - AskUserQuestion
4
10
  ---
5
11
 
6
12
  # /elsabro:check-todos
@@ -9,7 +15,7 @@ description: Ver y gestionar el todo list del proyecto
9
15
 
10
16
  ## Propósito
11
17
 
12
- Revisar, filtrar y gestionar los TODOs del proyecto. Vista completa de tareas pendientes.
18
+ Revisar, filtrar y gestionar los TODOs del proyecto usando **Claude Code Tasks API**. Vista completa de tareas pendientes con capacidad de gestión directa.
13
19
 
14
20
  ## Cuándo Usar
15
21
 
@@ -45,7 +51,69 @@ Revisar, filtrar y gestionar los TODOs del proyecto. Vista completa de tareas pe
45
51
  /elsabro:check-todos --completed
46
52
  ```
47
53
 
48
- ## Vista Principal
54
+ ---
55
+
56
+ ## Implementación (Tasks API)
57
+
58
+ <implementation>
59
+ Cuando el usuario ejecuta `/elsabro:check-todos`:
60
+
61
+ ### 1. Obtener TODOs
62
+
63
+ ```javascript
64
+ // Listar todas las Tasks
65
+ const allTasks = TaskList();
66
+
67
+ // Filtrar por tipo "todo"
68
+ const todos = allTasks.filter(t => t.metadata?.type === "todo");
69
+ ```
70
+
71
+ ### 2. Aplicar Filtros
72
+
73
+ ```javascript
74
+ // Si --priority especificado
75
+ if (args.priority) {
76
+ todos = todos.filter(t => t.metadata?.priority === args.priority);
77
+ }
78
+
79
+ // Si --category especificado
80
+ if (args.category) {
81
+ todos = todos.filter(t => t.metadata?.category === args.category);
82
+ }
83
+
84
+ // Si --pending (default)
85
+ if (args.pending || !args.completed) {
86
+ todos = todos.filter(t => t.status !== "completed");
87
+ }
88
+
89
+ // Si --completed
90
+ if (args.completed) {
91
+ todos = todos.filter(t => t.status === "completed");
92
+ }
93
+
94
+ // Si --overdue
95
+ if (args.overdue) {
96
+ const now = new Date();
97
+ todos = todos.filter(t =>
98
+ t.metadata?.due_date &&
99
+ new Date(t.metadata.due_date) < now &&
100
+ t.status !== "completed"
101
+ );
102
+ }
103
+ ```
104
+
105
+ ### 3. Agrupar por Prioridad
106
+
107
+ ```javascript
108
+ const grouped = {
109
+ critical: todos.filter(t => t.metadata?.priority === "critical"),
110
+ high: todos.filter(t => t.metadata?.priority === "high"),
111
+ medium: todos.filter(t => t.metadata?.priority === "medium"),
112
+ low: todos.filter(t => t.metadata?.priority === "low")
113
+ };
114
+ ```
115
+
116
+ ### 4. Mostrar Vista
49
117
 
50
118
  ```
51
119
  ╔══════════════════════════════════════════════════╗
@@ -53,75 +121,144 @@ Revisar, filtrar y gestionar los TODOs del proyecto. Vista completa de tareas pe
53
121
  ╠══════════════════════════════════════════════════╣
54
122
  ║ ║
55
123
  ║ 🔴 CRITICAL (1) ║
56
- #1 Fix auth token refresh [bug]
124
+ #<ID> Fix auth token refresh [bug]
57
125
  ║ ║
58
126
  ║ 🟠 HIGH (3) ║
59
- #2 Update React to v18.3 [tech-debt]
60
- #3 Add loading states [ux]
61
- #4 Update error messages [ux]
127
+ #<ID> Update React to v18.3 [tech-debt]
128
+ #<ID> Add loading states [ux]
129
+ #<ID> Update error messages [ux]
62
130
  ║ ║
63
131
  ║ 🟡 MEDIUM (4) ║
64
- #5 Fix typo in README [docs]
65
- #6 Add error boundary [tech-debt]
66
- #7 Document API endpoints [docs]
67
- #8 Add unit tests for utils [test]
132
+ #<ID> Fix typo in README [docs]
133
+ #<ID> Add error boundary [tech-debt]
134
+ #<ID> Document API endpoints [docs]
135
+ #<ID> Add unit tests for utils [test]
68
136
  ║ ║
69
137
  ║ ⬜ LOW (2) ║
70
- #9 Investigate dark mode [idea]
71
- #10 Consider PWA support [idea]
138
+ #<ID> Investigate dark mode [idea]
139
+ #<ID> Consider PWA support [idea]
72
140
  ║ ║
73
141
  ╠══════════════════════════════════════════════════╣
74
142
  ║ Total: 10 | Completed today: 2 ║
75
143
  ╚══════════════════════════════════════════════════╝
76
144
  ```
145
+ </implementation>
146
+
147
+ ---
77
148
 
78
149
  ## Gestión de TODOs
79
150
 
80
- ### Marcar como completado
151
+ ### Marcar como Completado
81
152
 
82
153
  ```bash
83
- /elsabro:check-todos --complete=5
154
+ /elsabro:check-todos --complete=<task-id>
84
155
  ```
85
156
 
157
+ ```javascript
158
+ TaskUpdate({
159
+ taskId: "<task-id>",
160
+ status: "completed",
161
+ metadata: {
162
+ completed_at: new Date().toISOString()
163
+ }
164
+ });
86
165
  ```
87
- ✓ Completed: #5 "Fix typo in README"
166
+
167
+ Output:
168
+ ```
169
+ ✓ Completed: #<ID> "Fix typo in README"
88
170
  ```
89
171
 
90
- ### Cambiar prioridad
172
+ ### Cambiar Prioridad
91
173
 
92
174
  ```bash
93
- /elsabro:check-todos --prioritize=6 --to=high
175
+ /elsabro:check-todos --prioritize=<task-id> --to=high
176
+ ```
177
+
178
+ ```javascript
179
+ // Obtener task actual
180
+ const task = TaskGet({ taskId: "<task-id>" });
181
+
182
+ // Actualizar prioridad en metadata
183
+ TaskUpdate({
184
+ taskId: "<task-id>",
185
+ metadata: {
186
+ ...task.metadata,
187
+ priority: "high",
188
+ updated_at: new Date().toISOString()
189
+ }
190
+ });
94
191
  ```
95
192
 
193
+ Output:
96
194
  ```
97
- #6 "Add error boundary" priority: medium → high
195
+ #<ID> "Add error boundary" priority: medium → high
98
196
  ```
99
197
 
100
198
  ### Eliminar TODO
101
199
 
102
200
  ```bash
103
- /elsabro:check-todos --delete=9
201
+ /elsabro:check-todos --delete=<task-id>
202
+ ```
203
+
204
+ ```javascript
205
+ // Confirmar con usuario
206
+ AskUserQuestion({
207
+ questions: [{
208
+ question: `Delete #<ID> "${task.subject}"?`,
209
+ header: "Confirm",
210
+ options: [
211
+ { label: "Yes, delete", description: "Permanently remove this TODO" },
212
+ { label: "No, keep it", description: "Cancel deletion" }
213
+ ],
214
+ multiSelect: false
215
+ }]
216
+ });
217
+
218
+ // Si confirmado
219
+ TaskUpdate({ taskId: "<task-id>", status: "deleted" });
104
220
  ```
105
221
 
222
+ Output:
106
223
  ```
107
- Delete #9 "Investigate dark mode"? (y/n)
108
- > y
109
- ✓ Deleted
224
+ Deleted: #<ID> "Investigate dark mode"
110
225
  ```
111
226
 
112
227
  ### Editar TODO
113
228
 
114
229
  ```bash
115
- /elsabro:check-todos --edit=3
230
+ /elsabro:check-todos --edit=<task-id>
116
231
  ```
117
232
 
233
+ ```javascript
234
+ // Obtener task actual
235
+ const task = TaskGet({ taskId: "<task-id>" });
236
+
237
+ // Solicitar nueva descripción
238
+ AskUserQuestion({
239
+ questions: [{
240
+ question: `Current: "${task.subject}"\nNew description?`,
241
+ header: "Edit",
242
+ options: [
243
+ { label: "Keep current", description: "No changes" },
244
+ { label: "Modify", description: "Enter new description" }
245
+ ],
246
+ multiSelect: false
247
+ }]
248
+ });
249
+
250
+ // Si modifica
251
+ TaskUpdate({
252
+ taskId: "<task-id>",
253
+ subject: newSubject,
254
+ metadata: {
255
+ ...task.metadata,
256
+ updated_at: new Date().toISOString()
257
+ }
258
+ });
118
259
  ```
119
- Current: "Add loading states"
120
- New description (or Enter to keep):
121
- > Add loading states to all API calls
122
260
 
123
- ✓ Updated #3
124
- ```
261
+ ---
125
262
 
126
263
  ## Filtros
127
264
 
@@ -133,7 +270,7 @@ New description (or Enter to keep):
133
270
  --category=bug|tech-debt|docs|chore|idea|question
134
271
 
135
272
  # Por estado
136
- --pending # Solo pendientes
273
+ --pending # Solo pendientes (default)
137
274
  --completed # Solo completados
138
275
  --overdue # Con fecha vencida
139
276
 
@@ -145,12 +282,47 @@ New description (or Enter to keep):
145
282
  --milestone=M001
146
283
  ```
147
284
 
285
+ ---
286
+
148
287
  ## Estadísticas
149
288
 
150
289
  ```bash
151
290
  /elsabro:check-todos --stats
152
291
  ```
153
292
 
293
+ <stats_implementation>
294
+ ```javascript
295
+ const todos = TaskList().filter(t => t.metadata?.type === "todo");
296
+ const pending = todos.filter(t => t.status !== "completed");
297
+ const completed = todos.filter(t => t.status === "completed");
298
+
299
+ // Por prioridad
300
+ const byPriority = {
301
+ critical: pending.filter(t => t.metadata?.priority === "critical").length,
302
+ high: pending.filter(t => t.metadata?.priority === "high").length,
303
+ medium: pending.filter(t => t.metadata?.priority === "medium").length,
304
+ low: pending.filter(t => t.metadata?.priority === "low").length
305
+ };
306
+
307
+ // Por categoría
308
+ const byCategory = pending.reduce((acc, t) => {
309
+ const cat = t.metadata?.category || "uncategorized";
310
+ acc[cat] = (acc[cat] || 0) + 1;
311
+ return acc;
312
+ }, {});
313
+
314
+ // Completion rate (últimos 7 días)
315
+ const sevenDaysAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
316
+ const recentlyCompleted = completed.filter(t =>
317
+ new Date(t.metadata?.completed_at) > sevenDaysAgo
318
+ );
319
+ const completionRate = Math.round(
320
+ (recentlyCompleted.length / (recentlyCompleted.length + pending.length)) * 100
321
+ );
322
+ ```
323
+ </stats_implementation>
324
+
325
+ Output:
154
326
  ```
155
327
  ╔══════════════════════════════════════════════════╗
156
328
  ║ TODO STATISTICS ║
@@ -172,6 +344,8 @@ New description (or Enter to keep):
172
344
  ╚══════════════════════════════════════════════════╝
173
345
  ```
174
346
 
347
+ ---
348
+
175
349
  ## Output Formatos
176
350
 
177
351
  ```bash
@@ -185,8 +359,13 @@ New description (or Enter to keep):
185
359
  /elsabro:check-todos --format=minimal
186
360
  ```
187
361
 
362
+ ---
363
+
188
364
  ## Integración
189
365
 
190
366
  - Add with `/elsabro:add-todo`
191
- - Syncs with `.planning/TODOS.md`
192
- - Can promote to phase with actions
367
+ - Backend: Claude Code Tasks API
368
+ - Persiste entre sesiones
369
+ - Soporta dependencias (`blocks/blockedBy`)
370
+ - Visible en `/elsabro:progress`
371
+ - Promovible a fase con `/elsabro:add-phase`
@@ -1,10 +1,29 @@
1
1
  ---
2
2
  name: complete-milestone
3
- description: Cerrar un milestone completado con retrospectiva y documentación de logros
3
+ description: Cerrar un milestone completado con retrospectiva y documentacion de logros
4
+ sync:
5
+ reads: [".elsabro/state.json"]
6
+ writes: [".elsabro/state.json", ".elsabro/context.md"]
4
7
  ---
5
8
 
6
9
  # /elsabro:complete-milestone
7
10
 
11
+ <state_sync>
12
+ ## SINCRONIZACION DE ESTADO
13
+
14
+ **IMPORTAR**: Ver `/references/state-sync.md` para protocolo completo.
15
+
16
+ ### Al Iniciar
17
+ - Leer `.elsabro/state.json`
18
+ - Verificar si hay flujo en progreso
19
+ - Actualizar `current_flow.command` con este comando
20
+
21
+ ### Al Completar
22
+ - Registrar en `history`
23
+ - Actualizar `context` con informacion del milestone
24
+ - Limpiar `current_flow`
25
+ </state_sync>
26
+
8
27
  <command-name>complete-milestone</command-name>
9
28
 
10
29
  ## Propósito
@@ -13,10 +13,29 @@ allowed-tools:
13
13
  - AskUserQuestion
14
14
  - mcp__plugin_context7_context7__*
15
15
  argument-hint: "[descripción del problema]"
16
+ sync:
17
+ reads: [".elsabro/state.json"]
18
+ writes: [".elsabro/state.json", ".elsabro/context.md"]
16
19
  ---
17
20
 
18
21
  # ELSABRO: Debug
19
22
 
23
+ <state_sync>
24
+ ## SINCRONIZACION DE ESTADO
25
+
26
+ **IMPORTAR**: Ver `/references/state-sync.md` para protocolo completo.
27
+
28
+ ### Al Iniciar
29
+ - Leer `.elsabro/state.json`
30
+ - Verificar si hay flujo en progreso
31
+ - Actualizar `current_flow.command` con este comando
32
+
33
+ ### Al Completar
34
+ - Registrar en `history`
35
+ - Actualizar `context` con informacion relevante
36
+ - Limpiar `current_flow`
37
+ </state_sync>
38
+
20
39
  <objective>
21
40
  Investigar y resolver bugs usando el método científico, no adivinando.
22
41