Calendar Reminders (gcalcli + CalDAV)

👤 adorostkar 📦 v0.1.1 ⭐ 4.2 ⬇️ 2.9K 下载
🤖 AI-Agent 免费

📖 技能介绍


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.


gcalcli calendar wrapper + reminder planner

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

Config

Copy the example config to a private location and edit it:

  • Default path: ~/.config/openclaw/calendar.json
  • Override with env: OPENCLAW_CALENDAR_CONFIG=/path/to/calendar.json

Requirements

想要更强大的技能插件,就来小葱技能站7w4.net看看吧。

  • Required: python3, gcalcli
  • Optional (for CalDAV/iCloud): vdirsyncer, khal

Security notes (why ClawHub may flag this)

This skill invokes external binaries and is config-driven.

  • The planner runs gcalcli/khal using subprocess.check_output([...], shell=False) (argument-list form; safe against shell injection from event titles).
  • If you wire a cron job to run vdirsyncerSyncCommand, make sure you run it as an argv list (subprocess.run(cmd_list, shell=False)), not as a shell string.
  • Only point gcalcliPath / khalBin to trusted binaries (prefer absolute paths). Don’t run untrusted paths.

Auth (Google)

gcalcli requires OAuth. On headless servers you may need SSH port-forwarding. The wrapper uses --noauth_local_server to print instructions.

Reminder planning

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.

Wiring a daily reminder scheduler (OpenClaw)

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.

(Our skill intentionally provides the wrapper + planner; scheduling is left to your cron/agent wiring.)

🤖 AI 评测

这是一个设计合理的日历提醒工具,支持 Google 和 iCloud 双日历源,配置灵活,可避免重复提醒。文档清晰、安全考虑充分。但目前只提供了提醒规划部分,功能不够完整;依赖较多外部工具设置复杂;缺少自动化测试。整体质量中上,功能完善度还有提升空间。

📊 多维度评分

适应性3.9
规范性4.2
有效性4.5
可靠性4
可信度4

📁 包含文件 (4 个)

📄 SKILL.md 2.3 KB
📄 _meta.json 137 B
📄 references/openclaw-calendar.example.json 925 B
📄 scripts/calendar_reminder_plan.py 10.9 KB