{"id":"ce861831-5e6a-4f78-9d99-52ff88996959","shortId":"JtNHXN","kind":"skill","title":"google-sheets-automation","tagline":"Lightweight Google Sheets integration with standalone OAuth authentication. No MCP server required. Full read/write access.","description":"# Google Sheets\n\nLightweight Google Sheets integration with standalone OAuth authentication. No MCP server required. Full read/write access.\n\n> **Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## First-Time Setup\n\nAuthenticate with Google (opens browser):\n```bash\npython scripts/auth.py login\n```\n\nCheck authentication status:\n```bash\npython scripts/auth.py status\n```\n\nLogout when needed:\n```bash\npython scripts/auth.py logout\n```\n\n## Read Commands\n\nAll operations via `scripts/sheets.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Get spreadsheet content as plain text (default)\npython scripts/sheets.py get-text SPREADSHEET_ID\n\n# Get spreadsheet content as CSV\npython scripts/sheets.py get-text SPREADSHEET_ID --format csv\n\n# Get spreadsheet content as JSON\npython scripts/sheets.py get-text SPREADSHEET_ID --format json\n\n# Get values from a specific range (A1 notation)\npython scripts/sheets.py get-range SPREADSHEET_ID \"Sheet1!A1:D10\"\npython scripts/sheets.py get-range SPREADSHEET_ID \"A1:C5\"\n\n# Find spreadsheets by search query\npython scripts/sheets.py find \"budget 2024\"\npython scripts/sheets.py find \"sales report\" --limit 5\n\n# Get spreadsheet metadata (sheets, dimensions, etc.)\npython scripts/sheets.py get-metadata SPREADSHEET_ID\n```\n\n## Write Commands\n\n```bash\n# Update a range of cells with values (JSON 2D array)\npython scripts/sheets.py update-range SPREADSHEET_ID \"Sheet1!A1:B2\" '[[\"Hello\",\"World\"],[\"Foo\",\"Bar\"]]'\n\n# Update with RAW input (no formula parsing, treats everything as literal text)\npython scripts/sheets.py update-range SPREADSHEET_ID \"Sheet1!A1:B1\" '[[\"=SUM(A1:A5)\",\"text\"]]' --raw\n\n# Append rows after the last data row\npython scripts/sheets.py append-rows SPREADSHEET_ID \"Sheet1!A:Z\" '[[\"New Row Col A\",\"New Row Col B\"]]'\n\n# Clear values from a range (keeps formatting)\npython scripts/sheets.py clear-range SPREADSHEET_ID \"Sheet1!A1:B10\"\n\n# Batch update (advanced - for formatting, merging, etc.)\npython scripts/sheets.py batch-update SPREADSHEET_ID '[{\"updateCells\":{\"range\":{\"sheetId\":0},\"fields\":\"userEnteredValue\"}}]'\n```\n\n## Spreadsheet ID\n\nYou can use either:\n- The spreadsheet ID: `1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms`\n- The full URL: `https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit`\n\nThe script automatically extracts the ID from URLs.\n\n## Output Formats\n\n### Text (default)\nHuman-readable format with pipe separators:\n```\nSpreadsheet Title: Sales Data\nSheet Name: Q1\nName | Revenue | Units\nProduct A | 10000 | 50\nProduct B | 15000 | 75\n```\n\n### CSV\nStandard CSV format, suitable for further processing:\n```\nName,Revenue,Units\nProduct A,10000,50\nProduct B,15000,75\n```\n\n### JSON\nStructured data format:\n```json\n{\n  \"Q1\": [\n    [\"Name\", \"Revenue\", \"Units\"],\n    [\"Product A\", \"10000\", \"50\"]\n  ]\n}\n```\n\n## A1 Notation Examples\n\n- `Sheet1!A1:B10` - Range A1 to B10 on Sheet1\n- `Sheet1!A:A` - All of column A on Sheet1\n- `Sheet1!1:1` - All of row 1 on Sheet1\n- `A1:C5` - Range on the first sheet\n\n## Value Input Options\n\n- **USER_ENTERED** (default): Values are parsed as if typed by a user. Numbers, dates, and formulas are interpreted.\n- **RAW** (`--raw` flag): Values are stored exactly as provided. No parsing of formulas or number formatting.\n\n## Token Management\n\nTokens stored securely using the system keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Locker\n- **Linux**: Secret Service API (GNOME Keyring, KDE Wallet, etc.)\n\nService name: `google-sheets-skill-oauth`\n\nTokens automatically refresh when expired using Google's cloud function.\n\n\n## When to Use\nUse this skill when tackling tasks related to its primary domain or functionality as described above.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["google","sheets","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-google-sheets-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/google-sheets-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34768 github stars · SKILL.md body (4,044 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T18:51:24.934Z","embedding":null,"createdAt":"2026-04-18T21:38:13.415Z","updatedAt":"2026-04-23T18:51:24.934Z","lastSeenAt":"2026-04-23T18:51:24.934Z","tsv":"'/spreadsheets/d/1bximvs0xra5nfmdkvbdbzjgmuuqptlbs74ogve2upms/edit':321 '0':303 '1':413,414,418 '10000':353,372,389 '15000':357,376 '1bximvs0xra5nfmdkvbdbzjgmuuqptlbs74ogve2upms':315 '2024':169 '2d':201 '5':176 '50':354,373,390 '75':358,377 'a1':139,149,158,211,237,240,284,391,395,398,421 'a5':241 'access':19,36 'account':40,43 'advanc':288 'api':483 'append':244,254 'append-row':253 'array':202 'ask':558 'authent':12,29,51,61,82 'auto':81 'auto-authent':80 'autom':4 'automat':324,497 'b':268,356,375 'b1':238 'b10':285,396,400 'b2':212 'bar':216 'bash':56,63,70,90,192 'batch':286,296 'batch-upd':295 'boundari':566 'browser':55 'budget':168 'c5':159,422 'cell':197 'check':60 'clarif':560 'clear':269,279,533 'clear-rang':278 'cloud':504 'col':263,267 'column':408 'command':75,191 'content':93,107,121 'credenti':478 'criteria':569 'csv':109,118,359,361 'd10':150 'data':249,344,380 'date':444 'default':97,333,433 'describ':523,537 'dimens':181 'docs.google.com':320 'docs.google.com/spreadsheets/d/1bximvs0xra5nfmdkvbdbzjgmuuqptlbs74ogve2upms/edit':319 'domain':519 'either':311 'enter':432 'environ':549 'environment-specif':548 'etc':182,292,488 'everyth':225 'exact':455 'exampl':393 'expert':554 'expir':500 'extract':325 'field':304 'find':160,167,172 'first':48,84,426 'first-tim':47 'flag':451 'foo':215 'format':117,131,275,290,331,337,362,381,464 'formula':222,446,461 'full':17,34,317 'function':505,521 'get':91,101,105,113,119,127,133,144,154,177,186 'get-metadata':185 'get-rang':143,153 'get-text':100,112,126 'gmail':42 'gnome':484 'googl':2,6,20,23,38,53,492,502 'google-sheets-autom':1 'google-sheets-skill-oauth':491 'hello':213 'human':335 'human-read':334 'id':104,116,130,147,157,189,209,235,257,282,299,307,314,327 'input':220,429,563 'integr':8,25 'interpret':448 'json':123,132,200,378,382 'kde':486 'keep':274 'keychain':475 'keyr':473,485 'last':248 'lightweight':5,22 'limit':175,525 'linux':480 'liter':227 'locker':479 'log':88 'login':59 'logout':67,73 'maco':474 'manag':466 'match':534 'mcp':14,31 'merg':291 'metadata':179,187 'miss':571 'name':346,348,367,384,490 'need':69 'new':261,265 'notat':140,392 'number':443,463 'oauth':11,28,495 'open':54 'oper':77 'option':430 'output':330,543 'pars':223,436,459 'permiss':564 'person':41 'pipe':339 'plain':95 'primari':518 'process':366 'product':351,355,370,374,387 'provid':457 'python':57,64,71,98,110,124,141,151,165,170,183,203,229,251,276,293 'q1':347,383 'queri':164 'rang':138,145,155,195,207,233,273,280,301,397,423 'raw':219,243,449,450 'read':74 'read/write':18,35 'readabl':336 'refresh':498 'relat':515 'report':174 'requir':16,33,37,562 'revenu':349,368,385 'review':555 'row':245,250,255,262,266,417 'safeti':565 'sale':173,343 'scope':536 'script':323 'scripts/auth.py':58,65,72 'scripts/sheets.py':79,99,111,125,142,152,166,171,184,204,230,252,277,294 'search':163 'secret':481 'secur':469 'separ':340 'server':15,32 'servic':482,489 'setup':50 'sheet':3,7,21,24,180,345,427,493 'sheet1':148,210,236,258,283,394,402,403,411,412,420 'sheetid':302 'skill':494,511,528 'skill-google-sheets-automation' 'source-sickn33' 'specif':137,550 'spreadsheet':92,103,106,115,120,129,146,156,161,178,188,208,234,256,281,298,306,313,341 'standalon':10,27 'standard':360 'status':62,66 'stop':556 'store':454,468 'structur':379 'substitut':546 'success':568 'suitabl':363 'sum':239 'support':46 'system':472 'tackl':513 'task':514,532 'test':552 'text':96,102,114,128,228,242,332 'time':49 'titl':342 'token':465,467,496 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':224,541 'type':439 'unit':350,369,386 'updat':193,206,217,232,287,297 'update-rang':205,231 'updatecel':300 'url':318,329 'use':85,310,470,501,508,509,526 'user':431,442 'userenteredvalu':305 'valid':551 'valu':134,199,270,428,434,452 'via':78 'wallet':487 'window':476,477 'workspac':39 'world':214 'write':190 'z':260","prices":[{"id":"0097aef6-d840-47a4-a359-71a85885e8e5","listingId":"ce861831-5e6a-4f78-9d99-52ff88996959","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:38:13.415Z"}],"sources":[{"listingId":"ce861831-5e6a-4f78-9d99-52ff88996959","source":"github","sourceId":"sickn33/antigravity-awesome-skills/google-sheets-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/google-sheets-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:38:13.415Z","lastSeenAt":"2026-04-23T18:51:24.934Z"}],"details":{"listingId":"ce861831-5e6a-4f78-9d99-52ff88996959","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"google-sheets-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34768,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-23T06:41:03Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"e4f1780411c8bedcd0c846f041eb6e0dc4f7fe88","skill_md_path":"skills/google-sheets-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/google-sheets-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"google-sheets-automation","license":"Apache-2.0","description":"Lightweight Google Sheets integration with standalone OAuth authentication. No MCP server required. Full read/write access."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/google-sheets-automation"},"updatedAt":"2026-04-23T18:51:24.934Z"}}