ClawShelf
  • 首页
  • 技能
  • 入门套装
  • 定价
  • 常见问题
注册
ClawShelf
ClawShelf

AI 助手的应用商店

TwitterX (Twitter)Email
产品
  • 首页
  • 技能
  • 入门套装
  • 常见问题
资源
  • 支持
法律条款
  • Cookie 政策
  • 隐私政策
  • 服务条款
  • 退款政策
Copyright © 2026 ClawShelf. 保留所有权利。
返回市场
热门免费
productivity热门免费

caldav-calendar

Sync and query any CalDAV calendar provider directly from your Linux terminal using vdirsyncer and khal.

24.3k次下载·194个收藏·5(1条评价)
A
作者: asleep123

关于此技能

Stop relying on bulky GUIs or complex APIs to manage your schedule on Linux. You sync remote calendars locally using vdirsyncer and control events via khal commands to view, create, or edit entries. This skill supports iCloud, Google, and NextCloud providers seamlessly without proprietary dependencies. It is perfect for you if you seek privacy-focused, scriptable calendar access directly from your terminal.

5 分钟完成安装

复制以下提示词,粘贴到 OpenClaw 中即可自动安装:

请根据 https://clawshelf.com/api/skills/asleep123-caldav-calendar/install 的说明,下载并安装此技能到本地 ~/.openclaw/skills/ 目录。

文件预览

包含文件

  • SKILL.md
SKILL.md
---
name: caldav-calendar
description: Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.
metadata: {"clawdbot":{"emoji":"📅","os":["linux"],"requires":{"bins":["vdirsyncer","khal"]},"install":[{"id":"apt","kind":"apt","packages":["vdirsyncer","khal"],"bins":["vdirsyncer","khal"],"label":"Install vdirsyncer + khal via apt"}]}}
---

# CalDAV Calendar (vdirsyncer + khal)

**vdirsyncer** syncs CalDAV calendars to local `.ics` files. **khal** reads and writes them.

## Sync First

Always sync before querying or after making changes:
```bash
vdirsyncer sync
```

## View Events

```bash
khal list                        # Today
khal list today 7d               # Next 7 days
khal list tomorrow               # Tomorrow
khal list 2026-01-15 2026-01-20  # Date range
khal list -a Work today          # Specific calendar
```

## Search

```bash
khal search "meeting"
khal search "dentist" --format "{start-date} {title}"
```

## Create Events

```bash
khal new 2026-01-15 10:00 11:00 "Meeting title"
khal new 2026-01-15 "All day event"
khal new tomorrow 14:00 15:30 "Call" -a Work
khal new 2026-01-15 10:00 11:00 "With notes" :: Description goes here
```

After creating, sync to push changes:
```bash
vdirsyncer sync
```

## Edit Events (interactive)

`khal edit` is interactive — requires a TTY. Use tmux if automating:

```bash
khal edit "search term"
khal edit -a CalendarName "search term"
khal edit --show-past "old event"
```

Menu options:
- `s` → edit summary
- `d` → edit description
- `t` → edit datetime range
- `l` → edit location
- `D` → delete event
- `n` → skip (save changes, next match)
- `q` → quit

After editing, sync:
```bash
vdirsyncer sync
```

## Delete Events

Use `khal edit`, then press `D` to delete.

## Output Formats

For scripting:
```bash
khal list --format "{start-date} {start-time}-{end-time} {title}" today 7d
khal list --format "{uid} | {title} | {calendar}" today
```

Placeholders: `{title}`, `{description}`, `{start}`, `{end}`, `{start-date}`, `{start-time}`, `{end-date}`, `{end-time}`, `{location}`, `{calendar}`, `{uid}`

## Caching

khal caches events in `~/.local/share/khal/khal.db`. If data looks stale after syncing:
```bash
rm ~/.local/share/khal/khal.db
```

## Initial Setup

### 1. Configure vdirsyncer (`~/.config/vdirsyncer/config`)

Example for iCloud:
```ini
[general]
status_path = "~/.local/share/vdirsyncer/status/"

[pair icloud_calendar]
a = "icloud_remote"
b = "icloud_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"

[storage icloud_remote]
type = "caldav"
url = "https://caldav.icloud.com/"
username = "[email protected]"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"]

[storage icloud_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/calendars/"
fileext = ".ics"
```

Provider URLs:
- iCloud: `https://caldav.icloud.com/`
- Google: Use `google_calendar` storage type
- Fastmail: `https://caldav.fastmail.com/dav/calendars/user/EMAIL/`
- Nextcloud: `https://YOUR.CLOUD/remote.php/dav/calendars/USERNAME/`

### 2. Configure khal (`~/.config/khal/config`)

```ini
[calendars]
[[my_calendars]]
path = ~/.local/share/vdirsyncer/calendars/*
type = discover

[default]
default_calendar = Home
highlight_event_days = True

[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d
```

### 3. Discover and sync

```bash
vdirsyncer discover   # First time only
vdirsyncer sync
```

搭配使用

用户评价

5
1 review
5
1
4
0
3
0
2
0
1
0

登录后可发表评价

暂无评价,成为第一个评价者吧。

$0

一次购买 · 终身更新

100% 原生支持 OpenClaw / Claude 等任何 AI 助手

创作者
A
asleep123
类型技能
分类productivity
价格$0
上架时间4/5/2026
授权一次性购买
下载量24,301
收藏量194
评分5 ★ (1)
版本1.0.1
来源clawhub.ai
productivity
obsidian

Automate Obsidian vault management by searching, creating, and renaming notes while safely updating internal links.

$0
productivity
slack

Manage Slack channels instantly by sending messages, reacting to posts, and pinning important updates directly from Clawdbot.

$0
productivity
trello

Streamline Trello project management by creating, moving, and organizing cards directly from your terminal.

$0