Google Workspace via gws CLI
SkillCommunicationUse the gws CLI for Google Calendar, Gmail, Drive, Sheets, Docs, Tasks, and cross-service Workspace workflows.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Google Workspace via gws CLI skill
What this skill tells your AI
The instructions your AI receives, as published by hybridaione/hybridclaw in skills/gws/SKILL.md and read by ahel’s review.
Step 1: Check auth before anything else
HybridClaw injects GOOGLE_WORKSPACE_CLI_TOKEN into the agent runtime when
Google auth is configured with hybridclaw auth login google.
Run exactly gws auth status (no API call, instant) and parse the JSON output.
Do not add --json; gws auth status --json is invalid because auth status
already prints JSON by default.
Treat auth as configured when any of these are true:
credential_sourceis"token_env_var"token_env_varistrueauth_methodis not"none"storageis not"none"
This matters because HybridClaw passes its Google OAuth token through
GOOGLE_WORKSPACE_CLI_TOKEN; current gws auth status may still report
auth_method: "none" for that env-token mode.
Only if none of the authenticated states above are present, tell the user:
Run
hybridclaw auth login googlein your terminal to connect your Google account.
If env-token auth is present, do not ask the user to log in again. Continue
with the requested gws command immediately.
That's it. Don't explain OAuth, GCP projects, scopes, or alternatives unless a
later gws command returns an auth or scope error.
The HybridClaw login flow works for both personal Gmail and Workspace accounts.
Step 2: Act immediately
Do not ask clarifying questions. Run the command with sensible defaults:
- Calendar →
primarycalendar, user's timezone - Gmail →
userId: me, unread inbox - Drive → search by name keywords the user mentioned
- Sheets → search Drive first if user gave a name, not an ID
Only ask for clarification when there are genuinely ambiguous results (e.g., multiple spreadsheets matching a search).
Step 3: Pick the right commands
Calendar: See references/calendar.md Gmail: See references/gmail.md Drive & Sheets & Docs: See references/drive-docs-sheets.md Cross-service workflows: See references/workflows.md
For any service not covered above, use gws <service> --help to discover
available resources and methods. The raw syntax is:
gws <service> <resource> <method> --params '{"key": "val"}' --json '{"body": "data"}'
Confirmation rules
Confirm before actions that affect other people:
- Sending email
- Inviting attendees to events
- Sharing files or folders
Do not confirm for actions that only affect the user:
- Blocking time on their own calendar
- Creating personal reminders or tasks
- Creating a private document or spreadsheet
The reason: asking "are you sure you want to block 2-4pm?" when the user just told you to block 2-4pm is friction, not safety.
Presenting results
Format JSON output into readable summaries. Group calendar events by day. Show email as sender + subject + snippet. Render sheets data as Markdown tables. Never dump raw JSON unless the user asks for it.
Signals
- GitHub stars
- 132
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
gws- Source
- github.com/hybridaione/hybridclaw