Claude-skill-registry google-cli

Use the gog CLI to interact with Google Workspace services (Calendar, Gmail, Tasks, Drive, Docs, Slides, Sheets). This skill is for coding agents that have Bash access and prefer CLI tools over MCP tools. Use when asked to check calendar, send emails, manage tasks, or access Google services from the terminal.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/google-cli" ~/.claude/skills/majiayu000-claude-skill-registry-google-cli && rm -rf "$T"
manifest: skills/data/google-cli/SKILL.md
source content

Google CLI (gog)

The

gog
CLI provides access to Google Workspace services from the terminal. Use this instead of MCP tools when you have Bash access (coding agents in Cursor/Claude Code).

Prerequisites

  • gog
    CLI installed (
    which gog
    should return
    /usr/local/bin/gog
    )
  • Authenticated via
    gog auth login

Quick Reference

# Check authentication status
gog auth status

# List available accounts
gog auth list

Calendar Operations

List Upcoming Events

# List events for the next 7 days (default)
gog calendar events

# List events for specific date range
gog calendar events --from="2026-01-15" --to="2026-01-20"

# List events from a specific calendar
gog calendar events primary

# Output as JSON (for parsing)
gog calendar events --json

# Search for events by keyword
gog calendar search "standup"

Create Events

# Quick event creation
gog calendar create primary --title="Team Meeting" --start="2026-01-15T14:00:00" --end="2026-01-15T15:00:00"

# With location and description
gog calendar create primary \
  --title="Sprint Planning" \
  --start="2026-01-20T10:00:00" \
  --end="2026-01-20T11:30:00" \
  --location="Conference Room A" \
  --description="Q1 sprint planning meeting"

# Add attendees
gog calendar create primary \
  --title="1:1 Meeting" \
  --start="2026-01-16T09:00:00" \
  --end="2026-01-16T09:30:00" \
  --attendees="colleague@company.com"

Manage Events

# Get event details
gog calendar event <calendarId> <eventId>

# Update an event
gog calendar update primary <eventId> --title="Updated Title"

# Delete an event
gog calendar delete primary <eventId>

# Respond to invitation
gog calendar respond primary <eventId> --response=accepted

Advanced Calendar

# Check free/busy for scheduling
gog calendar freebusy "email1@company.com,email2@company.com" --from="2026-01-15" --to="2026-01-16"

# Find conflicts in your calendar
gog calendar conflicts --days=7

# Set focus time
gog calendar focus-time --from="2026-01-15T09:00:00" --to="2026-01-15T12:00:00"

# Set out of office
gog calendar out-of-office --from="2026-01-20" --to="2026-01-24"

Gmail Operations

Read Emails

# Search emails (Gmail query syntax)
gog gmail search "is:unread"
gog gmail search "from:ceo@company.com"
gog gmail search "subject:urgent after:2026/01/01"
gog gmail search "has:attachment"

# Get recent emails with JSON output
gog gmail search "is:unread" --json

# Get specific message
gog gmail get <messageId>

# Get message metadata only
gog gmail get <messageId> --format=metadata

Send Emails

# Send a simple email
gog gmail send \
  --to="recipient@company.com" \
  --subject="Meeting Follow-up" \
  --body="Thank you for the meeting today."

# Send with CC
gog gmail send \
  --to="main@company.com" \
  --cc="manager@company.com" \
  --subject="Project Update" \
  --body="Here's the weekly update..."

# Send with attachment
gog gmail send \
  --to="team@company.com" \
  --subject="Report" \
  --body="Please find attached." \
  --attach="/path/to/report.pdf"

Organize Emails

# List labels
gog gmail labels list

# Modify thread labels
gog gmail thread modify <threadId> --add-labels="IMPORTANT" --remove-labels="INBOX"

Tasks Operations

List Tasks

# List all task lists
gog tasks lists list

# List tasks in a specific list
gog tasks list <tasklistId>

# Show completed tasks too
gog tasks list <tasklistId> --show-completed

# Output as JSON
gog tasks list <tasklistId> --json

Manage Tasks

# Add a new task
gog tasks add <tasklistId> --title="Review PR #123"

# Add with due date
gog tasks add <tasklistId> --title="Submit report" --due="2026-01-20"

# Add with notes
gog tasks add <tasklistId> --title="Prepare slides" --notes="For the Q1 review meeting"

# Mark task complete
gog tasks done <tasklistId> <taskId>

# Update task
gog tasks update <tasklistId> <taskId> --title="Updated title"

# Delete task
gog tasks delete <tasklistId> <taskId>

Drive Operations

# List files in root
gog drive list

# List files in folder
gog drive list <folderId>

# Search files
gog drive search "name contains 'report'"

# Download file
gog drive download <fileId> --output="/path/to/save"

# Upload file
gog drive upload /path/to/file --parent=<folderId>

Docs/Slides/Sheets

# Export Google Doc as PDF
gog docs export <docId> --format=pdf --output="document.pdf"

# Export as docx
gog docs export <docId> --format=docx --output="document.docx"

# Get slides presentation info
gog slides info <presentationId>

# Get sheet data
gog sheets get <spreadsheetId> <range>

Common Patterns for Agents

Check Today's Schedule

# Get today's events in a parseable format
gog calendar events --from="$(date +%Y-%m-%d)" --to="$(date -v+1d +%Y-%m-%d)" --json

Check Unread Emails

# Get unread count and subjects
gog gmail search "is:unread newer_than:1d" --json | jq '.threads | length'

Quick Task Creation from Issue

# Create task linked to JIRA issue
gog tasks add "@default" --title="PROJ-123: Implement feature X" --due="2026-01-20"

Find Available Meeting Time

# Check team availability
gog calendar freebusy "tom@company.com,alice@company.com" \
  --from="$(date +%Y-%m-%d)" \
  --to="$(date -v+5d +%Y-%m-%d)" \
  --json

Output Formats

FlagDescriptionUse Case
--json
JSON outputParsing in scripts
--plain
TSV outputSimple parsing
(default)Colored human-readableInteractive use

When to Use CLI vs MCP Tools

TaskUse CLIUse MCP
Quick calendar check
gog calendar events
-
Send email
gog gmail send
-
Complex slides manipulation-
ai_first_slides_*
Presentation updates-
ai_first_slides_*
WhatsApp integration-
whatsapp_*
Slack integration-
ai_first_slack_*

Rule of thumb: Use CLI for simple read/write operations. Use MCP tools for complex operations that need the assistant's context or don't have CLI equivalents.