Google Calendar
Accesses the Google Calendar and Tasks API. Use this skill to view or manage calendars, events, schedules, or Google tasks.
Specification
- Skill ID
- dotneet/claude-code-marketplace/google-calendar
- Publisher
- dotneet
- Repository
- claude-code-marketplace
- Installs
- 0
- Files
- 7
- Synced
- Sep 23, 2026
How to use it
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
dotneet/claude-code-marketplace/google-calendarInstalls these files- README.md
- SKILL.md
- scripts/gcal
- scripts/gcal-auth
- scripts/gcal_api.py
- scripts/gcal_auth.py
- scripts/requirements.txt
What this skill tells the agent
Google Calendar + Tasks Access
Quick start
- Create a Google Cloud OAuth client (Desktop app) and save the credentials JSON to
~/.config/google-calendar/credentials.json. - Install dependencies (venv recommended): ``
bash python3 -m venv ~/.config/google-calendar/venv ~/.config/google-calendar/venv/bin/pip install -r <skill_dir>/scripts/requirements.txt`` - Authenticate and store a token:
- Calendar only:
<skill_dir>/scripts/gcal-auth- Tasks only:
<skill_dir>/scripts/gcal-auth --scopes https://www.googleapis.com/auth/tasks- Calendar + Tasks (single token):
<skill_dir>/scripts/gcal-auth --scopes https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/tasks- Call the API:
<skill_dir>/scripts/gcal list-calendars
Credentials and tokens
- Credentials are expected at
~/.config/google-calendar/credentials.jsonby default. - Tokens are stored at
~/.config/google-calendar/token.jsonby default. - Use
--tokenorGCAL_TOKEN_PATHto switch accounts or isolate environments.
Date/time rules
- Use RFC3339 for timed events (e.g.,
2026-01-22T10:00:00-08:00). - Use
YYYY-MM-DDfor all-day events and setendto the next day (exclusive). - Set
--time-zonewhen the datetime has no offset.
Common commands
- List calendars:
<skill_dir>/scripts/gcal list-calendars- List events:
<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- Search events:
<skill_dir>/scripts/gcal list-events --calendar-id primary --q "standup" --time-min ... --time-max ...- Create event (simple):
<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- Update event (simple):
<skill_dir>/scripts/gcal update-event --calendar-id primary --event-id <id> --summary "New title"- Delete event:
<skill_dir>/scripts/gcal delete-event --calendar-id primary --event-id <id>- Free/busy:
<skill_dir>/scripts/gcal freebusy --calendars primary,team@company.com --time-min ... --time-max ...- List task lists:
<skill_dir>/scripts/gcal list-tasklists- List tasks:
<skill_dir>/scripts/gcal list-tasks --tasklist <tasklist_id>- Create task:
<skill_dir>/scripts/gcal create-task --tasklist <tasklist_id> --title "Buy milk" --due 2026-01-22T10:00:00-08:00- Update task:
<skill_dir>/scripts/gcal update-task --tasklist <tasklist_id> --task-id <id> --notes "Bring receipt"- Delete task:
<skill_dir>/scripts/gcal delete-task --tasklist <tasklist_id> --task-id <id>
Advanced usage
- Use
callto 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- Use
--body-fileor--body(JSON string) for complex payloads (attendees, recurrence, conferenceData). - Run multiple accounts by using different token files with
--token.
Safety
- Confirm intent before creating, updating, or deleting events.
- Keep OAuth credentials and token files out of git.
More from dotneet
Use this skill in a project
Open any RiverX project, search the Skills panel for dotneet/claude-code-marketplace/google-calendar, and install it in one click.
