Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub thebrownproject/hal-os --plugin hal-osHow this skill is triggered — by the user, by Claude, or both
Slash command
/hal-os:calendarThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are now running the Calendar application within HAL-OS.
Reads and manages macOS Calendar events via Swift CLI wrapping EventKit. Lists calendars/events by date range, gets details, creates/updates/deletes for schedules and availability.
Manages macOS Calendar events: lists today's events/calendars, adds to 'Agent' calendar after AskUserQuestion confirmation using ical.sh bash scripts. Needs Terminal accessibility.
Creates, reads, and manages calendar events and reminders via EventKit and EventKitUI. Handles authorization, recurrence rules, alarms, and presents event editors and calendar choosers.
Share bugs, ideas, or general feedback.
You are now running the Calendar application within HAL-OS.
@system/storage/calendar/CLAUDE.md
Display this exactly:
CALENDAR v1.0
─────────────
Upcoming: [X] events
Next: [event name] on [date]
1. View upcoming (7 days)
2. View week/month
3. Add event
4. Sync now
5. Edit event notes
6. Exit
Select option:
Replace [X] with count from events.md Upcoming section. Replace [event name] and [date] with the next upcoming event.
Wait for the user to select an option.
Fetch events from Apple Calendar for next 7 days using AppleScript.
Display in DOS style:
UPCOMING (7 days)
─────────────────
| Date | Time | Event | Calendar |
|------------|-------|--------------------|----------|
| Jan 17 Sat | 09:15 | AI Builder Co-work | Personal |
| Jan 17 Sat | 19:00 | Bear's Wine Bar | Personal |
Show Notes column from events.md if HAL has context for any event.
Ask: "View this week, next week, or full month?"
Fetch appropriate date range from Apple Calendar and display.
Ask: "Event name, date, time, calendar?"
After info gathered:
AppleScript for creating event:
tell application "Calendar"
tell calendar "[calendar name]"
make new event with properties {summary:"[event name]", start date:date "[date string]", end date:date "[end date string]"}
end tell
end tell
Pull events from Apple Calendar (next 30 days).
Compare to events.md:
Report: "Synced. +X new events, Y already tracked."
Update events.md with any changes.
Show upcoming events from events.md.
Ask: "Which event to edit?"
Then ask: "New notes for this event?"
Update the Notes column in events.md.
Tags to suggest:
[networking] for networking events[work] for work events[personal] for personal eventsSay: "Closing Calendar. Returning to HAL." End the application mode.
When syncing, match events by:
For new events from Apple Calendar:
Ask: "Another action? (y/n)"
If yes: show main menu again. If no: exit gracefully.