ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

calendar-crab

Google Calendar CLI — list, create, move, and delete events. Zero dependencies, just Node.js + Google OAuth.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/clawbob/calendar-crab
Or

Calendar Crab

Google Calendar management via a single Node.js script. No npm install needed.

Prerequisites

  • Node.js 18+
  • Google Cloud project with Calendar API enabled
  • OAuth credentials + refresh token saved to ~/.openclaw/secrets/ (see Setup below)

Commands

List upcoming events

node calendar-crab.js list --days=7 --max=20

Create an event

node calendar-crab.js create \
  --title="Team Sync" \
  --date=2026-03-20 \
  --time=10:00 \
  --duration=30 \
  --location="Zoom" \
  --attendees="[email protected],[email protected]" \
  --description="Weekly sync" \
  --tz="America/Los_Angeles"

Move an event

# By date + time
node calendar-crab.js move --date=2026-03-20 --from=10:00 --to=14:00

# By event ID
node calendar-crab.js move --id="EVENT_ID" --to="2026-03-20T14:00:00-07:00"

Delete an event

node calendar-crab.js delete --id="EVENT_ID"
node calendar-crab.js delete --date=2026-03-20 --time=10:00

Configuration

Env varDefaultDescription
CALENDAR_CRAB_SECRETS~/.openclaw/secretsDirectory containing OAuth + token JSON files
CALENDAR_CRAB_TZSystem localDefault timezone for events
CALENDAR_CRAB_CALENDARprimaryGoogle Calendar ID

Timezone can also be set per-command with --tz=America/Los_Angeles.

Execution rules

  1. Always list first to verify the target event exists and is unique.
  2. move and delete auto-notify all attendees (sendUpdates=all).
  3. On failure, the raw Google API error is returned for debugging.

Setup

  1. Go to Google Cloud Console and create a project.
  2. Enable the Google Calendar API.
  3. Create OAuth 2.0 credentials (Desktop app type).
  4. Save the credentials as ~/.openclaw/secrets/google-calendar-oauth.json:
    {
      "client_id": "YOUR_CLIENT_ID",
      "client_secret": "YOUR_CLIENT_SECRET"
    }
    
  5. Obtain a refresh token via the OAuth flow and save as ~/.openclaw/secrets/google-calendar-token.json:
    {
      "refresh_token": "YOUR_REFRESH_TOKEN",
      "access_token": "",
      "expires_in": 0,
      "obtained_at": ""
    }
    
    The script auto-refreshes the access token using the refresh token.

Metadata

Author@clawbob
Stars3562
Views0
Updated2026-03-29
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-clawbob-calendar-crab": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.