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