Agent skill

Gws

by glebis in glebis/claude-skills

This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive…

MITAuto-check passedProductivity & Automation

Install Gws

skills CLI
$ npx skills add glebis/claude-skills --skill gws -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install glebis/claude-skills gws --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/gws .claude/skills/gws && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gws
GitHub stars
390
Token cost
~1.9k tokens
SKILL.md length
401 words
Files
3 (incl. references)
Skills in repo
92
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive…

  • Queries like check my email
  • SKILL.md covers Command Pattern, Quick Reference — Helper…, Common Patterns and Critical Notes, plus 2 more sections
  • Reaches us02web.zoom.us
  • Calendar agenda

What it does

Gws is an agent skill from glebis/claude-skills. This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive (upload, list, share, download), Sheets (read, append), Docs, Tasks, Chat (send), People/Contacts, and cross-service workflows (standup, meeting prep, weekly digest, email-to-task). Triggers on queries like "check my email", "search Gmail", "send email", "calendar agenda", "create calendar event", "upload to Drive"…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `.claude-plugin/plugin.json` and `references/api_reference.md`).

It sits in Productivity & Automation, covering Email management, Cloud office suites and Excel spreadsheets. It works with Google Workspace and Gmail. The repository describes itself as: Collection of Claude Code skills for enhanced AI workflows. The licence is MIT.

When your agent uses it

  • Queries like check my email
  • Calendar agenda
  • Create calendar event
  • Upload to Drive

Example prompts

  • “check my email”
  • “search Gmail”
  • “send email”
  • “/gws”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 3b88261. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • us02web.zoom.us

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gws loads about 1.9k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 151 tokens; SKILL.md has 401 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~151
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from glebis/claude-skills at commit 3b88261, republished under its MIT licence (© glebis). 401 words, ~1,942 tokens.

Download SKILL.mdSave it as .claude/skills/gws/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
gws
description
This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive (upload, list, share, download), Sheets (read, append), Docs, Tasks, Chat (send), People/Contacts, and cross-service workflows (standup, meeting prep, weekly digest, email-to-task). Triggers on queries like "check my email", "search Gmail", "send email", "calendar agenda", "create calendar event", "upload to Drive", "read spreadsheet", "create a task", "triage inbox", "find contact", "post to Chat".

Google Workspace CLI (gws)

CLI for Gmail, Calendar, Drive, Sheets, Docs, Slides, Tasks, People, Chat, Meet, Forms, Keep, Admin, and cross-service workflows.

Binary: /opt/homebrew/bin/gws

Command Pattern

gws <service> <resource> [sub-resource] <method> [flags]

Every command accepts:

  • --params <JSON> — URL/query parameters
  • --json <JSON> — request body (POST/PATCH/PUT)
  • --upload <PATH> — file to upload as media content
  • --output <PATH> — path for binary responses (downloads)
  • --format json|table|yaml|csv — output format (default: json)
  • --page-all / --page-limit N — auto-paginate
  • --dry-run — validate locally without sending

Quick Reference — Helper Commands (prefer these)

CommandPurposeR/W
gws gmail +triage [--max N] [--query Q]Unread inbox summaryR
gws gmail +send --to EMAIL --subject S --body TSend plaintext emailW
gws gmail +watch --project GCPStream new emails (Pub/Sub)R
gws calendar +agenda [--today|--tomorrow|--week|--days N]Upcoming eventsR
gws calendar +insert --summary T --start ISO --end ISOCreate eventW
gws drive +upload FILE [--parent ID] [--name N]Upload fileW
gws sheets +read --spreadsheet ID --range RRead range (e.g. Sheet1!A1:D10)R
gws sheets +append --spreadsheet ID --values "a,b,c"Append row (or --json-values)W
gws docs +write --document ID --text TAppend text to docW
gws chat +send --space spaces/ID --text TPost to Chat spaceW
gws workflow +standup-reportToday's meetings + open tasksR
gws workflow +meeting-prep [--calendar ID]Next meeting detailsR
gws workflow +email-to-task --message-id IDEmail → TaskW
gws workflow +weekly-digestWeek's meetings + unreadR
gws workflow +file-announce --file-id ID --space SPACEAnnounce file in ChatW

Common Patterns

Gmail
bash
# Triage unread (table for humans)
gws gmail +triage --max 10 --format table

# Search
gws gmail users messages list --params '{"userId":"me","q":"from:amazon newer_than:7d","maxResults":5}'

# Read full message
gws gmail users messages get --params '{"userId":"me","id":"MSG_ID","format":"full"}'

# Read headers only (faster)
gws gmail users messages get --params '{"userId":"me","id":"MSG_ID","format":"metadata","metadataHeaders":["Subject","From","Date"]}'

