Pi-skills gccli
Google Calendar CLI for listing calendars, viewing/creating/updating events, and checking availability.
install
source · Clone the upstream repo
git clone https://github.com/badlogic/pi-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/badlogic/pi-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gccli" ~/.claude/skills/badlogic-pi-skills-gccli && rm -rf "$T"
manifest:
gccli/SKILL.mdsource content
Google Calendar CLI
Command-line interface for Google Calendar operations.
Installation
npm install -g @mariozechner/gccli
Setup
Google Cloud Console (one-time)
- Create a new project (or select existing)
- Enable the Google Calendar API
- Set app name in OAuth branding
- Add test users (all Gmail addresses you want to use)
- Create OAuth client:
- Click "Create Client"
- Application type: "Desktop app"
- Download the JSON file
Configure gccli
First check if already configured:
gccli accounts list
If no accounts, guide the user through setup:
- Ask if they have a Google Cloud project with Calendar API enabled
- If not, walk them through the Google Cloud Console steps above
- Have them download the OAuth credentials JSON
- Run:
gccli accounts credentials ~/path/to/credentials.json - Run:
(usegccli accounts add <email>
for browserless OAuth)--manual
Usage
Run
gccli --help for full command reference.
Common operations:
- List all calendarsgccli <email> calendars
- List eventsgccli <email> events <calendarId> [--from <dt>] [--to <dt>]
- Get event detailsgccli <email> event <calendarId> <eventId>
- Create eventgccli <email> create <calendarId> --summary <s> --start <dt> --end <dt>
- Check availabilitygccli <email> freebusy <calendarIds> --from <dt> --to <dt>
Use
primary as calendarId for the main calendar.
Date/Time Format
- Timed events:
(UTC) orYYYY-MM-DDTHH:MM:SSZ
(local)YYYY-MM-DDTHH:MM:SS - All-day events:
withYYYY-MM-DD
flag--all-day
Data Storage
- OAuth client credentials~/.gccli/credentials.json
- Account tokens~/.gccli/accounts.json