Skip to content
Back to skills

Google Slides

ASecurity

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

  • 666 stars
  • 0 votes
  • 0 copies
  • 10 views
  • Added February 8, 2026
businesspythongobashapiperformance

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill google-slides --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Google Slides?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Google Slides
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-google-slides/badge)](https://www.skillsdirectory.com/skills/majiayu000-google-slides)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: google-slides
version: 1.0
description: "Create and manage Google Slides presentations. Load when user mentions 'google slides', 'slides', 'presentation', 'create presentation', 'add slide', or references creating/editing slide decks."
---

# Google Slides

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

---

## Pre-Flight Check (ALWAYS RUN FIRST)

```bash
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](../google-master/references/setup-guide.md)

---

## Quick Reference

### List Presentations
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py list
```

### Search Presentations
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py list --query "quarterly"
```

### Get Presentation Info
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py info <presentation_id>
```

### Create Presentation
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py create "Q4 Sales Report"
```

### Read Slide Content
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py read <presentation_id> --slide 1
```

### Add Blank Slide
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-slide <presentation_id>
```

### Add Slide with Layout
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-slide <presentation_id> --layout title_body
```

### Delete Slide
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py delete-slide <presentation_id> <slide_id>
```

### Add Text Box
```bash
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
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py add-image <presentation_id> <slide_id> "https://example.com/image.png"
```

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

### Export to PDF
```bash
python3 00-system/skills/google/google-slides/scripts/slides_operations.py export <presentation_id> ./output.pdf --format pdf
```

### Export to PowerPoint
```bash
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

| 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 |

---

## Available Operations

| 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 |

---

## 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
```python
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
```python
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](../google-master/references/error-handling.md) for common errors and solutions.

---

## Setup

First-time setup: [../google-master/references/setup-guide.md](../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`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.