Agent skill

google-slides

Read content from Google Slides presentations - get text, find presentations, and retrieve metadata. Use when user asks to: read a presentation, find slides, get presentation content, search for a slideshow, or check presentation details. Lightweight alternative to full Google Workspace MCP server with standalone OAuth authentication. Read-only operations only.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/google-slides

SKILL.md

Google Slides

Lightweight Google Slides integration with standalone OAuth authentication. No MCP server required.

⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.

First-Time Setup

Authenticate with Google (opens browser):

bash
python scripts/auth.py login

Check authentication status:

bash
python scripts/auth.py status

Logout when needed:

bash
python scripts/auth.py logout

Commands

All operations via scripts/slides.py. Auto-authenticates on first use if not logged in.

bash
# Get all text content from a presentation
python scripts/slides.py get-text "1abc123xyz789"
python scripts/slides.py get-text "https://docs.google.com/presentation/d/1abc123xyz789/edit"

# Find presentations by search query
python scripts/slides.py find "quarterly report"
python scripts/slides.py find "project proposal" --limit 5

# Get presentation metadata (title, slide count, etc.)
python scripts/slides.py get-metadata "1abc123xyz789"

Presentation ID Format

You can use either:

  • Direct presentation ID: 1abc123xyz789
  • Full Google Slides URL: https://docs.google.com/presentation/d/1abc123xyz789/edit

The scripts automatically extract the ID from URLs.

Output Format

get-text

Returns extracted text from all slides, including:

  • Presentation title
  • Text from shapes/text boxes on each slide
  • Table data with cell contents

find

Returns list of matching presentations:

json
{
  "presentations": [
    {"id": "1abc...", "name": "Q4 Report", "modifiedTime": "2024-01-15T..."}
  ],
  "nextPageToken": "..."
}

get-metadata

Returns presentation details:

json
{
  "presentationId": "1abc...",
  "title": "My Presentation",
  "slideCount": 15,
  "pageSize": {"width": {...}, "height": {...}},
  "hasMasters": true,
  "hasLayouts": true
}

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-slides-skill-oauth

Automatically refreshes expired tokens using Google's cloud function.

Didn't find tool you were looking for?

Be as detailed as possible for better results