Update Task
Update fields of an existing task — no CLI required.
Instructions
The user's query is in $ARGUMENTS (e.g. "set task 042 to high priority and in-progress", "rename task 15 to Fix auth bug", "add tag backend to 042").
Parse the user's input from $ARGUMENTS to extract:
- The task ID (required)
- The fields to update and their new values
Find the task file:
- Read
.taskmd.yaml for custom dir (default: tasks)
- Use
Glob for <task-dir>/**/*<ID>*.md
- If multiple matches, read frontmatter to find the exact ID match
- If not found, list available tasks
Read the task file with the Read tool
Apply updates using the Edit tool:
Frontmatter field updates
For each field to change, edit the YAML frontmatter:
- status: Replace the
status: <old> line with status: <new> — valid values: pending, in-progress, completed, in-review, blocked, cancelled
- priority: Replace
priority: <old> with priority: <new> — valid: low, medium, high, critical
- effort: Replace
effort: <old> with effort: <new> — valid: small, medium, large
- type: Replace
type: <old> with type: <new> — valid: feature, bug, improvement, chore, docs
- owner: Replace or add
owner: "<value>"
- phase: Replace or add
phase: "<value>" — must match a phase id in .taskmd.yaml. If the phase doesn't exist yet, add it to the phases array in .taskmd.yaml first (see SPEC_REFERENCE.md)
- parent: Replace or add
parent: "<value>"
- title: Replace the
title: "..." line
Array field updates (tags, dependencies, pr)
- Add tag: Add the value to the
tags array in frontmatter
- Remove tag: Remove the value from the
tags array
- Add dependency: Add the ID to the
dependencies array
- Remove dependency: Remove the ID from the array
- Add PR: Add the URL to the
pr array
- Remove PR: Remove the URL from the array
If a field doesn't exist in the frontmatter yet, add it before the closing ---
Body updates
- description/subtasks/acceptance criteria: Edit the markdown body directly
Validate the changes:
- Ensure enum values are valid (see SPEC_REFERENCE.md)
- Ensure the frontmatter is still valid YAML
- If a field value is invalid, explain the valid options to the user
Confirm the changes to the user, showing what was updated
See SPEC_REFERENCE.md (in the plugin root) for valid field values and frontmatter schema.
1---2name: update-task-23description: Update an existing task's fields (status, priority, title, tags, dependencies, etc.). Use when the user wants to modify a task's properties.4---56# Update Task78Update fields of an existing task — no CLI required.910## Instructions1112The user's query is in `$ARGUMENTS` (e.g. "set task 042 to high priority and in-progress", "rename task 15 to Fix auth bug", "add tag backend to 042").13141. **Parse the user's input** from `$ARGUMENTS` to extract:15 - The **task ID** (required)16 - The **fields to update** and their new values17182. **Find the task file**:19 - Read `.taskmd.yaml` for custom `dir` (default: `tasks`)20 - Use `Glob` for `<task-dir>/**/*<ID>*.md`21 - If multiple matches, read frontmatter to find the exact ID match22 - If not found, list available tasks23243. **Read the task file** with the `Read` tool25264. **Apply updates using the `Edit` tool**:2728 ### Frontmatter field updates29 For each field to change, edit the YAML frontmatter:30 - **status**: Replace the `status: <old>` line with `status: <new>` — valid values: pending, in-progress, completed, in-review, blocked, cancelled31 - **priority**: Replace `priority: <old>` with `priority: <new>` — valid: low, medium, high, critical32 - **effort**: Replace `effort: <old>` with `effort: <new>` — valid: small, medium, large33 - **type**: Replace `type: <old>` with `type: <new>` — valid: feature, bug, improvement, chore, docs34 - **owner**: Replace or add `owner: "<value>"`35 - **phase**: Replace or add `phase: "<value>"` — must match a phase `id` in `.taskmd.yaml`. If the phase doesn't exist yet, add it to the `phases` array in `.taskmd.yaml` first (see `SPEC_REFERENCE.md`)36 - **parent**: Replace or add `parent: "<value>"`37 - **title**: Replace the `title: "..."` line3839 ### Array field updates (tags, dependencies, pr)40 - **Add tag**: Add the value to the `tags` array in frontmatter41 - **Remove tag**: Remove the value from the `tags` array42 - **Add dependency**: Add the ID to the `dependencies` array43 - **Remove dependency**: Remove the ID from the array44 - **Add PR**: Add the URL to the `pr` array45 - **Remove PR**: Remove the URL from the array4647 If a field doesn't exist in the frontmatter yet, add it before the closing `---`4849 ### Body updates50 - **description/subtasks/acceptance criteria**: Edit the markdown body directly51525. **Validate** the changes:53 - Ensure enum values are valid (see SPEC_REFERENCE.md)54 - Ensure the frontmatter is still valid YAML55 - If a field value is invalid, explain the valid options to the user56576. **Confirm** the changes to the user, showing what was updated5859See `SPEC_REFERENCE.md` (in the plugin root) for valid field values and frontmatter schema.