Read Calendar Events
Fetch and present events for a date range
Requirements
Date range (today, tomorrow, this week, specific dates), optional person filter
2
Determine the date range from the user's request using the time expressions guide.
Key considerations:
- Week start varies by locale (US = Sunday, Europe = Monday)
- 'Next Tuesday' is ambiguous - confirm if stakes are high
- Check
Service Profiles for user's timezone
Convert to YYYY-MM-DD format for the code step.
5
Present the events in a readable format, grouped by day.
For each day:
- List events in chronological order
- Show time (or 'All day') and title
- For meetings with attendees, mention who's attending
- Apply classification: skip obvious non-meetings (OOO blocks, focus time) unless specifically asked
If the user asked about a specific person:
- Filter to events where that person is an attendee
- Check collaborators in profile for name matching
For long lists, summarize first: 'You have 12 events this week. The busiest day is Tuesday with 5 meetings. Want the full list?'
To run this task you must have the following required information:
> Date range (today, tomorrow, this week, specific dates), optional person filter
If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.
---
You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple CONSECUTIVE read steps in a row, read them all at once (in parallel). Otherwise, do not read a file until you reach that step.
Add all steps to your todo list now and begin executing.
## Steps
1. [Read Time Expressions Guide]: Read the documentation in: `skills/sauna/[skill_id]/references/world.time.expressions.md` (How to interpret relative and fuzzy time expressions)
2. Determine the date range from the user's request using the time expressions guide.
Key considerations:
- Week start varies by locale (US = Sunday, Europe = Monday)
- 'Next Tuesday' is ambiguous - confirm if stakes are high
- Check `documents/user/services/*.md` for user's timezone
Convert to YYYY-MM-DD format for the code step.
3. [Gather Arguments: Fetch Calendar Events] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `startDate`: Start date in YYYY-MM-DD format
- `endDate`: End date in YYYY-MM-DD format
- `outputPath`: session/calendar-events.json
4. [Run Code: Fetch Calendar Events]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/calendar.google.events/preview,
"args": [
"startDate",
"endDate",
"outputPath"
]
},
"packages": null
}
```
5. [Read Calendar Agent Rules]: Read the documentation in: `skills/sauna/[skill_id]/references/calendar.google.rule.md` (Event classification rules)
6. Present the events in a readable format, grouped by day.
For each day:
- List events in chronological order
- Show time (or 'All day') and title
- For meetings with attendees, mention who's attending
- Apply classification: skip obvious non-meetings (OOO blocks, focus time) unless specifically asked
If the user asked about a specific person:
- Filter to events where that person is an attendee
- Check collaborators in profile for name matching
For long lists, summarize first: 'You have 12 events this week. The busiest day is Tuesday with 5 meetings. Want the full list?'