gog

Installation
SKILL.md

GOG

Use the installed gog CLI for Gmail, Calendar, Drive, Docs, Sheets and other Google services. Check command -v gog and gog --version once per session; report a missing installation. After an upgrade, recheck focused help before reusing remembered flags. Treat the installed CLI's help/schema as authoritative rather than assuming these examples describe every version. Do not use generic Google connectors when this skill applies.

Discover authenticated accounts with gog auth list; confirm its flags with current help. GOG owns its OAuth credentials in its configured storage. Do not copy them into a project or replace its authentication with a connector. If no account is authenticated, report the missing setup; do not initiate login unless requested.

Honour an account the user names. Use repository context only when it explicitly identifies the owning account or domain. For an unspecified read, query the plausible configured accounts and label their results. Ask before a mutation whose destination remains ambiguous; never invent account aliases or assume an account inventory.

Before using an unfamiliar command, run gog schema <command path> --json or focused gog <command> --help; do not guess flags. Prefer structured, non-interactive output:

gog --account <email> --json --no-input --wrap-untrusted --readonly <command>

Preserve the JSON envelope, including pagination tokens. For complete searches or inventories, fetch every page and report any account or page that could not be read. Pagination is command-specific: Gmail message search supports --all; calendar events use --all-pages (--all means all calendars); Drive search uses --page. Confirm these with current help. Use --results-only only for a singular result or after completeness has been established. A first page is not a complete account or folder review.

Gmail search efficiency and rate limits

Use gog gmail messages search for email; the root gog search command searches Drive. For prose-only thread reading, check support for gmail thread get <id> --full --sanitize-content: it avoids bulky raw MIME payloads, but removes HTTP(S) URLs. When links matter, retrieve unsanitised content and extract the needed text locally. Output filtering such as --select is not a guarantee of fewer API requests.

Installs
21
Repository
howells/skills
GitHub Stars
5
First Seen
Sep 2, 2026