---
name: zo-slides
description: "Create new Google Slides decks in Rob's Google account using the ClawCon deck as a reusable template/theme."
compatibility: Created for Zo Computer. Requires direct Google OAuth credentials already set up.
metadata:
  author: rob.zo.computer
---
# Zo Slides

Create new slide decks in your Google account using the **Zo Computer | ClawCon** template.

## When to use

Use this skill when you want Zo to:
- make a new slide deck in your Google account
- reuse the same visual template/style as the ClawCon deck
- turn notes, notebooks, papers, outlines, or markdown into a presentation
- generate a first-pass deck and verify that the output is populated correctly

## What this skill does

It uses direct Google OAuth credentials plus the Google Drive + Slides APIs to:
1. copy the ClawCon template deck into your Google account
2. remove the original content slides
3. create fresh slides using the copied deck's layouts
4. insert your new content
5. verify the generated deck structurally (slide count, text, image counts)

## Template source

Default template presentation ID:
- `1iKqcIyyAI5sfP0pCxyMp32Ar646M2vdFmQWsAss0kBA`

This is currently the **Zo Computer | ClawCon** deck.

## Input format

The script expects a JSON file like:

```json
{
  "title": "My Deck Title",
  "slides": [
    {
      "layout": "title",
      "title": "Deck Title",
      "subtitle": "Optional subtitle"
    },
    {
      "layout": "body",
      "title": "Core Idea",
      "body": "A short paragraph or speaker-friendly chunk of text."
    },
    {
      "layout": "body",
      "title": "Three Points",
      "bullets": [
        "First point",
        "Second point",
        "Third point"
      ]
    }
  ]
}
```

Accepted per-slide fields:
- `layout`: `title` or `body`
- `title`: slide title
- `subtitle`: best for title slide
- `body`: plain body text
- `bullets`: array of bullet strings; converted into bullet-like lines if `body` is absent

## Usage

Create a JSON spec, then run:

```bash
python Skills/zo-slides/scripts/create_slides.py --input /absolute/path/to/deck.json
```

Optional flags:

```bash
python Skills/zo-slides/scripts/create_slides.py \
  --input /absolute/path/to/deck.json \
  --title "Override Title"
```

To inspect template layouts:

```bash
python Skills/zo-slides/scripts/create_slides.py \
  --input /absolute/path/to/deck.json \
  --dump-template-layouts
```

## Output

The script prints JSON containing:
- `presentation_id`
- `url`
- `title`
- `slide_count`
- `images_per_slide`
- `template_id`

## Workflow guidance for Zo

When using this skill for a user request:
1. Read the source content to understand the narrative.
2. Convert it into a concise slide spec JSON.
3. Run the script.
4. Review the generated deck by checking the verification output.
5. If needed, inspect the created presentation and revise content density.

## Auth dependency

This skill depends on direct Google OAuth credentials already documented in:
- `file 'Skills/zo-google-apis/SKILL.md'`
- `file 'Skills/zo-google-direct-oauth/SKILL.md'`

Credentials are expected at `/home/.z/google-oauth/`.
