
Gog
Install this when your agent should run Google Workspace tasks—Gmail search/send, Calendar, Drive, Sheets, Docs—through the gog CLI instead of brittle browser automation.
Overview
gog is an agent skill for the Build phase that connects Gmail, Calendar, Drive, Contacts, Sheets, and Docs through the gog Google Workspace CLI with OAuth setup and command recipes.
Install
npx skills add https://github.com/steipete/clawdis --skill gogWhat is this skill?
- Wraps the gog Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs
- Documents one-time OAuth: credentials file, per-account service scopes, auth list
- Gmail: search, threaded messages search, send (plain/HTML/body-file/stdin), drafts create and send
- Homebrew install path via steipete/tap/gogcli when bins are missing
- openclaw metadata requires gog binary on PATH before commands run
- 6 Google Workspace surfaces named: Gmail, Calendar, Drive, Contacts, Sheets, Docs
Adoption & trust: 3.8k installs on skills.sh; 378k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want your coding agent to read mail, send updates, or touch Drive and Sheets without re-implementing Google OAuth and REST each time.
Who is it for?
Solo operators already on Google Workspace who want terminal-first Gmail and Drive automation inside Claude Code or OpenClaw-style agents.
Skip if: Teams standardized on Microsoft 365 only, or builders who cannot store OAuth client secrets and tokens on the dev machine.
When should I use this skill?
User or agent needs Gmail/Calendar/Drive/Contacts/Sheets/Docs operations via the gog CLI after OAuth is configured.
What do I get? / Deliverables
After setup, the agent runs documented gog commands for search, send, drafts, and other Workspace services with per-account flags instead of guessing API endpoints.
- Executed gog CLI commands for Workspace tasks
- Documented auth setup steps when onboarding a new machine or account
Recommended Skills
Journey fit
Build/integrations is the canonical shelf because the skill wires OAuth-backed Google APIs into your agent workflow via a local CLI. Integrations captures third-party Workspace connectivity; it is not primarily SEO, testing, or infra monitoring.
How it compares
CLI integration skill for Google Workspace—not a hosted MCP server with centralized token vaulting.
Common Questions / FAQ
Who is gog for?
Indie builders and agent users who rely on Gmail, Calendar, and Google Docs daily and want repeatable gog CLI commands from their coding agent.
When should I use gog?
During Build when wiring Workspace into an agent workflow; during Grow or Operate when triaging inbox search, sending customer email, or pulling Drive/Sheet assets from the terminal.
Is gog safe to install?
It requires OAuth credentials and can send email and access cloud files—review the Security Audits panel on this Prism page, scope auth services narrowly, and protect client_secret.json and tokens.
SKILL.md
READMESKILL.md - Gog
# gog Use `gog` for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup. Setup (once) - `gog auth credentials /path/to/client_secret.json` - `gog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheets` - `gog auth list` Common commands - Gmail search: `gog gmail search 'newer_than:7d' --max 10` - Gmail messages search (per email, ignores threading): `gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account you@example.com` - Gmail send (plain): `gog gmail send --to a@b.com --subject "Hi" --body "Hello"` - Gmail send (multi-line): `gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt` - Gmail send (stdin): `gog gmail send --to a@b.com --subject "Hi" --body-file -` - Gmail send (HTML): `gog gmail send --to a@b.com --subject "Hi" --body-html "<p>Hello</p>"` - Gmail draft: `gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txt` - Gmail send draft: `gog gmail drafts send <draftId>` - Gmail reply: `gog gmail send --to a@b.com --subject "Re: Hi" --body "Reply" --reply-to-message-id <msgId>` - Calendar list events: `gog calendar events <calendarId> --from <iso> --to <iso>` - Calendar create event: `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>` - Calendar create with color: `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso> --event-color 7` - Calendar update event: `gog calendar update <calendarId> <eventId> --summary "New Title" --event-color 4` - Calendar show colors: `gog calendar colors` - Drive search: `gog drive search "query" --max 10` - Contacts: `gog contacts list --max 20` - Sheets get: `gog sheets get <sheetId> "Tab!A1:D10" --json` - Sheets update: `gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED` - Sheets append: `gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS` - Sheets clear: `gog sheets clear <sheetId> "Tab!A2:Z"` - Sheets metadata: `gog sheets metadata <sheetId> --json` - Docs export: `gog docs export <docId> --format txt --out /tmp/doc.txt` - Docs cat: `gog docs cat <docId>` Calendar Colors - Use `gog calendar colors` to see all available event colors (IDs 1-11) - Add colors to events with `--event-color <id>` flag - Event color IDs (from `gog calendar colors` output): - 1: #a4bdfc - 2: #7ae7bf - 3: #dbadff - 4: #ff887c - 5: #fbd75b - 6: #ffb878 - 7: #46d6db - 8: #e1e1e1 - 9: #5484ed - 10: #51b749 - 11: #dc2127 Email Formatting - Prefer plain text. Use `--body-file` for multi-paragraph messages (or `--body-file -` for stdin). - Same `--body-file` pattern works for drafts and replies. - `--body` does not unescape `\n`. If you need inline newlines, use a heredoc or `$'Line 1\n\nLine 2'`. - Use `--body-html` only when you need rich formatting. - HTML tags: `<p>` for paragraphs, `<br>` for line breaks, `<strong>` for bold, `<em>` for italic, `<a href="url">` for links, `<ul>`/`<li>` for lists. - Example (plain text via stdin): ```bash gog gmail send --to recipient@example.com \ --subject "Meeting Follow-up" \ --body-file - <<'EOF' Hi Name, Thanks for meeting today. Next steps: - Item one - Item two Best regards, Your Name EOF ``` - Example (HTML list): ```bash gog gmail send --to recipient@example.com \ --subject "Meeting Follow-up" \ --body-html "<p>Hi Name,</p><p>Thanks for meeting today. Here are the next steps:</