Claude
Chat app · Skill upload
In Claude, open Customize → Skills and use Create skill to upload the ZIP. Skill availability depends on your plan and workspace settings.
Official Claude setup →Community skill · Free instruction package
Automate Google Sheets operations (read, write, format, filter, manage spreadsheets) via Rube MCP (Composio). Read/write data, manage tabs, apply formatting, and search rows programmatically.
Community instruction package. Read the full workflow below, then choose your app in the setup guide. Package instructions and compatibility claims have not been individually verified; check dependencies and license before use.
CHOOSE YOUR AI APP
Choose your app below for setup instructions. Keep the complete downloaded folder together. Each package may need tools, dependencies or permissions that your app does not provide.
Chat app · Skill upload
In Claude, open Customize → Skills and use Create skill to upload the ZIP. Skill availability depends on your plan and workspace settings.
Official Claude setup →Chat app · Access varies
Where Skills is available, open Plugins → Skills → Create → Upload from your computer. Otherwise, copy the instructions into a chat and add your brief; this does not install a skill or include its supporting files.
Official ChatGPT setup →Agent · Project skills
Extract the complete skill folder into your project’s .agents/skills directory. Ask the agent to use the skill for your task.
.agents/skills/googlesheets-automation/SKILL.mdOfficial Google Antigravity setup →Code editor · Project skills
Extract the complete folder into .cursor/skills. Check the editor’s skill settings and ask the agent to use it.
.cursor/skills/googlesheets-automation/SKILL.mdOfficial Cursor setup →Coding agent · Project skills
Extract the complete folder into .claude/skills. Ask Claude to use the named skill, or use its slash command when available.
.claude/skills/googlesheets-automation/SKILL.mdOfficial Claude Code setup →For text-only workflows, you can also paste the instructions into an AI conversation. Copying text does not enable scripts, connect accounts or grant tool access. App subscriptions may cost extra. Logos identify the products; KuchhBhi is independent and is not endorsed by these companies.
Automate Google Sheets workflows including reading/writing data, managing spreadsheets and tabs, formatting cells, filtering rows, and upserting records through Composio's Google Sheets toolkit.
RUBE_MANAGE_CONNECTIONS with toolkit googlesheetsRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googlesheetsWhen to use: User wants to read data from or write data to a Google Sheet
Tool sequence:
GOOGLESHEETS_SEARCH_SPREADSHEETS - Find spreadsheet by name if ID unknown [Prerequisite]GOOGLESHEETS_GET_SHEET_NAMES - Enumerate tab names to target the right sheet [Prerequisite]GOOGLESHEETS_BATCH_GET - Read data from one or more ranges [Required]GOOGLESHEETS_BATCH_UPDATE - Write data to a range or append rows [Required]GOOGLESHEETS_VALUES_UPDATE - Update a single specific range [Alternative]GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND - Append rows to end of table [Alternative]Key parameters:
spreadsheet_id: Alphanumeric ID from the spreadsheet URL (between '/d/' and '/edit')ranges: A1 notation array (e.g., 'Sheet1!A1:Z1000'); always use bounded rangessheet_name: Tab name (case-insensitive matching supported)values: 2D array where each inner array is a rowfirst_cell_location: Starting cell in A1 notation (omit to append)valueInputOption: 'USER_ENTERED' (parsed) or 'RAW' (literal)Pitfalls:
valueRanges[i].values; treat missing as empty arrayGOOGLESHEETS_BATCH_UPDATE values must be a 2D array (list of lists), even for a single rowtableRange; use returned updatedRange to verify placementWhen to use: User wants to create a new spreadsheet or manage tabs within one
Tool sequence:
GOOGLESHEETS_CREATE_GOOGLE_SHEET1 - Create a new spreadsheet [Required]GOOGLESHEETS_ADD_SHEET - Add a new tab/worksheet [Required]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - Rename, hide, reorder, or color tabs [Optional]GOOGLESHEETS_GET_SPREADSHEET_INFO - Get full spreadsheet metadata [Optional]GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE - Check if a specific tab exists [Optional]Key parameters:
title: Spreadsheet or sheet tab namespreadsheetId: Target spreadsheet IDforceUnique: Auto-append suffix if tab name exists (default true)properties.gridProperties: Set row/column counts, frozen rowsPitfalls:
index when creating multiple sheets in parallel (causes 'index too high' errors)GOOGLESHEETS_GET_SPREADSHEET_INFO can return 403 if account lacks accessWhen to use: User wants to find specific rows or apply filters to sheet data
Tool sequence:
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW - Find first row matching exact cell value [Required]GOOGLESHEETS_SET_BASIC_FILTER - Apply filter/sort to a range [Alternative]GOOGLESHEETS_CLEAR_BASIC_FILTER - Remove existing filter [Optional]GOOGLESHEETS_BATCH_GET - Read filtered results [Optional]Key parameters:
query: Exact text value to match (matches entire cell content)range: A1 notation range to search withincase_sensitive: Boolean for case-sensitive matching (default false)filter.range: Grid range with sheet_id for basic filterfilter.criteria: Column-based filter conditionsfilter.sortSpecs: Sort specificationsPitfalls:
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW matches entire cell content, not substringsWhen to use: User wants to update existing rows or insert new ones based on a unique key column
Tool sequence:
GOOGLESHEETS_UPSERT_ROWS - Update matching rows or append new ones [Required]Key parameters:
spreadsheetId: Target spreadsheet IDsheetName: Tab namekeyColumn: Column header name used as unique identifier (e.g., 'Email', 'SKU')headers: List of column names for the datarows: 2D array of data rowsstrictMode: Error on mismatched column counts (default true)Pitfalls:
keyColumn must be an actual header name, NOT a column letter (e.g., 'Email' not 'A')headers is NOT provided, first row of rows is treated as headersstrictMode=true, rows with more values than headers cause an errorWhen to use: User wants to apply formatting (bold, colors, font size) to cells
Tool sequence:
GOOGLESHEETS_GET_SPREADSHEET_INFO - Get numeric sheetId for target tab [Prerequisite]GOOGLESHEETS_FORMAT_CELL - Apply formatting to a range [Required]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - Change frozen rows, column widths [Optional]Key parameters:
spreadsheet_id: Spreadsheet IDworksheet_id: Numeric sheetId (NOT tab name); get from GET_SPREADSHEET_INFOrange: A1 notation (e.g., 'A1:F1') - preferred over index fieldsbold, italic, underline, strikethrough: Boolean formatting optionsred, green, blue: Background color as 0.0-1.0 floats (NOT 0-255 ints)fontSize: Font size in pointsPitfalls:
worksheet_id, not tab title; get from spreadsheet metadataGOOGLESHEETS_SEARCH_SPREADSHEETS with queryGOOGLESHEETS_GET_SPREADSHEET_INFO, extract from sheets metadataGOOGLESHEETS_FIND_WORKSHEET_BY_TITLEGoogle Sheets enforces strict rate limits:
GOOGLESHEETS_BATCH_GET and GOOGLESHEETS_BATCH_UPDATE for efficiencyGOOGLESHEETS_UPSERT_ROWS for CRM syncs, inventory updates, and dedup scenariosfirst_cell_location) is safest for adding new recordsGOOGLESHEETS_CLEAR_VALUES to clear content while preserving formattingFORMAT_CELL needs numeric sheetId, not tab titleGOOGLESHEETS_DELETE_DIMENSION is irreversible; double-check bounds| Task | Tool Slug | Key Params |
|------|-----------|------------|
| Search spreadsheets | GOOGLESHEETS_SEARCH_SPREADSHEETS | query, search_type |
| Create spreadsheet | GOOGLESHEETS_CREATE_GOOGLE_SHEET1 | title |
| List tabs | GOOGLESHEETS_GET_SHEET_NAMES | spreadsheet_id |
| Add tab | GOOGLESHEETS_ADD_SHEET | spreadsheetId, title |
| Read data | GOOGLESHEETS_BATCH_GET | spreadsheet_id, ranges |
| Read single range | GOOGLESHEETS_VALUES_GET | spreadsheet_id, range |
| Write data | GOOGLESHEETS_BATCH_UPDATE | spreadsheet_id, sheet_name, values |
| Update range | GOOGLESHEETS_VALUES_UPDATE | spreadsheet_id, range, values |
| Append rows | GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND | spreadsheetId, range, values |
| Upsert rows | GOOGLESHEETS_UPSERT_ROWS | spreadsheetId, sheetName, keyColumn, rows |
| Lookup row | GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW | spreadsheet_id, query |
| Format cells | GOOGLESHEETS_FORMAT_CELL | spreadsheet_id, worksheet_id, range |
| Set filter | GOOGLESHEETS_SET_BASIC_FILTER | spreadsheetId, filter |
| Clear values | GOOGLESHEETS_CLEAR_VALUES | spreadsheet_id, range |
| Delete rows/cols | GOOGLESHEETS_DELETE_DIMENSION | spreadsheet_id, sheet_name, dimension |
| Spreadsheet info | GOOGLESHEETS_GET_SPREADSHEET_INFO | spreadsheet_id |
| Update tab props | GOOGLESHEETS_UPDATE_SHEET_PROPERTIES | spreadsheetId, properties |
The instruction package is free to download. Your AI app, model usage, connected services and third-party assets may have separate costs.
It is a set of instructions for a compatible AI assistant. It does not run by itself, connect accounts or install an MCP server.
Check that the named folder contains SKILL.md directly, not a second nested ZIP folder. Confirm that your editor supports skills and that its current settings allow this location. See the official documentation below.