gws-calendar
Google Calendar — Manage Calendars and Events
Requires the gws CLI on $PATH. Authenticate with gws auth login before first use.
gws calendar <resource> <method> [flags]
Security Rules
- Never output secrets (API keys, tokens) directly.
- Always confirm with user before executing write/delete commands.
- Prefer
--dry-runfor destructive operations.
Global Flags
| Flag | Description |
|---|---|
--format <FORMAT> |
Output format: json (default), table, yaml, csv |
--dry-run |
Validate locally without calling the API |
--params '{"key": "val"}' |
URL/query parameters |
--json '{"key": "val"}' |
Request body |
--page-all |
Auto-paginate (NDJSON output) |
Helper Commands
+agenda — Show upcoming events
gws calendar +agenda
| Flag | Required | Default | Description |
|---|---|---|---|
--today |
— | — | Show today's events |
--tomorrow |
— | — | Show tomorrow's events |
--week |
— | — | Show this week's events |
--days |
— | — | Number of days ahead to show |
--calendar |
— | — | Filter to specific calendar name or ID |
--timezone |
— | — | IANA timezone override (e.g. America/Denver) |
gws calendar +agenda
gws calendar +agenda --today
gws calendar +agenda --week --format table
gws calendar +agenda --days 3 --calendar 'Work'
gws calendar +agenda --today --timezone America/New_York
Read-only — never modifies events. Queries all calendars by default; use --calendar to filter. Uses Google account timezone by default.
+insert — Create a new event
gws calendar +insert --summary <TEXT> --start <TIME> --end <TIME>
| Flag | Required | Default | Description |
|---|---|---|---|
--summary |
yes | — | Event summary/title |
--start |
yes | — | Start time (ISO 8601, e.g. 2026-06-17T09:00:00-07:00) |
--end |
yes | — | End time (ISO 8601) |
--calendar |
— | primary | Calendar ID |
--location |
— | — | Event location |
--description |
— | — | Event description/body |
--attendee |
— | — | Attendee email (repeatable) |
--meet |
— | — | Add a Google Meet video conference link |
gws calendar +insert --summary 'Standup' --start '2026-06-17T09:00:00-07:00' --end '2026-06-17T09:30:00-07:00'
gws calendar +insert --summary 'Review' --start '2026-06-17T14:00:00-07:00' --end '2026-06-17T15:00:00-07:00' --attendee alice@example.com
gws calendar +insert --summary 'Sync' --start '2026-06-17T10:00:00-07:00' --end '2026-06-17T10:30:00-07:00' --meet
Use RFC 3339 format for times. The --meet flag automatically adds a Google Meet link.
WRITE command — confirm with the user before executing.
Raw API Resources
For operations not covered by helper commands, use the raw API:
gws schema calendar.<resource>.<method>
events
list— List events on a calendar.get— Get an event by its Google Calendar ID.insert— Create an event.update— Update an event.patch— Update an event (patch semantics).delete— Delete an event.move— Move an event to another calendar (default events only).quickAdd— Create an event from a simple text string.instances— List instances of a recurring event.import— Import a private copy of an existing event.watch— Watch for changes to events.
calendars
get— Get calendar metadata.insert— Create a secondary calendar.update— Update calendar metadata.patch— Update calendar metadata (patch semantics).delete— Delete a secondary calendar.clear— Clear all events on the primary calendar.
calendarList
list— List calendars on the user's calendar list.get— Get a calendar from the user's list.insert— Add an existing calendar to the user's list.update— Update a calendar on the user's list.patch— Update a calendar on the user's list (patch semantics).delete— Remove a calendar from the user's list.watch— Watch for changes to calendar list.
freebusy
query— Return free/busy information for a set of calendars.
acl
list— List access control rules for a calendar.get— Get an access control rule.insert— Create an access control rule.update— Update an access control rule.patch— Update an access control rule (patch semantics).delete— Delete an access control rule.watch— Watch for changes to ACL.
colors
get— Get color definitions for calendars and events.
settings
list— List all user settings.get— Get a single user setting.watch— Watch for changes to settings.
Common Workflows
View today's agenda
gws calendar +agenda --today
View this week across all calendars
gws calendar +agenda --week --format table
Create an event with attendees and Meet
gws calendar +insert --summary 'Design Review' \
--start '2026-06-17T14:00:00-07:00' \
--end '2026-06-17T15:00:00-07:00' \
--attendee alice@example.com --attendee bob@example.com \
--meet
Quick-add an event from natural text
gws calendar events quickAdd --params '{"calendarId": "primary", "text": "Lunch with Alice tomorrow at noon"}'
Check free/busy for scheduling
gws calendar freebusy query --json '{
"timeMin": "2026-06-17T00:00:00Z",
"timeMax": "2026-06-18T00:00:00Z",
"items": [{"id": "primary"}]
}'
List all calendars
gws calendar calendarList list --params '{"fields": "items(id,summary)"}'
Shell Tips
Wrap --params and --json values in single quotes so the shell does not interpret inner double quotes:
gws calendar events list --params '{"calendarId": "primary", "maxResults": 10}'
More from kadel/claude-plugins
jira cli usage
This skill should be used when the user asks to "interact with Jira", "list Jira issues", "create Jira issue", "manage sprints", "view epics", "search issues", "move issue status", "assign issue", or mentions using the jira command-line tool for project management.
13backstage custom resource
This skill should be used when the user asks to "create Backstage CR", "create RHDH custom resource", "configure rhdh-operator", "create Backstage manifest", "modify Backstage CR", "configure RHDH deployment", "add dynamic plugins to CR", "configure Backstage database", "set up Backstage route", "configure app-config for RHDH", "create rhdh.redhat.com/v1alpha Backstage", or mentions creating or modifying a Backstage Custom Resource for the rhdh-operator.
10worktree feature development
This skill should be used when the user asks to "start a new feature", "create feature branch in worktree", "set up isolated feature development", "work on feature in separate directory", or mentions git worktree for feature isolation.
10generate frontend wiring
This skill should be used when the user asks to "generate frontend wiring", "show frontend wiring", "create RHDH binding", "generate dynamic plugin config", "show plugin wiring for RHDH", "create app-config for frontend plugin", or wants to generate the RHDH dynamic plugin wiring configuration for an existing Backstage frontend plugin. The skill analyzes the plugin's source code and generates the appropriate configuration.
9rhdh frontend dynamic plugin bootstrap
This skill should be used when the user asks to "create RHDH frontend plugin", "bootstrap frontend dynamic plugin", "create UI plugin for RHDH", "new frontend plugin for Red Hat Developer Hub", "add entity card to RHDH", "create dynamic route", "add sidebar menu item", "configure mount points", "create theme plugin", or mentions creating frontend components, UI pages, entity cards, or visual customizations for Red Hat Developer Hub or RHDH. This skill is specifically for frontend plugins - for backend plugins, use the separate backend plugin skill.
9rhdh backend dynamic plugin bootstrap
This skill should be used when the user asks to "create RHDH backend plugin", "bootstrap backend dynamic plugin", "create backstage backend plugin for RHDH", "new backend plugin for Red Hat Developer Hub", "create dynamic backend plugin", "scaffold RHDH backend plugin", "new scaffolder action", "create catalog processor", or mentions creating a new backend plugin, backend module, or server-side functionality for Red Hat Developer Hub or RHDH. This skill is specifically for backend plugins - for frontend plugins, use the separate frontend plugin skill.
9