refactor: actualizar skill execute-parallel con binario y nuevos flags

Documentar arquitectura utils/parallel-executor/, añadir flags
--dry-run, --sort, --cleanup. Actualizar flujo para usar binario
compilado en bin/parallel-executor.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 02:15:23 +01:00
parent 650f848ac3
commit 7f4c481e73
+66 -49
View File
@@ -1,7 +1,7 @@
--- ---
name: execute-parallel name: execute-parallel
description: Ejecuta automáticamente issues del plan de ejecución paralela description: Ejecuta automáticamente issues del plan de ejecución paralela
argument-hint: [--group N] [--sequential] argument-hint: [--group N] [--sequential] [--sort] [--dry-run] [--cleanup]
disable-model-invocation: true disable-model-invocation: true
user-invocable: true user-invocable: true
allowed-tools: Bash, Read, Write allowed-tools: Bash, Read, Write
@@ -9,7 +9,7 @@ allowed-tools: Bash, Read, Write
# execute-parallel # execute-parallel
Ejecuta automáticamente las issues del plan paralelo. Crea worktrees, ejecuta /fix-issue, mergea y limpia. Ejecuta automáticamente issues en paralelo usando git worktrees. Unifica sort, plan y ejecución.
## Sintaxis ## Sintaxis
@@ -17,75 +17,92 @@ Ejecuta automáticamente las issues del plan paralelo. Crea worktrees, ejecuta /
/execute-parallel # Ejecutar TODOS los grupos /execute-parallel # Ejecutar TODOS los grupos
/execute-parallel --group 1 # Solo Grupo 1 /execute-parallel --group 1 # Solo Grupo 1
/execute-parallel --sequential # Sin paralelismo /execute-parallel --sequential # Sin paralelismo
/execute-parallel --dry-run # Ver plan sin ejecutar
/execute-parallel --sort # Solo analizar y generar plan
/execute-parallel --cleanup # Solo limpiar worktrees
```
## Binario
El orquestador está en `utils/parallel-executor/` y se compila a `bin/parallel-executor`.
```bash
# Si no existe el binario, compilar primero
if [ ! -f "bin/parallel-executor" ]; then
cd utils/parallel-executor && make build && cd ../..
fi
``` ```
## Flujo ## Flujo
### 1. Validar precondiciones ### 1. Verificar binario
```bash ```bash
# Si no existe plan, generarlo automáticamente EXECUTOR="./bin/parallel-executor"
if [ ! -f "PARALLEL_EXECUTION_ORDER.md" ]; then if [ ! -f "$EXECUTOR" ]; then
/parallel-issues echo "Compilando parallel-executor..."
cd utils/parallel-executor && make build && cd ../..
fi fi
``` ```
### 2. Parsear argumentos ### 2. Parsear argumentos del usuario y ejecutar
- `--group <N>`: ejecutar solo ese grupo Mapear los argumentos directamente al binario:
- `--sequential`: ejecutar uno a uno
- Sin args: ejecutar todos los grupos
### 3. Ejecutar programa Go
```bash ```bash
./cmd/parallel-executor/parallel-executor $ARGS ./bin/parallel-executor $ARGS
``` ```
El orquestador Go maneja: **Flags disponibles:**
- Creación de worktrees - `--sort` → analizar issues y generar PARALLEL_EXECUTION_ORDER.md
- Ejecución paralela de `/fix-issue` - `--dry-run` → mostrar plan y worktrees que se crearían
- Push de cada rama - `--group N` → ejecutar solo grupo N
- Limpieza de worktrees - `--sequential` → ejecutar sin paralelismo
- Logging en `logs/` - `--timeout N` → timeout en minutos por issue (default: 30)
- `--cleanup` → solo limpiar worktrees existentes
- `--plan file` → usar plan alternativo
### 4. Mostrar resumen ### 3. Mostrar resumen
Después de ejecutar, mostrar:
- Resultados por issue (éxito/fallo)
- Ruta a logs y summary
- Estado de worktrees
### 4. Limpiar plan si exitoso
Si todos los issues completaron exitosamente, eliminar `PARALLEL_EXECUTION_ORDER.md`.
## Arquitectura
``` ```
Ejecución completada utils/parallel-executor/
├── main.go # CLI + orquestación
Logs: ├── core/
- logs/parallel-execution-*.log │ ├── parser.go # Parseo del plan markdown (puro)
- logs/consolidated-summary.txt │ ├── planner.go # Topological sort + conflictos (puro)
│ ├── parser_test.go
Worktrees restantes: (ninguno) │ └── planner_test.go
``` ├── shell/
│ ├── worktree.go # Git worktree CRUD
### 5. Eliminar plan │ ├── executor.go # Ejecutar claude en worktree
│ └── logger.go # Logging a disco
Si exitoso, eliminar `PARALLEL_EXECUTION_ORDER.md`. ├── go.mod, go.work # DevFactory como dependencia
└── Makefile
## Arquitectura Go
```
cmd/parallel-executor/
├── main.go # CLI
├── parser.go # Parse plan
├── worktree.go # Git worktrees
├── executor.go # Ejecutar claude
├── logger.go # Logging
└── orchestrator.go # Goroutines
``` ```
## Convenciones ## Convenciones
- Logs persistentes por ejecución - Usa DevFactory: `Result[T]`, `MapSlice`, `FilterSlice`, `Reduce`
- Timeout 30 min por issue - Patrón pure core / impure shell
- Limpieza automática de worktrees - Logs persistentes en `logs/`
- Plan se elimina al completar - Timeout 30 min por issue (configurable)
- Limpieza automática de worktrees al terminar
- Plan se auto-genera si no existe (`--sort` implícito)
## Reglas ## Reglas
- SIEMPRE generar plan si no existe - SIEMPRE verificar que el binario existe antes de ejecutar
- Solo advertir si hay cambios (no bloquear) - SIEMPRE mostrar dry-run antes de una ejecución real si el usuario no especificó flags
- SIEMPRE limpiar worktrees al terminar - SIEMPRE limpiar worktrees al terminar
- Si no hay plan, generarlo automáticamente