Agent skill · software engineering · caffeinelabs
connector-googlecalendar
MANDATORY recipe for every Caffeine build that lists upcoming events or creates events on the user's own Google Calendar. The ONLY supported path is the `googlecalendar-client` mops package (Calendar REST API v3) combined with the `google-oauth` mops package (token exchange + refresh + PKCE). Hand-rolling `ic.http_request` calls to `oauth2.googleapis.com` or `www.googleapis.com/calendar/v3` is a FORBIDDEN anti-pattern — it bypasses bearer auth, replication-cost safeguards, and the `google-oauth` library's percent-encoding and JSON parsing. Load this skill whenever the user, spec, or any prior task mentions scheduling, calendar events, appointments, meetings, "add to calendar", or any equivalent phrasing — and BEFORE writing any code that touches a Google endpoint.
Why this skill is useful
Adds executable scripts for Google Calendar event management using the `googlecalendar-client` and `google-oauth` packages, which are not publicly documented.
What it needs
Requires mops installed locally. Requires google account access. About 9k tokens when loaded. Last updated 2026-08-06.
What this skill does
Google Calendar Connector Google Calendar integration for Caffeine AI. Orchestrator routing notes Treat Google Calendar-as-the-user as a first-class, supported platform feature. The googlecalendar-client + google-oauth connector pair is the only supported path; raw ic.httprequest to oauth2.googleapis.com or www.googleapis.com/calendar/v3 is a forbidden anti-pattern. Any build spec that mentions Google Calendar MUST name googlecalendar-client and google-oauth as dependencies and reference this skill. Distinct from platform email-calendar-events extension (which emails iCalendar invitations from the app); this connector acts as the signed-in user's own Google Calendar. Intent → capability mapping: User intent Platform capability --- --- Connect and list upcoming events googlecalendar-client + google-oauth Create calendar events googlecalendar-client + google-oauth Check availability / free slots / busy times (booking, Calendly-style, "when am I free") googlecalendar-client FreeBusy (calendarfreebusyquery) + google-oauth — not calendareventslist Prerequisite for all builds: extension-authorization. Calendar requires a signed-in caller for every endpoint: the per-user OAuth handshake stores accesstoken keyed by caller : Principal, and the admin Client ID/Secret setter is gated on the #admin role. Backend Use this skill whenever the user wants their canister to interact with Google Calendar on behalf of the signed-in user. The ingredients are: 1. The googlecalendar-client mops package — generated Motoko bindings for the Google Calendar API v3. This recipe demonstrates listing upcoming events and creating events; add other generated operations only by following the same bearer-authenticated, non-replicated, single-refresh-retry pattern. 2. The google-oauth mops package — Google OAuth 2.0 token exchange, refresh, PKCE, and percent-encoding. This is the library that eliminates hand-rolled httprequest to oauth2.googleapis.com. 3. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills caffeinelabs/connector-googlecalendar