| name | task-activation |
| description | Help user START tasks with activation support for ADHD. Use when user is stuck, overwhelmed, or asking what to do next. Auto-triggers on phrases like "I'm stuck", "can't get started", "overwhelmed", "what should I do", "next step", "where do I start", "jag fastnar", "kan inte börja", "vad ska jag göra", "nästa steg". |
| allowed-tools | Bash, Read |
Skill: task-activation
Purpose
Provides activation support to help users START tasks, not just plan them. Addresses executive function challenges by removing barriers to beginning. Based on ADHD-friendly techniques like the 5-minute rule and smallest-step extraction.
Trigger Conditions
- Slash command:
/next - Natural phrases: ["I'm stuck", "can't get started", "overwhelmed", "what should I do", "next step", "where do I start", "jag fastnar", "kan inte börja", "vad ska jag göra", "nästa steg", "hjälp mig börja", "orkar inte", "vet inte var jag ska börja"]
- Auto-trigger: When user expresses difficulty starting or choosing tasks
Required Context (gather BEFORE starting workflow)
- Today's tasks via
tasks getTodayTasks→ returns Map<roleId, Task[]> for selection - Current energy level via
profile getCurrentEnergyLevel→ returns "high"|"medium"|"low" for matching - Profile via
profile getProfile→ returns full profile for activation preferences and patterns
How to gather context:
# Get today's tasks
bun run src/aida-cli.ts tasks getTodayTasks
# Get current energy level
bun run src/aida-cli.ts profile getCurrentEnergyLevel
# Get user profile (for activation preferences)
bun run src/aida-cli.ts profile getProfile
Workflow Steps
Step 1: Assess User State
- Action: Detect user's current state from conversation
- "Jag fastnar" → Stuck, needs smallest step
- "Orkar inte" → Low energy, needs easy win
- "För mycket" → Overwhelmed, needs ONE thing
- "Vad ska jag göra?" → Choice paralysis, needs direction
- No complaint → Just asking for next action
- Output to user: None (internal assessment)
- Wait for: Continue immediately
See OVERWHELM-RESPONSE.md for state-specific responses.
Step 2: Get Available Tasks
- Action: Retrieve today's tasks via
tasks getTodayTasks - Output to user: None
- Wait for: Continue immediately (unless no tasks - see Error Handling)
Step 3: Select Best Task
See ENERGY-AWARE-SELECTION.md for detailed selection rules.
- Action: Select ONE task based on:
- User's current energy level
- Time of day (from user's energy pattern)
- Task energy requirements
- Deadlines
- Task status (ready > planned > captured)
- Output to user: None yet
- Wait for: Continue immediately
Step 4: Apply Activation Technique
See ACTIVATION-TECHNIQUES.md for detailed techniques.
- Action: Choose technique based on user state:
- Stuck → Extract smallest first step
- Overwhelmed → One thing only, 5-minute rule
- Low energy → Easy win first
- Choice paralysis → Make the choice for them
- Output to user: None yet
- Wait for: Continue immediately
Step 5: Present Single Action
- Output to user:
🎯 Nästa steg: [One concrete action] Du behöver bara göra 5 minuter - sedan kan du bestämma om du vill fortsätta. Ska vi köra? - Wait for: User confirms they're starting (or declines)
Step 6: Log Activation
- Action when user confirms:
bun run src/aida-cli.ts tasks setTaskStatus [id] "active" bun run src/aida-cli.ts journal createEntry '{"entry_type":"task","content":"Aktiverade: [task title]"}' - Output to user: "Perfekt! Kör igång 🚀"
- Wait for: N/A (workflow complete)
Output Format
- Language: Swedish (default)
- Style: Encouraging, non-judgmental, supportive
- Action: ONE concrete step only, never multiple options
- Tone: No guilt, no pressure, frame deferrals positively
Example for simple "what's next":
🎯 Nästa steg för dig:
**Öppna rapporten** (Digitaliseringssamordnare)
- Deadline: imorgon
- Bara öppna filen och läs första stycket
5 minuter - sedan bestämmer du om du fortsätter. Kör! 🚀
Example for overwhelmed:
Jag hör dig. Låt oss göra det enkelt.
Glöm allt annat just nu. EN sak:
🎯 **Ringa banken** (2 min)
- Ta upp telefonen
- Slå numret
- Klart!
Det är allt. Resten kan vänta.
Redo?
Error Handling
- If
tasks getTodayTasksreturns empty: Show message "Inga uppgifter för idag. Vill du fånga något nytt?" and suggest task-capture skill - If no tasks match energy level: Adjust matching criteria, or suggest a break/pause with message "Alla uppgifter kräver mer energi än du har just nu. Vill du ta en paus?"
- If user is overwhelmed but no easy tasks: Find ANY task and break it into smallest possible step, even if artificially small
- If task already active: Ask "Du har redan en aktiv uppgift: [task]. Vill du byta till något annat?"
- If
setTaskStatusfails: Log error to console, inform user task activation wasn't recorded but they can still work on it - If
journal createEntryfails: Task status is still updated, just log warning to console - If profile doesn't exist: Use default energy level "medium" and proceed with general activation
Anti-patterns
- NEVER recommend high-energy task when energy is low - always match energy level
- NEVER skip user confirmation before marking active - always wait for user to say they're starting
- NEVER show multiple task options - always suggest ONE thing only
- NEVER use guilt or pressure - frame deferrals as rescheduling, not failure
- NEVER create new tasks - only activate existing ones (use task-capture for new tasks)
- NEVER update task details - only change status
- NEVER set status to "cancelled" - only "active" or "done" allowed
- NEVER use direct SQL - always use aida-cli.ts
- NEVER run query modules directly
Tool Contract
Allowed CLI Operations:
- tasks: getTodayTasks, getTaskById, setTaskStatus (to "active" or "done")
- journal: createEntry (type: task) - Log activation/completion
- profile: getCurrentEnergyLevel, getProfile (READ ONLY)
Forbidden Operations:
- Creating new tasks (use task-capture skill)
- Updating task details (title, description, etc.)
- Deleting tasks
- Updating profile
- Setting status to "cancelled"
Status Transition Rules:
ready|waiting → active(when starting task)active → done(when user indicates completion during activation flow)
File Access:
- Read:
personal-profile.json - No file writes - All operations via CLI
Supporting Documentation
- ACTIVATION-TECHNIQUES.md - 5-minute rule, smallest step, etc.
- ENERGY-AWARE-SELECTION.md - Matching tasks to energy
- OVERWHELM-RESPONSE.md - Handling stuck/overwhelmed states
Design Principles
- ONE thing - Never present multiple options
- Smallest step - Break it down until it's obvious
- 5-minute rule - Just start, decide later
- No guilt - Deferrals are rescheduling, not failure
- Energy-aware - Don't suggest high-energy tasks when user is drained
- Momentum - Small wins build confidence