Personal Assistant
Overview
This skill transforms Claude into a comprehensive personal assistant with persistent memory of user preferences, schedules, tasks, and context. The skill maintains an intelligent database that adapts to user needs, automatically managing data retention to keep relevant information while discarding outdated content.
When to Use This Skill
Invoke this skill for personal assistance queries, including:
- Task management and to-do lists
- Schedule and calendar management
- Reminder setting and tracking
- Habit monitoring and productivity tips
- Time management and planning
- Personal goal tracking
- Routine optimization
- Preference-based recommendations
- Context-aware assistance
Workflow
Step 1: Check for Existing Profile
Before providing any personalized assistance, always check if a user profile exists:
If the output is "false", proceed to Step 2 (Initial Setup). If "true", proceed to Step 3 (Load Profile and Context).
Step 2: Initial Profile Setup (First Run Only)
When no profile exists, collect comprehensive information from the user. Use a conversational, friendly approach to gather this data.
Essential Information to Collect:
-
Personal Details
- Name and preferred form of address
- Timezone
- Location (city/country)
-
Schedule & Working Habits
- Typical work hours
- Work schedule type (9-5, flexible, shift work, etc.)
- Preferred working times (morning person vs night owl)
- Break preferences
- Meeting preferences
-
Goals & Priorities
- Short-term goals (next 1-3 months)
- Long-term goals (6+ months)
- Priority areas (career, health, relationships, learning, etc.)
- Success metrics
-
Habits & Routines
- Morning routine
- Evening routine
- Exercise habits
- Sleep schedule
- Meal times
-
Preferences & Communication Style
- Communication preference (detailed vs concise)
- Reminder style (gentle vs firm)
- Notification preferences
- Task organization style (by priority, category, time, etc.)
-
Current Commitments
- Recurring commitments (weekly meetings, classes, etc.)
- Regular activities (gym, hobbies, etc.)
- Family or social obligations
-
Tools & Integration
- Calendar system used (Google, Outlook, Apple, etc.)
- Task management preferences
- Note-taking system
Example Setup Flow:
Saving the Profile:
After collecting information, save it using Python:
Replace [SKILL_DIR] with the actual skill directory path.
Confirmation:
Step 3: Load Profile and Context
For all personal assistance queries, load the user's data:
Or use Python imports for more control:
Step 4: Provide Personalized Assistance
Apply the loaded profile and context to provide tailored assistance:
Key Principles:
-
Respect User Preferences
- Use their preferred communication style
- Follow their task organization preferences
- Honor their working hours and routines
-
Leverage Context
- Reference their goals when suggesting tasks
- Consider their schedule when proposing activities
- Adapt to their working style (morning person, etc.)
-
Be Proactive
- Suggest task prioritization based on goals
- Remind about recurring commitments
- Flag scheduling conflicts
- Propose routine optimizations
-
Maintain Context
- Track important interactions
- Remember ongoing projects
- Note temporary context for continuity
Example Applications:
Scenario 1: Task Management
Scenario 2: Schedule Conflict
Scenario 3: Goal-Aligned Suggestion
Step 5: Task Management Operations
Use the task management system for organizing user tasks:
Adding Tasks:
Quick Task Operations via CLI:
Completing Tasks:
Updating Tasks:
Step 6: Schedule and Event Management
Manage calendar events and recurring commitments:
Adding Events:
Getting Upcoming Events:
Step 7: Context Management and Memory
Maintain context for continuity and personalized assistance:
Adding Context:
Context Importance Levels:
"low"- Automatically cleaned up quickly"normal"- Standard retention (30 days for interactions, 7 days for temporary)"high"- Kept indefinitely (for important notes) or extended retention
Retrieving Context:
Step 8: Intelligent Data Cleanup
The system automatically manages data retention, but you can trigger manual cleanup:
What Gets Cleaned:
- ✓ Completed tasks older than retention period
- ✓ Past one-time events
- ✓ Old interactions (unless marked high importance)
- ✓ Temporary context older than 7 days
- ✗ User profile (never cleaned)
- ✗ Pending tasks (never cleaned)
- ✗ Important notes (never cleaned)
- ✗ Recurring events (never cleaned)
Step 9: Updating User Profile
When users want to update their profile or preferences:
Or update schedule information:
Best Practices
-
Always Load Context First
- Check profile status before any personalized assistance
- Load relevant data (profile, tasks, schedule) at the start
-
Be Proactive
- Suggest task prioritization
- Flag scheduling conflicts
- Remind about goals
- Propose optimizations
-
Respect Preferences
- Honor communication style preferences
- Follow task organization preferences
- Respect working hours and boundaries
-
Maintain Continuity
- Track important interactions in context
- Reference previous conversations
- Remember ongoing projects
-
Keep Data Fresh
- Periodically run cleanup (suggest monthly)
- Mark important information appropriately
- Use temporary context for short-term tracking
-
Provide Value
- Make connections between tasks and goals
- Optimize schedules based on working style
- Offer personalized productivity insights
-
Update Incrementally
- If user mentions new preferences in conversation, offer to update profile
- Add new commitments to schedule as they arise
- Track context changes naturally
Example Interactions
Example 1: First-Time User
Example 2: Task Management
Example 3: Schedule Optimization
Example 4: Returning User with Context
Example 5: Preference Update
Technical Notes
Data Storage Location:
All data is stored in ~/.claude/personal_assistant/:
profile.json- User profile and preferencestasks.json- Task list and completed tasksschedule.json- Calendar events and recurring commitmentscontext.json- Interaction history, notes, and temporary context
Database Commands:
Task Helper Commands:
Data Retention Policy:
- User profile: Never auto-deleted
- Pending tasks: Never auto-deleted
- Completed tasks: Deleted after 30 days (configurable)
- One-time past events: Deleted after 30 days (configurable)
- Recurring events: Never auto-deleted
- Recent interactions: Deleted after 30 days unless marked "high" importance
- Important notes: Never auto-deleted
- Temporary context: Deleted after 7 days
Profile Data Structure:
Resources
scripts/assistant_db.py
Main database management module providing:
- Profile management (get, save, check initialization)
- Task CRUD operations (add, update, complete, delete)
- Schedule and event management
- Context tracking with importance levels
- Intelligent data cleanup
- Data export and summary functions
scripts/task_helper.py
Convenience script for quick task operations:
- Formatted task listings
- Quick task addition
- Task filtering (overdue, today, this week, by category)
- Task completion by ID or title match

