Files
repo_Claude/.claude/commands/issues/sort.md
T

5.5 KiB

version, updated, tags
version updated tags
1.0.0 2026-03-11
issues
planning
order

Command: sort-issues

Analiza las issues en dev/issues/ y genera un archivo dev/EXECUTION_ORDER.md con el orden óptimo de ejecución basado en dependencias y relaciones entre issues.

Para el usuario

Cuándo usar este comando

  • Cuando quieres planificar el orden de trabajo de las issues disponibles
  • Después de crear nuevas issues y necesitas priorizar
  • Antes de empezar una fase de desarrollo para entender el flujo crítico
  • Cuando hay cambios en dependencias entre issues

Sintaxis

/issues:sort

Ejemplos

Ejemplo 1:

/issues:sort

Analiza todas las issues en dev/issues/ y crea dev/EXECUTION_ORDER.md con el orden recomendado.

Ejemplo 2:

/issues:sort

Actualiza el orden de ejecución después de completar algunas issues.

Para Claude

Precondiciones

Verificar antes de ejecutar:

  • Directorio dev/issues/ existe
  • Hay archivos .md en dev/issues/ (al menos uno)
  • Tienes permisos de escritura en dev/

Inputs

No requiere inputs del usuario. Analiza automáticamente todas las issues en dev/issues/.

Flujo obligatorio

1. Listar todas las issues disponibles

Obtener lista de todas las issues en dev/issues/:

ls -1 dev/issues/*.md | grep -E '[0-9]{4}-.*\.md$' | sort

Excluir README.md y otros archivos que no sean issues numeradas.

2. Analizar cada issue para extraer dependencias

Para cada archivo de issue encontrado:

  1. Leer el contenido completo del archivo
  2. Buscar secciones que indiquen dependencias:
    • "Depends on", "Requires", "Prerequisites"
    • Referencias a otras issues (#NNNN)
    • Menciones en "Critical Path" o "Execution Order"
  3. Identificar el tipo de issue (foundational, feature, infrastructure)
  4. Analizar complejidad y alcance

Patrones a buscar:

  • #0001, issue #0001, 0001-nombre
  • "must be completed before"
  • "blocks", "required for"
  • "depends on"

3. Construir grafo de dependencias

Crear una representación mental del grafo:

  • Nodos: cada issue
  • Aristas: relaciones de dependencia (A → B significa "A debe completarse antes que B")
  • Identificar:
    • Issues raíz (sin dependencias)
    • Issues bloqueadas (muchas dependencias)
    • Camino crítico
    • Issues paralelas (pueden ejecutarse simultáneamente)

4. Calcular orden óptimo

Aplicar ordenamiento topológico considerando:

  1. Prioridad primaria: Dependencias explícitas (hard dependencies)
  2. Prioridad secundaria: Dependencias implícitas (una issue menciona conceptos de otra)
  3. Prioridad terciaria: Orden lógico (fundamentos antes que features)
  4. Desempate: Número de issue (menor primero)

Estrategia:

  • Agrupar issues por "capas" (todas las de una capa pueden ejecutarse en paralelo)
  • Identificar camino crítico explícitamente
  • Sugerir paralelización cuando sea posible

5. Generar archivo EXECUTION_ORDER.md

Crear archivo con formato muy sencillo:

# Execution Order for Issues

Last updated: YYYY-MM-DD

## Recommended Order

1. #0001 - <nombre> — <razón breve>
2. #0002 - <nombre> — <razón breve>
3. #0003 - <nombre> — <razón breve>
...

## Critical Path

Issues que bloquean otras:
- #0001#0002, #0003
- #0005#0008

## Parallelizable Groups

### Group 1 (after #0001)
- #0002
- #0003

### Group 2 (after #0005)
- #0006
- #0007

## Notes

- <Nota importante sobre el orden>
- <Consideraciones especiales>

Escribir el archivo:

cat > dev/EXECUTION_ORDER.md << 'EOF'
<contenido-generado>
EOF

6. Mostrar resumen al usuario

✓ Archivo dev/EXECUTION_ORDER.md creado

Issues analizadas: N
Camino crítico identificado: #XXXX → #YYYY → #ZZZZ
Grupos paralelizables: M

Próxima issue recomendada: #NNNN - <nombre>

Verificación final

cat dev/EXECUTION_ORDER.md

Informar al usuario:

✓ Orden de ejecución de issues generado en dev/EXECUTION_ORDER.md

Próximos pasos:
  1. Revisar el orden propuesto
  2. Comenzar con la primera issue del orden
  3. Actualizar con /issues:sort cuando completes issues o agregues nuevas

Convenciones

  • Formato simple: Solo líneas numeradas con issues y razón breve
  • Razones concisas: Máximo 1 línea explicando por qué ese orden
  • Actualización frecuente: Re-ejecutar después de completar issues
  • Nombres consistentes: Usar formato #NNNN - nombre-descriptivo

Troubleshooting

Error: "No issues found"

Causa: No hay archivos .md con formato de issue en dev/issues/

Solución:

ls -la dev/issues/
# Verificar que existan archivos NNNN-nombre.md

Error: "Circular dependency detected"

Causa: Issue A depende de B, y B depende de A (ciclo)

Solución:

  1. Revisar manualmente las issues involucradas
  2. Romper la dependencia circular
  3. Actualizar la documentación de al menos una issue
  4. Re-ejecutar /issues:sort

Error: "Permission denied writing to dev/"

Causa: No tienes permisos de escritura en el directorio dev/

Solución:

chmod u+w dev/
# O verificar permisos del directorio
ls -ld dev/

Reglas críticas

  • No modificar issues: Solo leer, nunca modificar los archivos de issues
  • Análisis exhaustivo: Leer TODAS las issues antes de generar el orden
  • Formato consistente: Mantener estructura simple y legible
  • Actualización atómica: Sobrescribir el archivo completo, no editar parcialmente
  • Documentar razonamiento: Cada issue en el orden debe tener su justificación breve