원클릭으로
gog
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Manage and configure Omarchy Linux systems. Use when user asks about Omarchy, Hyprland, themes, keybindings, system config, or any omarchy-* commands.
Use when building or modifying Datastar-powered UI — SSE streams, templ components, form handlers, signals, morph patterns, loading indicators. Enforces the Tao of Datastar (backend is source of truth, CQRS, fat morph, signals sparingly). Use for any work touching .templ files, SSE handlers, or Datastar attributes.
Create or fix static HTML slide decks powered by Datastar signals. Use when asked to make "datastar slides", "HTML slide deck", "slide deck with Datastar buttons", "arrow-key slides", or fix broken Datastar slide navigation. Covers v1 colon attribute syntax, local UI signals, keyboard handlers, dot indicators, and compact slide layout.
Address GitHub PR review comments in pi. Use when asked to handle PR comments, respond to review feedback, fix review comments, reply to GitHub PR comments, or work through unresolved review threads. Fetches comments with gh, batches triage with the user, applies fixes on the correct branch, and replies on GitHub using pi's /answer flow.
Research Codebase
Build and customize pi itself (not end-user task execution). Use when asked to create or modify pi config, extensions, AGENTS.md behavior, skills/prompts/themes loading, package wiring, or integration surfaces for external tools/services.
| name | gog |
| description | Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. |
| homepage | https://gogcli.sh |
Use gog for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
Setup (once)
gog auth credentials /path/to/client_secret.jsongog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheetsgog auth listHeadless / token-refresh recovery
gog auth status only confirms local config/credential presence. It does NOT prove the refresh token is still good.invalid_grant, re-run auth instead of trusting auth status.gog auth add you@gmail.com --remote --step=1 --services=drive,docs --readonly --json --no-inputauth_url from the JSON and send that exact URL to the user.gog auth add you@gmail.com --remote --step=2 --auth-url 'PASTED_REDIRECT_URL' --services=drive,docs --readonly --json --no-input--services, --readonly, --drive-scope, --gmail-scope, --force-consent, and any redirect override), or gog will reject it with manual auth state mismatch.--services set you need (drive,docs is enough for reading a Google Doc itinerary).~/.config/gogcli/oauth-manual-state-<STATE>.json.manual auth state missing means that file is absent/expired (TTL is about 10 minutes) or unreadable.manual auth state mismatch usually means the cached file's client, scopes, force_consent, or redirect_uri does not exactly match the step-2 invocation / pasted redirect URL.state value, exact scopes from a --dry-run, and the redirect URI from the pasted callback URL, then rerun step 2 with matching flags.Common commands
gog gmail search 'newer_than:7d' --max 10gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account you@example.comgog gmail send --to a@b.com --subject "Hi" --body "Hello"gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txtgog gmail send --to a@b.com --subject "Hi" --body-file -gog gmail send --to a@b.com --subject "Hi" --body-html "<p>Hello</p>"gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txtgog gmail drafts send <draftId>gog gmail send --to a@b.com --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 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
GOG_ACCOUNT=you@gmail.com 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.