Claude-skill-registry gcal
Google Calendar CLI for listing calendars, managing events, and checking availability. Use when you need to view, create, update, or delete calendar events, check free/busy status, or list calendars.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gcal" ~/.claude/skills/majiayu000-claude-skill-registry-gcal && rm -rf "$T"
manifest:
skills/data/gcal/SKILL.mdsource content
Google Calendar CLI (gccli)
You have access to
gccli - a minimal Google Calendar CLI. All commands use the format:
gccli <email> <command> [options]
Available Accounts
Commands
List Calendars
gccli <email> calendars
Returns: ID, name, access role.
List Events
gccli <email> events <calendarId> [options]
Options:
- Start time (ISO 8601, default: now)--from <datetime>
- End time (ISO 8601, default: 1 week from now)--to <datetime>
- Max results (default: 10)--max <n>
- Free text search--query <q>
Examples:
gccli ben@factory.ai events primary gccli ben@factory.ai events primary --from 2024-01-01T00:00:00Z --max 50 gccli ben@factory.ai events primary --query "meeting"
Get Event Details
gccli <email> event <calendarId> <eventId>
Create Event
gccli <email> create <calendarId> --summary <s> --start <dt> --end <dt> [options]
Options:
- Event title (required)--summary <s>
- Start time (required, ISO 8601)--start <datetime>
- End time (required, ISO 8601)--end <datetime>
- Event description--description <d>
- Event location--location <l>
- Attendees (comma-separated)--attendees <emails>
- Create all-day event (use YYYY-MM-DD for start/end)--all-day
Examples:
gccli ben@factory.ai create primary --summary "Meeting" --start 2024-01-15T10:00:00 --end 2024-01-15T11:00:00 gccli ben@factory.ai create primary --summary "Vacation" --start 2024-01-20 --end 2024-01-25 --all-day gccli ben@factory.ai create primary --summary "Team Sync" --start 2024-01-15T14:00:00 --end 2024-01-15T15:00:00 --attendees a@x.com,b@x.com
Update Event
gccli <email> update <calendarId> <eventId> [options]
Options: same as create (all optional).
Delete Event
gccli <email> delete <calendarId> <eventId>
Check Free/Busy
gccli <email> freebusy <calendarIds> --from <dt> --to <dt>
Calendar IDs are comma-separated.
Example:
gccli ben@factory.ai freebusy primary,work@group.calendar.google.com --from 2024-01-15T00:00:00Z --to 2024-01-16T00:00:00Z
List Access Control Rules
gccli <email> acl <calendarId>
Returns: scope type, scope value, role.
Notes
- Use
as calendarId to reference the main calendarprimary - Date/times should be ISO 8601 format (e.g., 2024-01-15T10:00:00 or 2024-01-15T10:00:00Z)
- For all-day events, use date format YYYY-MM-DD