task icon Task

Setup Calendar Connection

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.
6
Present insights conversationally - show you understand them. Example: 'You're in a lot of 1:1s — mostly with Sarah and Mike. Tuesdays and Thursdays are your heavy meeting days.' Skip counts. Skip confirmations. Just share what you learned.
7
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"): ./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. Run these tasks in parallel as subagents: - `./skills/sauna/[skill_id]/resources/recipes/calendar.google.analyze.md` to create the calendar usage profile - `./skills/sauna/[skill_id]/resources/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. Present insights conversationally - show you understand them. Example: 'You're in a lot of 1:1s — mostly with Sarah and Mike. Tuesdays and Thursdays are your heavy meeting days.' Skip counts. Skip confirmations. Just share what you learned.

8. Clean up: delete `./session/calendar-raw.json`