Skip to content

Day Planner

Generate a time-blocked plan from calendar events and focused tasks, then optionally store it as a Source-backed native Journal artifact.

Skill name: day_planner

Category: journal

Mutates state (retry policy: manual)

Parameters

Name Type Required Description
action str Yes 'status', 'read', 'generate', 'write', or 'generate_and_write'
calendar_events str No For generate: JSON list of events. Flat shape {start: 'HH:MM', end: 'HH:MM', summary/description/text: '...', past?: bool} OR Google Calendar API shape {start: {dateTime: ISO}, end: {dateTime: ISO}, summary, timeStatus}. See wrapper docstring for full spec.
client_mutation_id str No Stable idempotency key for write or generate_and_write. Reuse only for the exact same plan.
config_overrides str No JSON dict of day_planner config overrides (work_hours, default_task_duration, break_interval, clamp_to_now — default True, prevents placement in the past).
focused_tasks str No For generate: JSON list of task dicts. Required: 'description' or 'text'. Optional: 'duration' (int minutes, overrides config default), 'time_start' ('HH:MM' — pins task to that time; goes unscheduled on conflict).
target str No Date target for read/write. Default: today.

Details

The scheduling algorithm is pure and provider-neutral. status checks native Journal authority and the active profile, read returns the latest native wb.journal-day-plan/v1 artifact for the logical day, and write actions commit the exact generated payload to Sources before creating the Journal item. No Obsidian plugin, daily file, resync command, or remote-calendar projection is used.