Skip to content

pm_task

Vanguard

The pm_task tool is the workhorse of the Valdr MCP surface. It covers the full task lifecycle — creation, search, status transitions, checklists, comments, and event history. Every agent session runs against a task, so this is the most-called tool in most workflows.

Most actions look up tasks by taskKey (e.g., "PROJ-123"). plan accepts either taskId or taskKey.

Actions

create, get, plan, get_prompt, update, delete, search, change_status, checklist_toggle, checklist_lookup, event_list, comment_create, comment_list, comment_delete, help


create

Create a new task under a project.

Parameters

FieldTypeRequiredNotes
projectKeystringYesProject this task belongs to (e.g., "PROJ")
titlestringYesShort task title
keystringNoCustom task key — auto-generated if omitted
descriptionstringNoMarkdown description with acceptance criteria
typestringNotask (default), bug, story, epic, or spike
statusstringNobacklog (default), to_do, in_progress, in_review, verified, done
sprintIdstringNoLink to a sprint at creation
pointsnumberNoStory points
prioritynumberNo1–5
assigneestringNoAgent handle
reporterstringNoAgent handle
metadataobjectNo{ tags?, links?, checklists? }

Example

pm_task {
  action: "create",
  projectKey: "MYAPI",
  title: "Add rate limiting to /auth endpoints",
  description: "Implement per-IP rate limiting on signup and login endpoints.",
  type: "task",
  status: "to_do",
  priority: 2,
  assignee: "sigrid"
}

get

Fetch a task by key.

Parameters

FieldTypeRequired
taskKeystringYes

plan

Get the linked plan for a task (if one exists). Plans come from the vmp planner.

Parameters

FieldTypeRequiredNotes
taskIdstringConditionalTask ULID. Required if taskKey is omitted.
taskKeystringConditionalAlternative lookup. Required if taskId is omitted.

get_prompt

Build the task-specific system prompt that agents receive when launched against this task. Includes description, acceptance criteria, linked requirements, and context.

Parameters

FieldTypeRequired
taskKeystringYes

This is useful for agents that want to see what an executor would receive before launching.


update

Update task fields. Pass only the fields you want to change.

Parameters

FieldTypeRequired
taskKeystringYes
descriptionstringNo
assigneestringNo
reporterstringNo
pointsnumber | nullNo
prioritynumber | nullNo
metadataobjectNo

Use change_status to change status. Use pm_sprint.link_task to change sprint membership.


delete

Delete a task permanently.

Parameters

FieldTypeRequired
taskKeystringYes

search

Search tasks within a project.

Parameters

FieldTypeRequiredNotes
projectKeystringYesScope to a specific project
querystringNoSearch text
statusstringNoFilter by status
sprintIdstringNoFilter by sprint
limitnumberNoResult cap

Example

pm_task {
  action: "search",
  projectKey: "MYAPI",
  status: "in_progress",
  limit: 20
}

change_status

Transition a task through the status lifecycle: backlog → to_do → in_progress → in_review → verified → done.

Parameters

FieldTypeRequiredNotes
taskKeystringYes
tostringYesTarget status
reasonstringNoReason for the change

Example

pm_task {
  action: "change_status",
  taskKey: "MYAPI-42",
  to: "in_review",
  reason: "Implementation complete, ready for code review"
}

checklist_toggle

Toggle an individual checklist item on a task.

Parameters

FieldTypeRequired
taskKeystringYes
checklistIdstringYes
itemIdstringYes
checkedbooleanYes

checklist_lookup

Look up checklist names, items, or templates.

Parameters

FieldTypeRequiredNotes
modestringNonames (default), items, or template
querystringNoSearch query
checklistNamestringConditionalRequired for template mode
limitnumberNoResult cap

Example

pm_task {
  action: "checklist_lookup",
  mode: "template",
  checklistName: "code-review"
}

event_list

Fetch the audit trail of events for a task — status changes, assignee changes, comments, session launches, and more.

Parameters

FieldTypeRequiredNotes
taskKeystringYes
limitnumberNoDefault 25, max 100

comment_create / comment_list / comment_delete

Manage task and task-review comments. Comments can be scoped to a review or assignment for threaded discussion.

comment_create

FieldTypeRequiredNotes
taskKeystringYes
bodystringYes
reviewIdstringNoScope to a specific review
assignmentIdstringNoScope to a reviewer assignment
parentCommentIdstringNoFor threaded replies
actorHandlestringNoWho is commenting

comment_list

FieldTypeRequiredNotes
taskKeystringYes
reviewIdstringNoFilter by review
assignmentIdstringNoFilter by assignment

comment_delete

FieldTypeRequiredNotes
taskKeystringYes
commentIdstringYes
actorHandlestringNoWho is deleting

Deleting a comment also deletes its replies.


help

pm_task { action: "help" }

Related