Identify Burnout Risk
Analyze Slack activity and/or timesheet data to identify early signs of burnout risk
Determine available data sources.
Check for People Directory - if present and < 7 days old, Slack signals are available.
Ask the user: "Do you have timesheet/hours data as CSV, or should I analyze Slack activity patterns?"
Three modes:
- Slack only: Use after-hours %, weekend activity, message patterns as burnout proxies
- CSV only: Use hours worked data for traditional burnout analysis
- Both: Combine for highest confidence
If neither Slack signals nor CSV are available, offer to run Setup Slack Signals first.
If using Slack signals (with or without CSV):
Read People Directory and extract burnout-relevant metrics per person:
- After-hours message percentage (messages outside 8am-6pm)
- Weekend message count
- Message frequency trend (increasing activity can signal overwork)
Slack-based burnout thresholds:
- ๐ด High risk: After-hours > 25% OR 5+ weekend messages OR both > 15% and 3+ weekend
- ๐ก Moderate risk: After-hours > 15% OR 3-4 weekend messages
- ๐ข Healthy: After-hours < 15% AND < 3 weekend messages
Note: Slack patterns are proxies, not direct hours measurement. Someone messaging
at 10pm might be catching up briefly, not working a full evening.
If CSV hours data is provided:
Ask for the CSV path if not already provided. Common sources: Harvest, Toggl, Clockify, HRIS.
Establish for the subtask:
- Output path:
Manager Analytics Session Data
- Column types to detect: employee name/ID, date, hours, project/category (optional)
Then run Parse and Interpret CSV to parse the data.
If CSV data was parsed, read Manager Analytics Session Data and validate:
- Missing values: Flag rows with empty employee names or hours
- Invalid hours: Must be positive numbers
- Impossible values: > 168/week impossible, > 100/week suspicious
- Sample size: Count unique employees and weeks
If > 50% invalid, ask for cleaner data. Otherwise proceed with valid rows.
Analyze for burnout risk using available signals.
If CSV hours available, for each person calculate:
- Average weekly hours
- Trend (increasing, stable, decreasing)
- Peak hours week
- Consecutive high-hour weeks
CSV-based thresholds:
- ๐ด High risk: 50+ hrs for 2+ consecutive weeks, OR 45+ with increasing trend
- ๐ก Moderate risk: 45+ hrs for 2+ weeks, OR any 50+ hr week
- ๐ข Healthy: Consistently under 45 hrs
If combining Slack + CSV: Use both signal sets. Someone with 45+ hours AND
high after-hours Slack activity is higher risk than either signal alone.
Note which signals contributed to each person's risk level.
Present the burnout risk assessment.
Include:
- Summary: employees analyzed, signals used, risk distribution
- High-risk individuals with specific signals that triggered
- Moderate-risk individuals
- Healthy count
- Data sources note: "Analysis based on [Slack patterns / hours data / both]"
For Slack-only analysis, add caveat:
"This analysis uses Slack activity patterns as burnout proxies. After-hours messaging
and weekend activity suggest overwork but aren't direct hours measurements.
For more precise analysis, add timesheet data."
Provide actionable recommendations:
For high-risk individuals:
- 1:1 conversation starters
- Workload review suggestions
- PTO encouragement
For team-wide patterns:
- Staffing conversations
- Process improvements
- Prioritization discussions
Remind: This is directional data. Have conversations to understand context.
To run this task you must have the following required information:
> Either Slack connection OR CSV with hours data (or both for richer analysis)
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. **Determine available data sources.**
Check for `documents/knowledge/people/*.md` - if present and < 7 days old, Slack signals are available.
Ask the user: "Do you have timesheet/hours data as CSV, or should I analyze Slack activity patterns?"
**Three modes:**
1. Slack only: Use after-hours %, weekend activity, message patterns as burnout proxies
2. CSV only: Use hours worked data for traditional burnout analysis
3. Both: Combine for highest confidence
If neither Slack signals nor CSV are available, offer to run `skills/sauna/[skill_id]/references/recipes/manager.slack.setup.md` first.
2. **If using Slack signals (with or without CSV):**
Read `documents/knowledge/people/*.md` and extract burnout-relevant metrics per person:
- After-hours message percentage (messages outside 8am-6pm)
- Weekend message count
- Message frequency trend (increasing activity can signal overwork)
**Slack-based burnout thresholds:**
- ๐ด High risk: After-hours > 25% OR 5+ weekend messages OR both > 15% and 3+ weekend
- ๐ก Moderate risk: After-hours > 15% OR 3-4 weekend messages
- ๐ข Healthy: After-hours < 15% AND < 3 weekend messages
Note: Slack patterns are proxies, not direct hours measurement. Someone messaging
at 10pm might be catching up briefly, not working a full evening.
3. **If CSV hours data is provided:**
Ask for the CSV path if not already provided. Common sources: Harvest, Toggl, Clockify, HRIS.
Establish for the subtask:
- Output path: `session/manager-analysis-data.json`
- Column types to detect: employee name/ID, date, hours, project/category (optional)
Then run `skills/sauna/[skill_id]/references/recipes/stdlib.csv.interpret.md` to parse the data.
4. **If CSV data was parsed**, read `session/manager-analysis-data.json` and validate:
1. Missing values: Flag rows with empty employee names or hours
2. Invalid hours: Must be positive numbers
3. Impossible values: > 168/week impossible, > 100/week suspicious
4. Sample size: Count unique employees and weeks
If > 50% invalid, ask for cleaner data. Otherwise proceed with valid rows.
5. [Read Manager Diagnostics Guide]: Read the documentation in: `skills/sauna/[skill_id]/references/manager.diagnostics.guide.md` (Reference burnout risk thresholds and output format)
6. **Analyze for burnout risk using available signals.**
**If CSV hours available, for each person calculate:**
- Average weekly hours
- Trend (increasing, stable, decreasing)
- Peak hours week
- Consecutive high-hour weeks
**CSV-based thresholds:**
- ๐ด High risk: 50+ hrs for 2+ consecutive weeks, OR 45+ with increasing trend
- ๐ก Moderate risk: 45+ hrs for 2+ weeks, OR any 50+ hr week
- ๐ข Healthy: Consistently under 45 hrs
**If combining Slack + CSV:** Use both signal sets. Someone with 45+ hours AND
high after-hours Slack activity is higher risk than either signal alone.
Note which signals contributed to each person's risk level.
7. **Present the burnout risk assessment.**
Include:
1. Summary: employees analyzed, signals used, risk distribution
2. High-risk individuals with specific signals that triggered
3. Moderate-risk individuals
4. Healthy count
5. Data sources note: "Analysis based on [Slack patterns / hours data / both]"
**For Slack-only analysis**, add caveat:
"This analysis uses Slack activity patterns as burnout proxies. After-hours messaging
and weekend activity suggest overwork but aren't direct hours measurements.
For more precise analysis, add timesheet data."
8. **Provide actionable recommendations:**
For high-risk individuals:
- 1:1 conversation starters
- Workload review suggestions
- PTO encouragement
For team-wide patterns:
- Staffing conversations
- Process improvements
- Prioritization discussions
Remind: This is directional data. Have conversations to understand context.