tools/google-workspace/SKILL.md
Connect to Gmail and Google Calendar via OAuth 2.0. Use when users want to search/read emails, create drafts, search calendar events, check availability, or schedule meetings. Triggers on queries about email, inbox, calendar, schedule, or meetings.
npx skillsauth add letta-ai/skills google-workspaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Gmail and Google Calendar access via shared OAuth 2.0 authentication.
credentials.json) downloadedgoogle-api-python-client, google-auth-httplib2, google-auth-oauthlibhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.eventscredentials.jsonuv add google-api-python-client google-auth-httplib2 google-auth-oauthlib
Run any script - it will open a browser for OAuth consent. A token.json is saved for future use.
uv run python tools/google-workspace/scripts/search_emails.py "from:[email protected]" --credentials ./credentials.json
uv run python tools/google-workspace/scripts/read_email.py <message_id> --credentials ./credentials.json
uv run python tools/google-workspace/scripts/create_draft.py \
--to "[email protected]" \
--subject "Subject line" \
--body "Email body" \
--credentials ./credentials.json
uv run python tools/google-workspace/scripts/needs_reply.py --credentials ./credentials.json
uv run python tools/google-workspace/scripts/list_calendars.py --credentials ./credentials.json
# Search by text
uv run python tools/google-workspace/scripts/search_events.py "meeting" --credentials ./credentials.json
# Search by date range
uv run python tools/google-workspace/scripts/search_events.py --start "2024-01-15" --end "2024-01-20" --credentials ./credentials.json
uv run python tools/google-workspace/scripts/find_busy.py \
--start "2024-01-15T09:00:00" \
--end "2024-01-15T17:00:00" \
--credentials ./credentials.json
uv run python tools/google-workspace/scripts/create_event.py \
--summary "Team Meeting" \
--start "2024-01-15T10:00:00" \
--end "2024-01-15T11:00:00" \
--attendees "[email protected],[email protected]" \
--credentials ./credentials.json
Options: --description, --location, --timezone, --calendar
Gmail:
gmail_auth.py - Gmail authentication utilitiessearch_emails.py - Search inbox with Gmail query syntaxread_email.py - Read email content by message IDcreate_draft.py - Create draft emailsneeds_reply.py - Find emails awaiting responseCalendar:
calendar_auth.py - Calendar authentication utilitieslist_calendars.py - List accessible calendarssearch_events.py - Search events by text/datefind_busy.py - Check free/busy periodscreate_event.py - Create calendar eventssearch_events.py --start ... --end ...create_event.py --summary "..." --start ... --end ...needs_reply.pyread_email.py <id>create_draft.py --to ... --subject "Re: ..."tools
Test any GUI app or change on a Daytona Windows remote desktop sandbox. Use to launch a GUI program, sync a local project, take a screenshot, record a video, or share a clickable live-desktop link with a teammate. Generic — the only dependency is Daytona. For Linux, use remote-desktop-testing-linux.
tools
Test any GUI app or change on a Daytona Linux (Ubuntu xfce4 + noVNC) remote desktop sandbox. Use to launch a GUI program, sync a local project, take a screenshot, record a video, or share a clickable live-desktop link with a teammate. Generic — the only dependency is Daytona. For Windows, use remote-desktop-testing-windows.
testing
Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts. Use when an agent or user asks to self-modify, tune summarization/compaction, change identity/system instructions, adjust model settings, or test conversation-scoped overrides.
development
Sets Letta Desktop and Letta Code agent profile images by writing profile.png into an agent MemFS repository. Use when the user asks to add, change, generate, or fix an agent avatar, profile picture, profile image, or Desktop agent photo.