La sesión de planificación (Ideate)
Ideate es la skill de planificación de Almirant. Tomas las seeds que llevas tiempo acumulando, abres una sesión y la IA las convierte en tareas tan bien definidas que podría implementarlas tanto un agente como una persona.
Cómo se lanza
Desde Claude Code:
> /ideate
La IA arranca con acceso al board del proyecto, las seeds pendientes y el contexto técnico. No tienes que re-explicar nada.
Desde el asistente:
"Abre una sesión de planning para el proyecto X"
Las fases de una sesión
Fase 1: Analizar el estado del proyecto
La IA empieza revisando el board: qué hay en progreso, qué está en review, qué está pendiente. Esto evita proponer cosas que ya están en marcha o que entran en conflicto con trabajo existente.
Fase 2: Revisar las seeds
Lee las seeds pendientes una a una y evalúa cuánto contexto tiene cada una:
- Seeds claras y concretas → pasa directamente a research técnico
- Seeds ambiguas o vagas → activa el modo de aclaración
Fase 3: Aclaración (si hace falta)
Para seeds vagas, la IA no inventa. Hace preguntas específicas o propone alternativas:
"Me estás diciendo que el dashboard carga lento. Hay tres causas posibles: las queries a la BD, el número de componentes que se renderizan a la vez, o el tamaño de los datos que se descargan. ¿Tienes alguna pista de cuál es? Si no, puedo proponer tareas para investigar cada una."
También puede detectar que varias seeds son realmente el mismo problema:
"Tienes tres seeds sobre rendimiento. Las voy a tratar como una sola Feature para no duplicar trabajo. ¿De acuerdo?"
Fase 4: Research técnico
Con la intención clara, la IA analiza el codebase:
- Qué archivos son relevantes para esta seed
- Cómo está resuelto algo similar en el proyecto (patrones, convenciones)
- Qué enfoque técnico tiene más sentido dado el contexto
- Qué dependencias o riesgos hay que tener en cuenta
Fase 5: Propuesta de tareas
La IA presenta su propuesta: una o varias tareas con:
| Campo | Qué incluye |
|---|---|
| Título | Claro y accionable |
| Descripción | Qué hay que hacer y por qué |
| Definition of done | Criterios concretos y verificables |
| Archivos relevantes | Qué partes del codebase se van a tocar |
| Consideraciones técnicas | Decisiones de approach, riesgos, alternativas descartadas |
Fase 6: Tu aprobación
Revisas la propuesta. Puedes:
- Aprobarla tal cual — las tareas se crean en el board
- Pedir ajustes — "esta tarea sepárala en dos" / "añade el criterio de aceptación X"
- Rechazar alguna — si algo no encaja, lo descartamos
La IA mantiene el contexto de la conversación. Puedes iterar hasta que la propuesta esté bien.
Fase 7: Creación en el board
Con tu aprobación, las tareas se crean automáticamente en el board, vinculadas a las seeds que las originaron. Quedan en el backlog, listas para implementar.
Lo que cambia respecto a planificar "a mano"
| Antes | Con Ideate |
|---|---|
| Crear tareas una a una desde cero | La IA propone la estructura completa |
| Pensar tú solo qué archivos afecta | La IA analiza el codebase por ti |
| Olvidar el contexto de una idea de hace tres días | Las seeds preservan el contexto original |
| Duplicar trabajo sin saberlo | La IA detecta solapamientos entre seeds |
| Tasks con definición vaga | Tasks con definition of done concreto |
Ejemplo de una sesión real
> /ideate
[Ideate] Revisando el board del proyecto "App de facturación"...
→ 2 tareas en In Progress, 1 en Review, 4 seeds pendientes
[Ideate] Seeds detectadas:
1. "Dashboard carga lento" (hace 2 días)
2. "Añadir exportación de reportes" (ayer)
3. "Revisar permisos de admin" (hoy)
4. "Botón de archivar en vista de facturas" (hoy)
[Ideate] Las seeds 1 y 2 tienen relación con la vista principal.
Las voy a analizar juntas como una posible Feature.
[Ideate] Analizando codebase para "Dashboard"...
→ Detectados: DashboardPage.tsx, reportService.ts, api/reports.ts
→ Sin índice en `reports.created_at` (causa probable del lentitud)
→ Exportación no implementada; facturas tiene un precedente en exportInvoices.ts
[Ideate] Propuesta:
Feature: Mejoras en dashboard y reportes
├── Task: Añadir índice en reports.created_at
│ DoD: query < 200ms con 1000 registros, migration incluida
│ Archivos: migrations/, reportService.ts
│
├── Task: Lazy loading en componentes del dashboard
│ DoD: LCP < 2.5s en Lighthouse, sin regresiones visuales
│ Archivos: DashboardPage.tsx, componentes/
│
└── Task: Botón de exportación en reportes (CSV y PDF)
DoD: exporta correctamente con filtros activos, mismo patrón que facturas
Archivos: reportService.ts, api/reports.ts, componentes/ExportButton.tsx (nuevo)
¿Apruebo estas tres tareas o quieres ajustar algo?