Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
intellectronica avatar

Gog Cli

  • 685 installs
  • 279 repo stars
  • Updated April 25, 2026
  • intellectronica/agent-skills

gog-cli is an authentication reference skill that configures Google OAuth and least-privilege scopes for gogcli so coding agents can access Gmail, Calendar, Drive, Docs, and related Google user APIs safely.

About

gog-cli documents gogcli installation, credential management, and account authorization for Google Desktop OAuth clients. Commands include brew install gogcli, gog auth credentials set with a client_secret JSON, gog auth add with comma-separated services like gmail,calendar,drive, plus gog auth list --check and gog auth status for verification. The skill stresses enabling only required Google Cloud APIs and checking live service names via gog auth services before prescribing scopes. Developers invoke gog-cli when diagnosing auth failures, picking credential modes, or wiring least-privilege agent access to Google Workspace user data.

  • Documents brew install, credentials JSON placement, and gog auth add/list/status flows.
  • Requires Google Cloud Desktop app OAuth client JSON with APIs enabled for the task only.
  • Lists current user vs workspace service-account service names and scope gotchas (Docs/Slides/Sheets + Drive).
  • Explains --services user vs all alias and when to re-run --force-consent for refresh tokens.
  • Provides least-privilege examples: gmail readonly, drive readonly, drive file scope.

Gog Cli by the numbers

  • 685 all-time installs (skills.sh)
  • +18 installs in the week ending Jul 25, 2026 (Skillselion tracking)
  • Ranked #359 of 2,742 Automation & Workflows skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 25, 2026 (Skillselion catalog sync)
npx skills add https://github.com/intellectronica/agent-skills --skill gog-cli

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs685
repo stars279
Security audit3 / 3 scanners passed
Last updatedApril 25, 2026
Repositoryintellectronica/agent-skills

How do you configure gogcli OAuth for agent Gmail access?

Configure Google OAuth and least-privilege scopes for gogcli so agents can reach Gmail, Calendar, Drive, Docs, and related user APIs safely.

Who is it for?

Developers connecting coding agents to Google Gmail, Calendar, Drive, or Docs via gogcli with minimal OAuth scopes.

Skip if: Service-account-only server backends, non-Google providers, or deployments that forbid Desktop OAuth client flows.

When should I use this skill?

The user needs gogcli auth setup, OAuth scope selection, credential errors, or Google API access for agents.

What you get

Authenticated gogcli account with verified scopes and working Google API access for selected services.

  • authenticated gogcli profile
  • verified scope list

Files

SKILL.mdMarkdownGitHub ↗

gogcli (gog)

gog is a fast, script-friendly CLI for Google services. It is JSON-first, supports multiple accounts/OAuth clients, and has explicit guardrails for agent and CI usage.

Authoritative upstream: https://github.com/steipete/gogcli

This skill was refreshed against upstream gog v0.13.0 (2026-04-20). When exact syntax matters, run gog <command> --help or gog schema --json; the command surface moves quickly, rather inconveniently for anyone fond of stale notes.

Operating rules

  • Prefer gog --json ... | jq ... for inspection and scripting.
  • Use --plain only when stable TSV is more convenient than JSON.
  • Use --dry-run for supported mutating operations when preparing a change or when user intent is ambiguous.
  • Use --no-input in automation so commands fail instead of prompting.
  • Use --force only when the user asked for the destructive/public/send/admin operation or after you have clearly explained the effect.
  • Do not repair OAuth, consent, keyring, or Workspace delegation problems silently. Show the exact command the user should run.
  • Do not export tokens, print secrets, open public shares, add delegates/forwarding, send mail, suspend users, or permanently delete data unless the user explicitly requested that action.
  • For agent runs that must not send mail, add --gmail-no-send, set GOG_GMAIL_NO_SEND=1, or configure gog config no-send set <account>.

Install and auth

brew install gogcli
gog auth credentials set ~/Downloads/client_secret_....json
gog auth add you@example.com --services gmail,calendar,drive
gog auth list --check

Notes:

  • Homebrew now uses brew install gogcli; old tap examples are obsolete.
  • gog auth add defaults to --services user. Request the services needed for the task.
  • --services all is accepted only as a backwards-compatible alias for user; do not use it when you need every API.
  • Use --readonly, --drive-scope readonly|file|full, and --gmail-scope readonly|full for least privilege.
  • Keep and Admin require Workspace service-account/domain-wide delegation. Google Chat, Groups, directory, and Classroom also have Workspace restrictions.
  • For headless/CI, consider --manual, --remote, --access-token, or GOG_AUTH_MODE=adc.

Read references/authentication.md for full auth patterns.

Global flags

--account, -a <email|alias|auto>   # account selection
--client <name>                    # named OAuth client/token bucket
--access-token <token>             # direct short-lived token; also GOG_ACCESS_TOKEN
--json, -j                         # machine-readable JSON
--plain, -p                        # stable TSV
--results-only                     # JSON primary result only
--select <fields>                  # best-effort JSON projection
--dry-run, -n                      # preview supported writes
--force, -y                        # skip confirmations
--no-input                         # never prompt
--enable-commands <csv>            # allowlist top-level or dotted commands
--disable-commands <csv>           # denylist top-level or dotted commands
--gmail-no-send                    # block Gmail send operations
--verbose, -v                      # debug logging

Useful command aliases:

