plugins/all-skills/skills/google-calendar-automation/SKILL.md
Automate Google Calendar events, scheduling, availability checks, and attendee management via Rube MCP (Composio). Create events, find free slots, manage attendees, and list calendars programmatically.
npx skillsauth add davepoon/buildwithclaude google-calendar-automationInstall 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.
Automate Google Calendar workflows including event creation, scheduling, availability checks, attendee management, and calendar browsing through Composio's Google Calendar toolkit.
Toolkit docs: composio.dev/toolkits/googlecalendar
RUBE_MANAGE_CONNECTIONS with toolkit googlecalendarRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googlecalendarWhen to use: User wants to create, update, or delete calendar events
Tool sequence:
GOOGLECALENDAR_LIST_CALENDARS - Identify target calendar ID [Prerequisite]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - Get current time with proper timezone [Optional]GOOGLECALENDAR_FIND_FREE_SLOTS - Check availability before booking [Optional]GOOGLECALENDAR_CREATE_EVENT - Create the event [Required]GOOGLECALENDAR_PATCH_EVENT - Update specific fields of an existing event [Alternative]GOOGLECALENDAR_UPDATE_EVENT - Full replacement update of an event [Alternative]GOOGLECALENDAR_DELETE_EVENT - Delete an event [Optional]Key parameters:
calendar_id: Use 'primary' for main calendar, or specific calendar IDstart_datetime: ISO 8601 format 'YYYY-MM-DDTHH:MM:SS' (NOT natural language)timezone: IANA timezone name (e.g., 'America/New_York', NOT 'EST' or 'PST')event_duration_hour: Hours (0+)event_duration_minutes: Minutes (0-59 only; NEVER use 60+)summary: Event titleattendees: Array of email addresses (NOT names)location: Free-form text for event locationPitfalls:
start_datetime must be ISO 8601; natural language like 'tomorrow' is rejectedevent_duration_minutes max is 59; use event_duration_hour=1 instead of event_duration_minutes=60timezone must be IANA identifier; abbreviations like 'EST', 'PST' are NOT validattendees only accepts email addresses, not names; resolve names firstexclude_organizer=trueWhen to use: User wants to find or browse events on their calendar
Tool sequence:
GOOGLECALENDAR_LIST_CALENDARS - Get available calendars [Prerequisite]GOOGLECALENDAR_FIND_EVENT - Search by title/keyword with time bounds [Required]GOOGLECALENDAR_EVENTS_LIST - List events in a time range [Alternative]GOOGLECALENDAR_EVENTS_INSTANCES - List instances of a recurring event [Optional]Key parameters:
query / q: Free-text search (matches summary, description, location, attendees)timeMin: Lower bound (RFC3339 with timezone offset, e.g., '2024-01-01T00:00:00-08:00')timeMax: Upper bound (RFC3339 with timezone offset)singleEvents: true to expand recurring events into instancesorderBy: 'startTime' (requires singleEvents=true) or 'updated'maxResults: Results per page (max 2500)Pitfalls:
timeMin/timeMax scans the full calendar and can be slowpageToken in response means more results; paginate until absentorderBy='startTime' requires singleEvents=trueWhen to use: User wants to add, remove, or update event attendees
Tool sequence:
GOOGLECALENDAR_FIND_EVENT or GOOGLECALENDAR_EVENTS_LIST - Find the event [Prerequisite]GOOGLECALENDAR_PATCH_EVENT - Add attendees (replaces entire attendees list) [Required]GOOGLECALENDAR_REMOVE_ATTENDEE - Remove a specific attendee by email [Required]Key parameters:
event_id: Unique event identifier (opaque string, NOT the event title)attendees: Full list of attendee emails (PATCH replaces entire list)attendee_email: Email to removesend_updates: 'all', 'externalOnly', or 'none'Pitfalls:
event_id is a technical identifier, NOT the event title; always search first to get the IDPATCH_EVENT attendees field replaces the entire list; include existing attendees to avoid removing themGMAIL_SEARCH_PEOPLE to resolve names to emails before managing attendeesWhen to use: User wants to find available time slots or check busy periods
Tool sequence:
GOOGLECALENDAR_LIST_CALENDARS - Identify calendars to check [Prerequisite]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - Get current time with timezone [Optional]GOOGLECALENDAR_FIND_FREE_SLOTS - Find free intervals across calendars [Required]GOOGLECALENDAR_FREE_BUSY_QUERY - Get raw busy periods for computing gaps [Fallback]GOOGLECALENDAR_CREATE_EVENT - Book a confirmed slot [Required]Key parameters:
items: List of calendar IDs to check (e.g., ['primary'])time_min/time_max: Query interval (defaults to current day if omitted)timezone: IANA timezone for interpreting naive timestampscalendarExpansionMax: Max calendars (1-50)groupExpansionMax: Max members per group (1-100)Pitfalls:
GOOGLECALENDAR_FREE_BUSY_QUERY requires RFC3339 timestamps with timezoneGOOGLECALENDAR_LIST_CALENDARS to enumerate all calendarsGOOGLECALENDAR_FIND_EVENT or GOOGLECALENDAR_EVENTS_LISTGMAIL_SEARCH_PEOPLEGOOGLECALENDAR_GET_CURRENT_DATE_TIME to get current time in user's timezoneGOOGLECALENDAR_EVENTS_LIST returns nextPageToken; iterate until absentGOOGLECALENDAR_LIST_CALENDARS also paginates; use page_tokenevent_duration_minutes max 59; use hours for longer durations| Task | Tool Slug | Key Params |
|------|-----------|------------|
| List calendars | GOOGLECALENDAR_LIST_CALENDARS | max_results |
| Create event | GOOGLECALENDAR_CREATE_EVENT | start_datetime, timezone, summary |
| Update event | GOOGLECALENDAR_PATCH_EVENT | calendar_id, event_id, fields to update |
| Delete event | GOOGLECALENDAR_DELETE_EVENT | calendar_id, event_id |
| Search events | GOOGLECALENDAR_FIND_EVENT | query, timeMin, timeMax |
| List events | GOOGLECALENDAR_EVENTS_LIST | calendarId, timeMin, timeMax |
| Recurring instances | GOOGLECALENDAR_EVENTS_INSTANCES | calendarId, eventId |
| Find free slots | GOOGLECALENDAR_FIND_FREE_SLOTS | items, time_min, time_max, timezone |
| Free/busy query | GOOGLECALENDAR_FREE_BUSY_QUERY | timeMin, timeMax, items |
| Remove attendee | GOOGLECALENDAR_REMOVE_ATTENDEE | event_id, attendee_email |
| Get current time | GOOGLECALENDAR_GET_CURRENT_DATE_TIME | timezone |
| Get calendar | GOOGLECALENDAR_GET_CALENDAR | calendar_id |
Powered by Composio
development
Stop coding agents from shipping generic UI. Use UIZZE's 800,000+ real web and iOS screens to build product-specific interfaces, define a design contract, cover required states, and run a hard finish gate. Use for web or iOS UI design, implementation, redesign, critique, and pre-ship review in Codex, Claude Code, Cursor, Copilot, and other coding agents.
development
Convene an AI executive board of directors (CEO, CFO, COO, CLO, CISO sub-agent personas) to vet a business idea, product concept, new service offering, M&A target, or operational initiative — and deliver an integrated board memo with a Go/No-Go recommendation. Use this skill whenever the user wants an idea vetted, stress-tested, or reviewed from multiple executive perspectives; asks to "present this to the board," "run this by the boardroom," "vet this idea," "poke holes in this plan," or "prep me for a board meeting"; or shares a business plan, pitch, proposal, or initiative document and asks for structured executive feedback. Also trigger when the user asks for a Go/No-Go decision, risk review across finance/legal/security/operations, or preparation for presenting an initiative to real leadership.
data-ai
私人旅行管家 — 从出发地到目的地的完整行程规划+攻略导出。 输入出发地、目的地、天数、预算、风格偏好,自动输出闭环行程, 包含交通推荐、酒店推荐、美食路线、每日预算,并可选生成攻略。 当用户提到「做攻略」「旅行规划」「旅游计划」「行程安排」时使用。
tools
Use Ontoly's deterministic Software Graph and MCP server for codebase architecture, request tracing, dependency analysis, and impact analysis.