← Back to Skills Marketplace
cyberash-dev

Caldav Cli

by cyberash-dev · GitHub ↗ · v0.1.5
linuxmacos ✓ Security Clean
1538
Downloads
1
Stars
3
Active Installs
5
Versions
Install in OpenClaw
/install caldav-cli
Description
Manage CalDAV calendars (iCloud, Google, Yandex) from the command line. Supports OAuth2 and Basic auth, multi-account, table/JSON output.
README (SKILL.md)

caldav-cli

A CalDAV CLI client. Manages multiple accounts with secure OS keychain storage. Supports iCloud, Google (OAuth2), Yandex and any custom CalDAV server.

Installation

Requires Node.js >= 18.

npm install -g caldav-cli

After installation the caldav-cli command is available globally.

Quick Start

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

Account Management

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 \x3Cname>

View Events

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

Create Events

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"

Supported Providers

Provider Auth Server URL
Apple iCloud Basic (app-specific password) https://caldav.icloud.com
Google Calendar OAuth2 (Client ID + Secret) https://apidata.googleusercontent.com/caldav/v2
Yandex Calendar Basic (app password) https://caldav.yandex.ru
Custom Basic User provides URL

Google Calendar Setup

Google requires OAuth2. Before running caldav-cli account add:

  1. Go to https://console.cloud.google.com/
  2. Create a project, enable CalDAV API
  3. Create OAuth client ID (Desktop app type)
  4. 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.

Data Storage

  • 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.

Flag Reference

events list

Flag Short Description Default
--account \x3Cname> -a Account name default account
--from \x3Cdate> Start date (YYYY-MM-DD) today
--to \x3Cdate> End date (YYYY-MM-DD) today + 7 days
--calendar \x3Cname> -c Filter by calendar name all calendars
--json Output as JSON false

events create

Flag Short Description
--title \x3Ctitle> -t Event title
--start \x3Cdatetime> -s Start (YYYY-MM-DDTHH:mm)
--end \x3Cdatetime> -e End (YYYY-MM-DDTHH:mm)
--account \x3Cname> -a Account name
--calendar \x3Cname> -c Calendar name
--description \x3Ctext> -d Event description
--location \x3Ctext> -l Event location
--json Output as JSON

All events create flags are optional. Omitted values trigger interactive prompts.

Usage Guidance
This skill appears coherent with its stated purpose, but take precautions before installing: 1) Verify the npm package and GitHub repo (typosquat or malicious packages are possible). 2) Inspect the caldav-cli code or its README if you can, and confirm the package author and recent release history. 3) Be mindful when providing OAuth client secrets or app-specific passwords — although the tool claims to store secrets in the OS keychain, review config.json after first run to confirm secrets are not written to disk. 4) If you allow autonomous agent invocation, remember the agent could run caldav-cli commands with any stored credentials and access your calendar data. If you are unsure, install and test the package locally in a controlled environment first or run the CLI manually instead of granting an agent automatic access.
Capability Analysis
Type: OpenClaw Skill Name: caldav-cli Version: 0.1.5 The skill bundle describes a legitimate CalDAV CLI client. The `SKILL.md` details standard installation via `npm install -g caldav-cli` and outlines functionality for managing calendar accounts and events. It explicitly states that sensitive data like passwords and OAuth tokens are stored securely in the OS keychain, not on disk, which is a good security practice. There are no indicators of prompt injection against the agent, data exfiltration, persistence mechanisms, or other malicious intent within the provided files.
Capability Assessment
Purpose & Capability
The skill is an instruction-only wrapper for the caldav-cli Node package. Requiring the caldav-cli binary and Node.js and using ~/.config/caldav-cli/config.json and the OS keychain are consistent with the described CalDAV calendar management and OAuth2/basic auth workflows.
Instruction Scope
SKILL.md contains only expected usage and installation instructions (npm install, account add/list/remove, events list/create). It instructs the user to provide credentials via an interactive wizard and to store secrets in the OS keychain; it does not instruct reading unrelated files or exfiltrating data.
Install Mechanism
Installation is via npm (npm install -g caldav-cli) with an indicated GitHub source. npm installs are normal for Node CLIs but carry the usual supply-chain risk — review the package and its repo before installing. No obscure download URLs or archive extraction are used.
Credentials
No environment variables or unrelated credentials are requested. The skill legitimately needs user-supplied app-specific passwords or OAuth client credentials for providers; these are documented as being stored in the OS keychain rather than plaintext on disk.
Persistence & Privilege
The skill does not request always: true and does not modify other skills or system-wide agent settings. It persists only a config file (~/.config/caldav-cli/config.json) and stores secrets in the OS keychain, which is appropriate for a calendar client. Note: the agent is allowed to invoke the skill autonomously by default — expected behavior but be aware it could access calendars if credentials are present.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install caldav-cli
  3. After installation, invoke the skill by name or use /caldav-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.5
- Metadata updated to document new requirements: path to config file (`~/.config/caldav-cli/config.json`) and keychain usage. - No changes to commands, features, or usage; documentation update only.
v0.1.4
- Sensitive data storage improved: All secrets (passwords, OAuth2 refresh tokens, client credentials) are now kept in the OS keychain, never written to disk. - config.json now holds only non-secret account metadata and is protected with restrictive permissions (`0600`). - Supported provider list streamlined to iCloud, Google, Yandex, and custom servers. - Existing installs automatically migrate OAuth2 credentials from disk to keychain on first run. - Removed Fastmail, Nextcloud, and Baikal from provider documentation.
v0.1.3
- Initial release of version 0.1.3. - Added metadata file (_meta.json) for improved package and skill management. - No changes to functionality or user-facing documentation.
v0.1.2
- Added installation instructions and Node.js version requirements. - Clarified that the `caldav-cli` command is available globally after install. - Expanded the data storage section to detail how and where credentials/config files are stored and recommended securing the config file. - Added missing metadata: now includes the project’s source URL. - Improved formatting and quick start guidance for easier onboarding.
v0.1.0
Initial release of caldav-cli. - Manage CalDAV calendars from the command line with multi-account support. - Compatible with iCloud, Google (OAuth2), Yandex, Fastmail, Nextcloud, Baikal, and custom CalDAV servers. - Secure credential storage in OS keychain; no secrets stored in plaintext. - Add, list, and remove accounts; list and create events (interactive and non-interactive modes). - Flexible table or JSON output for scripting and integration. - Provides detailed flag reference and guides for provider setup.
Metadata
Slug caldav-cli
Version 0.1.5
License
All-time Installs 3
Active Installs 3
Total Versions 5
Frequently Asked Questions

What is Caldav Cli?

Manage CalDAV calendars (iCloud, Google, Yandex) from the command line. Supports OAuth2 and Basic auth, multi-account, table/JSON output. It is an AI Agent Skill for Claude Code / OpenClaw, with 1538 downloads so far.

How do I install Caldav Cli?

Run "/install caldav-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Caldav Cli free?

Yes, Caldav Cli is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Caldav Cli support?

Caldav Cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, macos).

Who created Caldav Cli?

It is built and maintained by cyberash-dev (@cyberash-dev); the current version is v0.1.5.

💬 Comments