calendar: use todoman for VTODO list/complete/delete/check
Replaces custom .ics parsing with todoman CLI (--porcelain for JSON). todo add still uses icalendar directly (needs ICS creation + email). Updates MIGRATION.md with todoman install/config instructions.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: calendar
|
||||
description: "Calendar invites and VTODO task management via CalDAV. Send/reply to invites, create/list/complete/delete todos. Syncs to Migadu CalDAV via vdirsyncer."
|
||||
metadata: {"clawdbot":{"emoji":"📅","requires":{"bins":["himalaya","vdirsyncer"],"skills":["himalaya"]}}}
|
||||
metadata: {"clawdbot":{"emoji":"📅","requires":{"bins":["himalaya","vdirsyncer","todo"],"skills":["himalaya"]}}}
|
||||
---
|
||||
|
||||
# Calendar
|
||||
@@ -16,6 +16,7 @@ See `TESTING.md` for dry-run and live test steps, verification checklists, and t
|
||||
|
||||
- `himalaya` configured and working (see the `himalaya` skill)
|
||||
- `vdirsyncer` configured and syncing to `~/.openclaw/workspace/calendars/`
|
||||
- `todoman` (`todo`) for VTODO management (list, complete, delete)
|
||||
- `khal` for reading calendar (optional but recommended)
|
||||
- Runs via `uv run` (dependencies managed in `pyproject.toml`)
|
||||
|
||||
@@ -245,11 +246,9 @@ Same as `todo list` but only NEEDS-ACTION items. Exits silently when no pending
|
||||
6. Runs `vdirsyncer sync` to push changes to Migadu CalDAV
|
||||
|
||||
**Managing todos:**
|
||||
1. Creates a VTODO ICS file with `STATUS:NEEDS-ACTION`, `PRIORITY`, `DUE`, `VALARM`
|
||||
2. Saves to `~/.openclaw/workspace/calendars/tasks/`
|
||||
3. Emails the VTODO to `mail@luyx.org` as a delivery copy
|
||||
4. Runs `vdirsyncer sync` to push to Migadu CalDAV
|
||||
5. `todo check` reads local files for the daily cron digest
|
||||
1. `todo add`: Creates a VTODO ICS file (via `icalendar` library), saves to `calendars/tasks/`, emails to owner, syncs
|
||||
2. `todo list/complete/delete/check`: Delegates to `todoman` CLI for robust RFC 5545 VTODO parsing
|
||||
3. Runs `vdirsyncer sync` after mutations to push changes to Migadu CalDAV
|
||||
|
||||
**CalDAV sync:**
|
||||
- Events and tasks sync to Migadu and appear on all connected devices (DAVx5, etc.)
|
||||
|
||||
Reference in New Issue
Block a user