Cockpit Board
approvedby andreconde21
Dynamic Kanban board from frontmatter properties with calendar views, timers, and recurring tasks. - This plugin has not been manually reviewed by Obsidian staff.
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_spentfrontmatter - 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)
- Open Settings > Community plugins
- Click Browse and search for "Cockpit Board"
- Click Install, then Enable
Manual
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder
<vault>/.obsidian/plugins/cockpit-board/ - Copy the three files into that folder
- Enable the plugin in Settings > Community plugins
Quick Start
- Create a folder for your tasks (e.g.,
Tasks) - Go to Settings > Cockpit Board and set the Tasks folder
- Open the board with the ribbon icon or command palette: "Open Cockpit Board"
- 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
| Property | Type | Description |
|---|---|---|
title | string | Card title (falls back to filename) |
status | string | scheduled, in-progress, pending, done, or custom |
due | date | Due date (YYYY-MM-DD) |
due_end | date | End date for multi-day tasks |
time | string | Time (HH:MM) — shows in calendar time grid |
completed | date | Date marked as done |
project | string | Project name — shown as [Project] Title |
labels | list | Labels for filtering and color-coding |
order | number | Custom sort order within a column |
time_spent | number | Timer minutes tracked |
source | string | manual, recurring, etc. |
created | date | Creation date |
Column Rules
Rules determine which column a card belongs to. Evaluated in order: status rules first, then date/label rules.
| Rule | Matches |
|---|---|
status:done | Cards with status: done |
status:in-progress | Cards with status: in-progress |
status:pending | Cards with status: pending |
date:today | Due today or overdue |
date:tomorrow | Due tomorrow |
date:future | Due after tomorrow |
no-date | No due date set |
label:Personal | Has the "Personal" label |
NOT label:Work | Does not have "Work" label |
no-date AND label:Personal | Combine 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.
- Get the calendar feed:
- Outlook on the web: Calendar > Share > Publish > copy the ICS link.
- Outlook desktop: Calendar > Publish Online > copy the link (
https://orwebcal://both work). - No link? Export a
.icsfile into your vault instead.
- Settings > Cockpit Board > External calendars > + add calendar.
- Set Name (e.g.
Client Acme), paste the ICS URL (or.icspath: vault-relative likeCalendars/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). - Run
Sync external calendars nowfrom the command palette. New events import withdue,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
| Key | Action |
|---|---|
F | Toggle focus mode |
T | Move selected cards to today |
D | Mark selected cards as done |
N | New card |
Delete | Delete selected cards |
Escape | Clear selection |
Ctrl+Click | Toggle card selection |
Shift+Click | Range 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
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.