AGENT SKILL
caldav-calendar
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 67
- Forks
- 24
02 资源文件 43
- 参考文档checklist.md3.7 KB
- 其他customize.toml1.6 KB
- 资产文件game-types.csv2.9 KB
- 参考文档game-types/action-platformer.md786 B
- 参考文档game-types/adventure.md2.0 KB
- 参考文档game-types/card-game.md1.5 KB
- 参考文档game-types/fighting.md1.6 KB
- 参考文档game-types/horror.md1.9 KB
- 参考文档game-types/idle-incremental.md1.4 KB
- 参考文档game-types/metroidvania.md1.8 KB
- 参考文档game-types/moba.md1.5 KB
- 参考文档game-types/party-game.md1.6 KB
- 参考文档game-types/puzzle.md924 B
- 参考文档game-types/racing.md1.7 KB
- 参考文档game-types/rhythm.md1.5 KB
- 参考文档game-types/roguelike.md1.1 KB
- 参考文档game-types/rpg.md1.1 KB
- 参考文档game-types/sandbox.md1.6 KB
- 参考文档game-types/shooter.md1.6 KB
- 参考文档game-types/simulation.md1.5 KB
- 参考文档game-types/sports.md1.4 KB
- 参考文档game-types/strategy.md1.8 KB
- 参考文档game-types/survival.md1.5 KB
- 参考文档game-types/text-based.md1.9 KB
- 参考文档game-types/tower-defense.md1.6 KB
- 参考文档game-types/turn-based-tactics.md1.9 KB
- 参考文档game-types/visual-novel.md2.0 KB
- 参考文档steps-c/step-01-init.md9.0 KB
- 参考文档steps-c/step-01b-continue.md5.9 KB
- 参考文档steps-c/step-02-context.md10.9 KB
- 参考文档steps-c/step-03-platforms.md7.4 KB
- 参考文档steps-c/step-04-vision.md6.9 KB
- 参考文档steps-c/step-05-core-gameplay.md8.2 KB
- 参考文档steps-c/step-06-mechanics.md7.7 KB
- 参考文档steps-c/step-07-game-type.md7.6 KB
- 参考文档steps-c/step-08-progression.md8.1 KB
- 参考文档steps-c/step-09-levels.md8.2 KB
- 参考文档steps-c/step-10-art-audio.md7.7 KB
- 参考文档steps-c/step-11-technical.md7.7 KB
- 参考文档steps-c/step-12-epics.md7.5 KB
- 参考文档steps-c/step-13-metrics.md7.5 KB
- 参考文档steps-c/step-14-complete.md9.7 KB
- 参考文档templates/gdd-template.md1.5 KB
03 SKILL.md 正文
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:
vdirsyncer sync
View Events
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
khal search "meeting"
khal search "dentist" --format "{start-date} {title}"
Create Events
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:
vdirsyncer sync
Edit Events (interactive)
khal edit is interactive — requires a TTY. Use tmux if automating:
khal edit "search term"
khal edit -a CalendarName "search term"
khal edit --show-past "old event"
Menu options:
s→ edit summaryd→ edit descriptiont→ edit datetime rangel→ edit locationD→ delete eventn→ skip (save changes, next match)q→ quit
After editing, sync:
vdirsyncer sync
Delete Events
Use khal edit, then press D to delete.
Output Formats
For scripting:
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:
rm ~/.local/share/khal/khal.db
Initial Setup
1. Configure vdirsyncer (~/.config/vdirsyncer/config)
Example for iCloud:
[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 = "your@icloud.com"
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_calendarstorage 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)
[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
vdirsyncer discover # First time only
vdirsyncer sync