Skip to content
Back to skills

Calendar Setup

ASecurity

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`.

  • 489 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentspythongodatabasesecurity

Works with

  • cursor
  • terminal
  • cli
  • mcp

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 2, 2026

npx -y skills add davekilleen/Dex --skill calendar-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Calendar Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Calendar Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davekilleen-calendar-setup-dex/badge)](https://www.skillsdirectory.com/skills/davekilleen-calendar-setup-dex)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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`."
---

<!-- Generated from `.claude/skills/calendar-setup/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->

# Calendar Setup - Enable Fast Queries

**Purpose:** Grant 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
   - Do not promise that a Mac permission dialog will appear. When Dex runs inside VS Code or Cursor, that dialog often never shows.

2. **If Already Authorized:**
   - Great! Calendar queries are already optimized.
   - No action needed.

3. **If NotDetermined or Denied:**
   - VS Code and Cursor are first-class Calendar surfaces. Send the person to System Settings for the app Dex is running in. Do not send them to a standalone terminal as the only path. Do not tell them to wait for a popup. Do not tell them that granting Terminal, Python, or python3 is enough.
   - 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 the app Dex is running in — VS Code or Cursor — and turn it on
     5. Click that app and set access to Full (not "Add Only")
     6. Quit the editor and open it again
     7. Run /calendar-setup again to verify
     ```
   - A Terminal grant does not transfer to the editor. Reinstalling Dex does not fix a missing editor grant.

4. **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

5. **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 for that app

---

## Technical Notes

- **EventKit vs AppleScript:** EventKit uses database queries (fast), AppleScript loads all events then filters (slow)
- **Permission is per app:** macOS grants Calendar access to the app that is asking. When Dex runs inside VS Code or Cursor, grant that editor. A Terminal grant does not carry over.
- **Permission is persistent:** Once granted to the editor, access lasts until it is 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

**No permission popup / access still denied:**
- Do not wait for a dialog, and do not switch to Terminal as the only fix
- Open System Settings → Privacy & Security → Calendars
- Turn on VS Code or Cursor (the app Dex is running in) and set Full access
- A grant already given to Terminal, Python, or python3 does not transfer
- Reinstalling Dex does not fix this

**Still seeing slow queries after granting access:**
- Restart the app Dex is running in (VS Code or Cursor) to reload the calendar connection
- Verify permission: `python3 core/mcp/scripts/check_calendar_permission.py`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.