gog send ...             # alias for gog gmail send
gog ls                   # alias for gog drive ls
gog search "budget"      # alias for gog drive search
gog download <fileId>    # alias for gog drive download
gog upload ./file.pdf    # alias for gog drive upload
gog me                   # alias for gog people me
gog status               # alias for gog auth status
gog open <id-or-url>     # best-effort Google web URL, offline

High-value workflows

Account selection

gog auth alias set work you@company.com
gog --account work gmail search 'is:unread newer_than:2d'
GOG_ACCOUNT=work gog calendar events primary --today
gog --client work auth credentials set ~/Downloads/work-client.json
gog --client work auth add you@company.com --services gmail,calendar

Gmail

gog --json gmail search 'is:unread newer_than:7d' | jq -r '.threads[].id'
gog gmail messages search 'from:alice@example.com has:attachment' --include-body
gog gmail messages search 'subject:report newer_than:30d' --full
gog gmail thread get <threadId> --download --out-dir ./attachments
gog gmail labels modify <threadId> --add Project --remove INBOX
gog gmail messages modify <messageId> --add STARRED
gog gmail send --to user@example.com --subject "Hello" --body-file ./body.txt
gog gmail forward <messageId> --to user@example.com --note "FYI"

For forwarding, autoreply, watch/Pub/Sub, filters, delegates, send-as, label colours, batch operations, and tracking, read references/gmail.md.

Calendar

gog calendar calendars
gog calendar events primary --today --weekday
gog calendar events --all --from "2026-04-25T00:00:00+02:00" --to "2026-04-26T00:00:00+02:00"
gog calendar freebusy --cal primary --from "2026-04-25T09:00:00+02:00" --to "2026-04-25T17:00:00+02:00"
gog calendar create primary --summary "Planning" --from "2026-04-25T14:00:00+02:00" --to "2026-04-25T14:30:00+02:00" --attendees "alice@example.com,bob@example.com" --with-meet
gog calendar respond primary <eventId> --status accepted --send-updates all

Use RFC3339 with timezone offsets for generated datetimes. Read references/calendar.md for aliases, subscriptions, secondary calendars, extended properties, Focus Time, OOO, working locations, team calendars, and conflict detection.

Drive, Docs, Sheets, Slides, Forms, Apps Script

gog drive search "invoice filetype:pdf" --max 20
gog drive upload ./report.md --convert-to doc --parent <folderId>
gog drive upload ./deck.pdf --replace <fileId> --name "Board Deck.pdf"
gog drive share <fileId> --to user --email editor@example.com --role commenter
gog docs write <docId> --file ./brief.md --replace --markdown
gog docs sed <docId> 's/status/{b c=green}approved/g' --dry-run
gog sheets update <spreadsheetId> 'Sheet1!A1' '[["Name","Score"],["Ada",98]]'
gog sheets chart list <spreadsheetId>
gog slides thumbnail <presentationId> <slideId> --out ./slide.png
gog forms responses list <formId> --max 20
gog appscript run <scriptId> myFunction --params '["arg1", 123]'

Read references/drive-docs.md for current file/content commands. For Docs sed formatting, read references/sedmat.md.

Other services

gog contacts search "Ada"
gog tasks lists
gog tasks add <tasklistId> --title "Weekly review" --due "2026-04-27" --repeat weekly
gog chat messages send spaces/<spaceId> --text "Build complete"
gog groups members engineering@example.com
gog admin users list --domain example.com
gog keep search "receipt"

Read references/other-services.md for Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep, and time utilities.

Scripting patterns

# Inspect shape first
gog --json gmail search 'is:unread' --max 3 | jq .

# Use pagination/all-pages where available
gog --json calendar events primary --from today --to tomorrow --all-pages

# Fail cleanly when a supported list command has no results
gog --json calendar events primary --query "unlikely query" --fail-empty

# Batch with xargs after checking output
gog --json gmail search 'older_than:1y label:newsletter' --max 200 | \
  jq -r '.threads[].id' | \
  xargs -n 50 gog gmail labels modify --remove INBOX

# Agent-safe command surface
GOG_ENABLE_COMMANDS=calendar.events,calendar.freebusy,tasks \
  gog --no-input --json calendar events primary --today

Reference map

  • references/command-reference.md - generated command index from gog schema --json
  • references/authentication.md - OAuth clients, service accounts, scopes, keyrings, headless auth
  • references/configuration.md - config keys, environment variables, output modes, safety switches
  • references/gmail.md - Gmail search, read, send, labels, settings, watch, tracking, autoreply
  • references/calendar.md - Calendar listing, event writes, scheduling, special events, aliases
  • references/drive-docs.md - Drive, Docs, Sheets, Slides, Forms, Apps Script
  • references/sedmat.md - Docs sed/formatting DSL
  • references/other-services.md - Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep

Related skills

How it compares

Use gog-cli for user-delegated Google API access via gogcli; use a service-account skill for unattended server-to-server Google Cloud jobs.

FAQ

What OAuth client type does gog-cli require?

gog-cli requires Google Cloud Desktop app OAuth client credentials exported as client_secret JSON. Enable only the Google APIs needed for the selected gog auth services before authorizing accounts.

How do you verify gogcli authentication?

gog-cli recommends gog auth list --check and gog auth status after gog auth add you@example.com --services gmail,calendar,drive. Use gog auth services to confirm live service names and scopes.

Is Gog Cli safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Automation & Workflowsintegrationsbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.