whatsapp-message-management
About
This Claude Skill enables WhatsApp integration for mobile-first life management workflows. It allows users to capture tasks, receive daily briefings, and manage habits through natural WhatsApp conversations. The skill leverages the existing WhatsApp MCP to connect mobile messaging with ExoMind's task and knowledge systems.
Documentation
WhatsApp Message Management
Overview
Transform WhatsApp into a powerful life management interface that works seamlessly with ExoMind's task, habit, and knowledge systems. This skill enables mobile-first workflows where you can capture thoughts, receive daily briefings, check in on habits, and manage your life through natural WhatsApp conversations.
Core principle: Meet users where they are (on their phone) with quick, actionable messages that integrate with the broader ExoMind ecosystem.
Announce at start: "I'm using the WhatsApp message management skill to help you manage your life via mobile messaging."
Quick Reference
| Phase | Key Activities | Tool Usage | Output |
|---|---|---|---|
| 1. Setup | Configure WhatsApp MCP connection | Check MCP server status | Connected messaging channel |
| 2. Quick Capture | Parse incoming messages for tasks/notes | mcp__whatsapp__send_message, Task creation | Captured items in system |
| 3. Daily Briefing | Generate and send morning/evening updates | Life OS skills, mcp__whatsapp__send_message | Timely briefings delivered |
| 4. Habit Check-ins | Send reminders and log responses | Habit tracking, mcp__whatsapp__send_message | Habit streaks maintained |
| 5. Contextual Queries | Answer questions using ExoMind knowledge | RAG search, mcp__whatsapp__send_message | Informed responses |
Life OS Integration
This skill integrates seamlessly with the Life OS workflow system:
- daily-planning: Get morning priorities and tasks for briefings
- weekly-review: Send weekly summaries and reflection prompts
- processing-inbox: Quick capture flows into inbox processing
- conducting-life-assessment: Track progress via daily briefings
- goal-setting: Link daily tasks to quarterly goals
When to Use
- User mentions "send me" or "message me on WhatsApp"
- Daily briefing requests ("morning summary", "evening recap")
- Quick capture scenarios ("I'll message you the task")
- Habit tracking reminders ("remind me to...")
- Mobile-first workflows
- Time-sensitive notifications
- On-the-go task management
The Pattern
Copy this checklist to track progress:
WhatsApp Management Progress:
- [ ] Phase 1: Setup (WhatsApp MCP configured and tested)
- [ ] Phase 2: Quick Capture (message parsing and task creation working)
- [ ] Phase 3: Daily Briefing (scheduled briefings configured)
- [ ] Phase 4: Habit Check-ins (reminder system active)
- [ ] Phase 5: Contextual Queries (RAG integration functional)
Phase 1: Setup & Connection
Verify WhatsApp MCP is available:
- Check MCP server connection status
- Test send/receive capabilities
- Configure user's phone number if needed
- Set up Do Not Disturb hours (default: 22:00-07:00)
Example verification:
# Check if WhatsApp MCP is available
claude mcp list | grep whatsapp
# Test connection with a ping message
# Use appropriate WhatsApp MCP tool to send test message
Phase 2: Quick Capture (Enhanced)
Parse incoming WhatsApp messages for tasks and notes:
Capture patterns to recognize:
- Task indicators: "remind me", "todo", "task:", "I need to"
- Note indicators: "note:", "remember", "idea:"
- Voice note indicators: "voice memo", "audio note"
- Photo indicators: Image attachments
- Context indicators: "@work", "@home", "#project-name"
- Priority indicators: "urgent", "important", "!!!"
Enhanced Processing Workflow:
// 1. Receive message via WhatsApp MCP
mcp__whatsapp__list_messages({
after: lastCheckTime,
limit: 20
});
// 2. Parse different media types
async function parseQuickCapture(message) {
if (message.hasAudio) {
// Voice note to task conversion
const transcription = await transcribeVoiceNote(message.audioPath);
return parseTaskFromText(transcription);
}
if (message.hasImage) {
// Photo capture for reference
const imageContext = await analyzeImage(message.imagePath);
return {
type: 'note',
content: message.caption || 'Visual reference',
attachment: message.imagePath,
context: imageContext
};
}
// Text parsing
return parseTaskFromText(message.text);
}
// 3. Create item and add to inbox (processing-inbox skill)
async function quickCaptureToInbox(parsedItem) {
const inboxItem = {
content: parsedItem.content,
type: parsedItem.type,
context: parsedItem.context,
priority: parsedItem.priority,
tags: parsedItem.tags,
source: 'whatsapp',
capturedAt: new Date(),
attachment: parsedItem.attachment
};
// Add to inbox for later processing
await addToInbox(inboxItem);
// Send confirmation
await mcp__whatsapp__send_message({
recipient: parsedItem.userPhone,
message: formatConfirmation(inboxItem)
});
}
Enhanced Capture Examples:
Text Capture:
User (WhatsApp): "Remind me to call dentist tomorrow @health"
ExoMind: "β Task added to inbox: Call dentist
Due: Tomorrow | Context: health
Process inbox? Reply 'inbox'"
Voice Note Capture:
User (WhatsApp): [Sends voice note: "Remember to buy milk, eggs, and bread on the way home"]
ExoMind: "π€ Voice note captured and transcribed:
β Task added to inbox: Buy milk, eggs, and bread
Context: errands
Process now? Reply 'yes'"
Photo Capture:
User (WhatsApp): [Sends photo of whiteboard with caption "Project ideas from today's meeting"]
ExoMind: "πΈ Photo note saved:
'Project ideas from today's meeting'
β Added to inbox with visual reference
View later: Reply 'show photos'"
Quick Batch Capture:
User (WhatsApp): "todo: buy groceries, call mom, schedule dentist @personal"
ExoMind: "β 3 tasks added to inbox:
1. Buy groceries
2. Call mom
3. Schedule dentist
Context: personal | Ready to process? Reply 'inbox'"
Integration with processing-inbox skill:
All quick captures flow into the inbox processing workflow:
- Capture via WhatsApp β Inbox
- User processes inbox (mobile or desktop)
- Items converted to tasks, events, or notes
- Context and priority preserved throughout
Phase 3: Daily Briefing (Life OS Integration)
Morning Briefing Template (07:00-09:00):
Uses daily-planning skill to generate structured morning briefing:
// Integration with daily-planning skill
const morningBriefing = {
priorities: [], // Top 3 tasks from daily plan
calendar: [], // Next 3 meetings/events
habits: [], // Active habits for today
energy: null, // Energy level from yesterday
focus: null // Today's main focus area
};
// Send via WhatsApp MCP
mcp__whatsapp__send_message({
recipient: userPhoneNumber,
message: formatMorningBriefing(morningBriefing)
});
Morning Message Format:
βοΈ Good morning! {Day}, {Date}
π― TOP 3 PRIORITIES:
1. β‘ {Priority Task 1} ({Time estimate})
2. β‘ {Priority Task 2} ({Time estimate})
3. β‘ {Priority Task 3} ({Time estimate})
π
NEXT 3 MEETINGS:
β’ {Meeting 1} at {Time}
β’ {Meeting 2} at {Time}
β’ {Meeting 3} at {Time}
β
PENDING TASKS: {Count}
π HABITS: {Count to complete}
π‘ Focus: {Today's main focus area}
β‘ Energy: {Yesterday's energy level}
Reply "done" + number to check off
Reply "plan" for full daily plan
Evening Briefing Template (18:00-20:00):
Uses daily-planning skill for retrospective:
// Integration with daily-planning and weekly-review skills
const eveningBriefing = {
wins: [], // Min 3 wins from today
tasksCompleted: 0, // Count of completed tasks
habitsCompleted: 0, // Count of completed habits
energy: null, // Energy level today (1-5)
reflection: null, // Brief reflection prompt
tomorrow: [] // Preview of tomorrow's priorities
};
// Send via WhatsApp MCP
mcp__whatsapp__send_message({
recipient: userPhoneNumber,
message: formatEveningBriefing(eveningBriefing)
});
Evening Message Format:
π Evening recap - {Day}
π TODAY'S WINS (min 3):
1. {Win 1}
2. {Win 2}
3. {Win 3}
β
COMPLETED:
β’ {X} tasks finished
β’ {X} habits maintained
π₯ Active streaks: {List streaks}
β‘ ENERGY CHECK:
How was your energy today? (1-5)
Reply with number
π REFLECTION:
{Reflection prompt based on weekly theme}
π TOMORROW PREVIEW:
Top priority: {Tomorrow's #1 task}
Reply "reflect" to share insights
Reply "wins" to add more wins
Weekly Briefing (Sunday Evening):
Uses weekly-review skill:
// Integration with weekly-review skill
const weeklyBriefing = {
weekSummary: {}, // Week's achievements
goalProgress: [], // Progress on quarterly goals
nextWeekFocus: null,// Next week's main focus
habits: {}, // Habit completion rates
reflection: null // Weekly reflection prompt
};
// Send via WhatsApp MCP
mcp__whatsapp__send_message({
recipient: userPhoneNumber,
message: formatWeeklyBriefing(weeklyBriefing)
});
Weekly Message Format:
π WEEK {Number} SUMMARY
β
ACCOMPLISHED:
β’ {X} tasks completed
β’ {X} habits maintained
β’ {Key achievements}
π― GOAL PROGRESS:
β’ {Goal 1}: {X}% complete
β’ {Goal 2}: {X}% complete
β’ {Goal 3}: {X}% complete
π₯ HABIT STREAKS:
β’ {Habit 1}: {X} days
β’ {Habit 2}: {X} days
β’ {Habit 3}: {X} days
π NEXT WEEK FOCUS:
{Main focus area for upcoming week}
π WEEKLY REFLECTION:
{Reflection prompt for weekly review}
Ready for weekly review? Reply "review"
Phase 4: Habit Check-ins
Reminder scheduling:
- Send reminders at configured times
- Track responses for habit completion
- Maintain streak counts
- Send encouragement for milestones
Smart reminder logic:
- Don't remind if already completed today
- Adjust timing based on completion patterns
- Scale back frequency if consistently completed
- Send encouragement on long streaks
Example interaction:
ExoMind (15:00): "π Time for your afternoon walk! 7-day streak π₯"
User: "done"
ExoMind: "β
Walk logged! Streak: 8 days. You're crushing it!"
ExoMind (21:00): "π Evening reading reminder - 30 minutes to hit your goal"
User: "skip today, busy"
ExoMind: "No problem! Your 12-day streak is safe. We'll catch up tomorrow."
Phase 5: Contextual Queries
Handle questions and requests:
- Use RAG to search knowledge base
- Pull relevant task/habit context
- Provide concise, mobile-friendly answers
- Offer follow-up actions
Query patterns:
- "What tasks do I have for [project]?"
- "Show me my [habit] streak"
- "What did I note about [topic]?"
- "When is [task] due?"
Example:
User: "What tasks do I have for the website project?"
ExoMind: "π Website Project (3 tasks):
1. β‘ Design homepage mockup (Due: Fri)
2. Write copy for About page (Due: Next week)
3. Set up hosting (No due date)
Want to see details for any of these?"
Integration
WhatsApp MCP Tools
Primary interface for all messaging:
// Send text messages
mcp__whatsapp__send_message({
recipient: "1234567890", // Phone number or JID
message: "Your briefing text here"
});
// Send files/images
mcp__whatsapp__send_file({
recipient: "1234567890",
media_path: "/absolute/path/to/file.jpg"
});
// Send voice messages
mcp__whatsapp__send_audio_message({
recipient: "1234567890",
media_path: "/absolute/path/to/audio.ogg"
});
// Receive messages
mcp__whatsapp__list_messages({
after: "2025-01-15T00:00:00Z",
limit: 20,
include_context: true
});
// Search messages
mcp__whatsapp__search_contacts({
query: "John"
});
// Download media from messages
mcp__whatsapp__download_media({
message_id: "msg_123",
chat_jid: "[email protected]"
});
Life OS Skill Integration
daily-planning skill:
// Get today's priorities for morning briefing
const dailyPlan = await getDailyPlan(userId);
const morningBriefing = formatMorningBriefing({
priorities: dailyPlan.topThree,
meetings: dailyPlan.calendar,
habits: dailyPlan.activeHabits
});
await mcp__whatsapp__send_message({
recipient: userPhone,
message: morningBriefing
});
weekly-review skill:
// Generate weekly summary for Sunday briefing
const weeklyReview = await getWeeklyReview(userId);
const weeklyBriefing = formatWeeklyBriefing({
summary: weeklyReview.achievements,
goalProgress: weeklyReview.goals,
nextWeek: weeklyReview.nextFocus
});
await mcp__whatsapp__send_message({
recipient: userPhone,
message: weeklyBriefing
});
processing-inbox skill:
// Quick capture flows into inbox
const capturedItem = parseQuickCapture(whatsappMessage);
await addToInbox(capturedItem);
await mcp__whatsapp__send_message({
recipient: userPhone,
message: "β Added to inbox for processing"
});
conducting-life-assessment skill:
// Track energy and reflection via WhatsApp
const energyCheck = await promptEnergyRating(userPhone);
const reflection = await promptReflection(userPhone);
await updateLifeAssessment(userId, {
energy: energyCheck,
reflection: reflection,
date: new Date()
});
goal-setting skill:
// Link daily tasks to quarterly goals in briefings
const goals = await getQuarterlyGoals(userId);
const todaysTasks = await getDailyTasks(userId);
const goalLinkedTasks = linkTasksToGoals(todaysTasks, goals);
// Include in morning briefing
const briefing = formatMorningBriefing({
priorities: goalLinkedTasks,
goalContext: goals
});
ExoMind Components
- Task Manager: Create, update, complete tasks from messages
- Habit Tracker: Log completions, check streaks, send reminders
- Knowledge Base (RAG): Search notes and context for queries
- Calendar Integration: Pull events for briefings
- User Preferences: DND hours, notification frequency, message style
- Inbox System: Quick capture flows into processing workflow
Common Use Cases
Use Case 1: Morning Commute Quick Capture
Scenario: User is on the train, thinks of three tasks
User: "todo: buy groceries, call mom, schedule dentist @personal"
ExoMind: "β Created 3 tasks in Personal context:
1. Buy groceries
2. Call mom
3. Schedule dentist
All added to your inbox for processing."
Use Case 2: Daily Briefing Workflow
Morning (07:30):
ExoMind: "βοΈ Good morning! Tuesday, Jan 15
π Today's Focus (3 tasks):
1. β‘ Submit quarterly report (Due today)
2. Review team feedback
3. Prep for 2pm client call
π― Habits: Meditation, Exercise, Reading
Ready to crush it? Reply 'done 1' to check off tasks."
Evening (19:00):
ExoMind: "π Evening recap:
β
Completed: 2 tasks, 3 habits
π₯ Streaks maintained: Meditation (45d), Reading (12d)
Tomorrow's priority: Finish marketing presentation
How did today go? (Great/Good/Tough)"
Use Case 3: Habit Accountability
Scenario: User building a meditation habit
Day 1 (07:00): "π§ Morning meditation time! Starting your new habit."
User: "done"
ExoMind: "β
Great start! Day 1 complete."
Day 7 (07:00): "π§ Morning meditation - 7 day streak! π₯"
User: "done"
ExoMind: "β
Week 1 complete! You're building a solid habit."
Day 30 (07:00): "π§ Meditation time! 30-DAY MILESTONE! π"
User: "done"
ExoMind: "β
30 DAYS! This is now part of who you are. Amazing work!"
Use Case 4: Context-Aware Note Capture
Scenario: User learns something valuable
User: "Note: React useCallback only needed when passing callbacks to optimized child components - don't overuse #dev #react"
ExoMind: "β Note saved with tags: dev, react
Connected to 3 related notes in your knowledge base.
Want to see related content?"
User: "yes"
ExoMind: "Related notes:
1. React performance optimization patterns
2. When to use useMemo vs useCallback
3. React re-render debugging guide
Reply with number to view full note."
Use Case 5: Project Context Switching
Scenario: User needs to focus on specific project
User: "Show me everything for website redesign project"
ExoMind: "π Website Redesign Project:
π Tasks (5):
β’ Design homepage (Due: Thu) β‘
β’ Write new copy (Due: Next week)
β’ Set up hosting (No due date)
β’ Configure analytics (No due date)
β’ Mobile testing (Blocked - needs design)
π Recent Notes: 2
π Related Habits: Daily design review
What would you like to focus on?"
Red Flags
Do Not:
- Spam messages - Respect user's attention and DND hours
- Send long messages - Keep everything scannable on mobile
- Ignore context - Remember conversation history within session
- Be overly formal - Match user's communication style
- Send during DND hours - Default 22:00-07:00, user configurable
- Over-notify - Bundle related updates together
- Lose messages - Always confirm receipt and action taken
Warning Signs:
- User says "too many messages" β Reduce frequency
- Messages go unread for days β Adjust timing or format
- User always uses "skip" on habits β Habit may not be right
- Repeated "I already did this" β Check for duplicate tracking
- User stops responding β Too much noise, dial back
Message Style Guide
Tone:
- Encouraging but not pushy: "Time for your walk π" not "You MUST walk now!"
- Celebratory on wins: "7-day streak! π₯" with emojis
- Understanding on misses: "No problem, we'll catch up tomorrow"
- Concise and scannable: Bullets, numbers, emojis for quick reading
Formatting:
- Emojis for context: β (done), β‘ (urgent), π₯ (streak), π (tasks)
- Numbers for quick action: "Reply 'done 1' to mark complete"
- Line breaks for readability: Never send walls of text
- Bold for key info: Limited use, important items only
Response Patterns:
Confirmation: "β [Action completed]"
Celebration: "β
[Achievement] π"
Reminder: "π [Habit/Task] - [Context]"
Query result: "π [Category]: [List]"
Error: "β [Issue] - [What to do]"
Technical Implementation Notes
Message Parsing (Enhanced)
async function parseQuickCapture(message) {
const patterns = {
task: /^(todo:|task:|remind me to)/i,
note: /^(note:|remember:|idea:)/i,
habit: /^(done|complete|skip|did)/i,
query: /^(show|what|when|find|plan)/i,
context: /@(\w+)/g,
tags: /#(\w+)/g,
priority: /(!{1,3}|urgent|important|asap)/i,
voiceNote: message.hasAudio,
photo: message.hasImage
};
// Handle voice notes
if (patterns.voiceNote) {
const audioPath = await mcp__whatsapp__download_media({
message_id: message.id,
chat_jid: message.chatJid
});
const transcription = await transcribeAudio(audioPath.file_path);
message.text = transcription;
}
// Handle photos
if (patterns.photo) {
const imagePath = await mcp__whatsapp__download_media({
message_id: message.id,
chat_jid: message.chatJid
});
return {
type: 'note',
content: message.caption || 'Visual reference',
attachment: imagePath.file_path,
source: 'whatsapp'
};
}
// Extract type, content, metadata
const type = Object.keys(patterns).find(key =>
patterns[key] instanceof RegExp && patterns[key].test(message.text)
);
const contexts = [...message.text.matchAll(patterns.context)].map(m => m[1]);
const tags = [...message.text.matchAll(patterns.tags)].map(m => m[1]);
const hasPriority = patterns.priority.test(message.text);
return {
type: type || 'task',
content: message.text.replace(patterns[type] || '', '').trim(),
contexts,
tags,
priority: hasPriority ? 'high' : 'normal',
source: 'whatsapp',
timestamp: message.timestamp
};
}
Briefing Generation with Life OS Integration
// Morning briefing using daily-planning skill
async function generateMorningBriefing(userId) {
// Get data from Life OS skills
const dailyPlan = await getDailyPlan(userId);
const calendar = await getCalendarEvents(userId, 'today');
const habits = await getActiveHabits(userId);
const energy = await getLastEnergyLevel(userId);
const briefing = `βοΈ Good morning! ${formatDate('today')}
π― TOP 3 PRIORITIES:
${dailyPlan.priorities.slice(0, 3).map((t, i) =>
`${i + 1}. β‘ ${t.title} (${t.timeEstimate})`
).join('\n')}
π
NEXT 3 MEETINGS:
${calendar.slice(0, 3).map(e =>
`β’ ${e.title} at ${formatTime(e.start)}`
).join('\n')}
β
PENDING TASKS: ${dailyPlan.pendingCount}
π HABITS: ${habits.filter(h => !h.completedToday).length}
π‘ Focus: ${dailyPlan.mainFocus}
β‘ Energy: ${energy ? energy.level + '/5' : 'Not tracked'}
Reply "done" + number to check off
Reply "plan" for full daily plan`;
return briefing;
}
// Evening briefing using daily-planning and weekly-review skills
async function generateEveningBriefing(userId) {
const completed = await getCompletedTasks(userId, 'today');
const habits = await getCompletedHabits(userId, 'today');
const streaks = await getActiveStreaks(userId);
const tomorrow = await getTomorrowPriorities(userId);
const reflectionPrompt = await getReflectionPrompt(userId);
const briefing = `π Evening recap - ${formatDate('today')}
π TODAY'S WINS (min 3):
${completed.slice(0, 3).map((t, i) =>
`${i + 1}. ${t.title}`
).join('\n')}
β
COMPLETED:
β’ ${completed.length} tasks finished
β’ ${habits.length} habits maintained
π₯ Active streaks: ${streaks.map(s => s.name + ' (' + s.days + 'd)').join(', ')}
β‘ ENERGY CHECK:
How was your energy today? (1-5)
Reply with number
π REFLECTION:
${reflectionPrompt}
π TOMORROW PREVIEW:
Top priority: ${tomorrow[0]?.title || 'Not set'}
Reply "reflect" to share insights
Reply "wins" to add more wins`;
return briefing;
}
// Weekly briefing using weekly-review skill
async function generateWeeklyBriefing(userId) {
const weekReview = await getWeeklyReview(userId);
const goalProgress = await getGoalProgress(userId);
const habitStats = await getWeeklyHabitStats(userId);
const briefing = `π WEEK ${weekReview.weekNumber} SUMMARY
β
ACCOMPLISHED:
β’ ${weekReview.tasksCompleted} tasks completed
β’ ${weekReview.habitsCompleted} habits maintained
β’ ${weekReview.keyAchievements.join('\nβ’ ')}
π― GOAL PROGRESS:
${goalProgress.map(g =>
`β’ ${g.name}: ${g.progress}% complete`
).join('\n')}
π₯ HABIT STREAKS:
${habitStats.map(h =>
`β’ ${h.name}: ${h.streak} days`
).join('\n')}
π NEXT WEEK FOCUS:
${weekReview.nextWeekFocus}
π WEEKLY REFLECTION:
${weekReview.reflectionPrompt}
Ready for weekly review? Reply "review"`;
return briefing;
}
Scheduling
// Use cron jobs for automated briefings
const cron = require('node-cron');
// Morning briefing at 7:30 AM user's timezone
cron.schedule('30 7 * * *', async () => {
const users = await getActiveUsers();
for (const user of users) {
if (!isInDNDHours(user)) {
const briefing = await generateMorningBriefing(user.id);
await mcp__whatsapp__send_message({
recipient: user.phone,
message: briefing
});
}
}
}, {
timezone: user.timezone
});
// Evening briefing at 7:00 PM
cron.schedule('0 19 * * *', async () => {
const users = await getActiveUsers();
for (const user of users) {
if (!isInDNDHours(user)) {
const briefing = await generateEveningBriefing(user.id);
await mcp__whatsapp__send_message({
recipient: user.phone,
message: briefing
});
}
}
}, {
timezone: user.timezone
});
// Weekly briefing on Sunday at 6:00 PM
cron.schedule('0 18 * * 0', async () => {
const users = await getActiveUsers();
for (const user of users) {
if (!isInDNDHours(user)) {
const briefing = await generateWeeklyBriefing(user.id);
await mcp__whatsapp__send_message({
recipient: user.phone,
message: briefing
});
}
}
}, {
timezone: user.timezone
});
State Management
- Track conversation context within session
- Remember last 10 interactions for continuity
- Clear session after 30 minutes of inactivity
- Persist user preferences across sessions
- Store briefing history for pattern analysis
- Link WhatsApp interactions to Life OS data
Privacy & Security
- No message logging - Process and discard, don't store full messages
- Secure MCP connection - Encrypted transport
- User data stays local - Only send what's necessary to WhatsApp
- Opt-in by default - User must enable WhatsApp integration
- Easy opt-out - "pause notifications" command anytime
Examples
Example 1: Full Morning Routine
[07:30 - Automated briefing]
ExoMind: "βοΈ Good morning! Wednesday, Jan 16
π Today's Focus (4 tasks):
1. β‘ Submit budget review (Due today)
2. Team standup at 10am
3. Review marketing materials
4. Plan weekend trip
π― Habits: Meditation, Exercise, Reading, Water intake
π€οΈ Weather: Sunny, 72Β°F
Reply 'done' + number to check off tasks."
[07:45 - User interaction]
User: "done meditation"
ExoMind: "β
Meditation complete! 46-day streak π₯"
[08:30 - Quick capture]
User: "todo: book restaurant for anniversary @personal !!"
ExoMind: "β High priority task created: Book restaurant for anniversary
Added to Personal context. Due date?"
User: "friday"
ExoMind: "β Due date set: This Friday, Jan 18"
[12:00 - Contextual query]
User: "what's my afternoon looking like?"
ExoMind: "π Afternoon (3 items):
β’ Team standup at 10am β
(passed)
β’ Review marketing materials (Due today)
β’ Plan weekend trip (No due date)
You're on track! π―"
Example 2: Habit Building Journey
[Week 1]
Day 1: "π Afternoon walk reminder - let's start strong!"
User: "done"
ExoMind: "β
Day 1 complete! Great start."
Day 3: "π Walk time! You're 3 for 3 π₯"
User: "skip today, raining"
ExoMind: "No problem! Weather happens. Tomorrow's a new day."
Day 4: "π Back at it! 3-day streak still alive."
User: "done"
ExoMind: "β
Resilience! That's how habits stick."
[Week 4]
Day 28: "π Walk time - almost at 30 days! π₯"
User: "done"
ExoMind: "β
28 days! Weekend milestone coming up! π"
[Month 2]
Day 60: "π 2-MONTH MILESTONE! π You've walked 60 days!"
User: "done"
ExoMind: "β
60 DAYS! This is officially who you are now. Incredible!"
Example 3: Project-Based Workflow
User: "Starting work on mobile app project"
ExoMind: "π± Mobile App Project activated.
Current status:
π 5 tasks (2 urgent)
π 8 notes in knowledge base
π Related: UI design habit
Want the task breakdown?"
User: "yes"
ExoMind: "π Mobile App Tasks:
1. β‘ Fix login bug (Due today)
2. β‘ Review PR #234 (Due today)
3. Design settings screen (Due Fri)
4. Write API docs (Next week)
5. User testing prep (No date)
Start with #1? Reply 'done 1' when complete."
[Later that day]
User: "done 1"
ExoMind: "β
Login bug fixed!
β‘ Next up: Review PR #234
4 tasks remaining on Mobile App"
User: "note: Login issue was OAuth token expiration, fixed by refreshing tokens every 55min instead of 60min #mobile-app #auth"
ExoMind: "β Technical note saved!
Auto-tagged: mobile-app, auth
Connected to 2 related notes.
Back to PR #234 review?"
Life OS Command Reference
Quick commands users can send via WhatsApp:
Briefing Commands
"morning"or"briefing"- Get current morning briefing"evening"or"recap"- Get evening recap"weekly"- Get weekly summary"plan"- Get full daily plan
Task Management
"done 1"- Mark task #1 as complete"done [task name]"- Mark named task as complete"tasks"- List all pending tasks"todo: [task]"- Quick add task to inbox
Habit Tracking
"done [habit]"- Log habit completion"skip [habit]"- Skip habit for today"streaks"- Show all active streaks"habits"- List today's habits
Inbox Processing
"inbox"- Show inbox count"process"- Start inbox processing"capture: [item]"- Quick capture to inbox
Energy & Reflection
"energy [1-5]"- Log energy level"reflect"- Start reflection prompt"wins"- Add today's wins"wins [text]"- Quick add win
Context & Projects
"show [project]"- Show project tasks"focus [area]"- Set focus area"context @[name]"- Switch context
Weekly Review
"review"- Start weekly review"goals"- Show goal progress"next week"- Set next week focus
Success Metrics
Track these to optimize the system:
- Message response rate (target: >80%)
- Time to task capture (<30 seconds)
- Briefing read rate (target: >90%)
- Habit completion rate improvement
- User satisfaction with notification timing
- Average session length
- "Too many messages" complaints (target: <5%)
Iterate based on:
- User feedback on timing and frequency
- Completion patterns (morning vs evening people)
- Response times (adjust send times)
- Habit streaks (celebrate more, remind less as habits stick)
Quick Install
/plugin add https://github.com/natea/ExoMind/tree/main/whatsapp-message-managementCopy and paste this command in Claude Code to install this skill
GitHub δ»εΊ
Related Skills
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
Algorithmic Art Generation
MetaThis skill helps developers create algorithmic art using p5.js, focusing on generative art, computational aesthetics, and interactive visualizations. It automatically activates for topics like "generative art" or "p5.js visualization" and guides you through creating unique algorithms with features like seeded randomness, flow fields, and particle systems. Use it when you need to build reproducible, code-driven artistic patterns.
business-rule-documentation
MetaThis skill provides standardized templates for systematically documenting business logic and domain knowledge following Domain-Driven Design principles. It helps developers capture business rules, process flows, decision trees, and terminology glossaries to maintain consistency between requirements and implementation. Use it when documenting domain models, creating business rule repositories, or bridging communication between business and technical teams.
huggingface-accelerate
DevelopmentHuggingFace Accelerate provides the simplest API for adding distributed training to PyTorch scripts with just 4 lines of code. It offers a unified interface for multiple distributed training frameworks like DeepSpeed, FSDP, and DDP while handling automatic device placement and mixed precision. This makes it ideal for developers who want to quickly scale their PyTorch training across multiple GPUs or nodes without complex configuration.
