
Document to Slide Deck
Turns one document into a playful slide deck for sharing.
Install
npx skills add thedotmack/claude-mem --skill wowerpoint -g -a claude-code -y- Repository
- thedotmack/claude-mem109k
- Category
- Media
- Updated
- 3d ago
- License
- Apache-2.0
- Context cost
- Lightabout 873 tokens
- Runs scripts
- No, instructions only
What it does
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.
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.
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
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
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
notebooklm generate slide-deck "<PROMPT>" --format detailed --length default --notebook "$NOTEBOOK_ID" --json --retry 2
5. End your turn
Print the notebook URL:
https://notebooklm.google.com/notebook/<NOTEBOOK_ID>


