π¦ ClawHub
Gcalcli Calendar 3.0.0
by @mbright4497
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized...
TERMINAL
clawhub install gcalcli-calendar-3-0-0π About This Skill
name: gcalcli-calendar description: "Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output." metadata: {"openclaw":{"emoji":"π ","requires":{"bins":["gcalcli"]}}}
gcalcli-calendar
Use gcalcli to read/search/manage Google Calendar with minimal tool calls and minimal output.
Rules
CLI flag placement (critical)
--nocolor, --calendar) go BEFORE the subcommand.gcalcli --nocolor delete --iamaexpert "query" start end β NOT gcalcli --nocolor --iamaexpert delete ....--iamaexpert (delete), --noprompt/--allday (add), --use-legacy-import (import), etc.Output & language
Dates & formatting
Calendar scope
Agenda (today-only by default)
Weekday requests (no mental math)
If user says "on Monday/Tuesday/..." without a date: 1) fetch next 14 days agenda once, 2) pick matching day/event from tool output, 3) proceed (or disambiguate if multiple).Finding events: prefer deterministic agenda scan (meaning-first)
When locating events to cancel/delete/edit:agenda over search.Use gcalcli search only as a fallback when:
Search (bounded)
Tool efficiency
--nocolor to reduce formatting noise and tokens.--tsv only if you must parse/dedupe/sort.Actions policy (optimized for conversational speed)
This skill is designed for personal assistant use where the user expects fast, low-friction calendar management. The confirmation policy below is an intentional UX choice β see README.md for rationale and safety guards.
Unambiguous actions: execute immediately
For cancel/delete/edit actions, skip confirmation when ALL of these hold:Ambiguous actions: always ask first
If multiple candidates match, or the match is uncertain:Create events: overlap check MUST be cross-calendar (non-ignored scope)
When creating an event:--calendar.Choose the right create method
add β default for one-off events. Supports --allday, --reminder, --noprompt. Does NOT support recurrence or free/busy (transparency).import via stdin β use ONLY when you need recurrence (RRULE) or free/busy (TRANSP:TRANSPARENT). Pipe ICS content via stdin; NEVER write temp .ics files (working directory is unreliable in exec sandbox).quick β avoid unless user explicitly asks for natural-language add. Less deterministic.Deletes must be verified
--iamaexpert (a delete subcommand flag β goes AFTER delete). This is gcalcli's built-in flag for non-interactive/scripted deletion.--refresh.Canonical commands
Agenda (deterministic listing)
gcalcli --nocolor agenda today tomorrowgcalcli --nocolor agenda today +14dgcalcli --nocolor agenda today +30dgcalcli --nocolor agenda Search (fallback / explicit request)
gcalcli --nocolor search "" today +180d gcalcli --nocolor search "" Create β add (one-off events)
gcalcli --nocolor agenda
- IMPORTANT: do NOT add --calendar here; overlaps must be checked across all non-ignored calendars.
gcalcli --nocolor --calendar "" add --noprompt --title "" --when "" --duration
gcalcli --nocolor --calendar "" add --noprompt --allday --title "" --when ""
--reminder "20160 popup" β 14 days before (20160 = 14Γ24Γ60)
- --reminder "10080 popup" β 7 days before
- --reminder "0 popup" β at event start
- Time unit suffixes: w (weeks), d (days), h (hours), m (minutes). No suffix = minutes.
- Method: popup (default), email, sms.Create β import via stdin (recurrence / free/busy)
Use ONLY when add can't cover the need (recurring events, TRANSP, etc.).
Pipe ICS directly via stdin β never write temp files.
echo 'BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260308
SUMMARY:Event Title
RRULE:FREQ=YEARLY
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR' | gcalcli import --calendar ""
DTSTART;VALUE=DATE:YYYYMMDD for all-day; DTSTART:YYYYMMDDTHHmmSS for timed.RRULE:FREQ=YEARLY β yearly recurrence. Also: DAILY, WEEKLY, MONTHLY.TRANSP:TRANSPARENT β free; TRANSP:OPAQUE β busy (default).--reminder "TIME" flag(s) to set reminders (overrides any VALARM in ICS).--use-legacy-import, --verbose, etc.) go AFTER import.Delete (with post-delete verification)
gcalcli --nocolor agenda (exact date)
- gcalcli --nocolor agenda today +14d (weekday)
- gcalcli --nocolor agenda today +30d (meaning only)
gcalcli --nocolor delete --iamaexpert ""
gcalcli --nocolor agenda
gcalcli --nocolor --refresh agenda Edit / Modify existing events
gcalcli edit is interactive β cannot be used in non-interactive exec.--iamaexpert) β create with updated properties β verify.
π Constraints
CLI flag placement (critical)
--nocolor, --calendar) go BEFORE the subcommand.gcalcli --nocolor delete --iamaexpert "query" start end β NOT gcalcli --nocolor --iamaexpert delete ....--iamaexpert (delete), --noprompt/--allday (add), --use-legacy-import (import), etc.Output & language
Dates & formatting
Calendar scope
Agenda (today-only by default)
Weekday requests (no mental math)
If user says "on Monday/Tuesday/..." without a date: 1) fetch next 14 days agenda once, 2) pick matching day/event from tool output, 3) proceed (or disambiguate if multiple).Finding events: prefer deterministic agenda scan (meaning-first)
When locating events to cancel/delete/edit:agenda over search.Use gcalcli search only as a fallback when:
Search (bounded)
Tool efficiency
--nocolor to reduce formatting noise and tokens.--tsv only if you must parse/dedupe/sort.