Skip to content
Back to skills

Apple Calendar

ASecurity

Read and write the user's Apple (iCloud) Calendar over CalDAV. Use for checking the schedule / free-busy, and creating, updating, or deleting events.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 15, 2026
ai-agentsnode

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 15, 2026

npx -y skills add xxczaki/wicek --skill apple-calendar --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apple Calendar?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apple Calendar
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/xxczaki-apple-calendar/badge)](https://www.skillsdirectory.com/skills/xxczaki-apple-calendar)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: apple-calendar
description: Read and write the user's Apple (iCloud) Calendar over CalDAV. Use for checking the schedule / free-busy, and creating, updating, or deleting events.
---

# Apple Calendar (iCloud, CalDAV)

A Node script talks to iCloud CalDAV without credentials – the credential broker adds them.
All output is JSON on stdout.

Invoke:

```
node /app/.claude/skills/apple-calendar/cal.mjs <command> [--flags]
```

Commands:
- `list-calendars` — list calendars (`name`, `url`, `components`).
- `list-events --from <ISO> --to <ISO> [--calendar <name>]` — events in a time
  range; recurring events are expanded to individual occurrences. Defaults to all
  event-capable calendars.
- `create-event --summary <s> --start <ISO> --end <ISO> [--calendar <name>] [--location <l>] [--description <d>]`
  — create an event. Date-only `--start`/`--end` (e.g. `2026-06-01`) makes an all-day event.
- `update-event --url <obj-url> --etag <etag> [--summary ...] [--start ...] [--end ...] [--location ...] [--description ...]`
  — modify an event; `url` and `etag` come from `list-events`.
- `delete-event --url <obj-url> [--etag <etag>]` — delete an event.

Notes:
- Times are ISO 8601, e.g. `2026-06-01T09:00:00Z`. Prefer explicit UTC/offsets.
- For "what's on my calendar today", compute today's start/end and call `list-events`.
- This is the user's real calendar – for ambiguous create/update/delete, confirm intent first.

Files in this skill

  • SKILL.md1.4 KB
  • cal.mjs8.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.