skills/integrations/google/google-slides/SKILL.md
Create and manage Google Slides presentations. Load when user mentions 'google slides', 'slides', 'presentation', 'create presentation', 'add slide', or references creating/editing slide decks.
npx skillsauth add beam-ai-team/beam-next-skills google-slidesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create, edit, and manage Google Slides presentations via OAuth authentication.
Before creating, editing, exporting, or sharing presentations, show the account, presentation ID/title, operation, slide/object summary, output path when used, and expected side effects. Require explicit user approval in the current turn before mutating Slides or writing files. Listing/searching presentations with an approved scope does not require additional approval.
uv run python skills/integrations/google/google-master/scripts/google_auth.py --check --service slides
Exit codes:
python3 skills/integrations/google/google-master/scripts/google_auth.py --loginuv run python skills/integrations/google/google-slides/scripts/slides_operations.py list
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py list --query "quarterly"
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py info <presentation_id>
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py create "Q4 Sales Report"
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py read <presentation_id> --slide 1
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py add-slide <presentation_id>
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py add-slide <presentation_id> --layout title_body
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py delete-slide <presentation_id> <slide_id>
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py add-text <presentation_id> <slide_id> "Hello World" --x 100 --y 100
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py add-image <presentation_id> <slide_id> "https://example.com/image.png"
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py duplicate <presentation_id> "Copy of Presentation"
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py export <presentation_id> ./output.pdf --format pdf
uv run python skills/integrations/google/google-slides/scripts/slides_operations.py export <presentation_id> ./output.pptx --format pptx
The ID is in the URL:
https://docs.google.com/presentation/d/[PRESENTATION_ID]/edit
| Layout | Description |
|--------|-------------|
| 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 |
| Operation | Function | Description |
|-----------|----------|-------------|
| 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 |
Text boxes and images use points (pt) for positioning:
--x and --y: Position from top-left corner--width and --height: Element dimensionsStandard slide is approximately 720 x 540 points.
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')
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')
See ../google-master/references/error-handling.md for common errors and solutions.
First-time setup: ../google-master/references/setup-guide.md
Quick start:
pip install google-auth google-auth-oauthlib google-api-python-client.env file at Beam Next root:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_PROJECT_ID=your-project-id
python3 skills/integrations/google/google-master/scripts/google_auth.py --logintools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.