Skip to content
cccskills
FreePublished on GitHubEnglish overview

gog

Manage Google Workspace tasks through a command-line tool. Search and send Gmail messages, manage Calendar events, find Drive files, list contacts, update Sheets data, and read or export Docs.

OriginalShow the original description

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

Works withGmail
AI rating90/ 100See how to install

Good for

  • Searching recent emails and drafting replies
  • Creating or updating calendar events
  • Finding files and listing contacts
  • Reading and updating spreadsheet data
  • Reading or exporting documents

Overview

What it does

gog lets you ask an agent to handle everyday Google Workspace tasks through a command-line tool. It supports Gmail searches, sending messages, drafts, and replies; creating and updating Calendar events; searching Drive files; and listing Contacts. In Sheets, it can read or update a specified range, append rows, and clear data. For Docs, it can display content, export documents, and make copies.

When it helps

Use it when you want to request work involving email, schedules, and spreadsheet data together. Email searches can return either whole conversations or individual messages, depending on what you need to find.

Example requests

  • “Find 10 emails from the past seven days.”
  • “Add tomorrow’s meeting to Calendar.”
  • “Read the specified range in Sheets and append a new row.”

Notes

You need to install gog and authorize your Google account through OAuth. Handle passwords and credentials in the authentication environment rather than pasting them into chat. Editing Docs content directly requires a separate Docs API client.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodThe source names six supported services and specifies operations for email, events, spreadsheets, and documents.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodAuthentication steps, operation commands, JSON inputs, and email body examples are provided.
SafetyAre sending data, deleting files, and running commands disclosed?
BPartly lackingCredential protection is explicit, but email sending and spreadsheet clearing have no confirmation procedure.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodThe source includes brew installation, OAuth setup, and authentication procedures for hosts without a browser display.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 19, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md6.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

gog

Use gog for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.

Prefer an already-authorized host account: run the requested gog command first. Enter setup only after an authentication error. Never ask for passwords, client secrets, or refresh tokens in chat.

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

Remote / headless Gateway hosts

When the Gateway host has no local browser display:

  1. Prefer a live callback listener on the Gateway host. From the machine with the browser, forward the exact callback port (ssh -L <port>:127.0.0.1:<port> user@gateway-host), open the authorization URL gog prints, and let the redirect complete on that forwarded port.
  2. When a live listener is unavailable, the operator picks one paste-mode path in a trusted shell on the Gateway host. Callback URLs must never enter chat or agent tool input:
    • --manual: the operator pastes the full redirect URL into gog's interactive prompt.
    • --remote --step 1: prints auth_url (and state_reused) then exits. After browser consent, the operator runs --remote --step 2 --auth-url <callback-url> in the trusted shell. A failed localhost page load after consent is expected.
  3. Keep the same resolved config context across remote steps: GOG_CONFIG_DIR takes precedence over --home, which takes precedence over GOG_HOME. Also preserve --client, services/scopes, redirect URI, and consent options. Matching unexpired manual state may be reused (state_reused=true).
  4. If desktop keyring is unavailable, configure the file backend (gog auth keyring file) and set GOG_KEYRING_PASSWORD in the Gateway environment so non-interactive agent/--no-input runs can read tokens. gog auth doctor reports when the password is missing.
  5. Callback received is not the same as token stored. If token exchange or identity lookup fails behind a proxy, restart from step 1 after the operator approves scoped egress or proxy exceptions for the required Google endpoints. Do not bypass host network policy or reuse failed or expired state.

For diagnostics, inspect every entry reported by gog auth list --check; its exit status does not prove every stored token is valid. Likewise, inspect the status reported by gog auth doctor rather than relying only on its exit code.

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):

    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):

    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:</p><ul><li>Item one</li><li>Item two</li></ul><p>Best regards,<br>Your Name</p>"
    

Notes

  • Set GOG_ACCOUNT=you@gmail.com to avoid repeating --account.
  • For scripting, prefer --json plus --no-input.
  • Sheets values can be passed via --values-json (recommended) or as inline rows.
  • Docs supports export/cat/copy. In-place edits require a Docs API client (not in gog).
  • gog gmail search returns one row per thread; use gog gmail messages search when you need every individual email returned separately.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

1password

FreeSummaryAI rating 100

Set up and authenticate the 1Password CLI, then supply stored passwords and API keys to commands or configuration. The skill covers desktop integration, service accounts, and interactive sign-in while keeping secrets out of chat and logs.

  • Setting up the 1Password CLI
  • Supplying API keys to commands
  • Using service account authentication in CI
openclaw/openclaw392.4KUpdated Oct 18, 2026

acp-router

FreeSummaryAI rating 80

Route requests from OpenClaw to external coding agents such as Claude Code or Cursor. Start or continue sessions using ACP, a protocol for connecting agents, or relay prompts directly through acpx while preserving conversation context.

  • Starting a Claude Code session in a thread
  • Continuing work with an external coding agent
  • Relaying prompts directly through acpx
openclaw/openclaw392.4KUpdated Oct 18, 2026

add-model-provider

FreeSummaryAI rating 100

Add a model provider to OpenClaw and verify it with a real response. The skill validates configuration, keeps credentials in environment or file references, and reports test results and any default model changes.

  • Adding a model provider to OpenClaw
  • Configuring credentials through environment or file references
  • Checking whether a model returns a real response
openclaw/openclaw392.4KUpdated Oct 18, 2026

agent-transcript

FreeSummaryAI rating 90

Prepare an agent activity transcript for a GitHub pull request or issue. Extract relevant prompts, decisions, and results from local logs, remove sensitive material, and preview the edited record before separately authorized publication.

  • Preparing an agent activity record for a pull request
  • Extracting task-relevant prompts and results from local logs
  • Previewing a transcript with sensitive information removed
openclaw/openclaw392.4KUpdated Oct 18, 2026

apple-notes

FreeSummaryAI rating 100

Manage Apple Notes on macOS through memo, a command-line tool. Create, browse, search, edit, delete, and move notes between folders, or export selected notes to HTML or Markdown for use outside the app.

  • Creating notes with titles
  • Finding notes by folder or approximate search
  • Editing notes and organizing them into folders
openclaw/openclaw392.4KUpdated Oct 18, 2026

apple-reminders

FreeSummaryAI rating 70

Manage Apple Reminders from your Mac with remindctl, a terminal tool. View tasks by date, add or edit reminders, organize lists, and mark tasks complete or delete them, including personal to-dos that sync to iOS.

  • Review today’s tasks and overdue reminders
  • Add personal to-dos with due dates
  • Organize tasks visible on an iPhone or iPad
openclaw/openclaw392.4KUpdated Oct 18, 2026

See all skills by openclaw

Report a problem with this skill