Apple Calendar Ops
PassAudited by ClawScan on May 10, 2026.
Overview
This skill matches its Apple Calendar purpose, but it can use Apple Calendar credentials to read, create, update, and delete events.
Install only if you are comfortable giving the skill access to an Apple Calendar app-specific password. Keep secrets.json protected, verify any configured CalDAV base URL is trusted, use dry-run before writes, and be careful with delete/update event IDs.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
The skill can authenticate to the user's Apple Calendar account using the stored app-specific password.
The skill loads an Apple ID and app-specific password from secrets and uses Basic Auth for CalDAV requests. This is expected for Apple Calendar access, but it is sensitive account authority.
apple = data.get('appleCalendar') or {} ... apple['appleId'], apple['appSpecificPassword'] ... req.add_header('Authorization', f'Basic {token}')Use an Apple app-specific password dedicated to calendar access, keep secrets.json protected, and revoke the password if you stop using the skill.
If invoked incorrectly, the skill could create, change, or delete real calendar events.
The delete flow supports a dry-run, but when invoked without it the script performs an actual calendar deletion. Create and update scripts similarly perform real writes.
parser.add_argument('--dry-run', action='store_true', help='Show delete target without writing') ... delete_event(args.event_id, config['appleId'], config['appSpecificPassword'], etag=etag)Use dry-run for write operations first, and only approve update/delete commands with explicit event IDs returned from a trusted fetch.
Private calendar details may be visible to the agent or any higher-level scheduler that consumes this skill's output.
Fetched events include potentially private titles, locations, notes, and raw calendar identifiers that are returned into the agent's context.
"title": "Example event", "location": "Optional location", "notes": "Optional notes", "raw": { "uid": "VEVENT-UID", "etag": "\"etag\"", "resourceUrl": "https://.../event.ics" }Use this only with agents and orchestrators you trust with calendar details, and avoid fetching broader date ranges than needed.
The skill may depend on an existing Python package in the environment or require manual dependency verification.
The script imports a non-stdlib Python dependency, while the supplied install metadata provides no install spec. This is a setup/provenance note, not evidence of malicious behavior.
from icalendar import Calendar, Event
Verify the dependency source/version in your environment before relying on the skill for sensitive calendar operations.
