Google Workspace via gws CLI

SkillCommunication

Use 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.

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_source is "token_env_var"
  • token_env_var is true
  • auth_method is not "none"
  • storage is 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 google in 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 → primary calendar, 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