LaunchKit · 2026
Back to Skills

calendar-hold-sync

Sync one or more source Google calendars into private Busy hold events in one or more target calendars using gog.

2
478 downloads
by @tdewitt

Setup & Installation

openclaw skills install @tdewitt/calendar-hold-sync

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install calendar-hold-sync

Version History

v1.0.1Feb 17, 2026 - Version note by skill developer:

- Updated dependency instructions to clarify only required Google services should be added in `gog` setup. - Added new section "Custom Command Template Safety" describing how custom `gog` command templates are handled and their execution safety. - Introduced a "Working Model" section to explain polling-based watch mode and expected update behavior. - Added "Known Limits" section to highlight lack of webhook support and importance of scheduled reconcile as fallback. - Minor clarifications and improved command guidance in dependency setup for clarity and safety.

What This Skill Does

Mirrors events from source Google calendars into target calendars as private Busy hold events to prevent double-booking. Uses the gog CLI for idempotent reconcile: creating, updating, and deleting holds as source events change. Supports backfill of legacy hold events and scheduled or polling-based continuous sync.

Handles idempotent reconcile, drift detection, and legacy backfill without requiring webhook infrastructure or manual de-duplication.

When to use it

  • Block work calendar time when personal events are scheduled
  • Keep multiple Google accounts free of meeting conflicts
  • Backfill legacy hold events with sync metadata
  • Run nightly reconcile to fix drifted or stale hold events
  • Watch calendars every 15 minutes for near-real-time hold updates

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: sync my personal Google calendar to my work calendar as private busy blocks

AGENT
  1. 1Read the user-provided JSON config to identify source and target calendar mappings
  2. 2Run hold-sync validate-config to verify the config structure
  3. 3Run hold-sync reconcile --all --dry-run to preview hold creates, updates, and deletes
  4. 4Run hold-sync reconcile --all to apply changes
  5. 5Run hold-sync watch --all to keep holds in sync on a polling interval
OUTPUT

Private Busy hold events created in the target calendar for all source events within the configured lookahead window

Requirements

Accounts, API keys, or tools you or your AI assistant may need to set up while using this skill.

gog CLI installed and available in PATH (https://gogcli.sh/)Google OAuth client_secret.json obtained from Google Cloud Console