Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sanjay3290 avatar

Google Calendar

  • 422 installs
  • 364 repo stars
  • Updated July 9, 2026
  • sanjay3290/ai-skills

google-calendar is an agent skill that integrates Google Calendar through standalone OAuth Python scripts so developers list, create, update, delete events, find free time, and respond to invitations without a full MCP s

About

google-calendar is version 1.0 of a portable agent skill in sanjay3290/ai-skills with Apache-2.0 licensing. It authenticates via scripts/auth.py login using system keyring storage and performs all calendar operations through scripts/gcal.py commands for listing calendars and events, creating and updating ISO 8601 timed events, deleting entries, finding free slots across attendees, and accepting or declining invitations. The skill is a lightweight alternative to a full Google Workspace MCP server and requires a Google Workspace account—personal Gmail is not supported. Developers reach for google-calendar when Claude Code, Cursor, Codex, or Gemini CLI agents need calendar automation during development workflows such as scheduling standups, checking availability, or creating meeting events from the terminal.

  • google-calendar

Google Calendar by the numbers

  • 422 all-time installs (skills.sh)
  • +8 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #1,046 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sanjay3290/ai-skills --skill google-calendar

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs422
repo stars364
Last updatedJuly 9, 2026
Repositorysanjay3290/ai-skills

How do you integrate Google Calendar from an AI agent?

Use google-calendar for development tasks

Who is it for?

Developers wiring agent workflows to Google Workspace Calendar who want a lightweight OAuth CLI instead of deploying a full Google MCP server.

Skip if: Users on personal Gmail accounts or teams needing Gmail, Drive, and Sheets in one MCP should use a full Google Workspace MCP integration instead.

When should I use this skill?

The developer asks to check a calendar, schedule a meeting, find available time, create or update an event, or respond to a calendar invitation.

What you get

Authenticated calendar CLI commands, created or updated event records, free-time slot results, and invitation response confirmations

  • Authenticated calendar session
  • Created or updated calendar events
  • Free-time slot recommendations

By the numbers

  • Skill version 1.0 with two Python CLI entrypoints: scripts/auth.py and scripts/gcal.py
  • Lists events with a default next-30-days time window

Files

SKILL.mdMarkdownGitHub ↗

Google Calendar

Lightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.

⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.

First-Time Setup

Authenticate with Google (opens browser):

python scripts/auth.py login

Check authentication status:

python scripts/auth.py status

Logout when needed:

python scripts/auth.py logout

Commands

All operations via scripts/gcal.py. Auto-authenticates on first use if not logged in.

List Calendars

python scripts/gcal.py list-calendars

List Events

# List events from primary calendar (default: next 30 days)
python scripts/gcal.py list-events

# List events with specific time range
python scripts/gcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z

# List events from a specific calendar
python scripts/gcal.py list-events --calendar "work@example.com"

# Limit results
python scripts/gcal.py list-events --max-results 10

Get Event Details

python scripts/gcal.py get-event EVENT_ID
python scripts/gcal.py get-event EVENT_ID --calendar "work@example.com"

Create Event

# Basic event
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z"

# Event with description and location
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --description "Weekly sync" --location "Conference Room A"

# Event with attendees
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --attendees user1@example.com user2@example.com

# Event on specific calendar
python scripts/gcal.py create-event "Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --calendar "work@example.com"

Update Event

# Update event title
python scripts/gcal.py update-event EVENT_ID --summary "New Title"

# Update event time
python scripts/gcal.py update-event EVENT_ID --start "2024-01-15T14:00:00Z" --end "2024-01-15T15:00:00Z"

# Update multiple fields
python scripts/gcal.py update-event EVENT_ID \
    --summary "Updated Meeting" --description "New agenda" --location "Room B"

# Update attendees
python scripts/gcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com

Delete Event

python scripts/gcal.py delete-event EVENT_ID
python scripts/gcal.py delete-event EVENT_ID --calendar "work@example.com"

Find Free Time

Find the first available slot for a meeting with specified attendees:

# Find 30-minute slot for yourself
python scripts/gcal.py find-free-time \
    --attendees me \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-15T17:00:00Z" \
    --duration 30

# Find 60-minute slot with multiple attendees
python scripts/gcal.py find-free-time \
    --attendees me user1@example.com user2@example.com \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-19T17:00:00Z" \
    --duration 60

Respond to Event Invitation

# Accept an invitation
python scripts/gcal.py respond-to-event EVENT_ID accepted

# Decline an invitation
python scripts/gcal.py respond-to-event EVENT_ID declined

# Mark as tentative
python scripts/gcal.py respond-to-event EVENT_ID tentative

# Respond without notifying organizer
python scripts/gcal.py respond-to-event EVENT_ID accepted --no-notify

Date/Time Format

All times use ISO 8601 format with timezone:

  • UTC: 2024-01-15T10:30:00Z
  • With offset: 2024-01-15T10:30:00-05:00 (EST)

Calendar ID Format

  • Primary calendar: Use primary or omit the --calendar flag
  • Other calendars: Use the calendar ID from list-calendars (usually an email address)

Token Management

Tokens stored securely using the system keyring:

  • macOS: Keychain
  • Windows: Windows Credential Locker
  • Linux: Secret Service API (GNOME Keyring, KDE Wallet, etc.)

Service name: google-calendar-skill-oauth

Tokens are automatically refreshed when expired using Google's cloud function.

Related skills

Forks & variants (1)

Google Calendar has 1 known copy in the catalog totaling 62 installs. They canonicalize to this original listing.

How it compares

Pick google-calendar over a full Google Workspace MCP when agents only need calendar CRUD and free-busy lookup with minimal setup overhead.

FAQ

Does google-calendar require an MCP server?

google-calendar runs without an MCP server. All operations go through scripts/gcal.py after OAuth login via scripts/auth.py, making it a lightweight calendar alternative to a full Google Workspace MCP setup.

What accounts does google-calendar support?

google-calendar requires a Google Workspace account. Personal Gmail accounts are not supported according to the skill documentation.

How does google-calendar store OAuth tokens?

google-calendar stores tokens in the system keyring under service name google-calendar-skill-oauth, using macOS Keychain, Windows Credential Locker, or Linux Secret Service, with automatic refresh on expiry.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.