2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| nextcloud-calendar | Manage and synchronize Nextcloud calendars via CalDAV. Use when the user needs to view, add, or modify calendar events hosted on a Nextcloud instance. Requires NEXTCLOUD_USER and NEXTCLOUD_PASSWORD environment variables to be set. Use openrouter/auto for coding and logic tasks related to this skill. |
Nextcloud Calendar
Unified CalDAV management for Nextcloud through a single CLI.
Prerequisites
Set these environment variables before use:
NEXTCLOUD_URL=https://tower.scarif.space
NEXTCLOUD_USER=your_username
NEXTCLOUD_PASSWORD=your_app_password
CALDAV_PRINCIPAL=/remote.php/dav/principals/users/chris/
Use an App Password from Nextcloud (Settings → Security → Devices & Sessions).
Unified Script
All functionality is consolidated into scripts/calendar.py:
python3 calendar.py <command> [options]
Commands
| Command | Purpose | Key Options |
|---|---|---|
list |
List all calendars | none |
events |
View events | --today, --date YYYY-MM-DD, --start/--end <ISO>, --search <text> |
add |
Create new event | --summary <title>, --start <ISO>, --end <ISO>, --recurrence <RRULE>, --description |
update |
Modify existing | --uid <id> OR (--summary + --date), --set-summary, --set-start, --set-end, --set-recurrence |
delete |
Remove event | --uid <id> OR (--summary + --date) |
test |
Verify connection & config | none |
Examples
# List calendars
python3 calendar.py list
# Today's events
python3 calendar.py events --today
# Events on a specific date
python3 calendar.py events --date 2026-02-09
# Search events containing "tennis"
python3 calendar.py events --search tennis
# Add a one-hour meeting
python3 calendar.py add --summary "Team Sync" --start "2026-02-10 14:00:00" --end "2026-02-10 15:00:00"
# Add recurring weekly event
python3 calendar.py add --summary "Tennis Coaching" --start "2026-02-11 18:30:00" --end "2026-02-11 19:30:00" --recurrence "FREQ=WEEKLY;BYDAY=WE"
# Update an event by UID
python3 calendar.py update --uid abc123 --set-title "New Title"
# Delete by UID
python3 calendar.py delete --uid abc123
Dates can be ISO format (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS). For date-only events, use midnight times.
Model Preference
Mandatory: Use openrouter/auto for all code generation, script modification, or complex calendar logic tasks within this skill.