# Send iCloud CalDav to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "icloud-caldav",
    "name": "iCloud CalDav",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/samuelhe52/icloud-caldav",
    "canonicalUrl": "https://clawhub.ai/samuelhe52/icloud-caldav",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/icloud-caldav",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=icloud-caldav",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "references/caldav-protocol.md",
      "scripts/caldav.py",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "icloud-caldav",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T20:56:21.226Z",
      "expiresAt": "2026-05-08T20:56:21.226Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=icloud-caldav",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=icloud-caldav",
        "contentDisposition": "attachment; filename=\"icloud-caldav-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "icloud-caldav"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/icloud-caldav"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/icloud-caldav",
    "downloadUrl": "https://openagent3.xyz/downloads/icloud-caldav",
    "agentUrl": "https://openagent3.xyz/skills/icloud-caldav/agent",
    "manifestUrl": "https://openagent3.xyz/skills/icloud-caldav/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/icloud-caldav/agent.md"
  }
}
```
## Documentation

### iCloud CalDAV — Direct Calendar Access

Manage iCloud Calendar directly via CalDAV protocol. No third-party services, no data leaves your machine except to Apple's servers.

### When to Use

Activate when the user wants to:

Check their calendar or upcoming events
Create new calendar events
Delete existing events
List available calendars

Do NOT use for:

Reminders (use apple-reminders skill if available)
Contacts (CalDAV is calendar-only)
Non-iCloud calendars (Google, Outlook, etc.)

### Prerequisites

Required credentials:

APPLE_ID — Your Apple ID email address
APPLE_APP_PASSWORD — An app-specific password (NOT your regular Apple ID password)

To generate app-specific password:

Go to appleid.apple.com
Sign in → Sign-In and Security → App-Specific Passwords
Generate a new password
Use this password (not your regular one)

### Quick Start

# Set credentials
export APPLE_ID="your.email@icloud.com"
export APPLE_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx"

# List calendars
./scripts/caldav.py list-calendars

# List events for next 7 days
./scripts/caldav.py list-events --days 7

# Create an event
./scripts/caldav.py create-event \\
  --title "Team Meeting" \\
  --start "2025-07-23T14:00:00" \\
  --duration 60 \\
  --calendar "Work"

### Available Operations

OperationCommandDescriptionList calendarslist-calendarsShow all iCloud calendarsList eventslist-eventsEvents in a date rangeCreate eventcreate-eventAdd new calendar eventDelete eventdelete-eventRemove event by filename or UID

### Creating Events

# Basic event
./scripts/caldav.py create-event \\
  --title "Dentist Appointment" \\
  --start "2025-07-25T09:30:00" \\
  --duration 30

# With location and description
./scripts/caldav.py create-event \\
  --title "Project Review" \\
  --start "2025-07-26T14:00:00" \\
  --duration 60 \\
  --location "Conference Room B" \\
  --description "Q3 planning review" \\
  --calendar "Work"

# All-day event
./scripts/caldav.py create-event \\
  --title "Vacation" \\
  --start "2025-08-01" \\
  --all-day

### Batch Operations

Note: CalDAV does not support native batch operations. To create multiple events, run the script multiple times:

# Create multiple events by running the command multiple times
./scripts/caldav.py create-event --title "Meeting 1" --start "2025-07-26T10:00:00" --duration 60
./scripts/caldav.py create-event --title "Meeting 2" --start "2025-07-26T14:00:00" --duration 60
./scripts/caldav.py create-event --title "Meeting 3" --start "2025-07-27T09:00:00" --duration 60

iCloud handles rapid sequential requests well, but there is no single API call for creating multiple events.

### Deleting Events

# Delete by filename
./scripts/caldav.py delete-event \\
  --file "event-name.ics" \\
  --calendar "Calendar"

# Delete by UID (searches calendar for matching event)
./scripts/caldav.py delete-event \\
  --uid "openclaw-xxx@openclaw.local" \\
  --calendar "Calendar"

Warning: Deletions are permanent. iCloud may have its own backup, but standard CalDAV DELETE immediately removes the event.

### Date/Time Formats

ISO 8601: 2025-07-23T14:00:00 (assumes local timezone if none specified)
With timezone: 2025-07-23T14:00:00+08:00
All-day: 2025-07-23 (date only)

### Security Notes

Credentials are read from environment variables only
No credentials are logged or stored
All communication is HTTPS to caldav.icloud.com
App-specific passwords can be revoked anytime at appleid.apple.com

### Error Handling

ErrorCauseSolution401 UnauthorizedBad credentialsCheck APPLE_ID and APPLE_APP_PASSWORD404 Not FoundCalendar/event doesn't existList calendars/events first403 ForbiddenRead-only calendarTry a different calendarTimeoutNetwork issueRetry the request

### References

See references/caldav-protocol.md for CalDAV implementation details
See references/icloud-endpoints.md for iCloud-specific endpoints
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: samuelhe52
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T20:56:21.226Z
- Expires at: 2026-05-08T20:56:21.226Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/icloud-caldav)
- [Send to Agent page](https://openagent3.xyz/skills/icloud-caldav/agent)
- [JSON manifest](https://openagent3.xyz/skills/icloud-caldav/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/icloud-caldav/agent.md)
- [Download page](https://openagent3.xyz/downloads/icloud-caldav)