Accesses the Google Calendar and Tasks API. Use this skill to view or manage calendars, events, schedules, or Google tasks.
~/.config/google-calendar/credentials.json.python3 -m venv ~/.config/google-calendar/venv
~/.config/google-calendar/venv/bin/pip install -r <skill_dir>/scripts/requirements.txt
<skill_dir>/scripts/gcal-auth<skill_dir>/scripts/gcal-auth --scopes https://www.googleapis.com/auth/tasks<skill_dir>/scripts/gcal-auth --scopes https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/tasks<skill_dir>/scripts/gcal list-calendars~/.config/google-calendar/credentials.json by default.~/.config/google-calendar/token.json by default.--token or GCAL_TOKEN_PATH to switch accounts or isolate environments.2026-01-22T10:00:00-08:00).YYYY-MM-DD for all-day events and set end to the next day (exclusive).--time-zone when the datetime has no offset.<skill_dir>/scripts/gcal list-calendars<skill_dir>/scripts/gcal list-events --calendar-id primary --time-min 2026-01-22T00:00:00-08:00 --time-max 2026-01-22T23:59:59-08:00<skill_dir>/scripts/gcal list-events --calendar-id primary --q "standup" --time-min ... --time-max ...<skill_dir>/scripts/gcal create-event --calendar-id primary --summary "Review" --start 2026-01-22T10:00:00-08:00 --end 2026-01-22T11:00:00-08:00<skill_dir>/scripts/gcal update-event --calendar-id primary --event-id <id> --summary "New title"<skill_dir>/scripts/gcal delete-event --calendar-id primary --event-id <id><skill_dir>/scripts/gcal freebusy --calendars primary,[email protected] --time-min ... --time-max ...<skill_dir>/scripts/gcal list-tasklists<skill_dir>/scripts/gcal list-tasks --tasklist <tasklist_id><skill_dir>/scripts/gcal create-task --tasklist <tasklist_id> --title "Buy milk" --due 2026-01-22T10:00:00-08:00<skill_dir>/scripts/gcal update-task --tasklist <tasklist_id> --task-id <id> --notes "Bring receipt"<skill_dir>/scripts/gcal delete-task --tasklist <tasklist_id> --task-id <id>call to hit any Calendar API endpoint:
<skill_dir>/scripts/gcal call GET /users/me/calendarList<skill_dir>/scripts/gcal call POST /calendars/primary/events --body-file /path/to/event.json--body-file or --body (JSON string) for complex payloads (attendees, recurrence, conferenceData).--token.