Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add Andrejones92/canifi-life-os --skill "google-calendar"
Install specific skill from multi-skill repository
# Description
Enables Claude to create, manage, and organize events in Google Calendar via Playwright MCP
# SKILL.md
name: google-calendar
description: Enables Claude to create, manage, and organize events in Google Calendar via Playwright MCP
category: google
Google Calendar Skill
Overview
Claude can manage your Google Calendar to create events, schedule meetings, set reminders, check availability, and organize your time. This includes working with multiple calendars, sending invites, and managing recurring events.
Quick Install
curl -sSL https://canifi.com/skills/google-calendar/install.sh | bash
Or manually:
cp -r skills/google-calendar ~/.canifi/skills/
Setup
Configure via canifi-env:
# First, ensure canifi-env is installed:
# curl -sSL https://canifi.com/install.sh | bash
canifi-env set GOOGLE_EMAIL "[email protected]"
Privacy & Authentication
Your credentials, your choice. Canifi LifeOS respects your privacy.
Option 1: Manual Browser Login (Recommended)
If you prefer not to share credentials with Claude Code:
1. Complete the Browser Automation Setup using CDP mode
2. Login to the service manually in the Playwright-controlled Chrome window
3. Claude will use your authenticated session without ever seeing your password
Option 2: Environment Variables
If you're comfortable sharing credentials, you can store them locally:
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"
Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
Capabilities
- Create and edit calendar events
- Schedule meetings with attendees
- Check availability and find free time slots
- Set reminders and notifications
- Create recurring events
- Manage multiple calendars
- Accept or decline meeting invitations
- View daily, weekly, or monthly schedules
- Create and manage event RSVPs
- Set event locations and video conferencing
- Add event descriptions and attachments
- Color-code events by category
Usage Examples
Example 1: Create Event
User: "Schedule a team meeting tomorrow at 2pm for 1 hour"
Claude: Creates event titled "Team Meeting" for tomorrow 2-3pm,
adds to primary calendar. Returns: "Created: Team Meeting tomorrow 2-3pm"
Example 2: Check Schedule
User: "What do I have scheduled this week?"
Claude: Opens week view, reads all events. Reports:
"This week: Monday - Team standup 9am, Client call 2pm..."
Example 3: Find Free Time
User: "When am I free for a 2-hour meeting this week?"
Claude: Analyzes week's schedule, identifies gaps of 2+ hours.
Reports: "Available slots: Tuesday 10am-12pm, Wednesday 1-4pm..."
Example 4: Create Recurring Event
User: "Set up a weekly 1-on-1 with Sarah every Monday at 10am"
Claude: Creates recurring event "1-on-1 with Sarah" every Monday 10am,
adds Sarah as attendee, sends invite. Confirms: "Recurring meeting created"
Authentication Flow
- Claude navigates to calendar.google.com via Playwright MCP
- Authenticates with GOOGLE_EMAIL if needed
- Handles 2FA if prompted (notifies user via iMessage)
- Maintains session for subsequent calendar operations
Selectors Reference
// Create button
'[aria-label="Create"]'
// Event quick add
'[aria-label="Quick add"]'
// Date navigation
'[aria-label="Go to today"]'
'[aria-label="Next"]'
'[aria-label="Previous"]'
// View switchers
'[aria-label="Day"]'
'[aria-label="Week"]'
'[aria-label="Month"]'
// Event dialog
'[data-eventid]'
// Event title input
'[aria-label="Add title"]'
// Date/time inputs
'[aria-label="Start date"]'
'[aria-label="End date"]'
'[aria-label="Start time"]'
'[aria-label="End time"]'
// Add guests
'[aria-label="Add guests"]'
// Add location
'[aria-label="Add location"]'
// Save button
'[aria-label="Save"]'
// Calendar list
'.calendar-list'
Error Handling
- Login Failed: Retry 3 times, notify user via iMessage
- Session Expired: Re-authenticate automatically
- Event Creation Failed: Retry, check for conflicts, notify user
- Invite Send Failed: Retry sending, verify email addresses
- Calendar Not Found: List available calendars, ask user to specify
- Time Conflict: Warn user of overlap, ask to proceed or reschedule
Self-Improvement Instructions
When you learn a better way to accomplish a task with Google Calendar:
1. Document the improvement in your response
2. Suggest updating this skill file with the new approach
3. Include specific navigation patterns that work better
4. Note timezone handling improvements
Notes
- All times are interpreted in user's local timezone unless specified
- Google Meet links can be auto-added to events
- Recurring events: daily, weekly, monthly, yearly, custom
- Event reminders: email or popup, up to 4 weeks before
- Guest permissions: modify event, invite others, see guest list
- Calendar colors can be customized per calendar
- Free/busy visibility can be set per event
- Keyboard shortcut: C to create new event
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.