⚠️ Disclaimer: This was totally vibe coded. I'd never written an Obsidian plugin before and I still haven't. I disavow any responsibility for this plugin - it works for me, if it works for you that's great but it's fully AI-generated so be careful with your beloved tasks.
A kanban board plugin for Obsidian that extends the Tasks plugin to provide inline kanban views within markdown files.

- Inline Kanban Boards: Render kanban boards directly in markdown using
tasks-kanban
code blocks - Drag & Drop: Move tasks between columns with automatic file updates
- Swim Lanes: Support for dual grouping (e.g., group by project, then by status)
- Custom Statuses: Full support for Tasks plugin custom statuses
- Query Syntax: Supports Tasks plugin query syntax including placeholders
- Task Editing: Click-to-edit tasks with modal interface
This plugin requires the Obsidian Tasks plugin to be installed and enabled.
Create a kanban board by adding a tasks-kanban
code block to any markdown file:
```tasks-kanban
not done
group by function task.status.typeGroupText
```
Note: The preferred grouping method is group by function task.status.typeGroupText
which properly handles all status types including custom statuses.
Create swim lanes by using two group statements - the first creates horizontal swim lanes, the second creates columns within each swim lane:
```tasks-kanban
path includes {{query.file.path}}
group by function task.file.property('project')
group by function task.status.typeGroupText
```
This creates swim lanes by project with status columns in each lane.
Filter by current file path:
```tasks-kanban
path includes {{query.file.path}}
not done
group by function task.status.typeGroupText
```
Group by priority:
```tasks-kanban
not done
priority is high
group by priority
```
Custom project swim lanes:
```tasks-kanban
not done
group by function task.file.property('project')
group by status
```
The plugin supports the complete Tasks plugin query syntax including:
not done
/done
- Filter by completion statuspath includes <pattern>
- Filter by file pathdescription includes <pattern>
- Filter by task descriptiontag includes <pattern>
- Filter by tagspriority is <level>
- Filter by priority leveldue before <date>
- Filter by due date{{query.file.path}}
- Current file path placeholder
group by function task.status.typeGroupText
- Recommended: Group by status with custom status supportgroup by path
- Group by file pathgroup by priority
- Group by priority levelgroup by folder
- Group by containing foldergroup by function task.file.property('project')
- Group by frontmatter property
Use two group by
statements for swim lanes (first = horizontal lanes, second = columns).
- Clone this repo to
.obsidian/plugins/tasks-kanban/
in your vault - Install dependencies:
npm install
- Start development mode:
npm run dev
- Enable the plugin in Obsidian settings
Build commands: npm run dev
, npm run build
, npm run lint
- Download the latest release files:
main.js
,styles.css
,manifest.json
- Create folder
VaultFolder/.obsidian/plugins/tasks-kanban/
- Copy the files into the folder
- Reload Obsidian and enable the plugin
MIT License - see LICENSE file for details.