google-workspace

Manage Gmail, Calendar, Drive, Sheets, Docs, and Contacts via OAuth-authenticated CLI commands.

Updated May 4, 2026
One-click install
npx skills add https://github.com/Junkfooooood/hermes-governance --skill google-workspace-junkfooooood
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: google-workspace
Source: https://github.com/Junkfooooood/hermes-governance/tree/main/skills/productivity/google-workspace
Command: npx skills add https://github.com/Junkfooooood/hermes-governance --skill google-workspace-junkfooooood

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires google-api-python-client, google-auth-oauthlib, google-auth-httplib2, and includes scripts (resource) and references (resource) components.

What problem does it solve? Accessing Google Workspace services from an AI agent or terminal normally requires juggling multiple APIs, OAuth flows, and client libraries. This Skill provides a single authenticated CLI that covers Gmail, Calendar, Drive, Contacts, Sheets, and Docs with consistent JSON output. ## Core Features & Use Cases - Gmail Operations: Search with Gmail query syntax, read full messages, send plain or HTML email, reply in threads, and manage labels. - Calendar & Drive: List, create, and delete calendar events with timezone-aware ISO 8601 times, and search Drive files by text or raw query. - Sheets, Docs & Contacts: Read and write spreadsheet ranges, append rows, extract Google Docs text, and list contacts. - Use Case: Ask the agent to find unread emails from your boss this week, summarize them, then create a follow-up meeting on your calendar with the relevant attendees. ## Quick Start Ask the agent to check your Google authentication status and then search your Gmail for unread messages from the last day.

Frequently Asked Questions about google-workspace

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search and send Gmail from the command line?

Use the google_api.py CLI with subcommands like gmail search "is:unread" to find messages and gmail send --to --subject --body to send them. All results are returned as JSON, and replies automatically thread with In-Reply-To headers.

How do I set up Google Workspace OAuth for an AI agent?

Run setup.py with --client-secret pointing to your Google Cloud OAuth Desktop app JSON, then --auth-url to get a consent URL, and --auth-code with the pasted redirect code. The token is saved to ~/.hermes/google_token.json and refreshes automatically.

Can I use this with only Gmail and not the other Google APIs?

Yes, you can limit OAuth scopes with --services email,calendar or similar during setup so the consent screen only requests what you need. For email-only use, the documentation recommends the himalaya skill with a Gmail App Password instead.

Why does Google OAuth fail with Error 403 access_denied?

Error 403 access_denied means your Google account is not added as a test user for the OAuth app while it is in Testing mode. Add your account under Audience → Test users in the Google Cloud Console, then retry the authorization URL.

What happens if the gws CLI is not installed?

The google_api.py script detects whether the gws binary is available and falls back to the google-api-python-client library when it is missing. Both paths produce the same JSON output contract, so commands work identically either way.