# Archive (remove INBOX)
gws gmail users messages modify --params '{"userId":"me","id":"MSG_ID"}' --json '{"removeLabelIds":["INBOX"]}'

# Trash
gws gmail users messages trash --params '{"userId":"me","id":"MSG_ID"}'

# Bulk label
gws gmail users messages batchModify --params '{"userId":"me"}' --json '{"ids":["ID1","ID2"],"addLabelIds":["Label_123"]}'
Calendar
bash
# Today (Europe/Berlin default works with RFC3339 +02:00/+01:00)
gws calendar +agenda --today --format table

# Create simple event
gws calendar +insert \
  --summary 'AGENCY Meetup' \
  --start '2026-04-14T18:00:00+02:00' \
  --end '2026-04-14T19:00:00+02:00' \
  --location 'https://us02web.zoom.us/j/8991032224' \
  --description 'Zoom: https://us02web.zoom.us/j/8991032224'

# Event WITH Google Meet link (helper doesn't support — use raw)
gws calendar events insert \
  --params '{"calendarId":"primary","conferenceDataVersion":1}' \
  --json '{
    "summary":"Sync",
    "start":{"dateTime":"2026-04-15T14:00:00+02:00"},
    "end":{"dateTime":"2026-04-15T15:00:00+02:00"},
    "conferenceData":{"createRequest":{"requestId":"req-'$(date +%s)'","conferenceSolutionKey":{"type":"hangoutsMeet"}}}
  }'

# Update event
gws calendar events patch --params '{"calendarId":"primary","eventId":"EID"}' --json '{"summary":"New title"}'

# Delete
gws calendar events delete --params '{"calendarId":"primary","eventId":"EID"}'

# List all calendars
gws calendar calendarList list --format table
Drive
bash
# Upload to root
gws drive +upload ./report.pdf

# Upload to folder
gws drive +upload ./data.csv --parent FOLDER_ID --name 'Sales Data.csv'

# Search files
gws drive files list --params '{"q":"name contains \"report\" and mimeType=\"application/pdf\"","pageSize":10}'

# Download
gws drive files get --params '{"fileId":"FID","alt":"media"}' --output ./local.pdf

# Create folder
gws drive files create --json '{"name":"MyFolder","mimeType":"application/vnd.google-apps.folder"}'

# Share with user
gws drive permissions create --params '{"fileId":"FID"}' --json '{"role":"reader","type":"user","emailAddress":"user@example.com"}'
Sheets
bash
# Read
gws sheets +read --spreadsheet SID --range 'Sheet1!A1:D10' --format table

# Append single row (simple values)
gws sheets +append --spreadsheet SID --values 'Alice,100,true'

# Append multiple rows
gws sheets +append --spreadsheet SID --json-values '[["a","b"],["c","d"]]'
Tasks
bash
gws tasks tasklists list
gws tasks tasks list --params '{"tasklist":"@default"}'
gws tasks tasks insert --params '{"tasklist":"@default"}' --json '{"title":"My task","notes":"Details","due":"2026-04-20T00:00:00Z"}'
gws tasks tasks patch --params '{"tasklist":"@default","task":"TID"}' --json '{"status":"completed"}'
Show full SKILL.md (160 more words)Show less
Chat
bash
# Find space
gws chat spaces list --format table

# Post message
gws chat +send --space spaces/AAAAxxxx --text 'Hello team!'
People / Contacts
bash
gws people people connections list --params '{"resourceName":"people/me","personFields":"names,emailAddresses","pageSize":100}'
gws people people searchContacts --params '{"query":"John","readMask":"names,emailAddresses"}'

Critical Notes

  • userId: Every Gmail raw call needs "userId":"me" in params.
  • RFC3339 times: Calendar uses full ISO with offset (2026-04-14T18:00:00+02:00). "Z" for UTC.
  • Meet links: +insert does NOT add conferencing — use raw events.insert with conferenceDataVersion=1 and conferenceData.createRequest.
  • Pagination: --page-all emits NDJSON (one JSON object per page). --page-limit N caps pages.
  • Schema discovery: gws schema <service>.<resource>.<method> — e.g. gws schema gmail.users.messages.list.
  • Filters: gmail.settings.basic scope required — special manual OAuth flow (see references/api_reference.md).
  • Write confirmation: Always confirm with user before +send, +insert, +email-to-task, +file-announce, drive files delete, events delete, messages trash.
  • Format choice: --format table for human-readable summaries; default json for scripting/piping to jq.

OAuth Setup

  • GCP project: n8n-automations-454016
  • Credentials: ~/.config/gws/credentials.json
  • Configured scopes: gmail.modify, gmail.settings.basic, drive, spreadsheets, tasks, calendar, documents, chat.messages, contacts.readonly
  • gmail.settings.basic scope needs manual OAuth (Python localhost listener on port 8085) — gws auth login --scopes cannot request it directly.

