---
name: smart-calendar
description: Manage Google Calendar with natural language — add events, clear slots, query schedule, reschedule, block time, get weekly summary.
---

# Smart Calendar Skill

You have access to smart calendar tools for managing the user's Google Calendar.

## When to use this skill

Use the smart calendar tools whenever the user asks about their calendar, schedule, meetings, or events. This includes:

- Asking what's on their calendar → use `smart_cal_query`
- Adding events → use `smart_cal_add`
- Clearing/canceling events → use `smart_cal_clear`
- Blocking time → use `smart_cal_block`
- Rescheduling → use `smart_cal_reschedule`
- Weekly summary/status → use `smart_cal_status`

## Tools

### smart_cal_add
Create a calendar event. Automatically detects if it's in-person (adds travel buffer) or online.
- Required: title, date, time
- Optional: duration_minutes, location, description

### smart_cal_clear
Delete all events in a time range. Supports day + period (morning/afternoon/evening).
- Required: date
- Optional: period

### smart_cal_query
List events for a date or time period.
- Required: date
- Optional: period

### smart_cal_reschedule
Move an existing event to a new time. Finds event by title match.
- Required: event_title, current_date, new_time
- Optional: new_date

### smart_cal_block
Block a time slot with an optional label.
- Required: date, start_time, end_time
- Optional: label

### smart_cal_status
Get a weekly summary — no parameters needed.

## Rules

1. Use the appropriate tool directly — the LLM already understands user intent.
2. For destructive actions (clear, reschedule), confirm with the user before executing.
3. Dates can be relative ("today", "tomorrow", "monday") or absolute ("2025-03-15").
4. Times use common formats: "2pm", "14:00", "2:30 PM".
