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.

What this means

The skill can authenticate to the user's Apple Calendar account using the stored app-specific password.

Why it was flagged

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.

Skill content
apple = data.get('appleCalendar') or {} ... apple['appleId'], apple['appSpecificPassword'] ... req.add_header('Authorization', f'Basic {token}')
Recommendation

Use an Apple app-specific password dedicated to calendar access, keep secrets.json protected, and revoke the password if you stop using the skill.

What this means

If invoked incorrectly, the skill could create, change, or delete real calendar events.

Why it was flagged

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.

Skill content
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)
Recommendation

Use dry-run for write operations first, and only approve update/delete commands with explicit event IDs returned from a trusted fetch.

What this means

Private calendar details may be visible to the agent or any higher-level scheduler that consumes this skill's output.

Why it was flagged

Fetched events include potentially private titles, locations, notes, and raw calendar identifiers that are returned into the agent's context.

Skill content
"title": "Example event", "location": "Optional location", "notes": "Optional notes", "raw": { "uid": "VEVENT-UID", "etag": "\"etag\"", "resourceUrl": "https://.../event.ics" }
Recommendation

Use this only with agents and orchestrators you trust with calendar details, and avoid fetching broader date ranges than needed.

What this means

The skill may depend on an existing Python package in the environment or require manual dependency verification.

Why it was flagged

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.

Skill content
from icalendar import Calendar, Event
Recommendation

Verify the dependency source/version in your environment before relying on the skill for sensitive calendar operations.