wowerpoint — Claude Code skill: what it does, how to install
Turns a single text document into a kawaii NotebookLM slide deck via CLI. Helpful when you need to render an architecture doc or report into clear, shareable slides.
npx skills add thedotmack/claude-mem --skill wowerpoint -a claude-codeWhat wowerpoint does
The skill takes exactly one source file, creates a notebook through the notebooklm CLI, uploads the document, and runs slide generation. Its default prompt directs the model to tell the document's story through kawaii characters. Once finished, the agent returns a direct link to the notebook in Google NotebookLM. Audio and video outputs are skipped entirely because their quality is noticeably worse.
Setup requires jq and notebooklm-py installed via uv tool along with Playwright Chromium. Authentication cannot be scripted. You have to run ! notebooklm login interactively in the terminal to complete OAuth.
Passing sensitive company files or customer records here is risky because NotebookLM runs on Google infrastructure. Generation options are limited as well: the CLI has no --length long flag, so you can only choose between default and short.
What it helps with
- convert a long document into narrative slides
- generate Google NotebookLM decks directly from the CLI
- present technical documentation in a warm kawaii style
- automate notebook creation and source uploads for slides
Example prompts for the agent
- Wowerpoint `summary.md`
- Make a slide deck about `architecture.md`
- Turn this report into slides
How to install wowerpoint
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill wowerpoint -a claude-code2Manually: put the files in place
~/.claude/skills/wowerpoint/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/wowerpoint/
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill wowerpoint -a codex2Manually: put the files in place
.agents/skills/wowerpoint/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill wowerpoint -a cursor2Manually: put the files in place
.cursor/skills/wowerpoint/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedotmack/claude-mem wowerpoint2Manually: put the files in place
.github/skills/wowerpoint/SKILL.md1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill wowerpoint -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedotmack/claude-mem --path plugin/skills/wowerpointManually: put the files in place
.devin/skills/wowerpoint/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill wowerpoint -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set15
The whole set →Similar
Questions about wowerpoint
How do I install wowerpoint in Claude Code?
Run npx skills add thedotmack/claude-mem --skill wowerpoint -a claude-code in your terminal.
What does the wowerpoint skill do?
It takes a single markdown or text file, creates a notebook in Google NotebookLM via notebooklm-py, and generates slides with a kawaii story prompt. It then prints the link to the generated notebook.
What setup is required before using wowerpoint?
You need jq and notebooklm-py installed with Playwright Chromium via uv tool. Then run ! notebooklm login interactively in your terminal to complete OAuth authentication.
Source text
SKILL.md · Apache-2.0
--- name: wowerpoint 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. --- # 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> ``` NotebookLM sends the user a notification when the deck is ready. ## The prompt One sentence. Default: ```text Use kawaii characters to tell the story of <subject>. Keep it warm and clear. ``` Replace `<subject>` with a one-phrase description from the source doc's H1 or the user's framing. If the user supplies their own prompt, pass it through verbatim — don't expand it. ## Failure modes - **`pip: command not found`** — modern macOS doesn't ship pip on PATH. Use `uv tool install`. - **`Playwright not installed`** — install `notebooklm-py` with `--with playwright`, then `playwright install chromium`. - **`Run 'notebooklm login' to authenticate`** — only the user can complete OAuth. - **Rate-limit (`GENERATION_FAILED` or "No result found for RPC ID")** — `--retry 2` handles transients; persistent failure means wait 5–10 minutes or fall back to the web UI. - **Source upload denied for sensitive docs** — confirm before adding sources containing credentials, customer data, or unreleased product info. NotebookLM is a Google service. - **`--length long` does not exist** — only `default|short`. If the user asks for "long slides," use `default` and explain. - **No `--style` flag** — kawaii lives in the prompt text. ## Operational tips - **Rerun cheaply** — once the notebook + source exist, regenerating with a different prompt only repeats generation. Reuse `NOTEBOOK_ID`. - **Web UI fallback** — if generation is rate-limited >30 minutes, open the notebook URL and trigger generation in the UI.
© thedotmack · Apache-2.0 · thedotmack/claude-mem