Skill: status-overview
Purpose
Provides clear visibility into workload across roles and projects. Helps users understand their current balance, identify attention items (overdue, stale), and make informed decisions about where to focus.
Trigger Conditions
- Slash command:
/overview [role]
- Natural phrases: ["how am I doing", "workload", "what's on my plate", "role balance", "project status", "hur ligger jag till", "arbetsbelastning", "rollbalans", "visa status", "hur ser det ut", "översikt"]
- Auto-trigger: When user asks about their current status or workload
Required Context (gather BEFORE starting workflow)
- Active roles via
roles getActiveRoles → returns Role[] for overview
- Overdue tasks via
tasks getOverdueTasks → returns Task[] for attention flags
- Stale tasks via
tasks getStaleTasks → returns Task[] for attention flags
- Profile via
profile getProfile → returns full profile (optional, for role balance targets)
How to gather context:
# Get all active roles
bun run src/aida-cli.ts roles getActiveRoles
# Get overdue tasks (attention flags)
bun run src/aida-cli.ts tasks getOverdueTasks
# Get stale tasks (attention flags)
bun run src/aida-cli.ts tasks getStaleTasks
# Get profile (optional, for balance targets)
bun run src/aida-cli.ts profile getProfile
Workflow Steps
Mode Selection
Determine which mode based on user input:
- Mode 1: General overview (no role specified)
- Mode 2: Role-specific overview (role name/ID provided)
Mode 1: General Overview
Trigger: /overview or "hur ligger jag till"
Step 1: Gather Role Data
Step 2: Calculate Balance
See ROLE-BALANCE.md for balance calculations.
- Action: Calculate percentage of tasks per role vs profile balance targets
- Output to user: None yet
- Wait for: Continue immediately
Step 3: Identify Attention Items
See ATTENTION-FLAGS.md for criteria.
- Action: Flag overdue tasks, stale tasks, imbalanced roles
- Output to user: None yet
- Wait for: Continue immediately
Step 4: Present Summary
Mode 2: Role-Specific Overview
Trigger: /overview Developer or "hur ligger Developer-rollen till"
Step 1: Get Role Details
Step 2: Group by Status and Project
- Action: Count tasks by status (captured, ready, planned, active, done), list projects with task counts
- Output to user: None yet
- Wait for: Continue immediately
Step 3: Identify Role-Specific Attention Items
- Action: Flag overdue/stale tasks specific to this role
- Output to user: None yet
- Wait for: Continue immediately
Step 4: Present Role Breakdown
Output Format
- Language: Swedish (default)
- Style: Clear tables, visual indicators (emoji), actionable insights
- Structure: Summary first, details on request (drill-down)
Example general overview:
📊 Din arbetsbelastning just nu
Du har totalt 28 uppgifter fördelade på 4 roller:
🔹 Systemutvecklare: 12 tasks (43%)
🔹 Förälder: 5 tasks (18%)
🔹 Hobbyutvecklare: 8 tasks (29%)
🔹 Ordförande: 3 tasks (10%)
⚠️ Uppmärksamhetspunkter:
• 2 försenade tasks (båda i Systemutvecklare)
• Förälder-rollen under mål (18% vs 25%)
Vill du gå djupare i någon roll?
Example role-specific:
📊 Förälder - Status
📋 Uppgifter (5 totalt):
✅ Captured: 2
✅ Ready: 2
✅ Planned: 1
⏳ Active: 0
Inga försenade eller stale tasks! 👏
📅 Kommande:
• "Boka tandläkartid" - Deadline imorgon
💡 Du har inga aktiva tasks just nu.
Vill du aktivera någon? (/next)
Error Handling
- If
roles getActiveRoles returns empty: Show message "Inga roller finns ännu. Du behöver skapa roller via profile-management först."
- If no tasks exist: Show empty state "Inga uppgifter ännu. Vill du fånga något nytt?" and suggest task-capture
- If role not found (Mode 2): Show error "Rollen '[name]' hittades inte. Tillgängliga roller: [list]"
- If
tasks getTasksByRole fails: Show error message, skip that role in overview
- If profile doesn't exist or no balance targets: Skip balance comparison, just show task counts
- If no attention items: Show positive message "Allt ser bra ut! 👏"
Anti-patterns
- NEVER show raw task counts without context - always include interpretation/insights
- NEVER skip overdue/stale warnings - these must always be highlighted
- NEVER present all tasks - show counts and drill-down options, not full lists
- NEVER modify data - this is a read-only skill
- NEVER create tasks, journal entries, or update profile - only display information
- NEVER ignore imbalances - if role balance differs from targets, mention it
- NEVER use direct SQL - always use aida-cli.ts
- NEVER run query modules directly
Tool Contract
Allowed CLI Operations:
- tasks: getTasksByRole, getOverdueTasks, getStaleTasks, getTodayTasks (READ ONLY)
- roles: getActiveRoles, getRoleById (READ ONLY)
- projects: getProjectsByRole, getActiveProjects (READ ONLY)
- profile: getProfile, getAttribute (READ ONLY)
Forbidden Operations:
- Creating tasks
- Modifying task status
- Updating profile
- Creating journal entries
- Any delete operations
Output Only:
- Formatted workload summary
- Attention flags (overdue, stale, imbalance warnings)
- No data modifications
File Access:
- Read:
personal-profile.json
- No file writes - Read-only skill
Supporting Documentation
- ROLE-BALANCE.md - Balance target calculations
- ATTENTION-FLAGS.md - What deserves attention
Design Principles
- Actionable insights - Don't just show data, interpret it
- Highlight problems - Overdue and stale items need attention
- Show balance - Compare actual vs target role distribution
- Enable drill-down - Overview → Role → Task
- No overwhelm - Summary first, details on request
1---2name: status-overview3description: Role and project workload overview. Use when user wants to see their current workload, role balance, or status across roles/projects. Auto-triggers on phrases like "how am I doing", "workload", "what's on my plate", "role balance", "project status", "hur ligger jag till", "arbetsbelastning", "rollbalans".4---5
6# Skill: status-overview
7
8## Purpose
9
10Provides clear visibility into workload across roles and projects. Helps users understand their current balance, identify attention items (overdue, stale), and make informed decisions about where to focus.
11
12## Trigger Conditions
13
14- **Slash command:** `/overview [role]`
15- **Natural phrases:** ["how am I doing", "workload", "what's on my plate", "role balance", "project status", "hur ligger jag till", "arbetsbelastning", "rollbalans", "visa status", "hur ser det ut", "översikt"]
16- **Auto-trigger:** When user asks about their current status or workload
17
18## Required Context (gather BEFORE starting workflow)
19
201. Active roles via `roles getActiveRoles` → returns Role[] for overview
212. Overdue tasks via `tasks getOverdueTasks` → returns Task[] for attention flags
223. Stale tasks via `tasks getStaleTasks` → returns Task[] for attention flags
234. Profile via `profile getProfile` → returns full profile (optional, for role balance targets)
24
25**How to gather context:**
26```bash
27# Get all active roles
28bun run src/aida-cli.ts roles getActiveRoles
29
30# Get overdue tasks (attention flags)
31bun run src/aida-cli.ts tasks getOverdueTasks
32
33# Get stale tasks (attention flags)
34bun run src/aida-cli.ts tasks getStaleTasks
35
36# Get profile (optional, for balance targets)
37bun run src/aida-cli.ts profile getProfile
38```
39
40## Workflow Steps
41
42### Mode Selection
43
44Determine which mode based on user input:
45- **Mode 1:** General overview (no role specified)
46- **Mode 2:** Role-specific overview (role name/ID provided)
47
48### Mode 1: General Overview
49
50**Trigger:** `/overview` or "hur ligger jag till"
51
52#### Step 1: Gather Role Data
53
54- **Action:** For each active role, get task counts via `tasks getTasksByRole [role_id]`
55- **CLI calls:**
56 ```bash
57 # For each role from getActiveRoles:
58 bun run src/aida-cli.ts tasks getTasksByRole [role_id]
59 ```
60- **Output to user:** None yet
61- **Wait for:** Continue immediately
62
63#### Step 2: Calculate Balance
64
65See [ROLE-BALANCE.md](ROLE-BALANCE.md) for balance calculations.
66
67- **Action:** Calculate percentage of tasks per role vs profile balance targets
68- **Output to user:** None yet
69- **Wait for:** Continue immediately
70
71#### Step 3: Identify Attention Items
72
73See [ATTENTION-FLAGS.md](ATTENTION-FLAGS.md) for criteria.
74
75- **Action:** Flag overdue tasks, stale tasks, imbalanced roles
76- **Output to user:** None yet
77- **Wait for:** Continue immediately
78
79#### Step 4: Present Summary
80
81- **Output to user:**
82 ```
83 📊 Din arbetsbelastning
84
85 [Table with roles, task counts, balance percentages]
86
87 ⚠️ Kräver uppmärksamhet:
88 • [attention items]
89
90 Vill du se detaljer för en roll? (/overview [roll])
91 ```
92- **Wait for:** User may request role-specific view
93
94### Mode 2: Role-Specific Overview
95
96**Trigger:** `/overview Developer` or "hur ligger Developer-rollen till"
97
98#### Step 1: Get Role Details
99
100- **Action:** Fetch role via `roles getRoleById [id]` and tasks via `tasks getTasksByRole [id]`
101- **CLI calls:**
102 ```bash
103 bun run src/aida-cli.ts roles getRoleById [id]
104 bun run src/aida-cli.ts tasks getTasksByRole [id]
105 bun run src/aida-cli.ts projects getProjectsByRole [id]
106 ```
107- **Output to user:** None yet
108- **Wait for:** Continue immediately
109
110#### Step 2: Group by Status and Project
111
112- **Action:** Count tasks by status (captured, ready, planned, active, done), list projects with task counts
113- **Output to user:** None yet
114- **Wait for:** Continue immediately
115
116#### Step 3: Identify Role-Specific Attention Items
117
118- **Action:** Flag overdue/stale tasks specific to this role
119- **Output to user:** None yet
120- **Wait for:** Continue immediately
121
122#### Step 4: Present Role Breakdown
123
124- **Output to user:**
125 ```
126 📊 [Role Name] - Status
127
128 📈 Uppgifter:
129 • Captured: [n]
130 • Ready: [n]
131 • Planned: [n]
132 • Active: [n]
133 • Done (denna vecka): [n]
134
135 📁 Projekt:
136 • [project] ([n] tasks, [n] aktiva)
137
138 ⚠️ Kräver uppmärksamhet:
139 • [attention items]
140
141 🎯 Förslag:
142 [actionable suggestions]
143 ```
144- **Wait for:** N/A (workflow complete)
145
146## Output Format
147
148- **Language:** Swedish (default)
149- **Style:** Clear tables, visual indicators (emoji), actionable insights
150- **Structure:** Summary first, details on request (drill-down)
151
152**Example general overview:**
153```
154📊 Din arbetsbelastning just nu
155
156Du har totalt 28 uppgifter fördelade på 4 roller:
157
158🔹 Systemutvecklare: 12 tasks (43%)
159🔹 Förälder: 5 tasks (18%)
160🔹 Hobbyutvecklare: 8 tasks (29%)
161🔹 Ordförande: 3 tasks (10%)
162
163⚠️ Uppmärksamhetspunkter:
164• 2 försenade tasks (båda i Systemutvecklare)
165• Förälder-rollen under mål (18% vs 25%)
166
167Vill du gå djupare i någon roll?
168```
169
170**Example role-specific:**
171```
172📊 Förälder - Status
173
174📋 Uppgifter (5 totalt):
175✅ Captured: 2
176✅ Ready: 2
177✅ Planned: 1
178⏳ Active: 0
179
180Inga försenade eller stale tasks! 👏
181
182📅 Kommande:
183• "Boka tandläkartid" - Deadline imorgon
184
185💡 Du har inga aktiva tasks just nu.
186Vill du aktivera någon? (/next)
187```
188
189## Error Handling
190
191- **If `roles getActiveRoles` returns empty:** Show message "Inga roller finns ännu. Du behöver skapa roller via profile-management först."
192- **If no tasks exist:** Show empty state "Inga uppgifter ännu. Vill du fånga något nytt?" and suggest task-capture
193- **If role not found (Mode 2):** Show error "Rollen '[name]' hittades inte. Tillgängliga roller: [list]"
194- **If `tasks getTasksByRole` fails:** Show error message, skip that role in overview
195- **If profile doesn't exist or no balance targets:** Skip balance comparison, just show task counts
196- **If no attention items:** Show positive message "Allt ser bra ut! 👏"
197
198## Anti-patterns
199
200- **NEVER show raw task counts without context** - always include interpretation/insights
201- **NEVER skip overdue/stale warnings** - these must always be highlighted
202- **NEVER present all tasks** - show counts and drill-down options, not full lists
203- **NEVER modify data** - this is a read-only skill
204- **NEVER create tasks, journal entries, or update profile** - only display information
205- **NEVER ignore imbalances** - if role balance differs from targets, mention it
206- **NEVER use direct SQL** - always use aida-cli.ts
207- **NEVER run query modules directly**
208
209## Tool Contract
210
211**Allowed CLI Operations:**
212- **tasks:** getTasksByRole, getOverdueTasks, getStaleTasks, getTodayTasks (READ ONLY)
213- **roles:** getActiveRoles, getRoleById (READ ONLY)
214- **projects:** getProjectsByRole, getActiveProjects (READ ONLY)
215- **profile:** getProfile, getAttribute (READ ONLY)
216
217**Forbidden Operations:**
218- Creating tasks
219- Modifying task status
220- Updating profile
221- Creating journal entries
222- Any delete operations
223
224**Output Only:**
225- Formatted workload summary
226- Attention flags (overdue, stale, imbalance warnings)
227- No data modifications
228
229**File Access:**
230- **Read:** `personal-profile.json`
231- **No file writes** - Read-only skill
232
233## Supporting Documentation
234
235- [ROLE-BALANCE.md](ROLE-BALANCE.md) - Balance target calculations
236- [ATTENTION-FLAGS.md](ATTENTION-FLAGS.md) - What deserves attention
237
238## Design Principles
239
2401. **Actionable insights** - Don't just show data, interpret it
2412. **Highlight problems** - Overdue and stale items need attention
2423. **Show balance** - Compare actual vs target role distribution
2434. **Enable drill-down** - Overview → Role → Task
2445. **No overwhelm** - Summary first, details on request