Skip to content

PKM Task

Manages the task lifecycle in AnyType: create, update status, link context, query open items, and close with a resolution note.

When to use

  • "Add a task: send the contract by Friday"
  • "Mark task X done"
  • "What tasks are open?" / "What did I agree to do?"
  • "I committed to delivering Y by next week"
  • An agent finishes delegated work and needs to update the task record

What you produce

  • One AnyType task object per create operation
  • Updated status, notes, or relation fields per update
  • Audit-log entry per write

MCP tools used

  • mcp__anytype__API-list-spaces — resolve space ID
  • mcp__anytype__API-create-object — create new task
  • mcp__anytype__API-search-space — find existing tasks by title or status
  • mcp__anytype__API-get-object — read current field values before update
  • mcp__anytype__API-update-object — update status, notes, linked objects

Procedure

Create a task

  1. Classify data — determine data_classification before any write (required, SPB-01).
  2. Default: internal for work commitments; private_sensitive for personal.
  3. If unclear, ask.
  4. Resolve space ID via mcp__anytype__API-list-spaces. Default space: Agent · LLM wiki.
  5. Create the task object via mcp__anytype__API-create-object:
  6. type_key: task
  7. Required fields (per schemas/object-types.md):
    • title — imperative form ("Send follow-up to Alice by Friday")
    • statusopen (default on creation)
    • data_classification
  8. Optional fields to set when known:
    • due_date
    • task_source — one of: meeting, email, self, agent-delegated ⚠️ Use task_source, NOT source (reserved by AnyType).
    • agent_delegated — set to true if an agent is handling this
    • notes — any context, blockers, or background
  9. Link people and projects (if known):
  10. Read current linked_people and linked_project values first.
  11. Write the full merged list — update-object replaces, does not append.
  12. Audit log — append to knowledge/anytype-integration/runbooks/audit-log.md. Action: write. Object type: Task.

Update a task

  1. Find the task via mcp__anytype__API-search-space (search by title fragment or status).
  2. If multiple matches, show the user a short list and ask which one.
  3. Read before write via mcp__anytype__API-get-object — capture current field values.
  4. Update via mcp__anytype__API-update-object:
  5. For status changes: set status to the new value.
  6. For notes: append new content to existing notes text (do not replace).
  7. For linked objects: merge — [...existing_ids, new_id].
  8. Audit log — action: write. Include old and new status in rationale.

Query open tasks

  1. Use mcp__anytype__API-search-space with a filter for status = open (or in-progress, blocked).
  2. Return a summary table: title, status, due date, source.
  3. Flag any task with agent_delegated = true that has no recent audit log entry — may need follow-up.

Close a task

  1. Find and read the task (as above).
  2. Set status to done (or cancelled if abandoned).
  3. Append a resolution note to the notes field.
  4. Audit log — action: write. Rationale: "closed: ".

Anti-patterns

  • Don't create a task without data_classification.
  • Don't use source as a property key — use task_source.
  • Don't overwrite linked_people or linked_project — always read first and merge.
  • Don't mark a task done if agent_delegated = true without confirming the agent output was reviewed.
  • Don't write to Sensitive · Human only space.
  • Don't auto-close tasks with agent_delegated = true — require explicit user confirmation.

Compatibility

  • Requires AnyType Local API key (agent-scoped) injected via env var.
  • Requires the anytype MCP server configured in .cursor/mcp.json or Claude Code MCP config.
  • Local-only network egress.