Llegó un punto en que tenía varias sesiones de Claude Code abiertas, cada una en un repo distinto, y ya no me acordaba qué estaba haciendo cada una.
Para las tareas grandes armé un workflow que las separaba y las repartía entre varios agentes. Eso funcionó, pero me seguía perdiendo. No sabía qué seguía corriendo, qué ya había terminado o cuál estaba parado esperando que yo le diera un permiso. Y esto empeoraba, cuando trabajaba en varios proyectos de forma simultanea.
Después probé llevando las tareas en Linear, escritas como historias de usuario. Tampoco me sirvió del todo. No todos mis proyectos usan Linear, y para pedirle a Claude algo rápido no voy a escribir una historia de usuario o una nueva task.
Además, mucho de lo que hago no termina en un PR. Si estoy armando una feature, por ejemplo la de crear tareas, Claude hace un cambio, yo lo pruebo en local, le pido correcciones y a veces termino tocando el código yo mismo. No quería que los agentes trabajaran solos. Solo quería tener en un solo lugar donde pudiera ver todo lo que tenía corriendo, lo grande y lo pequeño, y en qué paso iba cada agente, porque la vista de workflows de Claude Code no me termina de gustar. Y sobre todo, poder separar por proyectos/repos, sin tener que tener 400 terminales abiertas.
De ahí salió Nodal.
Qué hace
Nodal es un tablero. Cada tarea va a una columna (Todo, In Progress, In Review, Blocked, Done) y se la asigno a uno de mis agentes, un workflow o Claude. La lanzo y puedo monitorizar que esta sucediendo con los agentes.
Realmente, no uso otra herramientas más allá de Claude Code. Por eso decidí que usará esto por debajo.
Lanza cada tarea con claude --bg y lee el progreso de claude agents y de los archivos de sesión que Claude Code guarda en ~/.claude, así que puedo seguir usando mis agentes, skills y configuración de siempre.
Cada tarea corre en su propio git worktree, con su rama, para que dos agentes en el mismo repo no se pisen. Cuando terminan, otro agente revisa el trabajo contra los criterios de aceptación, con permisos de solo lectura: si pasa, va a In Review; si no, a Blocked con lo que encontró. Y si la tarea viene de Linear, Nodal le devuelve el estado.
Todo es local. Sin servidor y sin telemetría.
Cómo lo construí
Nodal lo desarrollé en gran parte con Claude Code. Yo decidía qué construir, revisaba el código y seguía cada paso; los agentes escribían buena parte, varios a la vez y cada uno en su worktree, igual que hace la app. Nodal es un proyecto de una tarde.
Por ahora está acoplado a Claude Code, porque es lo que uso yo. Como es open source, si alguien lo quiere para otra herramienta u otro modelo, se puede separar el núcleo e implementarlo como adaptadores.
Pruébalo
Lo dejé open source (MIT) porque no sé si existe algo parecido, y si alguien quiere probarlo o aportar al código, bienvenido. Corre en macOS y está en alpha (Hasta que no sepa que más ponerle). No está firmado por Apple, porque eso cuesta 99 USD al año, así que la primera vez hay que correr un comando para abrirlo. Está en el README, y después se actualiza sola.
Si usas Claude Code con varios agentes a la vez, cuéntame si te sirve y qué le falta: https://github.com/Mazp17/nodal-agentos
Nodal es un proyecto independiente, sin relación con Anthropic.

Top comments (0)