Ir al contenido

Tareas

Una tarea es la unidad de trabajo del tablero: un título, una descripción en markdown, los repos donde se trabaja y el agente que corre en cada etapa. Vive en una columna y avanza de etapa en etapa; cuando entra a una etapa con agente asignado, Thulu lanza ese agente sobre la rama de la tarea. Esta página cubre cómo crearla, cómo está armado su detalle y cómo organizar el trabajo con subtareas y dependencias. Cómo se mueve por el tablero está en Tablero y lo que hace el agente en cada corrida, en Corridas de agentes.

Tablero Tienda web con seis columnas: Backlog, Refinamiento, En curso, Revisión, QA y Hecho plegada, con tarjetas de tareas
Cada tarjeta es una tarea. Muestra tipo, prioridad, repos, etiquetas, estado de la corrida y, si tiene, el avance de sus subtareas.

Para una tarea que va a trabajar un agente, este orden evita las vueltas más comunes:

  1. Antes de crear la tarea, revisá que el proyecto tenga una “Plantilla de etapas” con el agente de cada etapa (Proyectos), o que la columna tenga un “Agente por defecto” (Tableros y etapas). La tarea copia esos agentes al crearse; si el proyecto no tiene plantilla, nace sin agentes y tenés que asignarlos a mano.

  2. Tocá “Nuevo” arriba a la derecha y elegí “Tarea” (o “Nueva tarea” en el tablero, o la tecla N). Se abre el modal “Nueva tarea”.

  3. Revisá el “Tablero”, elegí los repos tocando sus chips en “Repos”, el “Tipo” si el tablero tiene tipos, y escribí “Título” y “Descripción”. Si hace falta, completá “Prioridad” y “Etiquetas” (separadas por coma). Debajo de los repos, el modal dice qué agentes va a copiar de la plantilla. La descripción acepta markdown. Si querés que el agente la lea por partes, usá los encabezados en inglés que esperan los agentes, como ## Definition of Done con casillas - [ ] (ver Secciones).

    Modal Nueva tarea con el repo tienda-web elegido, tipo Bug, un título y una descripción con una sección Definition of Done
    Los repos son opcionales, pero un agente que necesita repo no arranca sin uno.
  4. Tocá “Crear”. Aparece el aviso “Tarea creada”, la tarjeta queda en la primera columna del tablero y la tarea se abre en el panel. Si el daemon rechaza el alta, el motivo aparece en el mismo modal y no se crea nada.

  5. En el panel de la tarea, revisá el “Agente” de cada etapa. Cada valor de la columna derecha es un botón que abre su selector.

  6. Si el trabajo se parte, agregá subtareas desde la sección “Subtareas” (ver Subtareas).

  7. Cuando la tarea está lista para que la tome el agente, movela a la etapa siguiente con el botón “Mover a …” del encabezado o arrastrando la tarjeta.

Hay dos caminos y crean lo mismo, con distinto alcance:

“Nuevo” > “Tarea” o “Nueva tarea” “Nueva tarea” al pie de una columna
Dónde aparece Encabezado de cualquier página (desde otra página te lleva al tablero y abre el modal) Al final de cada columna del tablero
Etapa donde nace La primera del tablero La de esa columna
Campos Tablero, repos (varios), tipo, título, descripción, prioridad y etiquetas Título y un repo
Tipo El que elijas, o el default del tablero El default del tablero
Teclado N en el tablero Enter crea, Esc cancela

El alta en la columna sirve para anotar rápido: escribís el título, elegís un repo del desplegable (propone el último que usaste) y apretás Enter. Si hacés clic afuera con texto escrito, también la crea.

Columna Backlog con el campo de alta abierto al pie, un título escrito y el repo tienda-web elegido
Alta en la columna: título, repo y Enter.

Crear directo en una columna con agente puede lanzar ese agente apenas se crea la tarea, igual que si la arrastraras ahí. Si el agente de esa etapa necesita un repo y no elegiste ninguno, aparece “No se pudo crear: El agente … necesita un repo vinculado” y la tarea no se crea.

Hacé clic en una tarjeta y la tarea se abre en un panel a la derecha, con la dirección #task-<id> en la URL para compartirla. El botón de agrandar (o F) lleva el panel a todo el ancho y el navegador lo recuerda.

