# Document to Slide Deck

Turns one document into a playful slide deck for sharing.

- Repository: https://github.com/thedotmack/claude-mem (109099 stars)
- Category: Media
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add thedotmack/claude-mem --skill wowerpoint -g -a claude-code -y`
Codex: `npx skills add thedotmack/claude-mem --skill wowerpoint -g -a codex -y`
Cursor: `npx skills add thedotmack/claude-mem --skill wowerpoint -g -a cursor -y`
Gemini CLI: `npx skills add thedotmack/claude-mem --skill wowerpoint -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add thedotmack/claude-mem`

## Description

Turn one document into a kawaii NotebookLM slide deck. Use for "wowerpoint this", "make a deck about <file>", "turn this report into slides", or any request to render a single document as shareable narrative slides.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Wowerpoint

One doc in, one deck out. Slide-deck only, videos and podcasts from the same engine are noticeably worse and out of scope; refer the user to the `notebooklm` CLI directly if they want those.

## Triggers

- "Wowerpoint <file>"
- "Make a slide deck about <file>"
- "Turn this report into slides"
- "Kawaii-deck this"

## Setup (one-time per machine)

If `notebooklm auth check` returns 0 and `command -v jq` resolves, skip.

```bash
uv tool install --with playwright --force notebooklm-py
$(uv tool dir)/notebooklm-py/bin/playwright install chromium
```

`jq` is required by the workflow's JSON parsing; install if missing (`brew install jq` on macOS, or your distro's package manager).

Then the user authenticates interactively, do not script. Tell them to type `! notebooklm login` so the OAuth ENTER lands in their terminal.

## Workflow

### 1. The source doc

You need exactly one source doc. If it doesn't exist or is too thin to carry a deck, **write it first**, use mem-search and sequential thinking to make it comprehensive (long-form, narrative, several thousand words is normal). Do not paper over a weak source by adding more sources.

### 2. Auth pre-flight

```bash
notebooklm auth check 2>&1 | tail -5
```

Exit 1 with `Run 'notebooklm login' to authenticate.` = halt and tell the user.

### 3. Create notebook, add the source

```bash
NOTEBOOK_ID=$(notebooklm create "<title>" --json | jq -r .notebook.id)
notebooklm source add "<doc-path>" --notebook "$NOTEBOOK_ID" --json
```

Title: H1 of the source doc, or its filename stem; append a date for dated work.

`create` returns the id at `.notebook.id`; a wrong key gives an empty string and a silent downstream failure.

### 4. Generate the deck

```bash
notebooklm generate slide-deck "<PROMPT>" --format detailed --length default --notebook "$NOTEBOOK_ID" --json --retry 2
```

### 5. End your turn

Print the notebook URL:

```text
https://notebooklm.google.com/notebook/<NOTEBOOK_ID>
```

The rest: https://github.com/thedotmack/claude-mem/blob/HEAD/plugin/skills/wowerpoint/SKILL.md
