skills/gog/SKILL.md
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
npx skillsauth add 0xhoneyjar/loa-beauvoir gogInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use gog for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
Setup (once)
gog auth credentials /path/to/client_secret.jsongog auth add [email protected] --services gmail,calendar,drive,contacts,docs,sheetsgog auth listCommon commands
gog gmail search 'newer_than:7d' --max 10gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account [email protected]gog gmail send --to [email protected] --subject "Hi" --body "Hello"gog gmail send --to [email protected] --subject "Hi" --body-file ./message.txtgog gmail send --to [email protected] --subject "Hi" --body-file -gog gmail send --to [email protected] --subject "Hi" --body-html "<p>Hello</p>"gog gmail drafts create --to [email protected] --subject "Hi" --body-file ./message.txtgog gmail drafts send <draftId>gog gmail send --to [email protected] --subject "Re: Hi" --body "Reply" --reply-to-message-id <msgId>gog calendar events <calendarId> --from <iso> --to <iso>gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso> --event-color 7gog calendar update <calendarId> <eventId> --summary "New Title" --event-color 4gog calendar colorsgog drive search "query" --max 10gog contacts list --max 20gog sheets get <sheetId> "Tab!A1:D10" --jsongog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTEREDgog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWSgog sheets clear <sheetId> "Tab!A2:Z"gog sheets metadata <sheetId> --jsongog docs export <docId> --format txt --out /tmp/doc.txtgog docs cat <docId>Calendar Colors
gog calendar colors to see all available event colors (IDs 1-11)--event-color <id> flaggog calendar colors output):
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 [email protected] \
--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 [email protected] \
--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
[email protected] to avoid repeating --account.--json plus --no-input.--values-json (recommended) or as inline rows.gog gmail search returns one row per thread; use gog gmail messages search when you need every individual email returned separately.tools
Control headless Chrome via Cloudflare Browser Rendering CDP WebSocket. Use for screenshots, page navigation, scraping, and video capture when browser automation is needed in a Cloudflare Workers environment. Requires CDP_SECRET env var and cdpUrl configured in browser.profiles.
testing
# valid-skill Test skill with valid license for unit testing. ## Purpose Used in test_constructs_loader.bats to verify correct handling of valid licenses.
testing
# grace-skill Test skill in license grace period for unit testing. ## Purpose Used in test_constructs_loader.bats to verify correct handling of licenses in grace period.
testing
# expired-skill Test skill with expired license for unit testing. ## Purpose Used in test_constructs_loader.bats to verify correct handling of expired licenses.