{"id":"0534309d-8f24-4cb0-8542-6cb08ab323b2","shortId":"DYJ4Cm","kind":"skill","title":"google-slides-automation","tagline":"Lightweight Google Slides integration with standalone OAuth authentication. No MCP server required. Full read/write access.","description":"# Google Slides\n\nLightweight Google Slides 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## When to Use\n- You need to create, inspect, or modify Google Slides presentations from local automation.\n- The task involves reading slide text, adding/removing slides, or batch updating presentation content.\n- You want Slides automation for Workspace documents without using an MCP server.\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/slides.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Get all text content from a presentation\npython scripts/slides.py get-text \"1abc123xyz789\"\npython scripts/slides.py get-text \"https://docs.google.com/presentation/d/1abc123xyz789/edit\"\n\n# Find presentations by search query\npython scripts/slides.py find \"quarterly report\"\npython scripts/slides.py find \"project proposal\" --limit 5\n\n# Get presentation metadata (title, slide count, slide object IDs)\npython scripts/slides.py get-metadata \"1abc123xyz789\"\n```\n\n## Write Commands\n\n```bash\n# Create a new empty presentation\npython scripts/slides.py create \"Q4 Sales Report\"\n\n# Add a blank slide to the end\npython scripts/slides.py add-slide \"1abc123xyz789\"\n\n# Add a slide with a specific layout\npython scripts/slides.py add-slide \"1abc123xyz789\" --layout TITLE_AND_BODY\n\n# Add a slide at a specific position (0-based index)\npython scripts/slides.py add-slide \"1abc123xyz789\" --layout TITLE --at 0\n\n# Find and replace text across all slides\npython scripts/slides.py replace-text \"1abc123xyz789\" \"old text\" \"new text\"\npython scripts/slides.py replace-text \"1abc123xyz789\" \"Draft\" \"Final\" --match-case\n\n# Delete a slide by object ID (use get-metadata to find IDs)\npython scripts/slides.py delete-slide \"1abc123xyz789\" \"g123abc456\"\n\n# Batch update (advanced - for formatting, inserting shapes, images, etc.)\npython scripts/slides.py batch-update \"1abc123xyz789\" '[{\"replaceAllText\":{\"containsText\":{\"text\":\"foo\"},\"replaceText\":\"bar\"}}]'\n```\n\n## Slide Layouts\n\nAvailable layouts for `add-slide --layout`:\n- `BLANK` - Empty slide (default)\n- `TITLE` - Title slide\n- `TITLE_AND_BODY` - Title with body text\n- `TITLE_AND_TWO_COLUMNS` - Title with two text columns\n- `TITLE_ONLY` - Title bar only\n- `SECTION_HEADER` - Section divider\n- `ONE_COLUMN_TEXT` - Single column text\n- `MAIN_POINT` - Main point highlight\n- `BIG_NUMBER` - Large number display\n\n## Presentation ID Format\n\nYou can use either:\n- Direct presentation ID: `1abc123xyz789`\n- Full Google Slides URL: `https://docs.google.com/presentation/d/1abc123xyz789/edit`\n\nThe scripts automatically extract the ID from URLs.\n\n## Output Format\n\n### get-text\nReturns extracted text from all slides, including:\n- Presentation title\n- Text from shapes/text boxes on each slide\n- Table data with cell contents\n\n### find\nReturns list of matching presentations:\n```json\n{\n  \"presentations\": [\n    {\"id\": \"1abc...\", \"name\": \"Q4 Report\", \"modifiedTime\": \"2024-01-15T...\"}\n  ],\n  \"nextPageToken\": \"...\"\n}\n```\n\n### get-metadata\nReturns presentation details:\n```json\n{\n  \"presentationId\": \"1abc...\",\n  \"title\": \"My Presentation\",\n  \"slideCount\": 15,\n  \"pageSize\": {\"width\": {...}, \"height\": {...}},\n  \"hasMasters\": true,\n  \"hasLayouts\": true\n}\n```\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-slides-skill-oauth`\n\nAutomatically refreshes expired tokens using Google's cloud function.\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","slides","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-google-slides-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-slides-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,189 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:25.041Z","embedding":null,"createdAt":"2026-04-18T21:38:14.176Z","updatedAt":"2026-04-23T18:51:25.041Z","lastSeenAt":"2026-04-23T18:51:25.041Z","tsv":"'-01':442 '-15':443 '/presentation/d/1abc123xyz789/edit':152,392 '0':236,248 '15':459 '1abc':436,454 '1abc123xyz789':144,184,211,224,244,261,271,295,311,385 '2024':441 '5':169 'access':19,36 'account':40,43 'across':253 'add':199,209,212,222,229,242,324 'add-slid':208,221,241,323 'adding/removing':69 'advanc':299 'api':485 'ask':540 'authent':12,29,92,102,123 'auto':122 'auto-authent':121 'autom':4,62,79 'automat':395,498 'avail':320 'bar':317,353 'base':237 'bash':97,104,111,131,187 'batch':72,297,309 'batch-upd':308 'big':370 'blank':201,327 'bodi':228,336,339 'boundari':548 'box':418 'browser':96 'case':276 'cell':425 'check':101 'clarif':542 'clear':515 'cloud':505 'column':344,349,360,363 'command':116,186 'containstext':313 'content':75,135,426 'count':175 'creat':53,188,195 'credenti':480 'criteria':551 'data':423 'default':330 'delet':277,293 'delete-slid':292 'describ':519 'detail':451 'direct':382 'display':374 'divid':358 'docs.google.com':151,391 'docs.google.com/presentation/d/1abc123xyz789/edit':150,390 'document':82 'draft':272 'either':381 'empti':191,328 'end':205 'environ':531 'environment-specif':530 'etc':305,490 'expert':536 'expir':500 'extract':396,407 'final':273 'find':153,160,165,249,288,427 'first':89,125 'first-tim':88 'foo':315 'format':301,377,402 'full':17,34,386 'function':506 'g123abc456':296 'get':132,142,148,170,182,285,404,447 'get-metadata':181,284,446 'get-text':141,147,403 'gmail':42 'gnome':486 'googl':2,6,20,23,38,57,94,387,494,503 'google-slides-autom':1 'google-slides-skill-oauth':493 'haslayout':465 'hasmast':463 'header':356 'height':462 'highlight':369 'id':178,282,289,376,384,398,435 'imag':304 'includ':412 'index':238 'input':545 'insert':302 'inspect':54 'integr':8,25 'involv':65 'json':433,452 'kde':488 'keychain':477 'keyr':475,487 'larg':372 'layout':218,225,245,319,321,326 'lightweight':5,22 'limit':168,507 'linux':482 'list':429 'local':61 'locker':481 'log':129 'login':100 'logout':108,114 'maco':476 'main':365,367 'manag':468 'match':275,431,516 'match-cas':274 'mcp':14,31,86 'metadata':172,183,286,448 'miss':553 'modifi':56 'modifiedtim':440 'name':437,492 'need':51,110 'new':190,264 'nextpagetoken':445 'number':371,373 'oauth':11,28,497 'object':177,281 'old':262 'one':359 'open':95 'oper':118 'output':401,525 'pages':460 'permiss':546 'person':41 'point':366,368 'posit':235 'present':59,74,138,154,171,192,375,383,413,432,434,450,457 'presentationid':453 'project':166 'propos':167 'python':98,105,112,139,145,158,163,179,193,206,219,239,256,266,290,306 'q4':196,438 'quarter':161 'queri':157 'read':66,115 'read/write':18,35 'refresh':499 'replac':251,259,269 'replace-text':258,268 'replacealltext':312 'replacetext':316 'report':162,198,439 'requir':16,33,37,544 'return':406,428,449 'review':537 'safeti':547 'sale':197 'scope':518 'script':394 'scripts/auth.py':99,106,113 'scripts/slides.py':120,140,146,159,164,180,194,207,220,240,257,267,291,307 'search':156 'secret':483 'section':355,357 'secur':471 'server':15,32,87 'servic':484,491 'setup':91 'shape':303 'shapes/text':417 'singl':362 'skill':496,510 'skill-google-slides-automation' 'slide':3,7,21,24,58,67,70,78,174,176,202,210,214,223,231,243,255,279,294,318,325,329,333,388,411,421,495 'slidecount':458 'source-sickn33' 'specif':217,234,532 'standalon':10,27 'status':103,107 'stop':538 'store':470 'substitut':528 'success':550 'support':46 'system':474 'tabl':422 'task':64,514 'test':534 'text':68,134,143,149,252,260,263,265,270,314,340,348,361,364,405,408,415 'time':90 'titl':173,226,246,331,332,334,337,341,345,350,352,414,455 'token':467,469,501 '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':523 'true':464,466 'two':343,347 'updat':73,298,310 'url':389,400 'use':49,84,126,283,380,472,502,508 'valid':533 'via':119 'wallet':489 'want':77 'width':461 'window':478,479 'without':83 'workspac':39,81 'write':185","prices":[{"id":"f5688d3e-7090-47e4-9fc5-e2b8c1b51dc3","listingId":"0534309d-8f24-4cb0-8542-6cb08ab323b2","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:14.176Z"}],"sources":[{"listingId":"0534309d-8f24-4cb0-8542-6cb08ab323b2","source":"github","sourceId":"sickn33/antigravity-awesome-skills/google-slides-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/google-slides-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:38:14.176Z","lastSeenAt":"2026-04-23T18:51:25.041Z"}],"details":{"listingId":"0534309d-8f24-4cb0-8542-6cb08ab323b2","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"google-slides-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":"bb6ce739f60686e8255ece52370dc38d805d94b2","skill_md_path":"skills/google-slides-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/google-slides-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"google-slides-automation","license":"Apache-2.0","description":"Lightweight Google Slides integration with standalone OAuth authentication. No MCP server required. Full read/write access."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/google-slides-automation"},"updatedAt":"2026-04-23T18:51:25.041Z"}}