원클릭으로
Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal. Supports both interactive wizard and non-interactive (agent-friendly) configuration.
Reply with voice memos using text-to-speech. Use when the user sends a voice message, asks for an audio reply, or when a voice response would be more natural.
Post, reply, like, and repost on Bluesky using the lettabot-bluesky CLI. Read-only by default; explicit actions required.
Create and manage scheduled tasks (cron jobs) that send you messages at specified times.
Manage Linear issues via GraphQL API. List, filter, update, prioritize, comment, and search issues. Use when the user asks about Linear, issues, project management, or backlog.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
SOC 직업 분류 기준
| name | |
| description | Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. |
Use gog CLI to interact with Google Workspace services.
brew install steipete/tap/gogcli
gog auth credentials /path/to/credentials.json
gog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
gog auth list
# Search emails
gog gmail search 'newer_than:1h is:unread' --account EMAIL --max 10
gog gmail search 'from:someone@example.com' --account EMAIL --max 10
# Read email
gog gmail get MESSAGE_ID --account EMAIL
# Send email
gog gmail send --to recipient@example.com --subject "Subject" --body "Message" --account EMAIL
# Reply to thread
gog gmail send --to recipient@example.com --subject "Re: Original" --body "Reply" --reply-to-message-id MSG_ID --account EMAIL
# Create/send draft
gog gmail drafts create --to recipient@example.com --subject "Subject" --body "Draft" --account EMAIL
gog gmail drafts send DRAFT_ID --account EMAIL
# Manage labels
gog gmail labels --account EMAIL
gog gmail modify MESSAGE_ID --add-labels LABEL --account EMAIL
gog gmail modify MESSAGE_ID --remove-labels UNREAD --account EMAIL
# List events
gog calendar events CALENDAR_ID --from 2026-01-27T00:00:00Z --to 2026-01-28T00:00:00Z --account EMAIL
# Create event
gog calendar create CALENDAR_ID --summary "Meeting" --from 2026-01-27T10:00:00Z --to 2026-01-27T11:00:00Z --account EMAIL
# Create with color (1-11)
gog calendar create CALENDAR_ID --summary "Meeting" --from ISO --to ISO --event-color 7 --account EMAIL
# Update event
gog calendar update CALENDAR_ID EVENT_ID --summary "New Title" --account EMAIL
# Show available colors
gog calendar colors
# Search files
gog drive search "query" --max 10 --account EMAIL
# List files in folder
gog drive list FOLDER_ID --account EMAIL
# Download file
gog drive download FILE_ID --out /path/to/file --account EMAIL
# Upload file
gog drive upload /path/to/file --parent FOLDER_ID --account EMAIL
# List contacts
gog contacts list --max 20 --account EMAIL
# Search contacts
gog contacts search "name" --account EMAIL
# Read range
gog sheets get SHEET_ID "Sheet1!A1:D10" --json --account EMAIL
# Update cells
gog sheets update SHEET_ID "Sheet1!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED --account EMAIL
# Append rows
gog sheets append SHEET_ID "Sheet1!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS --account EMAIL
# Clear range
gog sheets clear SHEET_ID "Sheet1!A2:Z" --account EMAIL
# Get metadata
gog sheets metadata SHEET_ID --json --account EMAIL
# Read document
gog docs cat DOC_ID --account EMAIL
# Export to file
gog docs export DOC_ID --format txt --out /tmp/doc.txt --account EMAIL
Set default account in .env:
GMAIL_ACCOUNT=you@gmail.com
Emails are polled every 1 minute via cron. Use ignore() if nothing important.