Detalle de la tarea El cupón AHORRA10 se aplica antes del IVA, con encabezado, pestañas, descripción con las secciones Goal, Context, Definition of Done y Out of Scope, y columna de propiedades
El panel agrandado: encabezado con etapa, prioridad y tipo; la descripción a la izquierda y las propiedades a la derecha.

El encabezado muestra dónde está la tarea (tablero, tarea madre si es subtarea, id corto con botón para copiar el enlace), el título (hacé clic para editarlo; Enter guarda, Esc cancela), la etapa, el estado de la corrida, la prioridad y el tipo. A la derecha está el botón para pasar a la etapa siguiente (“Mover a QA”) y, según el estado, un botón principal como “Responder”, “Revisar” o “Más turnos”.

Debajo del encabezado aparece una franja cuando algo espera a una persona: una pregunta del agente, una aprobación pendiente, un caso de prueba que falla, una dependencia sin cumplir o todas las subtareas terminadas. Cada fila tiene un botón que lleva al lugar.

Las pestañas son cinco:

Pestaña Qué tiene
“Tarea” Descripción, pull requests, subtareas, casos de prueba, archivos y actividad
“Chat” La conversación en vivo con la corrida en curso (Corridas de agentes)
“Historial” Eventos, prompts y logs de cada corrida, y el uso de tokens y costo de la tarea
“Aprobaciones” Las aprobaciones de la tarea, con el número de pendientes (Pendientes)
“Reportes” Los reportes largos que dejan los agentes

La columna derecha (o una grilla debajo del encabezado si el panel es angosto) tiene las propiedades. Las que se editan abren un selector al hacer clic; los cambios se guardan al elegir.

Propiedad Qué es Cómo se edita
“Etapa” Columna donde está la tarea Selector de etapas, sin las que su tipo saltea (S)
“Agente” Agente de la etapa actual y, debajo, quién sigue (“Después: qa-tester en QA”). Si la tarea tiene proyecto, un link a la plantilla de la que salieron Selector con un agente por etapa (A)
“Prioridad” Ninguna, Baja, Media, Alta o Urgente Selector (P)
“Tipo” Sólo si el tablero tiene tipos Selector
“Proyectos” Repos vinculados Botón de lápiz: buscá, vinculá o creá un proyecto
“Rama y PR” Rama de la tarea Copiar la rama
“Bloqueada por” / “Bloquea a” Dependencias en las dos direcciones Selector de dependencias (D)
“Etiquetas” Texto libre Escribí y Enter (L)
“Corridas” Cuántas corridas, tokens y costo lleva la tarea Un clic lleva a “Historial”
“Creada” / “Actualizada” Fechas relativas —
Selector Bloqueada por abierto sobre una tarea en Backlog: lista la dependencia bloqueante actual y un buscador con tareas del tablero
El selector de dependencias muestra las actuales arriba y un buscador abajo, con el tipo (bloqueante o aviso) al lado.

La descripción es markdown. El texto antes del primer encabezado ## es el resumen; cada ## Título abre una sección que se muestra con su propio encabezado, y las casillas - [ ] se vuelven checkboxes que podés tildar sin entrar a editar. Al lado del nombre de cada sección con casillas aparece la cuenta (“2 de 5 hechas”).

