google-sheets-automation
Provides tools to read and write to Google Sheets via command line.
Install
mkdir -p .claude/skills/google-sheets-automation-tjsndhu && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15726" && unzip -o skill.zip -d .claude/skills/google-sheets-automation-tjsndhu && rm skill.zipInstalls to .claude/skills/google-sheets-automation-tjsndhu
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Lightweight Google Sheets integration with standalone OAuth authentication. No MCP server required. Full read/write access.Key capabilities
- →Authenticate with Google for Sheets access
- →Get spreadsheet content in text, CSV, or JSON format
- →Get values from a specific range using A1 notation
- →Find spreadsheets by search query
- →Update a range of cells with values
- →Append rows to a spreadsheet
How it works
The skill uses Python scripts to interact with Google Sheets, performing read and write operations after OAuth authentication, and manages tokens securely.
Inputs & outputs
When to use google-sheets-automation
- →Read data from Google Sheets
- →Update spreadsheet cells programmatically
- →Query sheet metadata
- →Search for spreadsheets by name
About this skill
Google Sheets
Lightweight Google Sheets integration with standalone OAuth authentication. No MCP server required. Full read/write access.
Requires Google Workspace account. Personal Gmail accounts are not supported.
First-Time Setup
Authenticate with Google (opens browser):
python scripts/auth.py login
Check authentication status:
python scripts/auth.py status
Logout when needed:
python scripts/auth.py logout
Read Commands
All operations via scripts/sheets.py. Auto-authenticates on first use if not logged in.
# 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
Write Commands
# Update a range of cells with values (JSON 2D array)
python scripts/sheets.py update-range SPREADSHEET_ID "Sheet1!A1:B2" '[["Hello","World"],["Foo","Bar"]]'
# Update with RAW input (no formula parsing, treats everything as literal text)
python scripts/sheets.py update-range SPREADSHEET_ID "Sheet1!A1:B1" '[["=SUM(A1:A5)","text"]]' --raw
# Append rows after the last data row
python scripts/sheets.py append-rows SPREADSHEET_ID "Sheet1!A:Z" '[["New Row Col A","New Row Col B"]]'
# Clear values from a range (keeps formatting)
python scripts/sheets.py clear-range SPREADSHEET_ID "Sheet1!A1:B10"
# Batch update (advanced - for formatting, merging, etc.)
python scripts/sheets.py batch-update SPREADSHEET_ID '[{"updateCells":{"range":{"sheetId":0},"fields":"userEnteredValue"}}]'
Spreadsheet ID
You can use either:
- The spreadsheet ID:
1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms - The full URL:
https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
The script automatically extracts the ID from URLs.
Output Formats
Text (default)
Human-readable format with pipe separators:
Spreadsheet Title: Sales Data
Sheet Name: Q1
Name | Revenue | Units
Product A | 10000 | 50
Product B | 15000 | 75
CSV
Standard CSV format, suitable for further processing:
Name,Revenue,Units
Product A,10000,50
Product B,15000,75
JSON
Structured data format:
{
"Q1": [
["Name", "Revenue", "Units"],
["Product A", "10000", "50"]
]
}
A1 Notation Examples
Sheet1!A1:B10- Range A1 to B10 on Sheet1Sheet1!A:A- All of column A on Sheet1Sheet1!1:1- All of row 1 on Sheet1A1:C5- Range on the first sheet
Value Input Options
- USER_ENTERED (default): Values are parsed as if typed by a user. Numbers, dates, and formulas are interpreted.
- RAW (
--rawflag): Values are stored exactly as provided. No parsing of formulas or number formatting.
Token Management
Tokens stored securely using the system keyring:
- macOS: Keychain
- Windows: Windows Credential Locker
- Linux: Secret Service API (GNOME Keyring, KDE Wallet, etc.)
Service name: google-sheets-skill-oauth
Tokens automatically refresh when expired using Google's cloud function.
When to Use
Use this skill when tackling tasks related to its primary domain or functionality as described above.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Prerequisites
Limitations
- →Personal Gmail accounts are not supported
How it compares
This skill provides direct programmatic control over Google Sheets via Python scripts and OAuth, contrasting with manual spreadsheet operations or integrations requiring an MCP server.
Compared to similar skills
google-sheets-automation side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| google-sheets-automation (this skill) | 0 | 3mo | Review | Intermediate |
| calc | 0 | 3mo | Review | Beginner |
| emailable-automation | 0 | 3mo | No flags | Intermediate |
| telegram-bot-builder | 106 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by TJSNDHU
View all by TJSNDHU →You might also like
calc
Anhvu1107
ALWAYS use this when the request matches Calc: Spreadsheet creation, format conversion (ODS/XLSX/CSV), formulas, data automation with LibreOffice Calc.
emailable-automation
onfire7777
Automate Emailable tasks via Rube MCP (Composio). Always search tools first for current schemas.
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.
reddit-api
alinaqi
Reddit API with PRAW (Python) and Snoowrap (Node.js)
hugging-face-tool-builder
patchy631
Use this skill when the user wants to build tool/scripts or achieve a task where using data from the Hugging Face API would help. This is especially useful when chaining or combining API calls or the task will be repeated/automated. This Skill creates a reusable script to fetch, enrich or process data.
klingai-rate-limits
jeremylongshore
Handle Kling AI rate limits with proper backoff strategies. Use when experiencing 429 errors or building high-throughput systems. Trigger with phrases like 'klingai rate limit', 'kling ai 429', 'klingai throttle', 'klingai backoff'.