Build Calendar Profile
Build your personal calendar profile - collaborators, schedule patterns, meeting types
Check if the calendar profile exists in Service Profiles with a 'Last analyzed:' timestamp.
If fresh (< 30 days): Show you know them - 'You meet mostly with [names], heavy days are [days].' Then ask what they want to do. STOP here.
If stale (> 30 days): 'Been a while since I checked your calendar - want me to refresh?' If they decline, use existing profile. STOP if they decline.
If no profile exists: Proceed to next step.
Ask permission casually with time estimate: 'Mind if I look at your calendar? Takes about 2 mins.' Wait for confirmation before proceeding.
Say 'Checking...' then run the code.
Use your task tool to run these tasks in parallel as subagents. Do not do this in code:
Analyze Calendar Usage to create the calendar usage profile
Extract Profile from Writing Samples to extract persistent user insights
For both: explain that data is from Google Calendar, consider events in this context only.
Read Calendar Wow Moments for inspiration. Pick 1-2 wow patterns that genuinely fit this person's data — don't force patterns that don't exist.
Lead with the most surprising or useful insight. Then give the conversational summary.
Example: 'You've never missed your Tuesday 1:1 with Tal — 12 weeks straight. You're in a lot of 1:1s, mostly with founders. Thursdays are your heavy days.'
Skip counts. Skip confirmations. Just share what you learned.
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. Check if the calendar profile exists in `documents/user/services/*.md` with a 'Last analyzed:' timestamp.
If fresh (< 30 days): Show you know them - 'You meet mostly with [names], heavy days are [days].' Then ask what they want to do. STOP here.
If stale (> 30 days): 'Been a while since I checked your calendar - want me to refresh?' If they decline, use existing profile. STOP if they decline.
If no profile exists: Proceed to next step.
2. Ask permission casually with time estimate: 'Mind if I look at your calendar? Takes about 2 mins.' Wait for confirmation before proceeding.
3. Say 'Checking...' then run the code.
4. [Gather Arguments: Connect to Google Calendar] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `outputPath` (default: "session/calendar-raw.json"): session/calendar-raw.json
5. [Run Code: Connect to Google Calendar]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/calendar.google.connect/preview,
"args": [
"outputPath"
]
},
"packages": null
}
```
6. Use your task tool to run these tasks in parallel as subagents. Do not do this in code:
- `skills/sauna/[skill_id]/references/recipes/calendar.google.analyze.md` to create the calendar usage profile
- `skills/sauna/[skill_id]/references/recipes/context.profile.extract.md` to extract persistent user insights
For both: explain that data is from Google Calendar, consider events in this context only.
7. [Read Wow Moments Framework]: Read the documentation in: `skills/sauna/[skill_id]/references/context.wow.framework.md` (Core principles for presenting insights)
8. [Read Calendar Wow Moments]: Read the documentation in: `skills/sauna/[skill_id]/references/calendar.google.wow.md` (Calendar-specific wow patterns)
9. Read `skills/sauna/[skill_id]/references/calendar.google.wow.md` for inspiration. Pick 1-2 wow patterns that genuinely fit this person's data — don't force patterns that don't exist.
Lead with the most surprising or useful insight. Then give the conversational summary.
Example: 'You've never missed your Tuesday 1:1 with Tal — 12 weeks straight. You're in a lot of 1:1s, mostly with founders. Thursdays are your heavy days.'
Skip counts. Skip confirmations. Just share what you learned.