
Gws Calendar
- 1 installs
- 404 repo stars
- Updated August 5, 2026
- aiskillstore/marketplace
This is a copy of gws-calendar by googleworkspace - installs and ranking accrue to the original listing.
gws-calendar is a Claude Code skill that manages Google Calendar calendars and events through the gws command-line wrapper over the Calendar v3 API.
About
gws-calendar is a Claude Code skill that manages Google Calendar calendars and events through the gws command-line tool. A developer uses it to insert, list, patch, and move events, query free/busy, and manage access-control rules against the Calendar v3 API. It documents the resources and methods and points to gws schema for building the required params.
- Wraps the Google Calendar v3 API via the gws CLI
- Manage calendars, events, ACLs, free/busy, and settings
- Includes +insert and +agenda helper commands
Gws Calendar by the numbers
- 1 all-time installs (skills.sh)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
gws-calendar capabilities & compatibility
- Capabilities
- calendar management · event scheduling · freebusy query
- Works with
- gmail · google drive
- Use cases
- project management
- Runs
- Runs locally
- Pricing
- Free
What gws-calendar says it does
Google Calendar: Manage calendars and events.
npx skills add https://github.com/aiskillstore/marketplace --skill gws-calendarAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 404 |
| Last updated | August 5, 2026 |
| Repository | aiskillstore/marketplace ↗ |
What it does
Manage Google Calendar calendars and events via the gws CLI wrapping the Calendar v3 API.
Who is it for?
Automating Google Calendar event and calendar management from the gws CLI.
Skip if: Non-Google calendars or GUI-only calendar tasks.
When should I use this skill?
When creating, listing, or updating Google Calendar events or querying free/busy via gws.
Files
calendar (v3)
PREREQUISITE: Read../gws-shared/SKILL.mdfor auth, global flags, and security rules. If missing, rungws generate-skillsto create it.
gws calendar <resource> <method> [flags]Helper Commands
| Command | Description |
|---|---|
| `+insert` | create a new event |
| `+agenda` | 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:
# 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.
{
"schema_version": "2.0",
"meta": {
"generated_at": "2026-03-25T08:23:23.293Z",
"slug": "googleworkspace-gws-calendar",
"source_url": "https://github.com/googleworkspace/cli/tree/main/skills/gws-calendar/",
"source_ref": "main",
"model": "claude",
"analysis_version": "3.0.0",
"source_type": "community",
"content_hash": "7787da48ec7c8915a5aedf2aecb89a9ee77f182843b6b06cbba041d5f3b14b61",
"tree_hash": "04f43244f4672d944f425efd1ea8f7357e9f5f894bcffbe150554e762a01585c"
},
"skill": {
"name": "gws-calendar",
"description": "Google Calendar: Manage calendars and events.",
"summary": "Manage Google Workspace calendars and events through CLI commands",
"icon": "📅",
"version": "1.0.0",
"author": "googleworkspace",
"license": "MIT",
"category": "productivity",
"tags": [
"google-calendar",
"workspace",
"scheduling",
"events",
"cli"
],
"supported_tools": [
"claude",
"codex",
"claude-code"
],
"risk_factors": []
},
"security_audit": {
"risk_level": "safe",
"is_blocked": false,
"safe_to_publish": true,
"summary": "All 52 static findings are false positives from markdown syntax. Backticks are code formatting in markdown, not shell execution. Relative paths '../' are documentation hyperlinks, not filesystem operations. The skill is legitimate documentation for Google Workspace CLI calendar commands with no executable code.",
"risk_factor_evidence": [],
"critical_findings": [],
"high_findings": [],
"medium_findings": [],
"low_findings": [],
"dangerous_patterns": [],
"files_scanned": 1,
"total_lines": 110,
"audit_model": "claude",
"audited_at": "2026-03-25T08:23:23.293Z",
"risk_factors": []
},
"content": {
"user_title": "Manage Google Calendar from CLI",
"value_statement": "Manage Google Workspace calendars and events without leaving your terminal. Create, list, update, and delete calendar events using natural commands through Claude.",
"seo_keywords": [
"Claude",
"Claude Code",
"Google Calendar",
"GWS CLI",
"calendar management",
"event scheduling",
"workspace integration",
"CLI calendar",
"Codex",
"productivity automation"
],
"actual_capabilities": [
"Create, update, and delete calendar events",
"List events across multiple calendars",
"Query free/busy information for schedules",
"Manage calendar access control rules",
"Watch for calendar changes",
"Retrieve calendar metadata and settings"
],
"limitations": [
"Requires gws CLI tool installation and authentication",
"Only works with Google Workspace accounts",
"Cannot modify events without proper permissions",
"Does not support offline operations",
"Requires network connectivity to Google Calendar API"
],
"use_cases": [
{
"title": "Schedule Meetings from Code",
"description": "Create calendar events while programming without switching contexts. Add meeting invites directly from your development workflow.",
"target_user": "Developers who integrate calendar tasks into coding sessions"
},
{
"title": "Automate Event Management",
"description": "Batch create recurring events, update multiple calendar entries, or clean up old events through scripted commands.",
"target_user": "DevOps engineers automating administrative tasks"
},
{
"title": "Check Team Availability",
"description": "Query free/busy information across calendars to find meeting times that work for everyone.",
"target_user": "Project managers coordinating team schedules"
}
],
"prompt_templates": [
{
"title": "List Upcoming Events",
"prompt": "Show my calendar events for the next 7 days",
"scenario": "Quickly check what is scheduled for the upcoming week"
},
{
"title": "Create New Event",
"prompt": "Create a calendar event for tomorrow at 2pm called 'Team Review' lasting 1 hour",
"scenario": "Add a new meeting to your calendar"
},
{
"title": "Check Availability",
"prompt": "Check when I am free next Wednesday between 9am and 5pm",
"scenario": "Find open time slots for scheduling"
},
{
"title": "Update Existing Event",
"prompt": "Update the event called 'Team Review' to start at 3pm instead of 2pm",
"scenario": "Modify an existing calendar entry"
}
],
"output_examples": [
{
"input": "List my events for this week",
"output": [
"Found 12 events this week:",
"Monday 10:00 AM - Team Standup",
"Tuesday 2:00 PM - Design Review",
"Wednesday 3:00 PM - Client Call",
"Friday 4:00 PM - Sprint Retrospective"
]
},
{
"input": "Create a meeting tomorrow at 2pm",
"output": "Successfully created event 'Meeting' for tomorrow at 2:00 PM. Event ID: abc123xyz"
}
],
"best_practices": [
"Run 'gws calendar --help' before using commands to understand available resources and methods",
"Use 'gws schema calendar.<resource>.<method>' to inspect required parameters before execution",
"Ensure proper authentication is set up by reading the shared skill documentation first",
"Test calendar operations on a secondary calendar before modifying primary calendar data"
],
"anti_patterns": [
"Do not delete events or calendars without first listing them to confirm the target",
"Avoid using service accounts for authentication as they become the data owner",
"Do not batch operations on multiple calendars without testing on a single calendar first",
"Never hardcode credentials or tokens in commands - use the gws authentication system"
],
"faq": [
{
"question": "Do I need to install anything?",
"answer": "Yes, you need the gws CLI tool installed. Run 'gws generate-skills' if shared documentation is missing."
},
{
"question": "Can I create recurring events?",
"answer": "Yes, use the events.insert method with recurrence parameters. Check 'gws schema calendar.events.insert' for syntax."
},
{
"question": "Why do I get authentication errors?",
"answer": "Ensure you have run gws authentication commands and have proper OAuth credentials configured for your Google Workspace account."
},
{
"question": "Can I modify other users calendars?",
"answer": "Only if you have been granted permission through their calendar's access control list (ACL). Use calendar.acl.list to check permissions."
},
{
"question": "What is the difference between patch and update?",
"answer": "Patch updates only specified fields, leaving others unchanged. Update replaces all fields. Patch is generally safer as it preserves existing data."
},
{
"question": "How do I find my calendar IDs?",
"answer": "Run 'gws calendar calendarList list' to see all calendars you can access with their IDs."
}
]
},
"file_structure": [
{
"name": "SKILL.md",
"type": "file",
"path": "SKILL.md",
"lines": 110
}
]
}