Setup Slack Connection
Check if the Slack profile exists in Connection Profiles with a 'Last analyzed:' timestamp.
If fresh (< 30 days): Show you know them - 'You're mostly in #channel-x and #channel-y, talking with Person-A and Person-B.' Then ask what they want to do. STOP here.
If stale (> 30 days): 'Been a while since I checked your Slack - 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 how you use Slack? Takes about 3 mins.' Wait for confirmation before proceeding.
Say 'Checking...' then run the code.
Verify Slack Writing Samples was written. Check the file exists and contains messagesFrom data. If missing or empty, tell the user the Slack connection failed and stop - do not proceed to subagents.
Run these 4 tasks in parallel as subagents. Tell each to read writing samples from Slack Writing Samples: -
Analyze Slack Usage → writes
Connection Profiles -
Analyze Writing Style → writes
Writing Style -
Extract Profile from Writing Samples → writes
User Profile -
Extract Key People from Slack → writes
People Directory
Clean up: delete Slack Writing Samples
Present your findings:
- Lead with 1-2 genuine insights from the data. Look for bidirectional signals (someone who mentions them AND they reply to) or channel concentration. Example: 'Sarah mentions you and you reply to her threads — that's your main collaborator. You're mostly in #engineering.'
- List what was added to their knowledge: - Slack profile - Writing style - User profile - Key people
- End with (bold): 'I'll use this to personalize how I help you going forward.'
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 Slack profile exists in `./documents/connections/[service-name].md` with a 'Last analyzed:' timestamp.
If fresh (< 30 days): Show you know them - 'You're mostly in #channel-x and #channel-y, talking with Person-A and Person-B.' Then ask what they want to do. STOP here.
If stale (> 30 days): 'Been a while since I checked your Slack - 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 how you use Slack? Takes about 3 mins.' Wait for confirmation before proceeding.
3. Say 'Checking...' then run the code.
4. [Gather Arguments: Connect to Slack] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `outputPath`: ./documents/tmp/writing-samples-slack.json
5. [Run Code: Connect to Slack]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/slack.workspace.connect/preview,
"args": [
"outputPath"
]
},
"packages": null
}
```
6. Verify `./documents/tmp/writing-samples-slack.json` was written. Check the file exists and contains messagesFrom data. If missing or empty, tell the user the Slack connection failed and stop - do not proceed to subagents.
7. Run these 4 tasks in parallel as subagents. Tell each to read writing samples from `./documents/tmp/writing-samples-slack.json`: - `./skills/sauna/[skill_id]/references/recipes/slack.workspace.analyze.md` → writes `./documents/connections/[service-name].md` - `./skills/sauna/[skill_id]/references/recipes/context.style.analyze.md` → writes `./documents/user/writing_style.md` - `./skills/sauna/[skill_id]/references/recipes/context.profile.extract.md` → writes `./documents/user/[personal|work|goals|interests].md` - `./skills/sauna/[skill_id]/references/recipes/slack.entities.extract.md` → writes `./documents/entities/people/*.md`
8. Clean up: delete `./documents/tmp/writing-samples-slack.json`
9. [Read Wow Moments Framework]: Read the documentation in: `./skills/sauna/[skill_id]/references/context.wow.framework.md` (Core principles for presenting insights)
10. [Read Slack Wow Moments]: Read the documentation in: `./skills/sauna/[skill_id]/references/slack.workspace.wow.md` (Slack-specific wow patterns)
11. Present your findings:
1. Lead with 1-2 genuine insights from the data. Look for bidirectional signals (someone who mentions them AND they reply to) or channel concentration. Example: 'Sarah mentions you and you reply to her threads — that's your main collaborator. You're mostly in #engineering.'
2. List what was added to their knowledge: - Slack profile - Writing style - User profile - Key people
3. End with (bold): 'I'll use this to personalize how I help you going forward.'