Skip to main content

neuroskill-calendar

NeuroSkill calendar integration — fetch OS calendar events (macOS EventKit, Linux iCal files, Windows Outlook/Calendar). Shows today's meetings, upcoming events, and access status. Use when the user asks about their schedule, meetings, events, appointments, or what they have coming up.

Quellinformationen

Repository
NeuroSkill-com/skills
Letzte Quellaktivität
25. März 2026 um 12:18
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
5

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
neuroskill-calendar
description
NeuroSkill calendar integration — fetch OS calendar events (macOS EventKit, Linux iCal files, Windows Outlook/Calendar). Shows today's meetings, upcoming events, and access status. Use when the user asks about their schedule, meetings, events, appointments, or what they have coming up.
# NeuroSkill Calendar Reads calendar events directly from the operating system: | Platform | Source | |----------|--------| | **macOS** | Apple EventKit — all calendars synced to Calendar.app (iCloud, Google, Exchange, local) | | **Linux** | `.ics` files from GNOME Calendar, Evolution, KOrganizer, Thunderbird Lightning, `~/Calendars/` | | **Windows** | `.ics` files from Outlook / Windows Calendar app paths | --- ## LLM Tool Calls ```json {"command": "calendar_events", "args": {"start_utc": 1774396800, "end_utc": 1774483200}} {"command": "calendar_status"} {"command": "calendar_request_permission"} ``` **Getting timestamps**: use the `date` tool first to get `now_unix`, then compute ranges: - Today: `start_utc = now_unix - (now_unix % 86400)`, `end_utc = start_utc + 86400` - Next 7 days: `start_utc = now_unix`, `end_utc = now_unix + 604800` - This week (Mon–Sun): align to Monday midnight --- ## Commands ### `calendar_events` Fetch all events overlapping `[start_utc, end_utc]`. | Field | Type | Required | Description | |-------|------|----------|-------------| | `start_utc` | i64 | ✓ | Range start (UTC unix seconds, inclusive) | | `end_utc` | i64 | ✓ | Range end (UTC unix seconds, inclusive) | **Response**: ```json { "events": [ { "id": "abc123@google.com", "title": "Sprint Review", "start_utc": 1774468800, "end_utc": 1774472400, "all_day": false, "location": "Conference Room B", "notes": "Bring laptop. Demo Q2 features.", "calendar": "Work", "status": "confirmed", "recurrence": "FREQ=WEEKLY;BYDAY=WE" } ], "count": 1 } ``` `status` is one of `"confirmed"`, `"tentative"`, `"cancelled"`. `recurrence` is the raw RRULE string (not expanded — only the base instance is returned). `all_day` events have `start_utc` at midnight UTC; `end_utc` is the next midnight. ### `calendar_status` Check whether the app has permission to read calendars. **Response**: ```json { "status": "authorized", "platform": "macos" } ``` `status` values: `"authorized"` | `"not_determined"` | `"denied"` | `"restricted"` If `status` is `"not_determined"`, suggest running `calendar_request_permission`. If `status` is `"denied"`, direct the user to System Settings → Privacy & Security → Calendars. ### `calendar_request_permission` Show the macOS system permission dialog. No-op on Linux/Windows (always authorized). **Response**: ```json { "granted": true, "status": "authorized" } ``` --- ## CLI Examples ```bash npx neuroskill calendar # events: next 7 days npx neuroskill calendar --start 1774396800 --end 1774483200 npx neuroskill calendar --json npx neuroskill calendar --json | jq '.events[] | {title, start_utc, calendar}' npx neuroskill calendar status # auth status + platform npx neuroskill calendar permission # macOS: request system dialog ``` --- ## HTTP API ``` POST /v1/calendar/events { "start_utc": 1774396800, "end_utc": 1774483200 } GET /v1/calendar/status POST /v1/calendar/permission ``` --- ## Common Queries **"What do I have today?"** ```json {"command": "calendar_events", "args": {"start_utc": <today_start>, "end_utc": <today_end>}} ``` **"What's my next meeting?"** Fetch events for the next few hours, sort by `start_utc`, return the first future one. **"Am I free at 3pm?"** Fetch events for the 1-hour window around 3pm, check if any overlap. **"How many meetings do I have this week?"** Fetch `[monday_00:00, sunday_23:59]`, count non-cancelled events. **"What's on my calendar right now?"** `start_utc = now`, `end_utc = now + 3600`; a non-empty result means something is happening. --- ## Access Troubleshooting | `status` | Meaning | Fix | |----------|---------|-----| | `not_determined` | Never asked | Run `calendar_request_permission` | | `authorized` | All good | — | | `denied` | User declined | System Settings → Privacy & Security → Calendars → enable Skill | | `restricted` | MDM/parental controls | Contact device administrator | If `calendar_events` returns `{"error": "calendar_write_only_access"}`, the user chose "Add Events Only" in the permission dialog. Run `calendar_request_permission` again to prompt for full read access, or direct them to System Settings → Calendars. On **Linux** and **Windows** access is always `authorized`; if `events` is empty, no `.ics` files were found in the standard locations. The user can place exported `.ics` files in `~/Calendars/`.
Auf GitHub ansehen