Analyze Team Sentiment
Fetch Slack messages and analyze team sentiment across 6 dimensions with week-over-week comparison
Check if Slack is connected. If not, help the user connect via the Slack skill dependency. Once connected, proceed.
Tell the user: 'Analyzing team sentiment from Slack... This takes about 30 seconds.' Then run the code.
Verify Sentiment Analysis Data was written and contains thisWeek and lastWeek data. If the file is missing or empty, tell the user the fetch failed and stop.
Analyze the workspace messages using the rubric. For each of the 6 dimensions, assess the patterns you observe in the messages, reactions, timing, and participation.
For each dimension:
- Assign a score from 1-10 based on the rubric criteria
- Note the trend compared to last week (↑ improving, → stable, ↓ declining)
- Provide a brief justification based on specific patterns you observed
Pay special attention to:
- Tone and language in the messages
- Response patterns and thread engagement
- Cross-channel participation (same users in multiple channels = collaboration)
- How problems are discussed (blame vs solutions)
- Reaction usage and variety
- After-hours and weekend activity levels
Consider the summary stats provided (after-hours %, reaction rates, etc.) but primarily judge based on the actual message content and patterns.
Present your findings to the user in this format:
Overall Vibe: [One sentence summary - e.g., 'Your team is communicating positively with strong collaboration, though there are signs of after-hours creep.']
Dimension Scores:
| Dimension | Score | Trend | Notes |
|---|---|---|---|
| Communication Tone | X/10 | ↑/→/↓ | [Brief observation] |
| Response & Engagement | X/10 | ↑/→/↓ | [Brief observation] |
| Cross-Team Collaboration | X/10 | ↑/→/↓ | [Brief observation] |
| Problem-Solving Approach | X/10 | ↑/→/↓ | [Brief observation] |
| Emoji & Reactions | X/10 | ↑/→/↓ | [Brief observation] |
| Work-Life Balance | X/10 | ↑/→/↓ | [Brief observation] |
Key Observations:
- [2-3 specific, actionable insights based on what you found]
If there's insufficient data for meaningful analysis (very few messages), acknowledge that and provide what insights you can with appropriate caveats.
To run this task you must have the following required information:
> Slack workspace connection for fetching team messages.
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. Check if Slack is connected. If not, help the user connect via the Slack skill dependency. Once connected, proceed.
2. Tell the user: 'Analyzing team sentiment from Slack... This takes about 30 seconds.' Then run the code.
3. [Gather Arguments: Fetch Workspace Messages] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `outputPath`: session/sentiment-data.json
- `daysBack` (default: "14"): 14
4. [Run Code: Fetch Workspace Messages]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/sentiment.slack.fetch/preview,
"args": [
"outputPath",
"daysBack"
]
},
"packages": null
}
```
5. Verify `session/sentiment-data.json` was written and contains thisWeek and lastWeek data. If the file is missing or empty, tell the user the fetch failed and stop.
6. [Read Sentiment Analysis Data]: Read the file at `session/sentiment-data.json` into context
7. [Read Work Sentiment Rubric]: Read the documentation in: `skills/sauna/[skill_id]/references/sentiment.work.rubric.md` (The 6-dimension scoring framework)
8. Analyze the workspace messages using the rubric. For each of the 6 dimensions, assess the patterns you observe in the messages, reactions, timing, and participation.
For each dimension:
1. Assign a score from 1-10 based on the rubric criteria
2. Note the trend compared to last week (↑ improving, → stable, ↓ declining)
3. Provide a brief justification based on specific patterns you observed
Pay special attention to:
- Tone and language in the messages
- Response patterns and thread engagement
- Cross-channel participation (same users in multiple channels = collaboration)
- How problems are discussed (blame vs solutions)
- Reaction usage and variety
- After-hours and weekend activity levels
Consider the summary stats provided (after-hours %, reaction rates, etc.) but primarily judge based on the actual message content and patterns.
9. Present your findings to the user in this format:
**Overall Vibe:** [One sentence summary - e.g., 'Your team is communicating positively with strong collaboration, though there are signs of after-hours creep.']
**Dimension Scores:**
| Dimension | Score | Trend | Notes |
|-----------|-------|-------|-------|
| Communication Tone | X/10 | ↑/→/↓ | [Brief observation] |
| Response & Engagement | X/10 | ↑/→/↓ | [Brief observation] |
| Cross-Team Collaboration | X/10 | ↑/→/↓ | [Brief observation] |
| Problem-Solving Approach | X/10 | ↑/→/↓ | [Brief observation] |
| Emoji & Reactions | X/10 | ↑/→/↓ | [Brief observation] |
| Work-Life Balance | X/10 | ↑/→/↓ | [Brief observation] |
**Key Observations:**
- [2-3 specific, actionable insights based on what you found]
If there's insufficient data for meaningful analysis (very few messages), acknowledge that and provide what insights you can with appropriate caveats.