본문으로 건너뛰기
cccskills
무료GitHub에 공개

gog

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Gmail
설치 방법 보기

포함된 파일(1)

  • SKILL.md6.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

camsnap

무료

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

discrawl

무료

Discord archive: search, sync freshness, DMs, summaries, TUI, repo/release work.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

goplaces

무료

Query Google Places for text search, place details, resolve, reviews, or scriptable JSON via goplaces.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

imsg

무료

Use the imsg CLI from OpenClaw agents for iMessage/SMS DMs, groups, replies, reactions, polls, watching, and private-API actions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

peekaboo

무료

Capture and automate macOS UI with the Peekaboo CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

File watcher with auto-rebuild for any language or build system.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openclaw/nix-openclaw-tools542026년 10월 17일 업데이트

openclaw의 스킬 모두 보기

이 스킬의 문제 신고