Claude-skill-registry google-slides

Create and manage Google Slides presentations. Load when user mentions 'google slides', 'slides', 'presentation', 'create presentation', 'add slide', or references creating/editing slide decks.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/google-slides" ~/.claude/skills/majiayu000-claude-skill-registry-google-slides && rm -rf "$T"
manifest: skills/data/google-slides/SKILL.md
source content

Google Slides

Create, edit, and manage Google Slides presentations via OAuth authentication.


Pre-Flight Check (ALWAYS RUN FIRST)

python3 00-system/skills/google/google-master/scripts/google_auth.py --check --service slides

Exit codes:

  • 0: Ready to use - proceed with user request
  • 1: Need to login - run
    python3 00-system/skills/google/google-master/scripts/google_auth.py --login
  • 2: Missing credentials or dependencies - see ../google-master/references/setup-guide.md

Quick Reference

List Presentations

python3 00-system/skills/google/google-slides/scripts/slides_operations.py list

Search Presentations

python3 00-system/skills/google/google-slides/scripts/slides_operations.py list --query "quarterly"

Get Presentation Info

python3 00-system/skills/google/google-slides/scripts/slides_operations.py info <presentation_id>

Create Presentation

python3 00-system/skills/google/google-slides/scripts/slides_operations.py create "Q4 Sales Report"

Read Slide Content

python3 00-system/skills/google/google-slides/scripts/slides_operations.py read <presentation_id> --slide 1

Add Blank Slide

python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-slide <presentation_id>

Add Slide with Layout

python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-slide <presentation_id> --layout title_body

Delete Slide

python3 00-system/skills/google/google-slides/scripts/slides_operations.py delete-slide <presentation_id> <slide_id>

Add Text Box

python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-text <presentation_id> <slide_id> "Hello World" --x 100 --y 100

Add Image

python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-image <presentation_id> <slide_id> "https://example.com/image.png"

Duplicate Presentation

python3 00-system/skills/google/google-slides/scripts/slides_operations.py duplicate <presentation_id> "Copy of Presentation"

Export to PDF

python3 00-system/skills/google/google-slides/scripts/slides_operations.py export <presentation_id> ./output.pdf --format pdf

Export to PowerPoint

python3 00-system/skills/google/google-slides/scripts/slides_operations.py export <presentation_id> ./output.pptx --format pptx

Presentation ID

The ID is in the URL:

https://docs.google.com/presentation/d/[PRESENTATION_ID]/edit

Slide Layouts

LayoutDescription
blank
Empty slide
title
Title slide (large centered title)
title_body
Title with body text
title_two_columns
Title with two columns
title_only
Just a title area
section
Section header
big_number
Large number display
caption
Caption only

Available Operations

OperationFunctionDescription
List
list_presentations()
List all presentations
Info
get_presentation_info()
Get presentation metadata
Create
create_presentation()
Create new presentation
Read
read_slide()
Get slide content
Add Slide
add_slide()
Add new slide
Delete Slide
delete_slide()
Remove slide
Add Text
add_text_box()
Insert text box
Add Image
add_image()
Insert image
Duplicate
duplicate_presentation()
Copy presentation
Export
export_presentation()
Export to PDF/PPTX

Positioning

Text boxes and images use points (pt) for positioning:

  • --x
    and
    --y
    : Position from top-left corner
  • --width
    and
    --height
    : Element dimensions

Standard slide is approximately 720 x 540 points.


Common Workflows

Create Report Presentation

from slides_operations import create_presentation, add_slide, add_text_box

# Create presentation
pres = create_presentation("Monthly Report")
pres_id = pres['id']

# Get first slide ID
info = get_presentation_info(pres_id)
first_slide = info['slides'][0]['id']

# Add title
add_text_box(pres_id, first_slide, "Monthly Performance Report",
             x=100, y=200, width=500, height=60)

# Add more slides
add_slide(pres_id, layout='title_body')

Export for Sharing

from slides_operations import export_presentation

# Export to PDF for email
export_presentation(presentation_id, "./report.pdf", format='pdf')

# Export to PowerPoint for editing
export_presentation(presentation_id, "./report.pptx", format='pptx')

Error Handling

See ../google-master/references/error-handling.md for common errors and solutions.


Setup

First-time setup: ../google-master/references/setup-guide.md

Quick start:

  1. pip install google-auth google-auth-oauthlib google-api-python-client
  2. Create OAuth credentials in Google Cloud Console (enable Google Slides API, choose "Desktop app")
  3. Add to
    .env
    file at Nexus root:
    GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
    GOOGLE_CLIENT_SECRET=your-client-secret
    GOOGLE_PROJECT_ID=your-project-id
    
  4. Run
    python3 00-system/skills/google/google-master/scripts/google_auth.py --login