Property Kanban

approved

by Higa Fuyuki

Kanban board driven by note frontmatter properties. Creating, moving, and deleting cards stays in sync with note properties, with swimlanes, quick actions, and parent/child links. - This plugin has not been manually reviewed by Obsidian staff.

46 downloadsUpdated 18d agoMIT

Property Kanban

日本語版 README はこちら

A kanban task board for Obsidian driven entirely by note frontmatter properties. Task notes are the single source of truth: creating, moving, and deleting cards on the board updates the note properties instantly — and editing notes updates the board.

Features

Kanban board

  • Cards are grouped automatically by any frontmatter field
  • Drag & drop cards between columns → frontmatter updates automatically
  • Click a card title to open the note (if the note is already open in another tab, jumps to that tab instead of opening a duplicate)
  • File changes, creations, and deletions are detected in real time and the board refreshes automatically

Swimlanes

Group in two dimensions using two properties:

  • Lane: the outer grouping (e.g. project) → horizontal rows
  • Column: the grouping within each lane (e.g. status) → columns inside each row
┌─ Project A ──────────────────────────────┐
│ | To do  | In progress | Done |          │
│ | card   | card        | card |          │
└──────────────────────────────────────────┘
┌─ Project B ──────────────────────────────┐
│ | To do  | In progress | Done |          │
│ | card   | card        | card |          │
└──────────────────────────────────────────┘

Cards can be dragged between lanes as well — both the lane and column frontmatter fields are updated at once.

Card creation

  • Create from the "+ New task" button at the top of the board, or "+ Add card" in each column
  • Values auto-detected from the frontmatter of existing tasks are shown as suggestions
  • You can also type a brand-new value to set a new property value on the spot
  • A Markdown note with frontmatter is created in the configured folder

Card deletion

  • Hover over a card to reveal the menu button
  • Choosing "Delete" moves the note to the trash
  • A confirmation dialog is shown (check "Don't ask again" to skip it in the future)
  • On deletion, parent links of its child notes are cleared and the note is removed from its parent's children list automatically

Quick action button

Show a one-click button on cards that sets a specific frontmatter field to a preset value (e.g. set status to "Done").

  • Enable it under "Quick action button" in the settings and configure the label, target field, and value
  • The button is hidden on cards that already have the target value
  • Clicking it updates the note frontmatter instantly and shows a notice

Parent/child links

Manage parent/child relationships between cards as frontmatter wikilinks, so you can follow the hierarchy in Obsidian's graph view and backlinks.

  • Data model: the child note's parent link (e.g. parent: "[[Parent task]]") is the source of truth; the parent note's children list (a list of wikilinks) is derived data generated by the plugin
  • Set parent: card menu → "Set parent…" opens a fuzzy search (the card itself and its descendants are excluded to prevent cycles)
  • Remove parent: menu → "Remove parent"
  • Add child: parent card's menu → "Add child…" opens the create modal with the parent pre-selected
  • Multi-level: since the hierarchy follows parent links, grandchildren and deeper levels work too
  • Rebuild: if lists get out of sync from manual edits, use "Rebuild parent/child links" in the settings or the command palette to regenerate all children lists

Board options (⚙)

Click the gear icon in the header to open the board options popover:

OptionDescription
Lane / ColumnSwitch the frontmatter fields used for grouping
ZoomZoom the board in/out (50%–200%)
Card propertiesToggle which properties are shown on cards
Column orderReorder lanes/columns (drag & drop) and toggle their visibility

Card display properties

Configure which frontmatter fields are shown as tags on cards.

  • Add or remove any field
  • Pick a color per field (blue, green, red, yellow, purple, gray)
  • Toggle from the settings or the board options popover

Installation

From the community plugin browser (recommended)

  1. Open Settings → Community plugins → Browse
  2. Search for "Property Kanban"
  3. Install and enable

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create the folder .obsidian/plugins/property-kanban/ in your vault
  3. Copy the three files into that folder
  4. Reload Obsidian and enable "Property Kanban" under Settings → Community plugins

Usage

  1. Enable the plugin
  2. Click the dashboard icon in the left ribbon, or run Property Kanban: Open board from the command palette
  3. The board opens

Settings

SettingDescriptionDefault
Task folderFolder path where task notes are storedtasks
Card display propertiesFrontmatter fields shown on cards, with colorscategory, project, due, created
Quick action: show buttonShow the quick action button on cardsoff
Quick action: button labelText shown on the cardDone
Quick action: target fieldFrontmatter field to updatestatus
Quick action: value to setValue written when the button is clickedDone
Parent field nameFrontmatter field written to child notes for the parent linkparent
Children field nameFrontmatter field auto-generated on parent noteschildren
Maintain children listKeep a wikilink list of children on parent notes (off = parent link only)on
Add empty parent field to new cardsWrite an empty parent field even without a parentoff

Grouping (lane/column), ordering, visibility, and zoom are configured from the board options popover and saved automatically.

The plugin UI is in English by default and switches to Japanese when the Obsidian interface language is set to 日本語.

How it works

  • Frontmatter is read and written by parsing file content directly (no dependency on the metadata cache)
  • Grouping fields and column values are auto-detected from task note frontmatter
  • Board refreshes are debounced (150 ms) to coalesce rapid file events
  • Card deletion uses vault.trash() — notes are moved to the trash, never permanently deleted
  • No data ever leaves your vault; the plugin makes no network requests

Development

# Install dependencies
npm install

# Development build (watch mode)
npm run dev

# Production build
npm run build

# Type check + ESLint + tests
npm run check

License

MIT

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.