tasks
Tasks Plugin Skill
This skill enables Claude Code to create valid task syntax and queries for the Obsidian Tasks plugin.
Overview
The Tasks plugin extends Obsidian's checkbox functionality with:
- Due dates, scheduled dates, start dates
- Recurrence rules
- Priorities
- Query blocks for dynamic task lists
- Custom statuses
Task Syntax
Basic Task Format
- [ ] Task description
- [x] Completed task
Task Components
A task can include multiple components in any order:
- [ ] Task description 📅 2024-02-15 ⏫ 🔁 every week
| Emoji | Meaning | Format |
|---|---|---|
| 📅 | Due date | 📅 YYYY-MM-DD |
| ⏳ | Scheduled date | ⏳ YYYY-MM-DD |
| 🛫 | Start date | 🛫 YYYY-MM-DD |
| ➕ | Created date | ➕ YYYY-MM-DD |
| ✅ | Done date | ✅ YYYY-MM-DD |
| ❌ | Cancelled date | ❌ YYYY-MM-DD |
| 🔁 | Recurrence | 🔁 every ... |
| 🔺 | Highest priority | 🔺 |
| ⏫ | High priority | ⏫ |
| 🔼 | Medium priority | 🔼 |
| 🔽 | Low priority | 🔽 |
| ⏬ | Lowest priority | ⏬ |
| 🆔 | ID | 🆔 abc123 |
| ⛔ | Depends on | ⛔ abc123 |
| 🏁 | On completion | 🏁 keep or 🏁 delete |
Alternative Text Formats
Instead of emojis, you can use text:
| Emoji | Text Alternative |
|---|---|
| 📅 | [due:: YYYY-MM-DD] |
| ⏳ | [scheduled:: YYYY-MM-DD] |
| 🛫 | [start:: YYYY-MM-DD] |
| ➕ | [created:: YYYY-MM-DD] |
| ✅ | [completion:: YYYY-MM-DD] |
| ❌ | [cancelled:: YYYY-MM-DD] |
| 🔺 | [priority:: highest] |
| ⏫ | [priority:: high] |
| 🔼 | [priority:: medium] |
| 🔽 | [priority:: low] |
| ⏬ | [priority:: lowest] |
Dates
Date Formats
📅 2024-02-15
⏳ 2024-02-10
🛫 2024-02-01
➕ 2024-02-01
Dates must be in YYYY-MM-DD format.
Date Types
| Date | Purpose |
|---|---|
| Due (📅) | When task must be completed |
| Scheduled (⏳) | When you plan to work on it |
| Start (🛫) | When task becomes available |
| Created (➕) | When task was created |
| Done (✅) | When task was completed |
| Cancelled (❌) | When task was cancelled |
Examples
- [ ] Submit report 📅 2024-02-15
- [ ] Start project 🛫 2024-02-01 📅 2024-02-28
- [ ] Review document ⏳ 2024-02-10 📅 2024-02-12
- [ ] Call client 📅 2024-02-15 ➕ 2024-02-01
Priorities
Priority Levels
| Priority | Emoji |
|---|---|
| Highest | 🔺 |
| High | ⏫ |
| Medium | 🔼 |
| None | (none) |
| Low | 🔽 |
| Lowest | ⏬ |
Examples
- [ ] Critical bug fix 🔺
- [ ] High priority task ⏫
- [ ] Medium priority 🔼
- [ ] Low priority 🔽
- [ ] Lowest priority ⏬
Recurrence
Recurrence Syntax
🔁 every <interval>
🔁 every <n> <period>
🔁 every <period> when done
🔁 every <period> on <day>
Recurrence Periods
| Period | Aliases |
|---|---|
day |
daily |
week |
weekly |
month |
monthly |
year |
yearly |
Recurrence Examples
- [ ] Daily standup 🔁 every day 📅 2024-02-15
- [ ] Weekly review 🔁 every week 📅 2024-02-16
- [ ] Monthly report 🔁 every month 📅 2024-02-28
- [ ] Annual review 🔁 every year 📅 2024-12-31
- [ ] Every 3 days 🔁 every 3 days 📅 2024-02-15
- [ ] Biweekly 🔁 every 2 weeks 📅 2024-02-15
- [ ] Quarterly 🔁 every 3 months 📅 2024-03-31
- [ ] Every Monday 🔁 every week on Monday 📅 2024-02-19
- [ ] Every Mon/Wed/Fri 🔁 every week on Monday, Wednesday, Friday 📅 2024-02-16
- [ ] First of month 🔁 every month on the 1st 📅 2024-03-01
- [ ] Last Friday 🔁 every month on the last Friday 📅 2024-02-23
When Done vs Fixed Schedule
- [ ] Water plants 🔁 every week 📅 2024-02-15
When completed, next due = previous due + 1 week
- [ ] Water plants 🔁 every week when done 📅 2024-02-15
When completed, next due = completion date + 1 week
Ordinal Days
🔁 every month on the 1st
🔁 every month on the 15th
🔁 every month on the last
🔁 every month on the last day
🔁 every month on the first Monday
🔁 every month on the second Tuesday
🔁 every month on the third Wednesday
🔁 every month on the fourth Thursday
🔁 every month on the last Friday
Task Dependencies
ID and Dependencies
- [ ] First task 🆔 task1
- [ ] Second task ⛔ task1
- [ ] Third task ⛔ task1,task2
Tasks with dependencies are blocked until dependencies are completed.
On Completion
Control what happens when a task is completed:
- [ ] Keep this task when done 🏁 keep
- [ ] Delete this task when done 🏁 delete
- [ ] Delete completed recurring instance 🔁 every day 🏁 delete
Default behavior keeps the completed task. Use 🏁 delete to remove it.
Custom Statuses
Default Statuses
| Status | Character | Type |
|---|---|---|
| Todo | [ ] |
TODO |
| Done | [x] |
DONE |
Custom Statuses (Require Configuration)
Custom statuses must be configured in Tasks settings before use. Common examples:
| Status | Character | Type | Meaning |
|---|---|---|---|
| In Progress | [/] |
IN_PROGRESS |
Working on it |
| Cancelled | [-] |
CANCELLED |
Won't do |
| Forwarded | [>] |
TODO |
Moved to later |
| Scheduled | [<] |
TODO |
Scheduled |
| Question | [?] |
TODO |
Need info |
Examples
- [ ] Not started (default)
- [x] Completed (default)
- [/] In progress (requires configuration)
- [-] Cancelled (requires configuration)
Task Queries
Query Block Structure
Query blocks can contain filters, sort, group, and display options in any order:
```tasks
not done
due before tomorrow
sort by priority
group by due
hide backlink
```
Filter Types
Boolean Filters
done
not done
has due date
no due date
has start date
no start date
has scheduled date
no scheduled date
has created date
no created date
has done date
no done date
has cancelled date
no cancelled date
is recurring
is not recurring
has id
no id
has depends on
no depends on
is blocked
is not blocked
Date Filters
due today
due before today
due after today
due on 2024-02-15
due before 2024-02-15
due after 2024-02-15
due in 2024-02
due in 2024
scheduled today
scheduled before today
scheduled after today
scheduled on 2024-02-15
starts today
starts before today
starts after today
starts on 2024-02-15
created today
created before today
created after today
created on 2024-02-15
done today
done before today
done after today
done on 2024-02-15
Relative Date Filters
due this week
due next week
due last week
due this month
due next month
due last month
due this year
due in 7 days
due in 2 weeks
due in 3 months
Happens Filter
Matches tasks with any date type (due, scheduled, or start):
happens today
happens before tomorrow
happens this week
Text Filters
description includes meeting
description does not include optional
description regex matches /^Call/
path includes Projects
path does not include Archive
heading includes Tasks
heading does not include Done
tags include #work
tags do not include #personal
tag includes #work
tag does not include #personal
folder includes Projects
folder does not include Archive
filename includes daily
filename does not include template
Priority Filters
priority is highest
priority is high
priority is medium
priority is none
priority is low
priority is lowest
priority above none
priority below medium
priority is not none
Recurrence Filters
is recurring
is not recurring
recurrence includes week
recurrence does not include month
Status Filters
status.name includes in progress
status.type is TODO
status.type is DONE
status.type is IN_PROGRESS
status.type is CANCELLED
status.type is NON_TASK
Combining Filters
# AND (implicit)
due today
path includes Projects
# OR
(due today) OR (scheduled today)
(path includes Work) OR (path includes Personal)
# NOT
NOT done
NOT (path includes Archive)
# Complex
(due today) OR (scheduled today)
NOT done
path includes Projects
Sort Options
sort by due
sort by due reverse
sort by scheduled
sort by start
sort by created
sort by done
sort by priority
sort by priority reverse
sort by path
sort by description
sort by status
sort by status.name
sort by urgency
sort by urgency reverse
sort by tag
sort by filename
sort by heading
sort by recurring
Multiple sorts:
sort by priority
sort by due
sort by description
Group Options
group by due
group by scheduled
group by start
group by created
group by done
group by priority
group by path
group by folder
group by filename
group by heading
group by status
group by status.name
group by status.type
group by recurrence
group by recurring
group by tags
group by root
Display Options
hide task count
hide backlink
hide priority
hide created date
hide start date
hide scheduled date
hide due date
hide done date
hide cancelled date
hide recurrence rule
hide edit button
hide postpone button
hide urgency
show task count
show backlink
show priority
show created date
show start date
show scheduled date
show due date
show done date
show cancelled date
show recurrence rule
show edit button
show postpone button
show urgency
show id
show depends on
short mode
full mode
explain
Limit Results
limit 10
limit to 5 tasks
limit groups to 3
limit groups 5
Complete Query Examples
Due Today or Overdue
```tasks
(due before tomorrow) OR (due today)
not done
sort by priority
sort by due
```
This Week's Tasks
```tasks
due after last Sunday
due before next Sunday
not done
group by due
sort by priority
```
Project Tasks
```tasks
path includes Projects/Website
not done
sort by priority reverse
sort by due
hide backlink
```
Waiting/Blocked Tasks
```tasks
status.name includes waiting
not done
group by path
```
Recently Completed
```tasks
done after 7 days ago
sort by done reverse
limit 20
```
High Priority Without Dates
```tasks
priority above none
no due date
not done
sort by priority reverse
```
Recurring Tasks Overview
```tasks
is recurring
not done
group by recurrence
sort by due
```
Tasks by Tag
```tasks
tags include #work
not done
group by tags
sort by due
```
Unscheduled Tasks
```tasks
no scheduled date
no start date
not done
has due date
sort by due
limit 10
```
Tasks Created This Week
```tasks
created after last Monday
not done
group by created
sort by priority reverse
```
Multi-file Dashboard
## 🔴 Overdue
```tasks
due before today
not done
sort by due
limit 10
```
## 📅 Today
```tasks
due today
not done
sort by priority reverse
```
## 📆 This Week
```tasks
due after today
due before in 7 days
not done
group by due
sort by priority
```
## ⏳ Scheduled
```tasks
scheduled before tomorrow
no due date
not done
sort by scheduled
```
Exclude Certain Paths
```tasks
not done
path does not include Templates
path does not include Archive
sort by due
```
Specific Heading
```tasks
heading includes Action Items
not done
sort by priority reverse
```
Task Formats Reference
Complete Task Example
- [ ] Complete project report 📅 2024-02-28 ⏳ 2024-02-20 🛫 2024-02-15 ⏫ 🔁 every month ➕ 2024-02-01 🆔 report1
Minimal Task
- [ ] Simple task
Task with All Date Types
- [ ] Full lifecycle task 🛫 2024-02-01 ⏳ 2024-02-10 📅 2024-02-15 ➕ 2024-01-15
Completed Recurring Task
- [x] Weekly review 📅 2024-02-09 ✅ 2024-02-09 🔁 every week
Cancelled Task
- [-] Cancelled meeting 📅 2024-02-15 ❌ 2024-02-10
Common Patterns
GTD Weekly Review
## Weekly Review
### Inbox Processing
```tasks
path includes Inbox
not done
```
### Waiting For
```tasks
status.name includes waiting
not done
group by path
```
### Next Actions
```tasks
tags include #next
not done
sort by due
```
### Someday/Maybe
```tasks
path includes Someday
not done
limit 10
```
Daily Note Task Section
Note: Use with Templater or Daily Notes plugin to insert actual dates.
## Today's Tasks
### Scheduled for Today
```tasks
scheduled today
not done
sort by priority reverse
```
### Due Today
```tasks
due today
not done
sort by priority reverse
```
### Completed Today
```tasks
done today
short mode
```
Project Task List
## Project: Website Redesign
### Active
```tasks
path includes Projects/Website
not done
is not blocked
sort by priority reverse
sort by due
```
### Blocked
```tasks
path includes Projects/Website
is blocked
not done
```
### Completed
```tasks
path includes Projects/Website
done
sort by done reverse
limit 10
```
Urgency
Tasks are automatically scored for urgency based on:
- Priority
- Due date proximity
- Overdue status
- Scheduled date
- Start date
Urgency scoring can be customized in Tasks settings.
View with: show urgency
Sort with: sort by urgency reverse
Custom Filters and Groups
For complex logic, use JavaScript functions:
filter by function task.due.moment?.isSameOrBefore(moment(), 'day') || false
group by function task.due.moment?.format("YYYY-MM") ?? "No date"
References
More from zpankz/obsidian-skills
viva-llm
Use VIVA LLM for multi-provider chat, voice calls, terminal integration, assistants, skills, MCP tools, and agent mode inside Obsidian. Trigger when the user mentions VIVA LLM, voice chat, realtime voice, LLM providers in Obsidian, or vault-integrated AI chat.
1obsidian-plugin-accessibility
Use this skill when building or reviewing Obsidian plugin UI for keyboard access, ARIA labels, screen reader support, focus handling, or mobile touch targets. Accessibility is treated as mandatory, not optional.
1dataview
Create Dataview queries using DQL (Dataview Query Language), inline queries, and DataviewJS. Use when the user mentions Dataview, DQL, querying notes, listing notes by metadata, or creating dynamic views of vault content.
1defuddle
Extract clean markdown from web pages using Defuddle CLI, removing clutter to save tokens. Use when the user provides a URL to read or analyze.
1datacore
Create Datacore views using JSX/React syntax and the dc.* API. Use when the user mentions Datacore, dc.useQuery, JSX views, or React-based vault queries. Datacore is the successor to Dataview with better performance and interactive views.
1obc
Run OBC vault commands for AI-augmented PKM: daily planning, vault analysis, idea connections, and structured thinking workflows. Trigger on /today, /connect, /map, or any vault interaction command.
1