Install
openclaw skills install hml-google-slidesCreate, edit, and export Google Slides presentations. Use when creating new presentations, adding or updating slides, reading slide content, exporting to PDF...
openclaw skills install hml-google-slidesUses the gog CLI for basic operations and scripts/slides.py for advanced edits (adding/editing slide content via the Slides API).
Before any Slides operation, verify auth is working:
gog slides info <any-presentation-id> --account david@hml.tech
If it fails, re-auth: gog auth add david@hml.tech --services gmail,calendar,drive,docs,sheets,contacts,tasks,people
# Create a new blank presentation
gog slides create "My Presentation" --account david@hml.tech --json
# Get info about a presentation (slide count, title, etc.)
gog slides info <presentationId> --account david@hml.tech --json
# Export to PDF
gog slides export <presentationId> --format pdf --out /tmp/deck.pdf --account david@hml.tech
# Export to PPTX
gog slides export <presentationId> --format pptx --out /tmp/deck.pptx --account david@hml.tech
# Copy a presentation (e.g., to use a template)
gog slides copy <presentationId> "Copy Title" --account david@hml.tech --json
For adding text slides, batch updates, and reading full content, use scripts/slides.py.
# Add a text slide with title and bullet body
python3 scripts/slides.py add-slide <presentationId> \
--title "Slide Title" \
--body "• Bullet point one\n• Bullet point two"
# Add a slide at a specific position (0-indexed)
python3 scripts/slides.py add-slide <presentationId> --title "Intro" --insert-at 0
# Run arbitrary batch update requests from a JSON file
python3 scripts/slides.py batch <presentationId> requests.json
# Export via script
python3 scripts/slides.py export <presentationId> --format pdf --out /tmp/deck.pdf
# List comments with their anchors (e.g. which slide they are on)
python3 scripts/slides.py list-comments <presentationId>
# Resolve a comment and optionally leave a reply message
python3 scripts/slides.py resolve-comment <presentationId> <commentId> --reply "Fixed!"
Typical workflow:
gog slides create "Title" --json → get presentationIdscripts/slides.py add-slidescripts/slides.py batchgog slides export <id> --format pdf --out /tmp/deck.pdfFor complex batch requests (images, shapes, text formatting), see references/batch_requests.md.
From a Google Slides URL:
https://docs.google.com/presentation/d/**<presentationId>**/edit
gog slides uses the Drive API under the hood (no separate Slides scope needed)scripts/slides.py uses the Google Slides API directly and requires working gog auth tokensGOG_ACCOUNT=david@hml.tech in env to skip --account flag