Google Calendar
Purpose
Manage Google Calendar events through the integration: list calendars and events in a time range, create timed or all-day events, update, and delete—with correct RFC3339 boundaries and calendar IDs.
When to Use
- What is on the calendar today, this week, or a custom range.
- Create, update, or delete meetings and events.
- List available calendars when the user names a non-primary calendar.
When NOT to Use
- Gmail, Drive, Docs, or Sheets → respective Google skills.
- Video conferencing setup outside Calendar APIs unless tools expose it.
- Skill repo maintenance → create-skill / publish-skill.
Expected Outcome
- Events returned with summary, start/end, and calendar context.
- Creates/updates use correct
dateTime or all-day date objects.
- Deletes confirmed only after successful tool response.
Inputs to Gather
- Date range: compute
timeMin / timeMax in RFC3339 (e.g. start/end of “today” in user or UTC timezone).
calendarId (default primary unless specified).
- Event fields: summary, start, end; all-day vs timed.
Workflow
- Confirm calendar tools are available.
- List calendars if the target calendar is unknown:
calendar_list_calendars.
- List events in range:
calendar_list_events with calendarId, timeMin, timeMax.
- Create / update / delete as requested with proper start/end objects.
- Summarize events or confirm mutations from tool output.
Domain rules
- RFC3339 for ranges:
timeMin and timeMax as RFC3339 (e.g. 2026-02-07T00:00:00Z); derive day bounds for “today” / “tomorrow”.
- Primary calendar: Use
calendarId: "primary" unless the user names another.
- Start/end objects:
dateTime (RFC3339) for timed events; date (YYYY-MM-DD) for all-day.
- List then act: List the relevant window before create, update, or delete.
Main tools
calendar_list_calendars, calendar_list_events (calendarId, timeMin, timeMax)
calendar_create_event, calendar_update_event, calendar_delete_event
Examples
Today’s agenda: calendar_list_events on primary with today’s timeMin/timeMax. Return summaries and times.
Team sync tomorrow 10–11: calendar_create_event with summary, dateTime start/end for the requested window; confirm from response.
Tool Availability Rules
| Access |
Behavior |
| Full tool access |
List and mutate events; report API errors. |
| Read-only |
List only; draft event payloads for user approval. |
| No integration |
Do not fabricate events or IDs. |
Related tool sets
calendar
meeting-scheduler
Review / Decision / Execution Criteria
- Time zones: be explicit when inferring “today”; prefer user-stated timezone when known.
- Confirm deletes and large batch changes with the user when appropriate.
Output Format
- Request and actions.
- Event list or mutation confirmation.
- Errors or permission issues.
- Suggested follow-ups (add attendees, change calendar).
Quality Bar
- Correct RFC3339 and all-day vs timed distinction.
- No invented event IDs or links.
Safety and Boundaries
- No secrets in examples.
- Confirm destructive deletes when impact is unclear.
Escalation / Dispatch Rules
- Scheduling that also needs email → gmail after calendar action if needed.
- No write tools → output exact
calendar_* arguments.
References
- Legacy:
skills/old_skills.json (google-calendar).
skills/skill.instruction.md, skills/meta.instructions.md
1---2name: google-calendar3description: Lists, creates, updates, and deletes Google Calendar events via calendar_* tools. Use for schedules, meetings, and all-day or timed events on primary or named calendars.4---56# Google Calendar78## Purpose910Manage Google Calendar events through the integration: list calendars and events in a time range, create timed or all-day events, update, and delete—with correct RFC3339 boundaries and calendar IDs.1112## When to Use1314- What is on the calendar today, this week, or a custom range.15- Create, update, or delete meetings and events.16- List available calendars when the user names a non-primary calendar.1718## When NOT to Use1920- Gmail, Drive, Docs, or Sheets → respective Google skills.21- Video conferencing setup outside Calendar APIs unless tools expose it.22- Skill repo maintenance → **create-skill** / **publish-skill**.2324## Expected Outcome2526- Events returned with summary, start/end, and calendar context.27- Creates/updates use correct `dateTime` or all-day `date` objects.28- Deletes confirmed only after successful tool response.2930## Inputs to Gather3132- Date range: compute `timeMin` / `timeMax` in RFC3339 (e.g. start/end of “today” in user or UTC timezone).33- `calendarId` (default `primary` unless specified).34- Event fields: summary, start, end; all-day vs timed.3536## Workflow37381. Confirm calendar tools are available.392. **List calendars** if the target calendar is unknown: `calendar_list_calendars`.403. **List events** in range: `calendar_list_events` with `calendarId`, `timeMin`, `timeMax`.414. **Create / update / delete** as requested with proper start/end objects.425. Summarize events or confirm mutations from tool output.4344### Domain rules45461. **RFC3339 for ranges**: `timeMin` and `timeMax` as RFC3339 (e.g. `2026-02-07T00:00:00Z`); derive day bounds for “today” / “tomorrow”.472. **Primary calendar**: Use `calendarId: "primary"` unless the user names another.483. **Start/end objects**: `dateTime` (RFC3339) for timed events; `date` (`YYYY-MM-DD`) for all-day.494. **List then act**: List the relevant window before create, update, or delete.5051### Main tools5253- `calendar_list_calendars`, `calendar_list_events` (`calendarId`, `timeMin`, `timeMax`)54- `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`5556### Examples5758**Today’s agenda:** `calendar_list_events` on `primary` with today’s `timeMin`/`timeMax`. Return summaries and times.5960**Team sync tomorrow 10–11:** `calendar_create_event` with summary, `dateTime` start/end for the requested window; confirm from response.6162## Tool Availability Rules6364| Access | Behavior |65|--------|----------|66| Full tool access | List and mutate events; report API errors. |67| Read-only | List only; draft event payloads for user approval. |68| No integration | Do not fabricate events or IDs. |6970### Related tool sets7172- `calendar`73- `meeting-scheduler`7475## Review / Decision / Execution Criteria7677- Time zones: be explicit when inferring “today”; prefer user-stated timezone when known.78- Confirm deletes and large batch changes with the user when appropriate.7980## Output Format81821. Request and actions.832. Event list or mutation confirmation.843. Errors or permission issues.854. Suggested follow-ups (add attendees, change calendar).8687## Quality Bar8889- Correct RFC3339 and all-day vs timed distinction.90- No invented event IDs or links.9192## Safety and Boundaries9394- No secrets in examples.95- Confirm destructive deletes when impact is unclear.9697## Escalation / Dispatch Rules9899- Scheduling that also needs email → **gmail** after calendar action if needed.100- No write tools → output exact `calendar_*` arguments.101102## References103104- Legacy: `skills/old_skills.json` (`google-calendar`).105- `skills/skill.instruction.md`, `skills/meta.instructions.md`