Cockpit Board

approved

by andreconde21

Dynamic Kanban board from frontmatter properties with calendar views, timers, and recurring tasks. - This plugin has not been manually reviewed by Obsidian staff.

1 stars1,161 downloadsUpdated 9d agoMIT

Cockpit Board

A dynamic Kanban board for Obsidian driven by frontmatter properties. Drag-and-drop updates files instantly. Includes calendar views, timers, recurring tasks, and a checklist editor.

Features

  • Kanban Board — Cards auto-sort into columns based on configurable rules (status:, date:, label:, no-date)
  • Drag & Drop — Move cards between columns or reorder within. Bulk drag with multi-select (Ctrl+Click)
  • Calendar Views — Week, month, and year views with time grid, all-day cards, and year heatmap
  • Timers — Start/stop timers on cards, time tracked in time_spent frontmatter
  • Recurring Tasks — Cron-based rules create tasks automatically each day
  • Checklist Editor — Click the checklist count to open a drag-and-drop editor modal
  • Archive Search — Search completed tasks in a YYYY/MM/DD folder structure
  • Auto-Archive — Optionally move done cards into the archive folder after a configurable number of days
  • Due-Soon Notifications — Configurable lead times (default 15 and 1 minutes before a task's time), with optional desktop notifications that reach you when Obsidian is in the background
  • Mobile Optimized — Tab-based column switching with swipe gestures
  • Privacy Mode — Blur card titles (hover to reveal) for screen sharing
  • Focus Mode — Show only Today + In Progress columns (press F)
  • Split & Close — Split a partially-completed checklist into done + continuation cards

Installation

From Community Plugins (recommended)

  1. Open Settings > Community plugins
  2. Click Browse and search for "Cockpit Board"
  3. Click Install, then Enable

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder <vault>/.obsidian/plugins/cockpit-board/
  3. Copy the three files into that folder
  4. Enable the plugin in Settings > Community plugins

Quick Start

  1. Create a folder for your tasks (e.g., Tasks)
  2. Go to Settings > Cockpit Board and set the Tasks folder
  3. Open the board with the ribbon icon or command palette: "Open Cockpit Board"
  4. Create task files with frontmatter:
---
title: "My Task"
status: scheduled
due: 2026-04-15
time: "14:00"
completed:
project: "Project X"
labels: [Work, DEADLINE]
created: 2026-04-01
source: manual
---

# My Task

Task description here.

## Checklist: Steps
- [ ] Step one
- [ ] Step two

Frontmatter Properties

PropertyTypeDescription
titlestringCard title (falls back to filename)
statusstringscheduled, in-progress, pending, done, or custom
duedateDue date (YYYY-MM-DD)
due_enddateEnd date for multi-day tasks
timestringTime (HH:MM) — shows in calendar time grid
completeddateDate marked as done
projectstringProject name — shown as [Project] Title
labelslistLabels for filtering and color-coding
ordernumberCustom sort order within a column
time_spentnumberTimer minutes tracked
sourcestringmanual, recurring, etc.
createddateCreation date

Column Rules

Rules determine which column a card belongs to. Evaluated in order: status rules first, then date/label rules.

RuleMatches
status:doneCards with status: done
status:in-progressCards with status: in-progress
status:pendingCards with status: pending
date:todayDue today or overdue
date:tomorrowDue tomorrow
date:futureDue after tomorrow
no-dateNo due date set
label:PersonalHas the "Personal" label
NOT label:WorkDoes not have "Work" label
no-date AND label:PersonalCombine with AND

Recurring Tasks

Create a JSON file (e.g., Scripts/recurring.json) and set its path in Settings:

{
  "tasks": [
    {
      "title": "Weekly review",
      "cron": "0 7 * * 5",
      "labels": ["Work"],
      "project": ""
    }
  ]
}

Cron format: minute hour dayOfMonth month dayOfWeek (standard cron).

Special frequencies: biweekly-2nd-sat, monthly-1st-mon.

External Calendars (Outlook / ICS)

One-way editable import: new Outlook events become cards in your tasks folder with the label you choose. Imported cards are never overwritten, so your edits are safe. Cancelled Outlook events do not delete cards. Skipped automatically: STATUS:CANCELLED, subjects starting with Canceled:/Cancelled:, and blocks with no title. A cancelled instance also suppresses that day's occurrence of its series, so no ghost card is left behind. Events deleted in Outlook leave no trace in the file — set "When events disappear" per calendar to keep the card (default), mark it done, or delete it. Only dates inside the sync window are ever touched, and cards you already marked done are left alone.

  1. Get the calendar feed:
    • Outlook on the web: Calendar > Share > Publish > copy the ICS link.
    • Outlook desktop: Calendar > Publish Online > copy the link (https:// or webcal:// both work).
    • No link? Export a .ics file into your vault instead.
  2. Settings > Cockpit Board > External calendars > + add calendar.
  3. Set Name (e.g. Client Acme), paste the ICS URL (or .ics path: vault-relative like Calendars/client.ics, or on desktop an absolute path like ~/Downloads/client.ics), Label (e.g. ClientAcme), and optionally Project (e.g. ClientAcme — shown as a [Project] prefix).
  4. Run Sync external calendars now from the command palette. New events import with due, time, due_end, labels: [ClientAcme], source: external-calendar.

Notes: syncs on startup, hourly, and every N minutes (configurable, min 5). Only new occurrences import — recurring Outlook series expand inside your days-back/ahead window. Filter the board by the label to see just that client.

Timezone: UTC times convert automatically. Times stamped with a zone (Outlook usually stamps its own, e.g. Swiss time) convert to your device time automatically. If the calendar has naive times in another zone, set the source timezone (IANA name, e.g. Europe/Zurich) and they convert too. Leave it empty when the calendar is already in your time.

Keyboard Shortcuts

KeyAction
FToggle focus mode
TMove selected cards to today
DMark selected cards as done
NNew card
DeleteDelete selected cards
EscapeClear selection
Ctrl+ClickToggle card selection
Shift+ClickRange select cards

Settings

  • Tasks folder — Folder to scan for task files
  • Archive folder — Folder for archived tasks (YYYY/MM/DD structure)
  • Auto-archive done cards — Automatically move done cards into the archive folder once they've been completed for N days (also available as the "Archive done cards now" command)
  • Recurring config path — Path to recurring.json
  • External calendars — Outlook/ICS feeds imported with a fixed label (one-way, editable, never overwritten)
  • Reminder lead times — Minutes before a card's time to warn, comma separated (default 15,1). Each lead fires once per card per day
  • Desktop notifications — Also send a system notification, so reminders arrive when Obsidian is in the background (desktop only)
  • Card open mode — Split pane, sidebar, or modal
  • Mobile default column — Which column shows first on mobile
  • Privacy mode — Blur card titles
  • Checklist editor — Enable click-to-edit checklists
  • Card label tint — Subtle background color from primary label
  • Custom card order — Enable drag-and-drop reordering
  • Label Colors — Assign custom colors to labels (auto-assigned from palette when not set)
  • Columns — Add, remove, reorder, and configure column rules

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.