name: calendar-reminders description: Calendar reminders pipeline: config-driven wrapper around gcalcli (Google Calendar) plus optional CalDAV source via vdirsyncer+khal, and a reminder planner that outputs a JSON plan for one-shot OpenClaw reminders.
This skill provides:
- scripts/calendar — wrapper around gcalcli
- scripts/calendar_reminder_plan.py — produces a JSON plan for reminder scheduling
- references/openclaw-calendar.example.json — example config format
Copy the example config to a private location and edit it:
~/.config/openclaw/calendar.jsonOPENCLAW_CALENDAR_CONFIG=/path/to/calendar.jsonpython3, gcalclivdirsyncer, khalThis skill invokes external binaries and is config-driven.
gcalcli/khal using subprocess.check_output([...], shell=False) (argument-list form; safe against shell injection from event titles).vdirsyncerSyncCommand, make sure you run it as an argv list (subprocess.run(cmd_list, shell=False)), not as a shell string.gcalcliPath / khalBin to trusted binaries (prefer absolute paths). Don’t run untrusted paths.gcalcli requires OAuth. On headless servers you may need SSH port-forwarding.
The wrapper uses --noauth_local_server to print instructions.
The planner outputs a JSON blob describing reminders to schedule. A separate cron job (or an agent turn) can read it and create one-shot OpenClaw reminders.
Defaults: - Ignore birthdays. - Timed events are considered important. - All-day events only trigger reminders if their title matches configured keywords.
Create a daily cron job (e.g. 00:05 local time) that:
1) If CalDAV is enabled in config, runs the configured vdirsyncer sync command.
2) Runs scripts/calendar_reminder_plan.py to get a JSON plan.
3) For each planned reminder, creates a one-shot OpenClaw systemEvent reminder at reminderAtUtc.
4) Writes a small state file so you don’t schedule duplicates.
這個技能的最新版本可以在7w4.net小蔥技能站找到。
(Our skill intentionally provides the wrapper + planner; scheduling is left to your cron/agent wiring.)
這是一個設計合理的日曆提醒工具,支援 Google 和 iCloud 雙日曆源,配置靈活,可避免重複提醒。文件清晰、安全考慮充分。但目前只提供了提醒規劃部分,功能不夠完整;依賴較多外部工具設定複雜;缺少自動化測試。整體質量中上,功能完善度還有提升空間。