From google-workspace
View agendas, manage events, check availability, and update calendars with gws.
How this skill is triggered — by the user, by Claude, or both
Slash command
/google-workspace:calendarThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
View agenda, create and manage events, check availability, and manage calendars using the `gws` CLI.
View agenda, create and manage events, check availability, and manage calendars using the gws CLI.
Do NOT check authentication upfront. Just run the command. If it fails with an auth error (exit code 2), see the Self-Healing section for diagnostics.
All operations use the gws CLI directly. No wrapper scripts.
+): Use for common operations. These handle timezone detection, formatting, and attendee management automatically.--params '<JSON>' and request bodies via --json '<JSON>'. Resource paths are space-separated (e.g., gws calendar events list).Always prefer + helpers when one exists for the operation.
gws calendar +agenda
gws calendar +agenda --today
gws calendar +agenda --tomorrow
gws calendar +agenda --week
gws calendar +agenda --days 3
gws calendar +agenda --calendar 'Work'
gws calendar +agenda --today --timezone America/New_York
gws calendar events get --params '{"calendarId": "primary", "eventId": "<id>"}'
gws calendar events list --params '{"calendarId": "primary", "timeMin": "<iso>", "timeMax": "<iso>"}'
gws calendar freebusy query --json '{"timeMin": "<iso>", "timeMax": "<iso>", "items": [{"id": "primary"}]}'
gws calendar +insert --summary '<title>' --start '<iso>' --end '<iso>'
gws calendar +insert --summary '<title>' --start '<iso>' --end '<iso>' --location '<place>'
gws calendar +insert --summary '<title>' --start '<iso>' --end '<iso>' --attendee [email protected] --attendee [email protected]
gws calendar +insert --summary '<title>' --start '<iso>' --end '<iso>' --meet
gws calendar +insert --summary '<title>' --start '<iso>' --end '<iso>' --description '<text>'
gws calendar events quickAdd --params '{"calendarId": "primary", "text": "<natural language>"}'
gws calendar events patch --params '{"calendarId": "primary", "eventId": "<id>"}' --json '<event-json>'
gws calendar events move --params '{"calendarId": "primary", "eventId": "<id>", "destination": "<calId>"}'
gws calendar events delete --params '{"calendarId": "primary", "eventId": "<id>"}'
Confirm with the user before deleting.
gws calendar calendarList list
gws calendar calendars insert --json '{"summary": "<name>"}'
gws calendar calendars delete --params '{"calendarId": "<id>"}'
Confirm with the user before deleting a calendar.
gws calendar acl list --params '{"calendarId": "<id>"}'
gws calendar acl insert --params '{"calendarId": "<id>"}' --json '{"role": "reader", "scope": {"type": "user", "value": "<email>"}}'
gws calendar acl delete --params '{"calendarId": "<id>", "ruleId": "<ruleId>"}'
See calendar-recipes.md
When a command fails:
Check if gws is available and authenticated:
which gws && gws auth status
If gws is not installed or not authenticated, tell the user:
"The gws CLI is not installed or not authenticated. Install and configure it: https://github.com/googleworkspace/cli"
gws calendar <command> --helpgws schema calendar.<resource>.<method>--dry-run to preview requests without executing--params JSON syntax and required fields+ helpers (+agenda, +insert) over raw API calls when available."calendarId": "primary" in --params unless the user specifies a different calendar.2026-03-18T14:00:00-04:00).--dry-run to preview commands before executing destructive operations.+insert, include timezone offset in the ISO timestamp.+agenda --today.quickAdd for simple cases and +insert for structured cases.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub pgoell/pgoell-claude-tools --plugin google-workspace