gws-calendar — Claude Code skill: what it does, how to install
Manage Google Calendar events, access rules, and schedules through the gws CLI tool.
npx skills add googleworkspace/cli --skill gws-calendar -a claude-codeWhat gws-calendar does
This skill provides instructions for coding agents to interact with Google Calendar using the gws CLI tool. It supports viewing upcoming schedules, creating entries, inspecting availability with freebusy, and modifying calendar access control lists via acl. Built-in helper commands like +insert and +agenda simplify common actions.
To run these operations, you must have the gws binary installed and authentication configured. Command structures and parameters can be inspected anytime via gws schema. The official guidelines advise authenticating as the actual data owner rather than a service account to avoid calendar ownership conflicts.
It is worth installing if you coordinate schedules and meetings directly from your coding agent.
What it helps with
- Inspect availability across calendars with freebusy queries
- Add an event using the +insert command or quickAdd method
- List upcoming schedule items across calendars with +agenda
- Manage sharing permissions through acl rules
Example prompts for the agent
- Show upcoming events across all calendars
- Check availability for the team before scheduling
- Create a new meeting using quickAdd
How to install gws-calendar
1Skills CLI (Vercel)
npx skills add googleworkspace/cli --skill gws-calendar -a claude-code2Manually: put the files in place
~/.claude/skills/gws-calendar/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/gws-calendar/
1Skills CLI (Vercel)
npx skills add googleworkspace/cli --skill gws-calendar -a codex2Manually: put the files in place
.agents/skills/gws-calendar/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add googleworkspace/cli --skill gws-calendar -a cursor2Manually: put the files in place
.cursor/skills/gws-calendar/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install googleworkspace/cli gws-calendar2Manually: put the files in place
.github/skills/gws-calendar/SKILL.md1Skills CLI (Vercel)
npx skills add googleworkspace/cli --skill gws-calendar -a gemini-cli2Platform CLI
gemini skills install https://github.com/googleworkspace/cli --path skills/gws-calendarManually: put the files in place
.devin/skills/gws-calendar/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add googleworkspace/cli --skill gws-calendar -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set95
The whole set →Similar
Questions about gws-calendar
How to install gws-calendar in Claude Code?
Run npx skills add googleworkspace/cli --skill gws-calendar -a claude-code in your terminal.
What does gws-calendar do?
It gives your agent instructions for calling Google Calendar API methods through the gws command-line tool.
What are the prerequisites for gws-calendar?
You need the gws CLI binary installed and auth credentials configured according to gws-shared.
Source text
SKILL.md · Apache-2.0
---
name: gws-calendar
description: "Google Calendar: Manage calendars and events."
metadata:
version: 0.22.5
openclaw:
category: "productivity"
requires:
bins:
- gws
cliHelp: "gws calendar --help"
---
# calendar (v3)
> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
```bash
gws calendar <resource> <method> [flags]
```
## Helper Commands
| Command | Description |
|---------|-------------|
| [`+insert`](../gws-calendar-insert/SKILL.md) | create a new event |
| [`+agenda`](../gws-calendar-agenda/SKILL.md) | Show upcoming events across all calendars |
## API Resources
### acl
- `delete` — Deletes an access control rule.
- `get` — Returns an access control rule.
- `insert` — Creates an access control rule.
- `list` — Returns the rules in the access control list for the calendar.
- `patch` — Updates an access control rule. This method supports patch semantics.
- `update` — Updates an access control rule.
- `watch` — Watch for changes to ACL resources.
### calendarList
- `delete` — Removes a calendar from the user's calendar list.
- `get` — Returns a calendar from the user's calendar list.
- `insert` — Inserts an existing calendar into the user's calendar list.
- `list` — Returns the calendars on the user's calendar list.
- `patch` — Updates an existing calendar on the user's calendar list. This method supports patch semantics.
- `update` — Updates an existing calendar on the user's calendar list.
- `watch` — Watch for changes to CalendarList resources.
### calendars
- `clear` — Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.
- `delete` — Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.
- `get` — Returns metadata for a calendar.
- `insert` — Creates a secondary calendar.
The authenticated user for the request is made the data owner of the new calendar.
Note: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior.
- `patch` — Updates metadata for a calendar. This method supports patch semantics.
- `update` — Updates metadata for a calendar.
### channels
- `stop` — Stop watching resources through this channel
### colors
- `get` — Returns the color definitions for calendars and events.
### events
- `delete` — Deletes an event.
- `get` — Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.
- `import` — Imports an event. This operation is used to add a private copy of an existing event to a calendar. Only events with an eventType of default may be imported.
Deprecated behavior: If a non-default event is imported, its type will be changed to default and any event-type-specific properties it may have will be dropped.
- `insert` — Creates an event.
- `instances` — Returns instances of the specified recurring event.
- `list` — Returns events on the specified calendar.
- `move` — Moves an event to another calendar, i.e. changes an event's organizer. Note that only default events can be moved; birthday, focusTime, fromGmail, outOfOffice and workingLocation events cannot be moved.
- `patch` — Updates an event. This method supports patch semantics.
- `quickAdd` — Creates an event based on a simple text string.
- `update` — Updates an event.
- `watch` — Watch for changes to Events resources.
### freebusy
- `query` — Returns free/busy information for a set of calendars.
### settings
- `get` — Returns a single user setting.
- `list` — Returns all user settings for the authenticated user.
- `watch` — Watch for changes to Settings resources.
## Discovering Commands
Before calling any API method, inspect it:
```bash
# Browse resources and methods
gws calendar --help
# Inspect a method's required params, types, and defaults
gws schema calendar.<resource>.<method>
```
Use `gws schema` output to build your `--params` and `--json` flags.
© googleworkspace · Apache-2.0 · googleworkspace/cli