Tareas desde tu agente de código
Pasas una hora con tu agente de código decidiendo qué hacer después. Desde la 1.4.4, la última frase de esa hora puede ser: crea una tarea por cada cosa que dijimos que haríamos. El agente las archiva en el widget Todo Backlog de tu lienzo, en el orden acordado, bajo los pasos que nombraste. No vuelves a teclear nada.
Funciona desde Claude Code, Cursor, Antigravity, Hermes Agent y desde
cualquier IDE o agente que hable MCP, por el mismo puente
@mnemosyne_os/mcp que
les da acceso a tu memoria. La herramienta se llama mnemosyne_todo_add.
Cómo se ve
Tú, al final de una sesión:
Crea una tarea por cada cosa que dijimos que haríamos, en una lista nueva llamada Sprint 12, agrupadas por paso.
El agente llama a la herramienta una vez y te lee la respuesta:
Filed 9 tasks into "Sprint 12" (list created). They appear in the To-do widget in the order given, under their steps.
Abre el widget (Ctrl+4, o la base) y las tareas están ahí, con una cabecera en cada cambio de paso.
Antes de que funcione
- Mnemosyne OS 1.4.4 o posterior, ventana abierta
El backlog vive en la ventana de la app. El MCP solo, o el demonio sin ventana, no tiene ningún To-do donde escribir: a un agente que llama a la herramienta con la app cerrada se le dice que arranque la app, y nada se escribe.
- El MCP conectado
Sigue Conectar Claude a Mnemosyne OS. La herramienta llegó en
@mnemosyne_os/mcp1.7.0. La configuración recomendada lanza el paquete connpx -y, que obtiene la versión actual; si tu agente aún lista 14 herramientas, reinícialo para recargar el servidor. - Ningún diálogo de permiso que esperar
El puente MCP es de primera parte y declara él mismo el ámbito
todo:write, así que nada aparece en la app. Un cartucho que instales tiene que pedirte ese ámbito, como cualquier otro permiso.
Qué decir
La herramienta se niega a adivinar, así que una buena petición nombra tres cosas:
- La lista. Di en En curso, en mi lista Blog, o en una lista nueva llamada X. Los nombres coinciden con las etiquetas que ves en el widget, las mayúsculas no importan, y las tres listas originales responden también a su nombre traducido. Si nombras una lista que no existe sin pedir que se cree, el agente recibe un rechazo con los nombres que sí existen, así que su siguiente llamada elige una en vez de adivinar. Si no dices nada sobre la lista, las tareas van a la primera lista original, En curso.
- Los pasos. Di agrupadas por paso, o nómbralos tú. Cada paso se convierte en una cabecera dentro de la lista, dibujada donde cambia el grupo. Un paso es un título sobre las tareas, no una lista aparte.
- El orden. El orden que envía el agente es el orden que obtienes. Pide el orden de ejecución si la conversación no lo zanjó.
Un color para una lista nueva es opcional; si no, la app toma el siguiente tono.
Lo que el agente lee de vuelta
Cada respuesta es una frase sobre la que el agente puede actuar, y cada fallo dice que nada se escribió. Esas frases están en inglés, el idioma de la herramienta:
| Situación | La frase |
|---|---|
| Archivado | Filed 9 tasks into "Sprint 12" (list created). They appear in the To-do widget in the order given, under their steps. |
| Lista desconocida | No list by that name. Lists that exist: "En curso", "Personal", "Otros", "Blog". Pick one of them, or call again with create_list: true to make a new one — never assume a default. |
| Nombre de lista vacío | The list name was empty. Name an existing list or pass create_list: true with a name. |
| Solo tareas vacías | Nothing to file: every task was blank after trimming. |
| App cerrada | The backlog lives in the Mnemosyne OS app window and no window is open. Start the app (Infinity Edition) and call again; the headless daemon cannot show a To-do. |
| Sin respuesta en 15 s | The app did not answer in time. Nothing was written. Is the canvas open? Try again once the window is up. |
| Escritura rechazada | The app refused the write — the backlog file was not readable yet, or the disk said no. Nothing was written; try again in a moment. |
Límites
- Solo añadir. El agente puede archivar tareas. No puede marcarlas, editarlas, moverlas ni borrarlas, y no puede renombrar ni borrar una lista. Eso sigue siendo tuyo.
- Una lista por llamada, hasta 200 tareas, 300 caracteres por tarea, 80 por nombre de paso. El texto más largo se corta, las líneas vacías se descartan.
- Sin detección de duplicados. Pedirlo dos veces archiva dos veces.
- El plan entero es una sola escritura: o aterriza cada tarea o ninguna. No hay un plan a medio importar que desenredar.
La misma puerta desde el chat
La ventana de chat tiene la misma función sin agente: el botón de la caja de herramientas Tareas desde esta conversación (Convierte lo que esta conversación decidió hacer en un plan de tareas ordenado. Lo revisas, eliges la lista y solo entonces se crean las tareas.). El modelo redacta un plan a partir de la conversación, con el recuerdo de memoria apagado para que no se cuele nada de lo que nunca hablasteis, y un diálogo titulado Nuevas tareas desde esta conversación lo muestra primero: Nada se crea hasta pulsar Crear. Edita, quita, elige una lista. Si la conversación no decidió nada, lo dice: No se encontró nada que hacer en esta conversación.
Para quien construye un cartucho
La misma puerta es una llamada del SDK, sdk.todo.add, en el servidor SDK
local (puerto 7799). Recibe tasks (cadenas, o { text, group }), una
list opcional, createList (false por defecto) y color, y responde
{ ok, added, created, listLabel } o { ok: false, error, lists } con los
códigos de la tabla de arriba. Exige el ámbito todo:write en tu
manifiesto; tener permiso de escritura en las bóvedas no le da a una app el
backlog.
Tu backlog sigue siendo tuyo
El proceso principal de la app nunca escribe el archivo del backlog. La petición se entrega al almacén del widget, único escritor de ese archivo, y se aplican las mismas guardas que cuando tecleas una tarea tú mismo: nada se escribe antes de que el archivo se haya leído, y nada se escribe si la ventana no respondió. Lo que el agente archiva es exactamente lo que ves.