10 KiB
name, description, compatibility
| name | description | compatibility |
|---|---|---|
| task-management | PARA-based task management using Obsidian Tasks plugin format. Use when: (1) creating/managing tasks, (2) daily or weekly reviews, (3) prioritizing work, (4) searching for tasks, (5) planning sprints or focus blocks. Triggers: task, todo, find tasks, search tasks, overdue, prioritize. | opencode |
Task Management
PARA-based task management using Obsidian Tasks plugin format for Chiron system.
Obsidian Tasks Format
Basic format:
- [ ] Task description #tag ⏫ 📅 YYYY-MM-DD
Priority indicators:
- ⏫ = Critical (urgent AND important)
- 🔼 = High (important, not urgent)
- 🔽 = Low (nice to have)
Date indicators:
- 📅 = Due date
- ⏳ = Start date
- 🛫 = Scheduled date
Owner attribution:
- [ ] Task description #todo 👤 @owner ⏫ 📅 YYYY-MM-DD
Task Locations
~/CODEX/
├── tasks/ # Central task management
│ ├── inbox.md # Unprocessed tasks
│ ├── waiting.md # Blocked/delegated
│ ├── someday.md # Future ideas
│ └── by-context/ # Context-based task lists
│ ├── work.md
│ ├── home.md
│ └── errands.md
├── 01-projects/ # Project-specific tasks (in _index.md or notes/tasks.md)
└── 02-areas/ # Area-specific tasks (in area files)
Core Workflows
Create Task
When user says: "Add task: X", "Todo: X", "Remember to: X"
Steps:
-
Parse task from request:
- Task description
- Priority (if specified: critical, high, low)
- Due date (if specified)
- Owner (if specified: @mention)
- Context (if specified)
- Project/area (if specified)
-
Determine location:
- Project-specific →
01-projects/[project]/_index.mdortasks.md - Area-specific →
02-areas/[area].md - General →
tasks/inbox.md
- Project-specific →
-
Create task in Obsidian format:
- [ ] [Task description] #tag [priority] 👤 [@owner] 📅 [date] -
Confirm creation
Examples:
User: "Add task: Review Q1 budget proposal, critical, due Friday"
Action:
Create in tasks/inbox.md:
- [ ] Review Q1 budget proposal #inbox ⏫ 📅 2026-01-31
Confirm: "Created task in inbox."
User: "Task: Email John about project deadline, due Friday, @john"
Action:
Create in tasks/inbox.md:
- [ ] Email John about project deadline #inbox 🔼 👤 @john 📅 2026-01-31
Confirm: "Created task assigned to John."
User: "Add task to Project X: Create PRD, high priority"
Action:
Create in 01-projects/work/project-x/_index.md:
- [ ] Create PRD #high 📅 2026-02-15
Confirm: "Created task in Project X."
Find Tasks
When user says: "Find tasks", "What tasks do I have?", "Show me tasks for [context/project]"
Steps:
-
Determine search scope:
- All tasks → Search all task files
- Context tasks → Search
tasks/by-context/[context].md - Project tasks → Read project's
_index.mdortasks.md - Area tasks → Read area file
- Overdue tasks → Search for tasks with past due dates
-
Search using rg:
# Find all tasks rg "- \\[ \\]" ~/CODEX --type md # Find tasks by tag rg "#work" ~/CODEX --type md # Find overdue tasks rg "- \\[ \\].*📅" ~/CODEX --type md | filter-past-dates -
Parse and organize:
- Extract task description
- Extract priority indicators (⏫/🔼/🔽)
- Extract due dates
- Extract owners (@mentions)
- Extract tags
-
Present results grouped by:
- Priority
- Due date
- Context/project/area
Output format:
# Found 15 tasks
## Critical Tasks (⏫)
1. [ ] Review Q1 budget #work ⏫ 📅 2026-01-31
2. [ ] Client presentation #work ⏫ 📅 2026-01-30
## High Priority (🔼)
1. [ ] Update documentation #project-a 🔼 📅 2026-02-15
2. [ ] Team meeting notes #work 🔼 👤 @john
3. [ ] Buy groceries #personal 🔼 📅 2026-01-28
## Upcoming (by due date)
This week:
- [ ] Submit expense report #work 🔼 📅 2026-01-29
- [ ] Dentist appointment #personal 🔼 📅 2026-01-30
Next week:
- [ ] Project milestone #work 🔼 📅 2026-02-05
- [ ] Car service #personal 🔼 📅 2026-02-07
## By Owner
Assigned to @john (2 tasks):
- [ ] Team meeting notes #work 🔼
- [ ] Email stakeholder #work 🔼 📅 2026-02-01
Search Specific Contexts
When user says: "What [context] tasks do I have?", "Show work tasks", "Show personal tasks"
Steps:
- Read context file:
tasks/by-context/[context].md - Parse tasks
- Present filtered list
Available contexts:
work.md- Work-related taskshome.md- Household/admin taskserrands.md- Shopping/running errandsdeep-work.md- Focus work (no interruptions)calls.md- Phone/video callsadmin.md- Administrative tasks
Prioritize Tasks
When user says: "Prioritize my tasks", "What should I work on?", "Focus check"
Steps:
-
Fetch all incomplete tasks:
rg "- \\[ \\]" ~/CODEX --type md- Filter out completed (
[x])
-
Sort by criteria:
- Priority (⏫ > 🔼 > 🔽 > no indicator)
- Due date (sooner first)
- Energy level (if specified: high/medium/low)
-
Return top 3-5 tasks
-
Include rationale for prioritization
Output format:
# Focus Recommendations (5 tasks found)
## Top Priority: ⏫ Critical
1. **[Review Q1 budget]** #work ⏫ 📅 2026-01-31
- Why: Due in 4 days, critical for Q2 planning
- Area: Finances
- Estimated time: 2 hours
## High Priority: 🔼 Important (due within week)
1. **[Client presentation]** #work 🔼 📅 2026-01-30
- Why: Client commitment, high impact
- Area: Work
- Estimated time: 4 hours
2. **[Team standup]** #work 🔼
- Why: Daily sync, keeps team aligned
- Area: Work
- Estimated time: 30 minutes
3. **[Car registration]** #personal 🔼 📅 2026-02-01
- Why: Legal requirement, must complete
- Area: Home
- Estimated time: 1 hour
## Recommended Order
1. Team standup (30min, energizes for day)
2. Review Q1 budget (2 hours, critical, morning focus)
3. Client presentation (4 hours, high energy block)
4. Car registration (1 hour, after lunch)
## Not Now (someday)
- [ ] Learn Rust #personal 🔽
- [ ] Organize photos #personal 🔽
Update Task Status
When user says: "Mark task X as done", "Complete: X", "Task X finished"
Steps:
- Find task (by description or show options)
- Change checkbox:
# Before: - [ ] Task description # After: - [x] Task description - Update modified date in frontmatter (if present)
- Confirm
Move Tasks
When user says: "Move task X to project Y", "Task X goes to area Z"
Steps:
- Find source task
- Read target location (project
_index.mdor area file) - Move task (copy to target, delete from source)
- Update task context/tags if needed
- Confirm
Example:
User: "Move 'Buy groceries' to Finances area"
Action:
1. Find task in tasks/inbox.md
2. Read 02-areas/personal/finances.md
3. Copy task to finances.md
4. Delete from tasks/inbox.md
5. Confirm: "Moved 'Buy groceries' to Finances area."
Task Delegation/Blocking
When user says: "Delegate task X to Y", "Task X is blocked", "Waiting for X"
Steps:
- Find task
- Add owner or blocking info:
# Delegation: - [ ] Task description #waiting 👤 @owner ⏫ 📅 date # Blocked: - [ ] Task description #waiting 🛑 Blocked by: [reason] - Move to
tasks/waiting.mdif delegated/blocked - Confirm
Integration with Other Skills
Delegates to:
obsidian-management- File operations (create/update/delete tasks)chiron-core- PARA methodology for task placementdaily-routines- Task prioritization and schedulingproject-structures- Project task listsmeeting-notes- Extract action items from meetings
Delegation rules:
- File operations →
obsidian-management - PARA placement →
chiron-core - Project tasks →
project-structures - Meeting actions →
meeting-notes
Quick Reference
| Action | Command Pattern | Location |
|---|---|---|
| Create task | "Task: [description] [priority] [due] [@owner]" | tasks/inbox.md or project/area |
| Find tasks | "Find tasks" or "What tasks do I have?" | All task files |
| Context tasks | "Show [context] tasks" | tasks/by-context/[context].md |
| Prioritize | "Prioritize tasks" or "What should I work on?" | All tasks, sorted |
| Mark done | "Task [description] done" or "Complete: [description]" | Task location |
| Move task | "Move task [description] to [project/area]" | Target location |
| Defer | "Someday: [task]" or "Defer: [task]" | tasks/someday.md |
Best Practices
Creating Tasks
- Be specific (not vague like "follow up")
- Set realistic due dates
- Assign owners clearly
- Link to projects/areas immediately
- Use appropriate priorities
Managing Tasks
- Review daily (delegate to daily-routines)
- Process inbox weekly
- Archive completed tasks regularly
- Update context when tasks move
Searching Tasks
- Use tags for filtering
- Search by context when batching
- Check overdue tasks daily
- Review waiting tasks weekly
Error Handling
Task Not Found
- Search similar tasks
- Ask user: "Which task?"
- List options with context
Duplicate Tasks
- Detect duplicates by description
- Ask: "Merge or keep separate?"
- If merge, combine due dates/priorities
Location Not Found
- Create directory structure
- Ask user: "Create in this location?"
- Create task in inbox as fallback
Resources
references/task-formats.md- Obsidian Tasks plugin syntaxreferences/prioritization-methods.md- Eisenhower matrix, energy-based prioritizationreferences/search-patterns.md- rg patterns for finding tasks
Load references when:
- Format questions arise
- Prioritization help needed
- Search issues occur
- Task automation questions
Obsidian Tasks Plugin Configuration
For full functionality, configure Obsidian Tasks plugin:
Settings:
- Task format:
- [ ] Task #tag ⏫ 📅 YYYY-MM-DD - Priority symbols: ⏫, 🔼, 🔽
- Date format: YYYY-MM-DD
- Default file: tasks/inbox.md
Queries:
TASK
WHERE !completed
GROUP BY priority
SORT due date ASC
TASK
WHERE !completed AND due < date(today)
SORT due ASC
GROUP BY project