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.mdsource 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
CLI installed (gog
should returnwhich gog
)/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
| Flag | Description | Use Case |
|---|---|---|
| JSON output | Parsing in scripts |
| TSV output | Simple parsing |
| (default) | Colored human-readable | Interactive use |
When to Use CLI vs MCP Tools
| Task | Use CLI | Use MCP |
|---|---|---|
| Quick calendar check | | - |
| Send email | | - |
| Complex slides manipulation | - | |
| Presentation updates | - | |
| WhatsApp integration | - | |
| Slack integration | - | |
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.