daily-done
npx skills add https://github.com/benjaming/ai-skills --skill daily-done
Agent 安装分布
Skill 文档
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
1. 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.
2. 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:/daily-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.” - If the selected task has
status: "standby": Warn but proceed: “â ï¸ Task #N is on standby (waiting on: {waiting_on}). Marking as done anyway.”
3. Mark as Done
Read the current task file, update the target task:
- Set
statusto"done" - Set
completed_atto current ISO timestamp (usedate -u +%Y-%m-%dT%H:%M:%SZ) - Set
waiting_ontonullandpaused_attonull(clean up any standby fields) - Update
updated_aton the root object
Write the updated JSON back using the Write tool.
4. 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
5. Show Next Task
List remaining actionable tasks (pending or in_progress only â exclude standby):
Remaining:
#N. [TIER] $JIRA_KEY â $SUMMARY
#N. [TIER] $JIRA_KEY â $SUMMARY
If any standby tasks exist, add a note:
⸠N task(s) on standby â run /daily-unblock to activate when ready
Suggest the next task:
ð Next up: Task #N ($JIRA_KEY) â $SUMMARY
Run /daily-next to pick it up, or /daily-next M for a different task.
6. All Done State
If no pending or in-progress tasks remain (standby tasks don’t count):
ð 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 /daily-standup to refresh and check for new items
- Checking Jira backlog for new work
Edge Cases
- Multiple
in_progresstasks, no argument: List all in-progress tasks with IDs and ask which to complete. Do not guess. - Task is
skipped: Allow marking asdoneâ change status fromskippedtodone. - Task is
standby: Warn about standby state but allow marking asdone. Clearwaiting_onandpaused_at. - 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.