complete-task
Complete Task
Mark a task as completed using the taskmd CLI.
Instructions
The user's query is in $ARGUMENTS (a task ID like 077). If $ARGUMENTS is empty or does not contain a task ID, infer the task from conversation context (e.g., the task currently being worked on). If the task cannot be determined, ask the user which task to complete.
-
Read the task file to understand the full task scope:
- Run
taskmd get <ID>to get the task contents - Identify all subtask checklists (
- [ ]/- [x]items) in the task body - Identify any acceptance criteria section
- Run
-
Verify subtasks and acceptance criteria are met:
- Review each subtask checklist item — confirm the work has been done
- Review each acceptance criterion — confirm it is satisfied
- Check off (
- [x]) any items that are complete but not yet checked off by editing the task file - If any items are genuinely incomplete, report them to the user and ask how to proceed — do NOT mark the task as completed
-
Add a final worklog entry (if worklogs are enabled):
- Check
.taskmd.yamlforworklogs: true-- only create worklogs if explicitly enabled; skip this step otherwise - Otherwise, find the worklog file at
tasks/<group>/.worklogs/<ID>.md(ortasks/.worklogs/<ID>.md) - If a worklog exists, append a timestamped completion summary
- Check
-
Check the workflow mode in
.taskmd.yaml:- If
workflow: pr-reviewis set, usetaskmd set $ARGUMENTS --status in-reviewinstead ofcompleted(note: in pr-review mode, tasks are completed by merging the PR, not by setting status directly) - Otherwise (default
solomode), runtaskmd set $ARGUMENTS --status completed --verify - The
--verifyflag runs any verification checks defined in the task before applying the status change - If verification fails, report the failures to the user
- If
-
Confirm the status change to the user
More from driangle/taskmd
do-task
Look up a task by ID or name and start working on it. Use when the user wants to pick up and execute a task.
24add-task
Create a new task file following the taskmd specification. Use when the user wants to add a new task to the project.
22import-todos
Discover TODO/FIXME comments in the codebase and convert selected ones into task files. Use when the user wants to turn code TODOs into tracked tasks.
22next-task
Get the next recommended task to work on. Use when the user asks what to work on next or needs a task assignment.
21get-task
Get details of a specific task by ID or name. Use when the user wants to view or look up a task.
20validate-tasks
Validate task files for format and convention errors. Use when the user wants to check their task files.
19