personal-assistant
A personal assistant that tracks tasks, schedules, and preferences.
Install
mkdir -p .claude/skills/personal-assistant && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5111" && unzip -o skill.zip -d .claude/skills/personal-assistant && rm skill.zipInstalls to .claude/skills/personal-assistant
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
This skill should be used whenever users request personal assistance tasks such as schedule management, task tracking, reminder setting, habit monitoring, productivity advice, time management, or any query requiring personalized responses based on user preferences and context. On first use, collects comprehensive user information including schedule, working habits, preferences, goals, and routines. Maintains an intelligent database that automatically organizes and prioritizes information, keeping relevant data and discarding outdated context.Key capabilities
- →Maintains persistent user profile data
- →Tracks recurring habits and task deadlines
- →Adapts recommendations based on past productivity trends
- →Manages context-aware reminders and schedules
How it works
It writes to and reads from a persistent local JSON database, updating context with each interaction.
Inputs & outputs
When to use personal-assistant
- →Manage daily to-do lists
- →Set up work habit reminders
- →Organize meeting schedules and deadlines
About this skill
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:
python3 scripts/assistant_db.py has_profile
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:
Hi! I'm your personal assistant. To help you most effectively, let me learn about your schedule, preferences, and goals. This will take just a few minutes.
Let's start with the basics:
1. What's your name, and how would you like me to address you?
2. What timezone are you in?
3. What's your typical work schedule like?
[Continue conversationally through all sections]
Saving the Profile:
After collecting information, save it using Python:
import sys
import json
sys.path.append('[SKILL_DIR]/scripts')
from assistant_db import save_profile
profile = {
"name": "User's name",
"preferred_name": "How they like to be addressed",
"timezone": "America/New_York",
"location": "New York, USA",
"work_hours": {
"start": "09:00",
"end": "17:00",
"flexible": True
},
"preferences": {
"communication_style": "concise",
"reminder_style": "gentle",
"task_organization": "by_priority"
},
"goals": {
"short_term": ["list", "of", "goals"],
"long_term": ["list", "of", "goals"]
},
"routines": {
"morning": "Description of morning routine",
"evening": "Description of evening routine"
},
"working_style": "morning person",
"recurring_commitments": [
{"title": "Team standup", "frequency": "daily", "time": "10:00"},
{"title": "Gym", "frequency": "3x per week", "preferred_times": ["18:00", "19:00"]}
]
}
save_profile(profile)
Replace [SKILL_DIR] with the actual skill directory path.
Confirmation:
Perfect! I've saved your profile. From now on, I'll provide personalized assistance based on your schedule, preferences, and goals. I'll help you stay organized, track your tasks, and optimize your time.
You can update your profile anytime by asking me to modify your preferences or schedule.
Step 3: Load Profile and Context
For all personal assistance queries, load the user's data:
# Check profile status
python3 scripts/assistant_db.py has_profile
# Get full profile
python3 scripts/assistant_db.py get_profile
# Get current tasks
python3 scripts/assistant_db.py get_tasks
# Get schedule
python3 scripts/assistant_db.py get_schedule
# Get context and notes
python3 scripts/assistant_db.py get_context
# Get quick summary
python3 scripts/assistant_db.py summary
Or use Python imports for more control:
import sys
sys.path.append('[SKILL_DIR]/scripts')
from assistant_db import get_profile, get_tasks, get_schedule, get_context
profile = get_profile()
tasks = get_tasks()
schedule = get_schedule()
context = get_context()
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
User: "I need to finish the quarterly report"
Claude: [Loads profile - finds: works 9-5, morning person, prefers focused blocks]
I'll add that to your tasks. Based on your preference for morning work, I recommend
scheduling this during your 9-11am block tomorrow when you're most productive.
The report is due when? I'll set an appropriate priority and reminder.
[Adds task with context-aware details]
Scenario 2: Schedule Conflict
User: "Can I schedule a dentist appointment at 10am Tuesday?"
Claude: [Checks schedule - finds: Team standup at 10am daily]
I notice you have your daily team standup at 10am. Would you like to:
1. Schedule the dentist for 11am instead
2. Move your standup for that day
3. Choose a different day entirely
What works best for you?
Scenario 3: Goal-Aligned Suggestion
User: "What should I focus on this week?"
Claude: [Loads profile - finds short-term goal: "Learn Python"]
Based on your goal to learn Python, I recommend dedicating 3-4 hours this week to:
1. Tuesday 7-8pm: Python tutorial (after gym, before evening routine)
2. Thursday 7-8pm: Practice exercises
3. Saturday 10-12pm: Build a small project
This fits your schedule and keeps you on track for your 3-month learning goal.
Shall I add these to your calendar?
Step 5: Task Management Operations
Use the task management system for organizing user tasks:
Adding Tasks:
import sys
sys.path.append('[SKILL_DIR]/scripts')
from assistant_db import add_task, add_context
task = {
"title": "Complete quarterly report",
"description": "Q4 financial analysis",
"priority": "high", # high, medium, low
"category": "work",
"due_date": "2025-11-15",
"estimated_time": "3 hours"
}
add_task(task)
add_context("interaction", "Added Q4 report task", "normal")
Quick Task Operations via CLI:
# List all tasks in formatted view
python3 scripts/task_helper.py list
# Add a quick task
python3 scripts/task_helper.py add "Buy groceries" medium "2025-11-08" personal
# Complete a task
python3 scripts/task_helper.py complete <task_id>
# View overdue tasks
python3 scripts/task_helper.py overdue
# View today's tasks
python3 scripts/task_helper.py today
# View this week's tasks
python3 scripts/task_helper.py week
# View tasks by category
python3 scripts/task_helper.py category work
Completing Tasks:
from assistant_db import complete_task
complete_task(task_id)
Updating Tasks:
from assistant_db import update_task
update_task(task_id, {
"priority": "urgent",
"due_date": "2025-11-10"
})
Step 6: Schedule and Event Management
Manage calendar events and recurring commitments:
Adding Events:
from assistant_db import add_event
# One-time event
event = {
"title": "Dentist appointment",
"date": "2025-11-12",
"time": "14:00",
"duration": "1 hour",
"location": "Downtown Dental",
"notes": "Bring insurance card"
}
add_event(event, recurring=False)
# Recurring event
recurring_event = {
"title": "Team standup",
"frequency": "daily",
"time": "10:00",
"duration": "15 minutes",
"days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
}
add_event(recurring_event, recurring=True)
Getting Upcoming Events:
from assistant_db import get_events
# Get events for next 7 days
upcoming = get_events(days_ahead=7)
# Get events for next 30 days
monthly = get_events(days_ahead=30)
Step 7: Context Management and Memory
Maintain context for continuity and personalized assistance:
Adding Context:
from assistant_db import add_context
# Track an interaction
add_context("interaction", "User mentioned struggling with morning productivity", "normal")
# Add an important note (kept indefinitely)
add_context("note", "User prefers written communication over calls for work matters", "high")
# Add temporary context (auto-cleaned after 7 days)
add_context("tempora
---
*Content truncated.*
When not to use it
- →Short-term sessions with no memory requirements
- →Sensitive data requiring extreme isolation
Prerequisites
Limitations
- →Requires consistent manual input of goals
- →Data retention depends on the local database state
How it compares
It provides long-term personalized assistance by recalling previous constraints instead of treating each session as blank.
Compared to similar skills
personal-assistant side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| personal-assistant (this skill) | 3 | 9mo | Review | Beginner |
| notion-meeting-intelligence | 6 | 6mo | No flags | Intermediate |
| resume-handoff | 3 | 6mo | No flags | Intermediate |
| meeting-briefing | 2 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by ailabs-393
View all by ailabs-393 →You might also like
notion-meeting-intelligence
openai
Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.
resume-handoff
parcadei
Resume work from handoff document with context analysis and validation
meeting-briefing
anthropics
Prepare structured briefings for meetings with legal relevance and track resulting action items. Use when preparing for contract negotiations, board meetings, compliance reviews, or any meeting where legal context, background research, or action tracking is needed.
digital-brain
muratcankoylan
This skill should be used when the user asks to "write a post", "check my voice", "look up contact", "prepare for meeting", "weekly review", "track goals", or mentions personal brand, content creation, network management, or voice consistency.
meeting-sync
amanaiproduct
Sync new Granola meetings to local Knowledge folder. Use during morning planning, when user asks "what should I do today", or asks to review/sync meetings.
my-skill-name
dadbodgeoff
Brief description of what this skill does and when to use it. Be specific about capabilities and use cases to help agents decide when to load this skill.