Task Matrix
pendingby Luna Jiang
Visual task dashboards with list, GTD, and Eisenhower views.
Obsidian Task Matrix β‘
Visual task dashboards with list, GTD, and Eisenhower views.
β¨ Features
π Three Complementary Views
| View | Best For | Key Benefit |
|---|---|---|
| π List View | Comprehensive task overview | Search and browse all tasks |
| π₯ GTD Flow | Workflow management | Visual Kanban with Inbox β In Progress β Waiting β Done |
| π³ Eisenhower Matrix | Priority decisions | Urgency vs. importance at a glance |
| π Calendar View | Date planning | Review due, start, scheduled, and done tasks by month, week, or list |
π― Core Capabilities
- Visual Task Dashboard: See all your vault's tasks in one place
- Smart Task Parsing: Supports standard Obsidian task formats including:
- Task status:
- [ ],- [/],- [-],- [x] - Priorities:
β«(Highest),πΌ(High),π½(Low),β¬(Lowest) - Dates:
πDue,π«Start,β³Scheduled,βDone,βCreated - Task IDs:
πfor dependency tracking - Dependencies:
βindicates a task is blocked by another - Tags: Any
#tagincluding#waiting,#doing,#blocked
- Task status:
π§ Smart Automation
- Auto GTD Classification: Tasks are automatically categorized based on status, tags, and dates
- Eisenhower Quadrants: Auto-sorted by priority and due date urgency
- Configurable Urgent Range: Set how many days count as "urgent" (1-7 days)
- Dependency Tracking: Blocked tasks (with unfinished dependencies) are visually marked
- Drag & Drop: Move tasks between GTD columns or Eisenhower quadrants to auto-update tags
- Quick Move Buttons: Move tasks directly between GTD states or Eisenhower quadrants from the task card
- Date Conflict Detection: Warns when a start date is later than a due date
π Filtering & Navigation
- Keyword Search: Filter tasks by description, file path, task ID, or dependency ID
- Date Filters: Filter by
Start dateandDue datewithon,before,after,is empty,is not empty, and more - Calendar Summary: See scoped counts for due, overdue, start, scheduled, recurrence, and daily-note tasks
- Calendar Modes: Switch between month, week, and list layouts
ποΈ Task Actions
Each task card provides quick actions:
- β Complete/Uncomplete (optionally adds
β YYYY-MM-DDwhen completing) - βΆ Start (set to in-progress)
- β Cancel
- β Edit (modify description, priority, dates, ID, dependencies)
- π Delete
- Click to open task in file
π List View Features
- Folder Grouping: Group tasks by folder with configurable depth (1-5 levels)
- Expand/Collapse Groups: Toggle individual groups or expand/collapse all with one click
- Refreshed Styling: List groups now use a cleaner card style aligned with the calendar list view
π± Mobile Experience
- Responsive Toolbar & Cards: Better spacing and stacking for small screens
- Swipe-Friendly GTD Board: Horizontal column navigation on mobile
- Mobile Matrix Collapse: Collapse Eisenhower quadrants by tapping the title on mobile only
- Responsive Calendar Layouts: Improved month, week, and list browsing on smaller screens
βοΈ Settings
- Scan Folder: Limit task indexing to a specific vault folder
- Default View: Choose which view opens first (List/GTD/Eisenhower)
- Open Location: Open in sidebar or new tab
- Include Completed: Toggle visibility of completed/cancelled tasks
- Completion/Cancelled Markers: Customize checkbox markers for task states
- Track Completion Date: Auto-add
β YYYY-MM-DDwhen completing tasks - Urgent Days Range: Set urgent threshold (1-7 days, default 1 = today only)
List View Settings
- Group by Folder: Enable folder grouping
- Grouping Depth: How many folder levels to group by (1-5)
New Task Settings
- Target Note Path: Default location for new tasks (supports
YYYY,MM,DDtemplates) - Target Heading: Insert new tasks under a specific heading
π₯ Installation
Using BRAT (Recommended for Beta Versions)
- Install the BRAT plugin in Obsidian
- Open BRAT settings and click "Add Beta plugin"
- Enter:
luna-jmy/obsidian-task-matrix - Click "Add Plugin" and enable it in Community Plugins
From GitHub Releases
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder named
task-matrixunder your vault's.obsidian/plugins/ - Put the downloaded files into that folder
- Enable "Task Matrix" in Obsidian Settings β Community Plugins
From Source
git clone https://github.com/luna-jmy/obsidian-task-matrix.git
cd obsidian-task-matrix/obsidian-task-matrix-plugin
npm install
npm run build
Copy the obsidian-task-matrix-plugin folder to your vault's .obsidian/plugins/ directory.
π Usage
Opening the Task Matrix
- Click the kanban icon in the left ribbon
- Use the command palette: "Open task matrix"
- Set a hotkey for the "Open task matrix" command
Creating Tasks
Create tasks in any markdown file using standard Obsidian syntax:
- [ ] Review quarterly goals π
2025-03-15 πΌ
- [/] Write blog post #doing π« 2025-03-10
- [ ] Waiting for feedback #waiting π task-123
- [ ] Implement feature β task-123
- [x] Completed task β
2025-03-11
Task Dependencies
When editing a task, the "Depends On" field shows a dropdown of all incomplete tasks that have a task ID, sorted by due date (nearest first). This makes it easy to set up task dependencies without remembering task IDs.
Task Format Reference
| Symbol | Meaning |
|---|---|
- [ ] | Open task |
- [/] | In progress |
- [-] | Cancelled |
- [x] | Completed |
β« | Highest priority |
πΌ | High priority |
π½ | Low priority |
β¬ | Lowest priority |
π
YYYY-MM-DD | Due date |
π« YYYY-MM-DD | Start date |
β³ YYYY-MM-DD | Scheduled date |
π task-id | Task identifier |
β task-id | Depends on task |
β
YYYY-MM-DD | Completion date (auto-added when "Track completion date" is enabled) |
Drag & Drop
-
GTD View: Drag tasks between columns to update their state
- To "In Progress": Adds
#doingtag - To "Waiting": Adds
#waitingtag - To "Done": Marks as completed
- To "In Progress": Adds
-
Eisenhower View: Drag tasks between quadrants to adjust priority and urgency
- To Q1 (Important + Urgent): Sets high priority, adds due date
- To Q2 (Important + Not Urgent): Sets high priority, clears due date
- To Q3 (Urgent + Lower importance): Sets low priority, adds due date
- To Q4 (Delegated or discard): Sets lowest priority, clears due date
Date Filters
Use the Date Filters control in the toolbar to narrow tasks by:
Start dateDue date
Supported operators:
not ononbeforeon or beforeafteron or afteris emptyis not empty
ποΈ Tech Stack
- Obsidian API: Plugin framework
- TypeScript: Type-safe development
- esbuild: Fast bundling
π Changelog
See CHANGELOG.md for version history.
π£ Official Account
Follow my WeChat official account:

π License
π€ Contributing
Contributions welcome! Please open issues or submit pull requests.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.