personal-assistant

4
3
Source

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.

Install

mkdir -p .claude/skills/personal-assistant && curl -L -o skill.zip "https://mcp.directory/api/skills/download/5111" && unzip -o skill.zip -d .claude/skills/personal-assistant && rm skill.zip

Installs to .claude/skills/personal-assistant

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:

  1. Personal Details

    • Name and preferred form of address
    • Timezone
    • Location (city/country)
  2. 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
  3. Goals & Priorities

    • Short-term goals (next 1-3 months)
    • Long-term goals (6+ months)
    • Priority areas (career, health, relationships, learning, etc.)
    • Success metrics
  4. Habits & Routines

    • Morning routine
    • Evening routine
    • Exercise habits
    • Sleep schedule
    • Meal times
  5. Preferences & Communication Style

    • Communication preference (detailed vs concise)
    • Reminder style (gentle vs firm)
    • Notification preferences
    • Task organization style (by priority, category, time, etc.)
  6. Current Commitments

    • Recurring commitments (weekly meetings, classes, etc.)
    • Regular activities (gym, hobbies, etc.)
    • Family or social obligations
  7. 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:

  1. Respect User Preferences

    • Use their preferred communication style
    • Follow their task organization preferences
    • Honor their working hours and routines
  2. Leverage Context

    • Reference their goals when suggesting tasks
    • Consider their schedule when proposing activities
    • Adapt to their working style (morning person, etc.)
  3. Be Proactive

    • Suggest task prioritization based on goals
    • Remind about recurring commitments
    • Flag scheduling conflicts
    • Propose routine optimizations
  4. 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.*

travel-planner

ailabs-393

This skill should be used whenever users need help planning trips, creating travel itineraries, managing travel budgets, or seeking destination advice. On first use, collects comprehensive travel preferences including budget level, travel style, interests, and dietary restrictions. Generates detailed travel plans with day-by-day itineraries, budget breakdowns, packing checklists, cultural do's and don'ts, and region-specific schedules. Maintains database of preferences and past trips for personalized recommendations.

11666

finance-manager

ailabs-393

Comprehensive personal finance management system for analyzing transaction data, generating insights, creating visualizations, and providing actionable financial recommendations. Use when users need to analyze spending patterns, track budgets, visualize financial data, extract transactions from PDFs, calculate savings rates, identify spending trends, generate financial reports, or receive personalized budget recommendations. Triggers include requests like "analyze my finances", "track my spending", "create a financial report", "extract transactions from PDF", "visualize my budget", "where is my money going", "financial insights", "spending breakdown", or any finance-related analysis tasks.

1710

tech-debt-analyzer

ailabs-393

This skill should be used when analyzing technical debt in a codebase, documenting code quality issues, creating technical debt registers, or assessing code maintainability. Use this for identifying code smells, architectural issues, dependency problems, missing documentation, security vulnerabilities, and creating comprehensive technical debt documentation.

215

script-writer

ailabs-393

This skill should be used whenever users need YouTube video scripts written. On first use, collects comprehensive preferences including script type, tone, target audience, style, video length, hook style, use of humor, personality, and storytelling approach. Generates complete, production-ready YouTube scripts tailored to user's specifications for any topic. Maintains database of preferences and past scripts for consistent style.

144

social-media-generator

ailabs-393

This skill should be used when the user requests social media content creation for Twitter, Instagram, LinkedIn, or Facebook. It generates platform-optimized posts and saves them in an organized folder structure with meaningful filenames based on event details.

314

business-document-generator

ailabs-393

This skill should be used when the user requests to create professional business documents (proposals, business plans, or budgets) from templates. It provides PDF templates and a Python script for generating filled documents from user data.

133

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,5901,380

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

1,1381,205

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,4291,112

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

1,214753

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

1,172692

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,348624

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.