calendar
Skill0 starsChanged 5 months agoMITView on GitHub
Read and manage your Apple Calendar (including Google/Exchange/iCloud calendars synced into Calendar.app) from a Mac. Use to see your schedule, find a free slot, add an event, or delete one.
- Installs packages
32 other projects use a version of this.
Adopted by
Most recently taken up by
- t128n/skillstheir own version, first seen Nov 8, 2026
- sidmanale643/pekka-bottheir own version, first seen Nov 8, 2026
- pietz/skillstheir own version, first seen Nov 8, 2026
- yourbeckett/beckett-for-claudetheir own version, first seen Nov 1, 2026
- staskh/trading_skillstheir own version, first seen Nov 1, 2026
- bks-lab/open-bridgetheir own version, first seen Oct 30, 2026
Used with
Projects with it also use contacts, reminders and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
seahycSkillcontacts
Look up employee information via Lark - find colleagues by ID, list department members, search users by name, search departments. Use when user asks about a person, colleague, job title, department, or org structure.
Also in 3 projects that use this
MicrosoftSkillreminders
Use when an employee asks something like \"Is there anything else I should know about my benefits or time off before the end of the year\"
Also in 4 projects that use this
OpenAISkillemail
Email sending integration guidance — Resend (native Vercel Marketplace) with React Email templates. Covers API setup, transactional emails, domain verification, and template patterns. Use when sending emails from a Vercel-deployed application.
Also in 6 projects that use this
QuixiAISkilltrello
List Trello boards, lists, and cards and create or update cards with explicit approval
Also in 3 projects that use this
AnthropicSkillaccess
Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.
Also in 3 projects that use this
claude-office-skillsSkillmeeting-notes
>
Also in 3 projects that use this
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 32
- kellyvv/PhoneClaw★ 1.3ksame name
- QuixiAI/agi-memory★ 623same name
- QuixiAI/Hexis★ 623same name
- staskh/trading_skills★ 405same name
- QuantConnect/Documentation★ 268same name
- k1p1l0/claude-telegram-supercharged★ 144same name
- adagradschool/cc-gtd★ 35same name
- rainday/smart-blog-skills★ 35same name
- wulaosiji/skills★ 28same name
- bks-lab/open-bridge★ 13same name
22 more not listed
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 repository4 other files it gives its agents.
- agenda-syncSkill
- mailSkill
- plan-daySkill
- todosSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 25 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Run these in order. The goal is to plan the day and look ahead, not to dump a list.
- Very specific: line 15
Anchor to the real now: Run date "+%A %Y-%m-%d %H:%M %Z" first and treat it as ground truth for the current time, today's date, and the …
- Very specific: line 24
No arg, today through +7 days.
- Distinctive: line 50
Never fabricate times; ask for the real time/duration if unspecified.
- Distinctive: line 51
Do not script changes to recurring series.
- Very specific: line 53
Synced calendars have lag: After add.sh/delete.sh, wait a few seconds, then re-run list.sh to confirm.
“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Calendar (Apple Calendar)
Reads and writes Apple Calendar through helper scripts in this skill's scripts/ dir. Mac-only: it talks to Calendar.app, which syncs your Google / Exchange / iCloud calendars locally. Reads go through icalBuddy (fast, expands recurring events correctly); writes go through AppleScript (and sync back out for CalDAV calendars). This will not run in a cloud environment.
Personalize first: set
DEFAULT_CALat the top ofscripts/add.shto the calendar you write to most. Calendar names below (Personal,Work, etc.) are placeholders for whatever your Calendar.app shows in the left sidebar.
On invocation (the daily routine)
Run these in order. The goal is to plan the day and look ahead, not to dump a list.
- Anchor to the real now. Run
date "+%A %Y-%m-%d %H:%M %Z"first and treat it as ground truth for the current time, today's date, and the weekday. Never assume the date: gap-finding and "what's next" depend on the actual time, and the weekday decides step 4. - Lay out today.
bash ~/.claude/skills/calendar/scripts/list.sh 0(today only). Present it as a timeline in order with times and locations. Mark what is already past vs still ahead relative to step 1, and call out the next imminent thing. - Find the gaps. Compute the free blocks between events within the working day (default roughly 09:00 to 18:00, but respect events outside it). List each open gap with its length (e.g. "11:00 to 13:30, 2.5h free"), accounting for travel time when consecutive events are in different locations. Then ask what to do with the gaps (deep work, errands, the day's todos, prep for the next meeting) and offer to block them via
add.sh. - Look ahead.
- Mon to Thu: preview the rest of this week:
list.sh <tomorrow YYYY-MM-DD> <coming Sunday YYYY-MM-DD>(compute both from step 1's date), grouped by day. Flag anything needing prep or an early start. - Friday or weekend: preview all of next week instead:
list.sh <next Monday> <next Sunday>, so the weekend starts with the week in view.
- Mon to Thu: preview the rest of this week:
Ad-hoc reads
bash ~/.claude/skills/calendar/scripts/list.sh [days | <start YYYY-MM-DD> <end YYYY-MM-DD>]
- No arg, today through +7 days.
0, today only. Integer N, today through +N days. Two dates, explicit inclusive range. - Output is bullets: title, day + time, location. Fast (sub-second).
- For "when am I free?" / "find a slot", read the range and reason over the gaps as in step 3.
Adding an event
bash ~/.claude/skills/calendar/scripts/add.sh "<calendar>" "<title>" "YYYY-MM-DD HH:MM" [duration_min | allday] ["location"] ["RRULE"]
<calendar>empty""defaults toDEFAULT_CAL(set in the script). Pass any writable calendar name to override.- duration: minutes (default 60), or the literal
allday. Uses the Mac's local timezone. - A default alert is attached automatically: 15 min before (timed) / 9:00 AM day-of (all-day). Whether it actually pushes is gated by your macOS Focus settings.
- 6th arg is an optional iCal RRULE for repeats. See Recurring events below.
- Example:
add.sh "" "Coffee" "2026-06-26 14:00" 30 "Main St Cafe"
Deleting an event
bash ~/.claude/skills/calendar/scripts/delete.sh "<calendar>" "<title substring>" "YYYY-MM-DD"
- Deletes the first event in that calendar on that day whose title contains the substring; echoes what it deleted or "no match".
Recurring events
Pass an iCal RRULE as add.sh's 6th arg, e.g. add.sh "Personal" "Gym" "2026-06-26 07:00" 90 "" "FREQ=WEEKLY;BYDAY=MO,TU,WE,FR,SA".
- Recurrence is only reliable on iCloud calendars. A Google-synced calendar may silently drop the RRULE (
recurrencereads backmissing value) and you get a single event. Keep recurring blocks on an iCloud calendar. - Editing/deleting a recurring series via script does NOT work reliably: the change can lose to a sync round-trip and revert. Create here; change or remove recurring series in Calendar.app (right-click, Delete, "Delete All Events in the Series").
Moving / rescheduling
There is no in-place edit script. To reschedule a one-off event: delete.sh it, then add.sh at the new time. For recurring events, do it in Calendar.app, not via script.
Guardrails
- Writes to a shared/synced calendar can notify other attendees: confirm before adding or deleting anything on shared or invited events.
- Never fabricate times; ask for the real time/duration if unspecified.
- Do not script changes to recurring series; recommend the app instead.
- icalBuddy must be installed:
brew install ical-buddy. The scripts add/opt/homebrew/bin(and/usr/local/bin) to PATH. - Synced calendars have lag. After
add.sh/delete.sh, wait a few seconds, then re-runlist.shto confirm. A delete fired too soon after a create can be undone by a re-sync; if a deleted event reappears, just delete again.
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.

