examples/skills/google-oauth/SKILL.md
Google OAuth2 for Gmail, Calendar, Drive, Sheets
npx skillsauth add ticruz38/skills google-oauthInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Authenticate with Google services (Gmail, Calendar, Drive, Sheets) via OAuth2. Designed for chat-based agents with minion.do integration.
auth [chat_id] [services...] - Get OAuth URL for user to connect
{ "auth_url": "...", "state": "...", "expires_in": 300 }./index.js auth 123456789 gmail calendarstatus [chat_id] - Check if user is connected
{ "connected": true, "email": "[email protected]", "services": [...] }./index.js status 123456789gmail [chat_id] [action] - Gmail operations (list, send, search)
./index.js gmail 123456789 list 10calendar [chat_id] [action] - Calendar operations
./index.js calendar 123456789 list 7drive [chat_id] [action] - Drive operations
./index.js drive 123456789 list 10disconnect [chat_id] - Remove all tokens for user
{ "disconnected": true }./index.js disconnect 123456789./index.js auth <chat_id> gmail calendar driveauth_url to user./index.js status <chat_id> until connected| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| MINION_BASE_URL | Yes | https://minion.do | OAuth callback service URL |
| MINION_API_KEY | No | - | API key for minion.do |
| OPENCLAW_INSTANCE_ID | No | openclaw-local | Instance identifier |
| GOOGLE_TOKEN_DIR | No | ~/.openclaw/google-tokens | Where tokens are stored |
Tokens are stored securely per chat:
~/.openclaw/google-tokens/
├── combined-{hash}.json # All services
├── gmail-{hash}.json # Gmail only
├── calendar-{hash}.json # Calendar only
└── drive-{hash}.json # Drive only
Files have 0600 permissions (user read/write only).
1. Agent: ./index.js auth 123456789 gmail
2. Skill: Returns auth URL
3. Agent: Send URL to user in chat
4. User: Clicks URL, authorizes with Google
5. Google: Redirects to minion.do with code
6. Skill: Polls and exchanges code for tokens
7. Agent: "✅ Connected as [email protected]"
# Check status
./index.js status 123456789
# Get Gmail messages
./index.js gmail 123456789 list 10
# Search Gmail
./index.js gmail 123456789 search "from:[email protected]"
# List calendar events
./index.js calendar 123456789 list 7
# Find free slots
./index.js calendar 123456789 free 2026-02-15 60
# List Drive files
./index.js drive 123456789 list 20
# Disconnect
./index.js disconnect 123456789
google-auth-client.py and google_services.py in scripts/testing
Suggest recipes based on dietary preferences, available ingredients, and cuisine preferences
development
Extract data from receipt photos using Google Vision API
business
QuickBooks Online integration for accounting sync - sync customers, invoices, and transactions with two-way sync and conflict resolution
testing
QuickBooks OAuth adapter for QuickBooks Online accounting integration. Built on top of auth-provider for secure token management with automatic refresh, multi-profile support, sandbox/production toggle, and health checks.