| name | tasks |
| description | This skill should be used when the user mentions tasks, todos, to-do list, project management, "what's on my plate", "what do I need to do", "add a task", "mark as done", "update task", "what's blocked", "what's due", "change priority", "what should I build today", "top priorities", "what are my deliverables", "task board", or any time they want to capture, view, update, or manage work items. Also triggers on /tasks, /add-task, and /prioritize commands.
|
| version | 0.1.0 |
Task Management
Manage the user's task board — a structured, file-based system in AIDE/tasks/tasks.md.
Read references/task-format.md for the exact format specification, field definitions, and editing rules.
What This Skill Covers
- Viewing the full task board or a filtered view (by priority, status, project, due date)
- Adding new tasks (quick capture or detailed)
- Updating tasks (status, priority, due date, description, blocker)
- Marking tasks complete
- Prioritizing — giving an intelligent recommendation on what to focus on now
- Identifying blocked tasks and suggesting unblocking actions
- Linking tasks to projects in
AIDE/memory/projects.md
Task Operations
Viewing Tasks
When the user asks to see their tasks:
- Read
AIDE/tasks/tasks.md
- Determine what view they want:
- Full board: all tasks grouped by priority, then show summary counts
- Today's focus: High priority only + anything due today or overdue
- By project: filter to tasks matching a project name
- Blocked: only tasks with a Blocker field set
- Upcoming deadlines: tasks with due dates in the next 7 days, sorted by date
- Present clearly. Use the format from
references/task-format.md. Show overdue tasks prominently with a ⚠️ marker.
- End with a one-line summary: "X tasks total — Y high priority, Z due this week, W blocked."
Adding a Task
When the user says "add a task" or describes something they need to do:
- Capture the required info:
- Title (required — derive from what they said if not explicit)
- Priority (ask if not clear — High / Medium / Low)
- Due date (ask or mark as "No deadline" if they don't say)
- Project (infer from context using
AIDE/memory/projects.md, or ask)
- Description (optional — expand if they gave details)
- Read
AIDE/tasks/tasks.md
- Generate the next task ID (increment from the highest existing ID)
- Insert the new task under the correct priority section
- Update
AIDE/memory/work-log.md with a brief note
- Confirm: "Added [TASK-XXX]: [title] under [priority] priority."
Quick capture mode: If the user is clearly in a hurry (e.g., "quickly add: fix homepage bug"), ask zero follow-up questions — default to Medium priority, no due date, infer project from context, and confirm after adding.
Updating a Task
When the user wants to change something about a task:
- Identify the task (by ID, title, or description match — ask to confirm if ambiguous)
- Read
AIDE/tasks/tasks.md
- Apply the change:
- Status change: Todo → In Progress → Blocked → Done
- Priority change: move the task to the correct priority section
- Due date change: update the Due field
- Adding a blocker: set the Blocker field with a description
- Clearing a blocker: remove the Blocker field, set status back to In Progress or Todo
- Editing description: update the Description field
- If marking Done: move the task to the
## ✅ Completed section with a Completed date
- Confirm the change in one sentence.
Completing a Task
When the user says "done", "completed", "finished", "close task":
- Find the task
- Move it to
## ✅ Completed at the bottom of tasks.md
- Add
**Completed:** [DATE] field
- Log it briefly in
work-log.md
- Celebrate briefly — a quick, warm acknowledgement. Progress deserves recognition.
Prioritization
This is the highest-value operation. When the user asks "what should I focus on today?", "top priorities", "what should I build today?", or "help me prioritize":
Step 1: Read Context
Read all of the following before making any recommendation:
AIDE/tasks/tasks.md — all tasks, their status, priority, due dates, blockers
AIDE/memory/projects.md — project context and status
AIDE/memory/goals.md — what matters most
AIDE/memory/work-log.md — recent activity (to avoid repeating what was just done)
Step 2: Apply Prioritization Logic
Score each non-blocked, non-done task using these factors:
| Factor | Weight | How to assess |
|---|
| Urgency | High | Is it overdue or due today/tomorrow? |
| Priority level | High | High > Medium > Low as set by user |
| Goal alignment | Medium | Does completing this directly advance a stated goal? |
| Project momentum | Medium | Is this project actively in progress? Completing tasks keeps momentum |
| Quick wins | Low | Can this be done in <30 min? Quick wins build energy |
| Blocking others | High | Does completing this unblock another task or person? |
Skip any task that is Blocked — note it separately as something to unblock.
Step 3: Deliver the Recommendation
Present the top 3–5 tasks with clear reasoning for each:
Here's what I'd focus on today:
1. [TASK-XXX] Title — [1-sentence reason why this is #1]
2. [TASK-XXX] Title — [1-sentence reason]
3. [TASK-XXX] Title — [1-sentence reason]
⚠️ Blocked (needs attention):
- [TASK-XXX] Title — blocked by: [blocker description]
Everything else can wait unless something comes up.
Always explain the reasoning briefly. The user should feel like an intelligent collaborator helped them think through their day, not just sorted a list.
Archiving Completed Tasks
When the ## ✅ Completed section grows beyond 10 tasks, offer to archive older ones:
"Your completed section has 15 tasks — want me to archive anything older than 2 weeks to AIDE/tasks/archive.md?"
Never auto-archive without asking.
Edge Cases
- No tasks file yet: Create
AIDE/tasks/tasks.md using the template in references/task-format.md, then proceed.
- No AIDE workspace: Tell the user to run
/onboard first.
- Ambiguous task reference: Repeat back the 2–3 possible matches and ask which one.
- Task added in conversation (not via command): If the user mentions something they need to do in passing ("I should also fix that bug later"), offer to add it: "Want me to add that to your task board?"