icloud
Skill0 starsChanged 30 days agoMITView on GitHub
iCloud access reference for the apple plugin — Calendar events (CalDAV), Contacts (CardDAV), Mail (IMAP/SMTP) with an app-specific password, and the iCloud web tools (Apple ID password + 2FA) for Reminders, Notes, iCloud Drive, Photos, Find My and Hide My Email. Load for personal iCloud data tasks (calendar, contacts, email, files, photos, find my device, reminders, notes) or icloud_* tools.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- ai-ecoverse/skillstheir own version, first seen Oct 2, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- ai-ecoverse/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- apnsSkill
- apple-business-managerSkill
- apple-mapsSkill
- apple-musicSkill
- apple-newsSkill
- apple-search-adsSkill
- apple-servicesSkill
- app-store-connectSkill
- app-store-serverSkill
- cloudkitSkill
- docsSkill
- setupSkill
- sign-in-with-appleSkill
- statusSkill
- weatherkitSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Default range: next 7 days.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
iCloud (tools icloud_*)
Credentials in icloud: apple_id (the exact Apple ID e-mail; a Gmail or other address works,
no @icloud.com alias needed) + app_specific_password from account.apple.com → Sign-In and
Security → App-Specific Passwords (2FA required; format xxxx-xxxx-xxxx-xxxx, typed with the
dashes). The normal Apple ID password does not work for CalDAV/CardDAV/IMAP. If CalDAV/CardDAV
answer 401 with a fresh password, check in order: the password is typed exactly as generated, with
its dashes and no swapped or missing letters (the usual cause); it was generated after the last
Apple ID password change (a change revokes all of them); the e-mail is the Apple ID itself; iCloud
Calendars and Contacts are turned on for this Apple ID (Settings → [name] → iCloud on an iPhone or
Mac, or visible on icloud.com). Diagnose from a shell with
curl -s -o /dev/null -w '%{http_code}' -u 'APPLE_ID:APP_PASSWORD' -X PROPFIND -H 'Depth: 0' https://caldav.icloud.com/
(207 = OK).
Calendar (CalDAV, caldav.icloud.com)
icloud_calendars→ name, href, components (VEVENT / VTODO), color. Calendar hrefs are stable; the server discovers the principal and home once per session.icloud_events start end calendar limit expand timezone→ sorted events withhref+etag,start/end(UTCZ, or local with its TZID, or a date for all-day),summary,location,description(truncated 600 chars),rrule,recurrence_id,organizer,attendees,alarm. Recurring events are expanded to instances in the range (expand: falsereturns masters). Default range: next 7 days.icloud_event_create calendar summary start end timezone all_day description location rrule alarm_minutes url— naive times are interpreted intimezone(IANA, e.g. Europe/Paris) and stored in UTC;startasYYYY-MM-DDcreates an all-day event (end exclusive, defaults to next day).icloud_event_update href …changes fields of the master event (passetagfrom the listing to avoid overwriting concurrent edits);icloud_event_delete href.- Reminders are not on CalDAV anymore (Apple moved them to CloudKit) — use the iCloud web tools below.
Contacts (CardDAV, contacts.icloud.com)
icloud_contacts query limit→ full name, first/last, nickname, organization, job title, emails, phones, addresses, birthday, note, url,href,etag. Search runs server-side on FN/N/EMAIL/ORG/TEL (falls back to a full download + local filter if the server rejects the query).icloud_contact_create full_name emails phones organization job_title note birthday url;icloud_contact_delete href. Updating a contact: not provided (create a new one, or ask).
Mail (IMAP imap.mail.me.com:993, SMTP smtp.mail.me.com:587)
icloud_mail_folders(INBOX, Drafts, "Sent Messages", "Deleted Messages", Junk, Archive, custom).icloud_mail_list folder limit unseen_only since from subject text→ uid, from, to, subject, date, flags (Seen, Flagged, Answered), size. UIDs are per folder.icloud_mail_read uid folder max_chars mark_seen→ headers, text body (HTML stripped when there is no text part), attachment list (names/sizes only).icloud_mail_send to cc bcc subject body html reply_to in_reply_to— sends fromicloud.mail_from(must be the @icloud.com/@me.com address or an alias; defaults toapple_id).icloud_mail_flag uid seen flagged;icloud_mail_move uid destination("Deleted Messages" = trash, Archive, Junk, or any folder). Confirm with the user before moving/trashing.
iCloud web: Reminders, Notes, Drive, Photos, Find My, Hide My Email
Built into the same Rust server, through the private icloud.com web APIs (what the web app and
pyicloud use — may break without notice). Needs the real Apple ID password in icloud.password
(not an app-specific password) and one two-factor code at first login; the trusted session is then
cached on disk (plugin data dir, icloud-session/).
Login: any tool logs in silently from the cache. If it answers that 2FA is required, Apple has
pushed a 6-digit code to the user's trusted devices: ask for it and call icloud_2fa code. No
prompt on the devices → icloud_login sms=true sends it by SMS to the trusted phone. If Apple
asks to accept updated iCloud terms, the user must sign in once at https://www.icloud.com/.
apple_status shows the cached session's state under icloud.web.session (active, expired,
awaiting_2fa, absent) without touching the network. icloud_login force=true discards the cached session. From a shell (MCP not connected):
bash scripts/apple-mcp icloud login|sms|2fa <code>|lists|reminders <list>.
- Reminders (CloudKit zone
Reminders):icloud_reminders_lists;icloud_reminders list include_completed limit(list by id or name);icloud_reminder_create list title notes due time_zone priority all_day flagged parent_reminder_id(priority 0 none / 1 high / 5 medium / 9 low);icloud_reminder_complete reminder_id completed;icloud_reminder_delete reminder_id(soft delete, confirm first). - Notes:
icloud_notes_folders;icloud_notes_recent limit folder_id;icloud_note note_id max_chars(body rendered as Markdown: headings, checklists, tables; locked notes are not readable). - Drive:
icloud_drive_list path;icloud_drive_download path destination overwrite;icloud_drive_upload local_path folder;icloud_drive_mkdir parent name. - Photos:
icloud_photos_albums;icloud_photos_list album limit offset(default album "Library", newest first);icloud_photos_download filename destination album version=original|medium|thumb. - Find My:
icloud_findmy_devices name;icloud_findmy_action device action=play_sound|display_message|lost_mode message phone(no erase). - Hide My Email:
icloud_hme_list;icloud_hme_create label note;icloud_hme_set_active anonymous_id active;icloud_hme_delete anonymous_id. icloud_account: devices, storage usage, family.
Safety: never print app-specific passwords or the Apple ID password; Find My lost mode and device messages are visible to whoever holds the device — confirm before acting.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

