# todos

task stateとhandoff noteを、それらを役立てるproject contextの近くに保ちます。

- Canonical: https://docs.xmemo.dev/ja/docs/tools/todos
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 191848e34c6130ea7c7026f86e247cf62ccb063ecf6fa01d5f4acce533a64867
- Edition-Digest: 3cfe2a6a3ee197502eed2ea74c6e5fc8fb96af91a0c6ec43b049b92f81262642
- Source-Revision: sha256:a208365f51d49c201b173728a752a5cec89775c71d38b55619b7bdb6846d5717

## Tool Reference: `todo`

### Purpose

認可されたproject contextの近くでtask stateを保ちながら、project TODOを作成、更新、完了、一覧表示、または明示的にbulk-deleteします。

### Parameters

- `action` (create | update | complete | list | delete_all, required): Dispatcher operationです。
- `todo_id` (string, optional): updateまたはcompletionに使うexact item IDです。
- `content / title` (string, optional): Task textです。両方を指定する場合は一致していなければなりません。
- `project_id` (string, optional): 認可されたproject workspace identifierです。
- `priority / due_at / status / note` (string, optional): Task priority、due timestamp、status transition、handoff noteです。
- `item_status / due_before / search / query` (string, optional): List filterです。searchとqueryはlist専用で、両方を指定する場合は一致していなければなりません。
- `limit / cursor / owner_timezone` (integer / string, optional, default: 20 / empty / configured timezone): Paginationとdate interpretationの制御です。
- `client_mutation_id / expected_version` (string / integer, optional): create/updateのidempotency keyとupdateのoptimistic concurrency versionです。
- `confirm_delete_all` (boolean, optional, default: false): 明示的な復元可能bulk deletionに必要なtrueです。

### Returns

Structured outputはactionを識別し、影響を受けたitem(s)、pagination cursor、mutation status、安全なtask metadataを返します。Bulk deletionは常に復元可能なsoft deletionです。

### Errors

- Authorization failure: listにmemory:readがない、またはmutationにmemory:write/project capabilityがありません。
- Validation failure: createにclient_mutation_idがない、updateにpositiveなexpected_versionがない、またはaction fieldが競合しています。
- Safety rejection: delete_allには明示的なconfirmationが必要で、widget/mount-capability callerは利用できません。
- Timezone、project、またはoptimistic-concurrency errorは明示的に返されます。dispatcherはfieldを暗黙に無視しません。

### Examples

#### Idempotentなtaskを作成する



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

#### Open taskを一覧する



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

### Related Tools

- [remember](/docs/tools/remember): taskの背後にある永続decisionまたはfactを保存します。
- [recall_context](/docs/tools/recall-context): 続行する前にtaskとproject contextを復元します。
- [forget](/docs/tools/forget): 必要な場合にexact IDでreview済みのTODOを1件削除します。

## もう1件追加する前にopen itemを一覧する

先に読み取ることで、同じproject scopeで複数のagentが作業しているときのTODO重複を防げます。

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

