Done — Complete Current Task
Mark a task as completed in today's task file and show remaining work.
Configuration
persistence: tasksDir: "~/.claude/daily-tasks"
Execution Steps
- Load Task File
Read today's task file:
cat ~/.claude/daily-tasks/$(date +%Y-%m-%d).json 2>/dev/null
If no file exists: "No task file for today. Nothing to mark as done." Stop here.
Parse the JSON.
- Identify Task to Complete
If $ARGUMENTS is a number: target that task ID.
If $ARGUMENTS matches a Jira key pattern (e.g., RGI-265 ): find the task with matching jira_key .
If $ARGUMENTS is empty: find the task with status: "in_progress" .
-
If multiple tasks are in_progress , list them and ask which one to complete.
-
If no task is in_progress : "No task currently in progress. Specify a task ID: /done 3 "
-
Stop here if unable to identify a single task.
Validation:
-
If the selected task has status: "done" : "Task #N is already done."
-
If the selected task ID doesn't exist: "Task #N not found. Today has tasks 1-M."
-
If the selected task has status: "pending" (never started): Mark as done anyway, but note: "Task #N was never started — marking as done directly."
- Mark as Done
Read the current task file, update the target task:
-
Set status to "done"
-
Set completed_at to current ISO timestamp (use date -u +%Y-%m-%dT%H:%M:%SZ )
-
Update updated_at on the root object
Write the updated JSON back using the Write tool.
- Show Completion Summary
Display:
✅ Task #N done: $JIRA_KEY — $SUMMARY
If started_at exists, calculate and show duration:
⏱️ Duration: Xh Ym
Show overall progress:
📋 Progress: N/M tasks done today
- Show Next Task
List remaining pending tasks (compact, one line each):
Remaining: #N. [TIER] $JIRA_KEY — $SUMMARY #N. [TIER] $JIRA_KEY — $SUMMARY
Suggest the next task:
👉 Next up: Task #N ($JIRA_KEY) — $SUMMARY Run /todo to pick it up, or /todo M for a different task.
- All Done State
If no pending or in-progress tasks remain:
🎉 All tasks for today are done!
📋 Final: M/M complete ⏱️ Total tracked time: Xh Ym (sum of all tasks with started_at and completed_at)
Consider:
- Running /morning-standup to refresh and check for new items
- Checking Jira backlog for new work
Edge Cases
-
Multiple in_progress tasks, no argument: List all in-progress tasks with IDs and ask which to complete. Do not guess.
-
Task is skipped : Allow marking as done — change status from skipped to done .
-
File write fails: Report error, do not silently lose the update.
-
Concurrent modification: Read-then-write is sufficient for single-user workflow. If the file was modified between read and write, the latest write wins.