name: complete-task description: Mark a task as completed. Use when the user wants to mark a task as done or complete. allowed-tools: Bash, Read, Edit
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