Full API Reference

For full command inventory, all raw API calls, pagination, labels, drafts, filters, and admin APIs, see references/api_reference.md.

© glebis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in gws of glebis/claude-skills.

  • SKILL.md
  • .claude-plugin/plugin.json
  • references/api_reference.md

Open the folder on GitHubat commit 3b88261

Compare with similar skills

Gws next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gws compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gws this skillglebis/claude-skills390—~1.9kAutomated safety check: PassMIT
Managing Google Workspacetaylorwilsdon/google_workspace_mcp3.3k—~2.9kAutomated safety check: PassMIT
Google Workspaceyc-software/qm15k—~1.8kAutomated safety check: PassMIT
Gogtrpc-group/trpc-agent-go1.9k15 repos~1.1kAutomated safety check: PassApache-2.0
Googleletta-ai/lettabot327—~774Automated safety check: NotesApache-2.0
Google Workspaceespennilsen/pi122—~3.4kAutomated safety check: PassMIT

Similar skills

  • Managing Google Workspace

    taylorwilsdon/google_workspace_mcp

    Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).

    3.3k GitHub stars~2.9k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Gog

    trpc-group/trpc-agent-go

    Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

    1.9k GitHub starsUsed in 15 repos~1.1k tokens
    Productivity & AutomationAuto-check passed
  • Google

    letta-ai/lettabot

    Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

    327 GitHub stars~774 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check: notes
  • Google Workspace

    espennilsen/pi

    Manage Google Workspace via the gws CLI — Drive, Gmail, Sheets, Docs, Slides, People, Chat, Meet, Forms, and cross-service workflows.

    122 GitHub stars~3.4k tokensUpdated 17 days ago
    Documents & OfficeAuto-check passed
  • Gws Workflow Email To Task

    googleworkspace/cli

    Google Workflow: Convert a Gmail message into a Google Tasks entry.

    31k GitHub stars~313 tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed

More from glebis/claude-skills

All 92 skills in this repo
  • Runs a human-first workflow for labeling PII spans in a transcript, then scores inter-annotator agreement and drafts an adjudicated gold set.

    390 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Automates a dedicated, logged-in Chrome instance per profile without ever closing the user's own open tabs or browser windows.

    390 GitHub stars~973 tokensUpdated yesterday
    Auto-check passed
  • Deep Research

    glebis/claude-skills

    This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API.

    390 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Elimination Research

    glebis/claude-skills

    This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric…

    390 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Narrated HTML Presentations

    glebis/claude-skills

    Generates a self-contained HTML presentation with article and slides modes, ElevenLabs voiceover narration and optional GPT Image 2 illustrations.

    390 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check: notes
  • Writes fictional but realistic coaching or therapy session transcripts for evals, demos and few-shot examples, in several modalities and export formats.

    390 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

Questions about Gws

What does Gws do?

This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive…. Gws is an agent skill from glebis/claude-skills. This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive (upload, list, share, download), Sheets (read, append), Docs, Tasks, Chat (send), People/Contacts, and cross-service workflows (standup, meeting prep, weekly digest, email-to-task).

When should I use Gws?

Gws fits situations like: queries like check my email; calendar agenda; create calendar event; upload to Drive.

How do I install Gws in Claude Code?

Run `npx skills add glebis/claude-skills --skill gws -a claude-code`. Or copy the skill folder (gws in glebis/claude-skills) into .claude/skills/gws in your project. Claude Code loads it when a task matches its description.

How do I install Gws in Codex?

Run `npx skills add glebis/claude-skills --skill gws -a codex`. Or copy the skill folder (gws in glebis/claude-skills) into .agents/skills/gws in your project. Codex loads it when a task matches its description.

Can I use Gws in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add glebis/claude-skills --skill gws -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gws, .gemini/skills/gws, .github/skills/gws and .opencode/skills/gws in your project.

What does Gws need to run?

SKILL.md names no scripts, command-line tools or credentials: Gws is instructions for the agent only. Our summary lists: Python 3.

Does Gws access the network?

SKILL.md names 1 domain. In commands or code: us02web.zoom.us; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Gws safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gws use?

Gws is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gws use?

About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.

What are the alternatives to Gws?

Skills that share tags, products or a category with Gws: Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars), Google Workspace (yc-software/qm, 15k stars), Gog (trpc-group/trpc-agent-go, 1.9k stars) and Google (letta-ai/lettabot, 327 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gws?

glebis (a GitHub user) maintains it in glebis/claude-skills, which has 390 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 8, 2026.

Source: glebis/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.