Skip to content

Task Create

Create a new task in the master task list. Optionally attach a note file for details/subtasks. GTD vocabulary (task_kind, density, outcome_text, next_action_text, definition_of_done, creation_effort, user_involvement, creation_provenance, deadline, dependency) is optional and defaults to 'looks like a legacy manually-authored task'. Agent-driven creators should set creation_provenance (e.g. 'agent_inferred_from_journal') and lower user_involvement.

MCP name: task_create

Category: tasks

Mutates state (retry policy: verify_first)

Parameters

Name Type Required Description
contract str No Contract slug this task serves
creation_effort str No 'sparse'
creation_provenance str No 'manual' (default)
deadline_date str No ISO date YYYY-MM-DD when has_deadline=True.
definition_of_done str No closing signal for the task.
density str No 'sparse' (default)
dependency_hint str No free-text hint about the dependency (e.g. 'needs Ben’s review').
due_date str No Due date as YYYY-MM-DD
has_deadline bool No True when deadline_date is set; signal for deadline-aware resurfacing.
has_dependency bool No True when this task is blocked on someone or something.
next_action_text str No specific physical action for developed tasks (e.g. 'Set up weekly cron job').
outcome_text str No desired end-state for developed tasks (e.g. 'ETF tracking habit running').
project str No Project slug (added as #projects/)
summary str No If provided, creates a linked note file with this summary
tags list[str] No Namespace tags (no leading '#'), e.g. ['paper/ecg-classifier', 'experiment/augmentation']. Appended to the task line; picked up into the tag cache on next task_sync.
task_kind str No 'task' (default)
task_text str Yes Short single-line task description (NO newlines — will be rejected)
urgency str No Urgency: low, medium (default), high
user_involvement str No 'low'

Details

The creating agent session is recorded automatically on the task as created_by_session — the created-by role of the three session↔task provenance roles (created-by / assigned / developed-by; see tasks/task_provenance). create_task captures the gateway-pinned originating session, falling back to the env session for direct (non-gateway) callers — the same idiom task_assign uses to record the claiming session. It is not a parameter (never pass it); it is read from context. NULL when unrecorded — a human/plugin/bootstrap creation, or a task predating the column (migration v11). Surfaced via task_provenance and as read_task's top-level created_by field; historical NULLs can be filled from note prose by the re-runnable backfill_created_by pass.

Requirements

  • obsidian