# todos

Mantén el estado de la tarea y las notas de traspaso cerca del contexto del proyecto que les da utilidad.

- Canonical: https://docs.xmemo.dev/es/docs/tools/todos
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: 191848e34c6130ea7c7026f86e247cf62ccb063ecf6fa01d5f4acce533a64867
- Edition-Digest: 37bd78bc2a0837d0de20ed37455cdb8e2f6aa7ce3a30bef96d38ef61d913bd9d
- Source-Revision: sha256:a208365f51d49c201b173728a752a5cec89775c71d38b55619b7bdb6846d5717

## Tool Reference: `todo`

### Purpose

Crea, actualiza, completa, lista o elimina explícitamente en bloque los TODO del proyecto, conservando el estado de la tarea junto al contexto de proyecto autorizado.

### Parameters

- `action` (create | update | complete | list | delete_all, required): Operación del dispatcher.
- `todo_id` (string, optional): ID exacto del elemento para actualizarlo o completarlo.
- `content / title` (string, optional): Texto de la tarea; cuando se proporcionan ambos deben coincidir.
- `project_id` (string, optional): Identificador del espacio de trabajo de proyecto autorizado.
- `priority / due_at / status / note` (string, optional): Prioridad de la tarea, marca temporal de vencimiento, transición de estado y nota de traspaso.
- `item_status / due_before / search / query` (string, optional): Filtros de lista; search y query solo se usan en list y deben coincidir si se proporcionan ambos.
- `limit / cursor / owner_timezone` (integer / string, optional, default: 20 / empty / configured timezone): Controles de paginación e interpretación de fechas.
- `client_mutation_id / expected_version` (string / integer, optional): Clave de idempotencia para create/update y versión de concurrencia optimista para update.
- `confirm_delete_all` (boolean, optional, default: false): Se requiere true para una eliminación explícita y recuperable en bloque.

### Returns

La salida estructurada identifica la acción y devuelve los elementos afectados, el cursor de paginación, el estado de la mutación y metadatos seguros de la tarea. La eliminación en bloque siempre es una eliminación lógica recuperable.

### Errors

- Error de autorización: a list le falta memory:read o a una mutación le falta memory:write/capacidad de proyecto.
- Error de validación: create no tiene client_mutation_id, update no tiene un expected_version positivo o hay conflicto entre campos de la acción.
- Rechazo de seguridad: delete_all requiere confirmación explícita y no está disponible para llamadores de widget/mount-capability.
- Los errores de zona horaria, proyecto o concurrencia optimista se devuelven explícitamente; el dispatcher no ignora campos en silencio.

### Examples

#### Crea una tarea idempotente



```typescript
todo({
  action: "create",
  content: "Review the MCP scope matrix",
  client_mutation_id: "task-review-scope-001",
  due_at: "2026-08-25T09:00:00Z"
})
```

#### Enumera las tareas abiertas



```typescript
todo({ action: "list", item_status: "open", limit: 10 })
```

### Related Tools

- [remember](/docs/tools/remember): Guarda la decisión o el hecho duradero que sustenta una tarea.
- [recall_context](/docs/tools/recall-context): Restaura el contexto de tarea y proyecto antes de continuar.
- [forget](/docs/tools/forget): Elimina un TODO revisado por su ID exacto cuando sea necesario.

## Enumera los elementos abiertos antes de añadir otro

Leer primero evita TODO duplicados cuando varios agentes trabajan en el mismo alcance del proyecto.

```ts
todo({ action: "list" })
```

