Task Matrix

unlisted

by Luna Jiang

Visual task dashboards with list, GTD, and Eisenhower views.

โ˜… 3 starsUpdated 2mo agoMIT
View on GitHub

Obsidian Task Matrix โšก

Visual task dashboards with list, GTD, and Eisenhower views.

โœจ Features

๐Ÿ”„ Three Complementary Views

ViewBest ForKey Benefit
๐Ÿ“‹ List ViewComprehensive task overviewSearch and browse all tasks
๐Ÿ“ฅ GTD FlowWorkflow managementVisual Kanban with Inbox โ†’ In Progress โ†’ Waiting โ†’ Done
๐Ÿ”ณ Eisenhower MatrixPriority decisionsUrgency vs. importance at a glance
๐Ÿ—“ Calendar ViewDate planningReview 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 #tag including #waiting, #doing, #blocked

๐Ÿง  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 date and Due date with on, 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-DD when 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
  • Responsive GTD Board: Single-column layout on mobile with collapse/expand support
  • Mobile Matrix Collapse: Collapse Eisenhower quadrants by tapping the title (also available on desktop)
  • 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-DD when completing tasks
  • Urgent Days Range: Set urgent threshold (1-7 days, default 1 = today only)
  • Due Date Display Range: Hide tasks due farther than the selected number of months
  • Hide Future Start Tasks: Hide tasks whose start date is more than one month away

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, DD templates)
  • Target Heading: Insert new tasks under a specific heading

๐Ÿ“ฅ Installation

Using BRAT (Recommended for Beta Versions)

  1. Install the BRAT plugin in Obsidian
  2. Open BRAT settings and click "Add Beta plugin"
  3. Enter: luna-jmy/obsidian-task-matrix
  4. Click "Add Plugin" and enable it in Community Plugins

From GitHub Releases

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder named task-matrix under your vault's .obsidian/plugins/
  3. Put the downloaded files into that folder
  4. 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

SymbolMeaning
- [ ]Open task
- [/]In progress
- [-]Cancelled
- [x]Completed
โซHighest priority
๐Ÿ”ผHigh priority
๐Ÿ”ฝLow priority
โฌLowest priority
๐Ÿ“… YYYY-MM-DDDue date
๐Ÿ›ซ YYYY-MM-DDStart date
โณ YYYY-MM-DDScheduled date
๐Ÿ†” task-idTask identifier
โ›” task-idDepends on task
โœ… YYYY-MM-DDCompletion 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 #doing tag
    • To "Waiting": Adds #waiting tag
    • To "Done": Marks as completed
  • 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 date
  • Due date

Supported operators:

  • not on
  • on
  • before
  • on or before
  • after
  • on or after
  • is empty
  • is 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:

WeChat Official Account QR

๐Ÿ“„ License

MIT 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.