Automate Google Slides Presentations
A lightweight Google Slides automation skill with standalone OAuth, no MCP server required, for full read/write presentation control.
Why it matters
Streamline your Google Slides workflow by automating the creation, modification, and extraction of content from presentations. This skill enables programmatic control over your slides for efficient content management.
Outcomes
What it gets done
Create new Google Slides presentations programmatically.
Add, delete, and reorder slides within existing presentations.
Find and replace text across all slides in a presentation.
Extract text content and metadata from Google Slides.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-google-slides-automation | bash Overview
Google Slides
Lightweight, standalone-OAuth Google Slides automation with full read/write access - extract text, search, add/delete slides, and batch-update - without an MCP server. Use it for local Google Slides automation on Workspace accounts; personal Gmail accounts are not supported.
What it does
This skill provides lightweight Google Slides integration with standalone OAuth authentication and full read/write access - no MCP server required. Authentication is handled by scripts/auth.py, and all presentation operations run through scripts/slides.py, which auto-authenticates on first use if you're not already logged in.
First-time setup opens a browser to authenticate:
python scripts/auth.py login
Read operations include extracting all text content from a presentation (title, text from shapes and text boxes, and table cell data), finding presentations by search query with an optional result limit, and fetching metadata like title, slide count, slide object IDs, page size, and whether the presentation has masters or layouts. Write operations include creating a new empty presentation, adding a blank or specifically-laid-out slide (optionally at a given position), finding and replacing text across all slides (with optional case matching), deleting a slide by its object ID, and an advanced batch-update command that accepts raw Slides API request JSON for formatting, shapes, or images.
Nine slide layouts are available for add-slide --layout: BLANK, TITLE, TITLE_AND_BODY, TITLE_AND_TWO_COLUMNS, TITLE_ONLY, SECTION_HEADER, ONE_COLUMN_TEXT, MAIN_POINT, and BIG_NUMBER. Presentations can be referenced by either a bare ID or a full Google Slides URL, which the scripts parse automatically. Auth tokens are stored securely in the system keyring - Keychain on macOS, Windows Credential Locker on Windows, and Secret Service API (GNOME Keyring, KDE Wallet, etc.) on Linux - under the service name google-slides-skill-oauth, and expired tokens refresh automatically.
When to use - and when NOT to
Use it when you need to create, inspect, or modify Google Slides presentations from local automation - reading slide text, adding or removing slides, or batch-updating content - without standing up an MCP server. It requires a Google Workspace account; personal Gmail accounts are not supported.
Use this skill only when the task clearly matches the scope described above - it is not a substitute for environment-specific validation, testing, or expert review, and you should stop and ask for clarification if required inputs, permissions, or success criteria are missing.
Inputs and outputs
Inputs are a presentation ID or URL, plus command-specific arguments (search query, layout name, position index, find/replace text, or raw batch-update JSON). Outputs are extracted text, JSON search results with presentation IDs and modified times, or JSON metadata (title, slide count, page dimensions, layout flags).
Who it's for
Automation builders on Google Workspace who need scripted, local read/write access to Slides presentations - reporting pipelines, bulk content updates, or presentation generation - without deploying an MCP server.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.