Para editar, tocá “Editar” (o E). El editor reemplaza la vista, se guarda solo mientras escribís y muestra el estado (“Guardando…”, “Guardado hace 4 segundos”). “Listo” sale del editor, “Descartar los cambios” vuelve al texto de cuando empezaste, y pegar una imagen la sube como archivo. Si pegás una descripción entera dentro de un bloque ```md, se guarda sin ese bloque, así se lee como documento y sus casillas se tildan.

Los agentes leen y escriben las mismas secciones, y las buscan por un nombre fijo en inglés: el skill de refinamiento completa Goal, Context, Definition of Done, Out of Scope y Risks, y el agente que implementa tilda cada casilla de Definition of Done con una nota de evidencia. La UI muestra el encabezado tal como lo escribiste y no traduce nada. Si titulás una sección en castellano (“## Definición de terminado”), el agente no la reconoce como esa sección y puede agregar una “Definition of Done” aparte. En el editor, “Agregar secciones” suma al final las que falten de Goal, Context, Definition of Done y Out of Scope. A mano, usá estos encabezados:

Resumen corto de qué pasa y por qué importa.
## Goal
Qué tiene que quedar funcionando.
## Context
Dónde está el problema, qué repos toca.
## Definition of Done
- [ ] Criterio verificable 1
- [ ] Criterio verificable 2
## Out of Scope
- Lo que esta tarea no hace

También existen ## Risks y ## Notes. Cualquier otro encabezado funciona como sección propia: se muestra y se puede tildar, pero ningún agente lo completa por su cuenta.

Si una casilla tiene el mismo texto que una subtarea, al lado aparece la etapa de esa subtarea. Si no, y la casilla está sin tildar, al pasar el mouse aparece “Hacerla subtarea” (no aparece dentro de una subtarea, porque no puede tener subtareas propias).

Sección Archivos con tres adjuntos (una captura, un log y un PDF) y la sección Actividad con un comentario de Sofía y otro del agente desarrollador
Archivos muestra todos los adjuntos de la tarea, vengan de la descripción, de un comentario o de una subida. Actividad junta comentarios, hilos y corridas.

“Archivos” arranca plegada, con la cantidad por tipo al lado del título (“2 imágenes · 1 video”). Desplegada lista todo lo adjuntado a la tarea, con miniatura para imágenes y el origen debajo (“comentario”, “descripción”, “subida”). Para sumar, tocá “Agregar archivos”, o soltá o pegá el archivo sobre la pestaña. El tope es 50 MB por archivo. Al eliminar un adjunto, Thulu avisa que donde estaba embebido va a quedar un enlace roto.

“Actividad” es la conversación de la tarea, con filtros “Todo”, “Comentarios”, “Corridas” y “Sistema”. Los comentarios, hilos, menciones a agentes y la caja “Escribí un comentario…” están explicados en Conversación e hilos.

Cuando la tarea tiene PRs, la pestaña “Tarea” muestra la sección “Pull requests” debajo de la descripción, con una fila por PR: número, título, CI como “pasaron de total”, estado de la revisión y “Listo” cuando está aprobado, el CI pasó y GitHub lo puede mergear. Desplegada suma estado (Abierto, Borrador, Mergeado, Cerrado), archivos, líneas, commits, rama y por qué está bloqueado. Thulu lee GitHub con la credencial del proyecto. El CI completo pide el permiso Checks: read de la GitHub App; sin ese permiso cuenta sólo los jobs de GitHub Actions y la fila lo avisa. Sin credencial muestra “Este proyecto no tiene credencial de GitHub.” con un enlace para agregar una (Git y GitHub).

Panel de la tarea Mostrar el descuento del cupón en el resumen de compra, en QA, con la sección Pull requests: el PR #482 de tienda-web desplegado con CI 9 de 9, revisión pendiente y merge bloqueado por las reglas de la rama, y debajo el #131 de billing-api con CI 6 de 6, aprobado y Listo
El #482 pasó los 9 checks pero tiene una revisión pendiente, y GitHub no deja mergearlo hasta que alguien lo apruebe. El #131 ya tiene aprobación y dice Listo.

Una subtarea no tiene rama ni PR propios: la fila “Rama y PR” dice “Compartida con la tarea madre”.

Si un PR no se abrió solo, “Forzar PR” en el menú “…” del panel sube la rama y abre un PR en cada repo vinculado que no tenga uno. En un proyecto subido desde una carpeta no hay PR: la rama se lleva a otra con “Integrar en…” (Proyectos).

Una subtarea es una tarea con madre. Nace en el tablero y con el tipo de la madre, copia sus proyectos y sus agentes (podés cambiarlos), y trabaja en la misma rama: todo el grupo sale en un solo PR. Hay un solo nivel; una subtarea no puede tener subtareas.

Sección Subtareas de una tarea madre: barra de avance 1 de 4 hechas, cuatro filas con su estado y etapa, el campo para agregar y Más opciones abierto con Empieza en, Espera a y Agentes
Cada fila muestra el estado, la etapa y el agente. Una subtarea que espera a otra lo dice debajo del título.
  1. Abrí la tarea madre y, en “Subtareas”, tocá “Agregar subtarea” (o Mayús+N, o “Agregar subtarea” en el menú de la tarjeta).

  2. Escribí el título y apretá Enter. El campo queda listo para la siguiente.

  3. Para crear varias de una vez, pegá una lista en el campo. Thulu saca viñetas, casillas y números, te muestra cada título para editarlo o quitarlo, y crea todas con “Crear N subtareas”.

    Lista pegada en el campo de subtareas: tres títulos editables y el botón Crear 3 subtareas
    Una lista pegada se revisa antes de crear.
  4. “Más opciones” agrega tres ajustes: “Empieza en” (la etapa inicial), “Espera a” (otras subtareas que tienen que terminar antes; sólo si empieza en la primera etapa) y “Agentes” (por etapa, con “De la madre” como valor por defecto).

El menú “…” de cada fila tiene “Abrir”, “Mover de etapa”, “Marcar como hecha”, “Espera a…”, “Subir”, “Bajar” y “Eliminar”. El orden de la lista es de lectura: lo que decide qué corre primero es “Espera a”. También podés reordenar arrastrando la fila.

Dentro de una subtarea, el encabezado tiene un enlace a la madre (U) y flechas para pasar a la subtarea anterior o siguiente ([ y ]). En el tablero, el selector “Subtareas” de la barra elige si se ven “Anidadas” dentro de la tarjeta madre (con un botón para desplegarlas) o “Como tarjetas” en su propia columna.

La madre no se mueve sola cuando terminan las subtareas: la franja de atención avisa “Las 4 subtareas están hechas” y el paso lo das vos. Si movés la madre a la etapa final con subtareas abiertas, Thulu pide confirmar; esas subtareas siguen en el tablero y siguen commiteando en la rama compartida.

Una dependencia dice que una tarea espera a otra. Se agrega desde “Bloqueada por” en las propiedades: elegí el tipo, buscá la tarea y hacé clic.

Tipo Qué hace
Bloqueante La tarea no puede salir de la primera etapa del tablero hasta que la otra llegue a una etapa final. Sólo se puede agregar mientras la tarea está en esa primera etapa
Aviso Informativa: se ve en las dos tareas y no frena nada

Una tarea frenada muestra un candado y “Bloqueada por …” en la tarjeta, y el filtro “Bloqueadas” de la barra las junta. Cuando la que bloquea termina, la tarea queda libre pero no se mueve sola: la tenés que mover vos.

Si el tablero tiene tipos (por ejemplo Funcionalidad, Bug y Mantenimiento), cada tarea tiene uno y el tipo decide qué columnas saltea: un bug puede ir de Backlog a En curso sin pasar por Lista. Una columna salteada no aparece en el selector de etapa de esa tarea y el tablero no deja soltar la tarjeta ahí. Los tipos se definen en el editor del tablero (Tableros y etapas); en el tablero, el filtro “Tipo” muestra uno solo.

Menú de una tarjeta con Abrir, Mover a, Prioridad, Agregar subtarea, Copiar enlace, Clonar, Bifurcar, Archivar y Eliminar
El menú de la tarjeta aparece al pasar el mouse por el botón …, con clic derecho o con la tecla punto.

El menú “…” de la tarjeta y el del panel tienen casi las mismas acciones:

Acción Qué hace
“Mover a…” Elegir etapa sin arrastrar (M)
“Clonar” Copia título, descripción, repos y agentes, sin comentarios ni historial
“Bifurcar” Copia todo (comentarios, aprobaciones, adjuntos) y saca un worktree nuevo desde la rama actual
“Más turnos” Vuelve a correr el agente de la etapa con el doble de presupuesto. En la tarjeta aparece sólo si la corrida se quedó sin turnos
“Copiar enlace” Un enlace que abre la tarea
“Archivar” Saca la tarea del tablero con sus subtareas; comentarios, corridas y rama quedan. Sólo en tareas de primer nivel. Se devuelve desde el botón “Archivadas” del tablero
“Eliminar” Borra la tarea y limpia sus worktrees, con confirmación. Si tiene subtareas, la confirmación las lista y se borran con ella. Sólo un administrador puede eliminar. No se puede deshacer

Una tarea terminada queda en la columna final del tablero. Para sacarla de la vista sin perder su historial, archivala.