- Primero establece
/modela Haiku - Luego lee todas las tareas pendientes de los directorios
.context/compound-engineering/todos/ytodos/heredados
Presenta todos los hallazgos, decisiones o problemas aquí uno por uno para su triaje. El objetivo es revisar cada elemento y decidir si agregarlo al sistema de tareas CLI.
IMPORTANTE: ¡NO CODIFIQUES NADA DURANTE EL TRIAJE!
Este comando es para:
- Triaje de hallazgos de revisión de código
- Procesamiento de resultados de auditorías de seguridad
- Revisión de análisis de rendimiento
- Manejo de cualquier otro hallazgo categorizado que necesite seguimiento
Flujo de Trabajo
Paso 1: Presentar Cada Hallazgo
Para cada hallazgo, preséntalo en este formato:
---
Problema #X: [Título Breve]
Gravedad: 🔴 P1 (CRÍTICO) / 🟡 P2 (IMPORTANTE) / 🔵 P3 (OPCIONAL)
Categoría: [Seguridad/Rendimiento/Arquitectura/Error/Característica/etc.]
Descripción:
[Explicación detallada del problema o mejora]
Ubicación: [ruta_del_archivo:número_de_línea]
Escenario del Problema:
[Paso a paso qué está mal o qué podría pasar]
Solución Propuesta:
[Cómo solucionarlo]
Esfuerzo Estimado: [Pequeño (< 2 horas) / Mediano (2-8 horas) / Grande (> 8 horas)]
---
¿Quieres agregar esto a la lista de tareas?
1. sí - crear archivo de tarea
2. siguiente - omitir este elemento
3. personalizado - modificar antes de crear
Paso 2: Manejar la Decisión del Usuario
Cuando el usuario dice "sí":
-
Actualiza el archivo de tarea existente (si existe) o Crea un nuevo nombre de archivo:
Si la tarea ya existe (de una revisión de código):
- Renombra el archivo de
{id}-pendiente-{prioridad}-{desc}.md→{id}-lista-{prioridad}-{desc}.md - Actualiza el frontmatter YAML:
status: pendiente→status: lista - Mantén issue_id, prioridad y descripción sin cambios
Si se crea una nueva tarea:
{siguiente_id}-lista-{prioridad}-{descripción-breve}.mdMapeo de prioridades:
- 🔴 P1 (CRÍTICO) →
p1 - 🟡 P2 (IMPORTANTE) →
p2 - 🔵 P3 (OPCIONAL) →
p3
Ejemplo:
042-lista-p1-limites-transaccion.md - Renombra el archivo de
-
Actualiza el frontmatter YAML:
--- status: lista # IMPORTANTE: Cambia de "pendiente" a "lista" priority: p1 # o p2, p3 según la gravedad issue_id: "042" tags: [categoría, etiquetas-relevantes] dependencies: [] --- -
Rellena o actualiza el archivo:
# [Título del Problema] ## Enunciado del Problema [Descripción del hallazgo] ## Hallazgos - [Descubrimientos clave] - Ubicación: [ruta_del_archivo:número_de_línea] - [Detalles del escenario] ## Soluciones Propuestas ### Opción 1: [Solución principal] - **Pros**: [Beneficios] - **Contras**: [Inconvenientes si los hay] - **Esfuerzo**: [Pequeño/Mediano/Grande] - **Riesgo**: [Bajo/Medio/Alto] ## Acción Recomendada [Completado durante el triaje - plan de acción específico] ## Detalles Técnicos - **Archivos Afectados**: [Lista de archivos] - **Componentes Relacionados**: [Componentes afectados] - **Cambios en Base de Datos**: [Sí/No - describir si es sí] ## Recursos - Hallazgo original: [Fuente de este problema] - Problemas relacionados: [Si los hay] ## Criterios de Aceptación - [ ] [Criterios de éxito específicos] - [ ] Pruebas pasan - [ ] Código revisado ## Registro de Trabajo ### {fecha} - Aprobado para Trabajar **Por:** Sistema de Triaje de Claude **Acciones:** - Problema aprobado durante sesión de triaje - Estado cambiado de pendiente → lista - Listo para ser recogido y trabajado **Aprendizajes:** - [Contexto e ideas] ## Notas Fuente: Sesión de triaje del {fecha} -
Confirma la aprobación: "✅ Aprobado:
{nuevo_nombre_archivo}(Problema #{issue_id}) - Estado: lista → Listo para trabajar"
Cuando el usuario dice "siguiente":
- Elimina el archivo de tarea - Bórralo de su ubicación actual ya que no es relevante
- Salta al siguiente elemento
- Guarda un registro de los elementos omitidos para el resumen
Cuando el usuario dice "personalizado":
- Pregunta qué modificar (prioridad, descripción, detalles)
- Actualiza la información
- Presenta la versión revisada
- Pregunta de nuevo: sí/siguiente/personalizado
Paso 3: Continuar Hasta Procesar Todo
- Procesa todos los elementos uno por uno
- Realiza un seguimiento con tareas basadas en archivos (todos/ + /skill:file-todos) para visibilidad
- No esperes la aprobación entre elementos - sigue adelante
Paso 4: Resumen Final
Después de procesar todos los elementos:
## Triaje Completado
**Elementos Totales:** [X] **Tareas Aprobadas (lista):** [Y] **Omitidas:** [Z]
### Tareas Aprobadas (Listas para Trabajar):
- `042-lista-p1-limites-transaccion.md` - Problema de límites de transacción
- `043-lista-p2-optimizacion-cache.md` - Mejora de rendimiento de caché ...
### Elementos Omitidos (Eliminados):
- Elemento #5: [razón] - Eliminado
- Elemento #12: [razón] - Eliminado
### Resumen de Cambios Realizados:
Durante el triaje, ocurrieron las siguientes actualizaciones de estado:
- **Pendiente → Lista:** Nombres de archivo y frontmatter actualizados para reflejar el estado de aprobación
- **Eliminados:** Archivos de tarea para hallazgos omitidos
- Cada archivo aprobado ahora tiene `status: lista` en el frontmatter YAML
### Próximos Pasos:
1. Ver las tareas aprobadas listas para trabajar:
```bash
ls .context/compound-engineering/todos/*-lista-*.md todos/*-lista-*.md 2>/dev/null
```
-
Comenzar a trabajar en los elementos aprobados:
/resolver-todo-paralelo # Trabajar en múltiples tareas aprobadas de manera eficiente -
O seleccionar elementos individuales para trabajar
-
A medida que trabajes, actualiza el estado de la tarea:
- Lista → En Progreso (en tu contexto local mientras trabajas)
- En Progreso → Completado (renombrar archivo: lista → completado, actualizar frontmatter)
Formato de Respuesta de Ejemplo
---
Problema #5: Faltan Límites de Transacción para Operaciones de Múltiples Pasos
Gravedad: 🔴 P1 (CRÍTICO)
Categoría: Integridad de Datos / Seguridad
Descripción: La devolución de llamada google_oauth2_connected en la preocupación GoogleOauthCallbacks realiza múltiples operaciones de base de datos sin protección de transacción. Si algún paso falla a medio camino, la base de datos queda en un estado inconsistente.
Ubicación: app/controllers/concerns/google_oauth_callbacks.rb:13-50
Escenario del Problema:
1. User.update tiene éxito (correo electrónico cambiado)
2. Account.save! falla (error de validación)
3. Resultado: User tiene correo electrónico cambiado pero no hay Account asociada
4. El siguiente intento de inicio de sesión falla por completo
Operaciones Sin Transacción:
- Confirmación de usuario (línea 13)
- Eliminación de lista de espera (línea 14)
- Actualización de perfil de usuario (línea 21-23)
- Creación de cuenta (línea 28-37)
- Adjuntar avatar (línea 39-45)
- Creación de viaje (línea 47)
Solución Propuesta: Envolver todas las operaciones en un bloque ApplicationRecord.transaction do ... end
Esfuerzo Estimado: Pequeño (30 minutos)
---
¿Quieres agregar esto a la lista de tareas?
1. sí - crear archivo de tarea
2. siguiente - omitir este elemento
3. personalizado - modificar antes de crear
Detalles de Implementación Importantes
Transiciones de Estado Durante el Triaje
Cuando se selecciona "sí":
- Renombra el archivo:
{id}-pendiente-{prioridad}-{desc}.md→{id}-lista-{prioridad}-{desc}.md - Actualiza el frontmatter YAML:
status: pendiente→status: lista - Actualiza el Registro de Trabajo con la entrada de aprobación de triaje
- Confirma: "✅ Aprobado:
{nombre_archivo}(Problema #{issue_id}) - Estado: lista"
Cuando se selecciona "siguiente":
- Elimina el archivo de tarea de su ubicación actual
- Salta al siguiente elemento
- No queda ningún archivo en el sistema
Seguimiento del Progreso
Cada vez que presentes una tarea como encabezado, incluye:
- Progreso: X/Y completados (ej., "3/10 completados")
- Tiempo restante estimado: Basado en qué tan rápido estás progresando
- Ritmo: Monitorea el tiempo por hallazgo y ajusta la estimación en consecuencia
Ejemplo:
Progreso: 3/10 completados | Tiempo estimado: ~2 minutos restantes
No Codificar Durante el Triaje
- ✅ Presentar hallazgos
- ✅ Tomar decisiones sí/siguiente/personalizado
- ✅ Actualizar archivos de tarea (renombrar, frontmatter, registro de trabajo)
- ❌ NO implementar correcciones ni escribir código
- ❌ NO agregar detalles de implementación
- ❌ Eso es para la fase /resolver-todo-paralelo
Cuando termines, da estas opciones:
¿Qué te gustaría hacer a continuación?
1. ejecutar /resolver-todo-paralelo para resolver las tareas
2. confirmar las tareas
3. nada, a relajarse