Skip to main content

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:

CampoQué incluye
TítuloClaro y accionable
DescripciónQué hay que hacer y por qué
Definition of doneCriterios concretos y verificables
Archivos relevantesQué partes del codebase se van a tocar
Consideraciones técnicasDecisiones 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"

AntesCon Ideate
Crear tareas una a una desde ceroLa IA propone la estructura completa
Pensar tú solo qué archivos afectaLa IA analiza el codebase por ti
Olvidar el contexto de una idea de hace tres díasLas seeds preservan el contexto original
Duplicar trabajo sin saberloLa IA detecta solapamientos entre seeds
Tasks con definición vagaTasks 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?

Qué sigue