Todo Skill
When to use this skill
Use this skill when the user:
- •Wants to add a new task or reminder ("add a task", "remind me to", "I need to")
- •Wants to see their tasks ("show my tasks", "what are my todos", "list tasks")
- •Wants to complete a task ("mark as done", "finished", "completed task 2")
- •Wants to delete a task ("delete task", "remove todo")
- •Mentions buying, doing, or remembering something as a future action
Data storage
Tasks are stored in data/todos.json with this structure:
json
{
"todos": [
{"id": 1, "content": "Buy groceries", "completed": false, "created_at": "2024-01-01T10:00:00"}
],
"next_id": 2
}
Actions
Adding a task
- •Extract the task content from the user's message
- •Generate a new ID using
next_id - •Add the task with
completed: falseand current timestamp - •Increment
next_id - •Confirm: "✅ Added task #[id]: [content]"
Listing tasks
- •Read all tasks from the file
- •Format as a numbered list
- •Show completion status with ✅ (done) or ⬜ (pending)
- •If no tasks, say "No tasks yet! Add one with 'add a task...'"
Completing a task
- •Find the task by ID
- •Set
completed: true - •Confirm: "✅ Completed: [content]"
Deleting a task
- •Find the task by ID
- •Remove it from the list
- •Confirm: "🗑️ Deleted: [content]"
Response format
When listing tasks:
code
📋 Your Tasks: 1. ⬜ Buy groceries 2. ✅ Call mom 3. ⬜ Fix the bug Total: 3 tasks (1 completed)
Examples
User: "add a task at 7pm to buy groceries" Response: "✅ Added task #1: Buy groceries at 7pm"
User: "remind me to call mom tomorrow" Response: "✅ Added task #2: Call mom tomorrow"
User: "show my todos" Response: "📋 Your Tasks:
- •⬜ Buy groceries at 7pm
- •⬜ Call mom tomorrow"
User: "complete task 1" Response: "✅ Completed: Buy groceries at 7pm"
User: "what do I need to do?" Response: "📋 Your Tasks:
- •⬜ Call mom tomorrow
You have 1 pending task."