# Calendar

> Manage calendar events via CalDAV (Google/iCloud/Nextcloud) or local ICS files. View, create, and query events.

- Skill: `fuyuxiang/calendar` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add fuyuxiang/calendar`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fuyuxiang/calendar/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: fuyuxiang (https://skillmd.com/u/fuyuxiang)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fuyuxiang/calendar

---


# Calendar

Calendar management via CalDAV protocol or local ICS files.

## Configuration

`~/.echo-agent/calendar.yaml`:

```yaml
provider: caldav  # or "local"
caldav_url: https://caldav.icloud.com/
username: user@icloud.com
password_env: ECHO_CALDAV_PASS
local_ics: ~/.echo-agent/calendar.ics
```

## Script

```bash
pip install caldav icalendar

python3 scripts/calendar_client.py --url https://caldav.icloud.com/ --user me@icloud.com --password xxx list
python3 scripts/calendar_client.py --url https://caldav.icloud.com/ --user me@icloud.com --password xxx upcoming --days 7
python3 scripts/calendar_client.py --url https://caldav.icloud.com/ --user me@icloud.com --password xxx add "Team meeting" "2026-06-14T10:00" --end "2026-06-14T11:00"
```

## CalDAV Endpoints

| Provider | URL |
|----------|-----|
| iCloud | `https://caldav.icloud.com/` |
| Google | `https://apidata.googleusercontent.com/caldav/v2/` |
| Nextcloud | `https://your.server/remote.php/dav/` |

## Local ICS (Offline)

```python
from icalendar import Calendar, Event
from datetime import datetime

cal = Calendar()
event = Event()
event.add('summary', 'Meeting')
event.add('dtstart', datetime(2026, 6, 14, 10, 0))
event.add('dtend', datetime(2026, 6, 14, 11, 0))
cal.add_component(event)

with open('calendar.ics', 'wb') as f:
    f.write(cal.to_ical())
```

## Integration

- Feeds into `daily-briefing` skill for morning agenda
- Works with `reminder` skill for event-based reminders

