Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Manage CalDAV calendars (iCloud, Google, Yandex) from the command line. Supports OAuth2 and Basic auth, multi-account, table/JSON output.
Manage CalDAV calendars (iCloud, Google, Yandex) from the command line. Supports OAuth2 and Basic auth, multi-account, table/JSON output.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
A CalDAV CLI client. Manages multiple accounts with secure OS keychain storage. Supports iCloud, Google (OAuth2), Yandex and any custom CalDAV server.
Requires Node.js >= 18. npm install -g caldav-cli After installation the caldav-cli command is available globally.
caldav-cli account add # Interactive wizard: pick provider, enter credentials caldav-cli events list # Show events for the next 7 days caldav-cli events create # Interactive wizard: create a new event
Add account (interactive wizard โ prompts for provider, credentials, tests connection): caldav-cli account add List configured accounts: caldav-cli account list Remove an account: caldav-cli account remove <name>
caldav-cli events list # Next 7 days (default) caldav-cli events list --from 2026-02-10 --to 2026-02-20 caldav-cli events list -a work # Specific account caldav-cli events list -c "Team Calendar" # Filter by calendar name caldav-cli events list -a work -c Personal --from 2026-03-01 --to 2026-03-31 JSON output (for scripting): caldav-cli events list --json caldav-cli events list --json --from 2026-02-10 --to 2026-02-20
Interactive wizard (prompts for all fields): caldav-cli events create Non-interactive (all options via flags): caldav-cli events create \ --title "Team standup" \ --start "2026-02-10T10:00" \ --end "2026-02-10T10:30" \ --account work \ --calendar "Team Calendar" \ --description "Daily sync" \ --location "Room 42" Partial flags (wizard prompts for the rest): caldav-cli events create --title "Lunch" --account work JSON output after creation: caldav-cli events create --json --title "Event" --start "2026-02-10T10:00" --end "2026-02-10T11:00"
ProviderAuthServer URLApple iCloudBasic (app-specific password)https://caldav.icloud.comGoogle CalendarOAuth2 (Client ID + Secret)https://apidata.googleusercontent.com/caldav/v2Yandex CalendarBasic (app password)https://caldav.yandex.ruCustomBasicUser provides URL
Google requires OAuth2. Before running caldav-cli account add: Go to https://console.cloud.google.com/ Create a project, enable CalDAV API Create OAuth client ID (Desktop app type) Note the Client ID and Client Secret The wizard will ask for these, then open a browser for authorization. The refresh token is stored securely in the OS keychain.
Passwords, OAuth2 refresh tokens, and OAuth2 client credentials (Client ID, Client Secret, Token URL): OS keychain (macOS Keychain, Linux libsecret, Windows Credential Vault) via @napi-rs/keyring. Never written to disk in plaintext. Account metadata (name, provider ID, username, server URL): ~/.config/caldav-cli/config.json (file permissions 0600). No secrets are stored on disk. Existing installations that stored OAuth2 client credentials in config.json are automatically migrated to the keychain on first run.
FlagShortDescriptionDefault--account <name>-aAccount namedefault account--from <date>Start date (YYYY-MM-DD)today--to <date>End date (YYYY-MM-DD)today + 7 days--calendar <name>-cFilter by calendar nameall calendars--jsonOutput as JSONfalse
FlagShortDescription--title <title>-tEvent title--start <datetime>-sStart (YYYY-MM-DDTHH:mm)--end <datetime>-eEnd (YYYY-MM-DDTHH:mm)--account <name>-aAccount name--calendar <name>-cCalendar name--description <text>-dEvent description--location <text>-lEvent location--jsonOutput as JSON All events create flags are optional. Omitted values trigger interactive prompts.
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.