Read and write Google Sheets spreadsheets - get content, update cells, append rows, fetch specific ranges, search for spreadsheets, and view metadata. Use when user asks to: read a spreadsheet, update cells, add data to Google Sheets, find a spreadsheet, check sheet contents, export spreadsheet data, or get cell values. Lightweight integration with standalone OAuth authentication supporting full read/write access.
An AI agent skill for reading Google Sheets spreadsheets - get content, fetch specific ranges, search, and view metadata. Works with Claude Code, Gemini CLI, Cursor, OpenAI Codex, Goose, and other AI clients supporting the Agent Skills Standard.
Read-only access. Lightweight alternative to the full Google Workspace MCP server.
⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.
pip install keyring
python scripts/auth.py login
This opens a browser for Google OAuth. Tokens are stored securely in your system keyring.
python scripts/auth.py status
# Get spreadsheet content as plain text (default)
python scripts/sheets.py get-text SPREADSHEET_ID
# Get spreadsheet content as CSV
python scripts/sheets.py get-text SPREADSHEET_ID --format csv
# Get spreadsheet content as JSON
python scripts/sheets.py get-text SPREADSHEET_ID --format json
# Get values from a specific range (A1 notation)
python scripts/sheets.py get-range SPREADSHEET_ID "Sheet1!A1:D10"
python scripts/sheets.py get-range SPREADSHEET_ID "A1:C5"
# Find spreadsheets by search query
python scripts/sheets.py find "budget 2024"
python scripts/sheets.py find "sales report" --limit 5
# Get spreadsheet metadata (sheets, dimensions, etc.)
python scripts/sheets.py get-metadata SPREADSHEET_ID
| Command | Description | Arguments |
|---------|-------------|-----------|
| get-text <id> | Get all content | spreadsheet ID, --format |
| get-range <id> <range> | Get specific cells | spreadsheet ID, A1 range |
| find <query> | Search spreadsheets | search query, --limit |
| get-metadata <id> | Get sheet info | spreadsheet ID |
Spreadsheet Title: Sales Data
Sheet Name: Q1
Name | Revenue | Units
Product A | 10000 | 50
Name,Revenue,Units
Product A,10000,50
{"Q1": [["Name", "Revenue", "Units"], ["Product A", "10000", "50"]]}
Sheet1!A1:B10 - Range A1 to B10 on Sheet1Sheet1!A:A - All of column ASheet1!1:1 - All of row 1A1:C5 - Range on first sheetTokens stored securely using the system keyring:
Service name: google-sheets-skill-oauth
Run python scripts/auth.py login to authenticate.
Check the spreadsheet ID and your access permissions.
Verify the A1 notation format and that the sheet name exists.
Apache 2.0
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer