task icon Task

Setup Calendar Connection

Instructions
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 read steps in a row, read them all at once (in parallel).
1

Check if the calendar profile exists in uiConnection 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.

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.

5

Run these tasks in parallel as subagents: - taskAnalyze Calendar Usage to create the calendar usage profile - taskExtract Profile from Writing Samples to extract persistent user insights For both: explain that data is from Google Calendar, consider events in this context only.

8

Read sliceCalendar 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.

9

Clean up: delete uiCalendar Raw Data

                    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 read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. Check if the calendar profile exists in `./documents/connections/[service-name].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"): ./documents/tmp/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. Run these tasks in parallel as subagents: - `./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.

10. Clean up: delete `./documents/tmp/calendar-raw.json`