Skip to content
Productivity
Skill

/calendar-setup

Grant Python calendar access for ~30x faster calendar queries. Use when the user says 'connect my calendar', 'calendar is slow', 'set up calendar access'. Not for connecting Google Workspace as a whole; use `google-workspace-setup`.

From plugin
davekilleen-dex
46191 skills28 agents24 commands
Install
$ npx -y skills add davekilleen/Dex --skill calendar-setup --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/calendar-setup

Context preview

The summary Claude sees to decide when to auto-load this skill.

Grant Python calendar access for ~30x faster calendar queries. Use when the user says 'connect my calendar', 'calendar is slow', 'set up calendar access'. Not for connecting Google Workspace as a whole; use `google-workspace-setup`.

SKILL.md

calendar-setup.SKILL.md
name: calendar-setup
description: "Grant Python calendar access for ~30x faster calendar queries. Use when the user says 'connect my calendar', 'calendar is slow', 'set up calendar access'. Not for connecting Google Workspace as a whole; use `google-workspace-setup`."

Calendar Setup - Enable Fast Queries

**Purpose:** Grant Python calendar access for 30x faster calendar queries (30s → <1s)

**When to run:**

  • After initial Dex installation
  • If calendar queries feel slow
  • If you see "Calendar access denied" errors

---

Process

1. **Check current permission status:**

  • Run the permission checker: `python3 core/mcp/scripts/check_calendar_permission.py`
  • Show the user what status was returned

2. **If Already Authorized:**

  • Great! Calendar queries are already optimized.
  • No action needed.

3. **If NotDetermined (permission not yet requested):**

  • The script will show a macOS permission dialog
  • Guide user: "Click 'OK' when the dialog appears to grant Python access to Calendar"
  • Run the script again to verify

4. **If Denied (previously rejected):**

  • Show clear instructions:
     To enable fast calendar queries:

     1. Open System Settings (Command+Space, type "System Settings")
     2. Click "Privacy & Security" in the sidebar
     3. Click "Calendars"
     4. Find "Python" or "python3" in the list
     5. Enable the checkbox
     6. Run `/calendar-setup` again to verify

5. **If Restricted:**

  • Explain: "Calendar access is blocked by system policies (parental controls or enterprise MDM)"
  • Calendar queries will use AppleScript (slower but functional)
  • No user action possible

6. **After Success:**

  • Confirm: "✅ Calendar access granted! Queries are now 30x faster."
  • Explain: "Calendar queries now use native EventKit instead of AppleScript"
  • No need to run this again - permission is persistent

---

Technical Notes

  • **EventKit vs AppleScript:** EventKit uses database queries (fast), AppleScript loads all events then filters (slow)
  • **Permission is persistent:** Once granted, Python keeps access until explicitly revoked
  • **Privacy:** All calendar data stays local - Dex never sends calendar data anywhere
  • **Fallback:** If EventKit isn't available, Dex falls back to AppleScript (works but slower)

---

Troubleshooting

**"Module EventKit not found":**

  • Run: `pip3 install pyobjc-framework-EventKit`
  • This should have been installed during Dex setup

**Permission dialog doesn't appear:**

  • System Settings might already show "Denied" from a previous attempt
  • Follow the manual steps above to toggle permission on

**Still seeing slow queries after granting access:**

  • Restart your coding harness (Cursor/Claude Code/Pi) to reload MCP server
  • Verify permission: `python3 core/mcp/scripts/check_calendar_permission.py`
Read more
Ships withdavekilleen-dex

A personal operating system powered by Claude. Strategic work management, meeting intelligence, relationship tracking, daily planning — all configured for your specific role. No coding required.

Get the whole plugin

Other skills on davekilleen-dex.